:root {
    color-scheme: light;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #172033;
    background: #f3f6fb;
    --brand-primary: #244c9a;
    --brand-secondary: #172033;
    --brand-accent: #3157a4;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
}

.container {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 2rem 1rem;
}

.card {
    width: min(100%, 44rem);
    padding: clamp(1.5rem, 5vw, 3rem);
    border: 1px solid #dce3ef;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgb(29 46 78 / 10%);
}

.eyebrow,
.error-code {
    color: var(--brand-accent);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

h1 {
    margin: .35rem 0 1rem;
    line-height: 1.15;
}

.status-list {
    display: grid;
    gap: .75rem;
    margin: 2rem 0;
}

.status-list div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 0;
    border-bottom: 1px solid #e7ebf2;
}

.status-list dd {
    margin: 0;
    font-weight: 650;
}

.muted {
    color: #5b6474;
    font-size: .925rem;
}

a {
    color: var(--brand-primary);
}

.site-header { background: var(--brand-secondary); color: #fff; }
.nav { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; max-width: 72rem; margin: auto; padding: .6rem 1rem; }
.nav a, .link-button { color: inherit; }
.brand { display: flex; align-items: center; flex-shrink: 0; min-width: 0; max-width: 220px; margin-right: auto; font-size: 1.15rem; font-weight: 800; line-height: 1.1; text-decoration: none; }
.brand-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.logout-form, .actions form { display: inline; margin: 0; }
.link-button { border: 0; padding: 0; background: transparent; text-decoration: underline; cursor: pointer; font: inherit; }
.page { max-width: 72rem; margin: 0 auto; padding: 1.25rem; }
.panel { margin-bottom: 1rem; padding: clamp(1rem, 3vw, 2rem); border: 1px solid #dce3ef; border-radius: .8rem; background: #fff; }
.narrow { max-width: 44rem; }
.form-stack { display: grid; gap: 1rem; }
label { display: grid; gap: .35rem; font-weight: 650; }
input, select, textarea, button, .button { min-height: 2.75rem; padding: .65rem .8rem; border: 1px solid #aeb9ca; border-radius: .45rem; font: inherit; }
textarea { min-height: 7rem; resize: vertical; }
button, .button { border-color: var(--brand-primary); background: var(--brand-primary); color: #fff; cursor: pointer; text-decoration: none; }
button:disabled { cursor: not-allowed; opacity: .55; }
.button-secondary { border-color: #667085; background: #fff; color: #344054; }
.check { display: flex; align-items: center; gap: .6rem; }
.check input { min-height: auto; }
.alert, .notice { margin-bottom: 1rem; padding: .8rem 1rem; border-radius: .45rem; }
.alert-error { background: #ffe8e8; color: #842029; }
.alert-success, .notice { background: #e7f6ec; color: #135c2e; }
.alert-warning { background: #fff3cd; color: #664d03; }
.title-row, .inline-form, .actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.title-row { justify-content: space-between; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .75rem; border-bottom: 1px solid #dce3ef; text-align: left; vertical-align: top; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; }
.item-card { padding: 1rem; border: 1px solid #dce3ef; border-radius: .6rem; }
.badge { display: inline-block; padding: .2rem .5rem; border-radius: 99px; background: #edf1f7; }
.scanner-controls { display: grid; grid-template-columns: minmax(12rem, 1fr) auto minmax(12rem, 1fr); gap: 1rem; align-items: end; }
.qr-reader { width: min(100%, 34rem); min-height: 3rem; margin: 1.25rem auto; overflow: hidden; border-radius: .65rem; }
.qr-reader video { max-width: 100%; }
.setup-page { max-width: 56rem; }
.setup-warning { margin-top: 1rem; padding: 1rem; border-left: .3rem solid #b54708; background: #fff4e5; color: #7a2e0e; }
.setup-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin: 1rem 0; padding: 0; list-style: none; }
.setup-steps li { padding: .75rem; border-radius: .5rem; background: #e7ebf2; text-align: center; font-weight: 700; }
.setup-steps .is-current { background: #dbe8ff; color: #173f84; }
.setup-steps .is-complete { background: #e7f6ec; color: #135c2e; }
.step-label { margin-bottom: .25rem; color: #3157a4; font-weight: 750; text-transform: uppercase; }
.status-pass { color: #135c2e; }
.status-fail { color: #842029; }
.duplicate-warning { margin: 1rem 0; padding: 1rem; border: 2px solid #b54708; border-radius: .6rem; background: #fff4e5; color: #7a2e0e; }
.summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem; }
.shareable-note { border-left: .3rem solid #3157a4; }
.internal-note { border-left: .3rem solid #7a2e0e; background: #fffaf5; }
.badge-private, .badge-warning { background: #fff0d5; color: #7a2e0e; }
.badge-muted { background: #e7ebf2; color: #475467; }
.filter-grid, .detail-grid, .checkbox-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1rem; }
.detail-grid div { padding: .75rem; border: 1px solid #e7ebf2; border-radius: .45rem; }
.detail-grid dt { color: #5b6474; font-size: .85rem; }
.detail-grid dd { margin: .25rem 0 0; font-weight: 650; overflow-wrap: anywhere; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 1rem; }
.danger-zone { border-color: #b42318; }
.button-danger { border-color: #b42318; background: #b42318; }
fieldset { margin: 0; padding: 1rem; border: 1px solid #dce3ef; border-radius: .5rem; }
legend { padding: 0 .4rem; font-weight: 750; }
.settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.settings-card { background: #fff; }
.field-help { display: block; color: #5b6474; font-weight: 400; }
.brand-preview { display: block; max-width: min(100%, 18rem); max-height: 8rem; object-fit: contain; margin-bottom: 1rem; }
.nav-logo { display: block; width: auto; max-width: 220px; max-height: 46px; object-fit: contain; flex-shrink: 0; }
.login-logo { display: block; width: auto; max-width: min(100%, 220px); max-height: 120px; object-fit: contain; margin: 0 auto 1rem; }
.site-footer { padding: 1rem; color: #5b6474; text-align: center; }
.template-previews { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
.template-preview { min-height: 250px; padding: 1rem; border: 1px solid #d9dee8; background: #fff; box-shadow: 0 4px 14px rgba(20,30,50,.08); }
.template-preview-header { display: flex; flex-direction: column; gap: .35rem; margin: -1rem -1rem 1rem; padding: 1rem; border-bottom: 3px solid var(--primary-color, #244C9A); }
.template-preview-modern .template-preview-header { background: var(--primary-color, #244C9A); color: #fff; }
.template-preview-corporate { border-left: 8px solid var(--secondary-color, #172033); }
.template-preview-minimal { box-shadow: none; border-width: 0 0 1px; }

/* Ortak uygulama kabuğu; login ekranından ve sayfa içeriklerinden izole edilmiştir. */
.app-page {
    min-width: 0;
    min-height: 100vh;
    min-height: 100dvh;
    padding: clamp(0rem, 2vw, 2rem);
    color: #241b29;
    background: #fff;
}

.app-page .app-skip-link {
    position: fixed;
    z-index: 100;
    top: .75rem;
    left: .75rem;
    padding: .7rem 1rem;
    border-radius: .6rem;
    color: #fff;
    background: #2c1236;
    transform: translateY(-180%);
}

.app-page .app-skip-link:focus {
    transform: translateY(0);
}

.app-page .app-shell {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    width: 100%;
    max-width: 96rem;
    min-height: calc(100vh - clamp(0rem, 4vw, 4rem));
    min-height: calc(100dvh - clamp(0rem, 4vw, 4rem));
    margin-inline: auto;
    overflow: clip;
    border: 1px solid #e7e3e9;
    border-radius: clamp(1rem, 2.5vw, 2.35rem);
    background: #f5f4f6;
    box-shadow: 0 1rem 3rem rgb(41 24 48 / 9%);
}

.app-page .app-header {
    position: relative;
    z-index: 20;
    background: #fbfafc;
}

.app-page .app-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    min-height: 7.25rem;
    padding: 1.35rem clamp(1.5rem, 4vw, 4rem);
}

.app-page .brand {
    width: auto;
    max-width: 220px;
    margin-right: 0;
    color: #241b29;
}

.app-page .brand:focus-visible,
.app-page .app-navigation a:focus-visible,
.app-page .app-user-menu summary:focus-visible,
.app-page .app-user-dropdown a:focus-visible,
.app-page .app-user-dropdown button:focus-visible {
    outline: 3px solid rgb(83 53 103 / 28%);
    outline-offset: 3px;
}

.app-page .app-header-divider {
    height: .42rem;
    background: linear-gradient(90deg, #281034, #4b164f 55%, #281034);
}

.app-page .app-user-area {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
    color: #2b1732;
}

.app-page .app-welcome {
    display: grid;
    justify-items: end;
    min-width: 0;
    line-height: 1.1;
    text-align: right;
}

.app-page .app-welcome span {
    color: #716876;
    font-size: .88rem;
}

.app-page .app-welcome strong {
    max-width: 22rem;
    margin-top: .15rem;
    overflow: hidden;
    font-size: clamp(1rem, 2vw, 1.35rem);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-page .app-avatar {
    display: grid;
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border: 3px solid #d9c8e5;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #7149a7, #a64f8f);
    font-size: 1.05rem;
    font-weight: 800;
    box-shadow: 0 0 0 3px #fff;
}

.app-page .app-user-menu {
    position: relative;
    flex: 0 0 auto;
}

.app-page .app-user-menu summary {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: .75rem;
    color: #2b1732;
    cursor: pointer;
    font-size: 1.75rem;
    line-height: 1;
    list-style: none;
}

.app-page .app-user-menu summary::-webkit-details-marker {
    display: none;
}

.app-page .app-user-menu summary:hover,
.app-page .app-user-menu[open] summary {
    background: #ece7ef;
}

.app-page .app-user-dropdown {
    position: absolute;
    z-index: 30;
    top: calc(100% + .65rem);
    right: 0;
    display: grid;
    width: min(18rem, calc(100vw - 2rem));
    padding: .55rem;
    border: 1px solid #ded7e2;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 1rem 2.5rem rgb(36 18 43 / 18%);
}

.app-page .app-user-identity {
    display: grid;
    gap: .2rem;
    min-width: 0;
    margin-bottom: .35rem;
    padding: .7rem .75rem .85rem;
    border-bottom: 1px solid #ece8ee;
}

.app-page .app-user-identity strong,
.app-page .app-user-identity span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-page .app-user-identity span,
.app-page .app-user-identity small {
    color: #6d6471;
}

.app-page .app-user-dropdown > a,
.app-page .app-user-dropdown .link-button {
    display: flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
    padding: .65rem .75rem;
    border: 0;
    border-radius: .6rem;
    color: #2e2532;
    background: transparent;
    font-weight: 650;
    text-align: left;
    text-decoration: none;
}

.app-page .app-user-dropdown > a:hover,
.app-page .app-user-dropdown .link-button:hover {
    color: #2c1236;
    background: #f2eef4;
}

.app-page .app-user-dropdown .logout-form {
    display: block;
}

.app-page .app-navigation {
    position: relative;
    z-index: 10;
    min-width: 0;
    border-bottom: 1px solid #e7e2e9;
    background: #f5f4f6;
}

.app-page .app-navigation-track {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .15rem clamp(.15rem, .5vw, .45rem);
    max-width: 90rem;
    margin-inline: auto;
    padding: .9rem clamp(1rem, 3vw, 2.5rem);
}

.app-page .app-navigation a {
    position: relative;
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    padding: .55rem .7rem;
    border-radius: .65rem;
    color: #554b59;
    font-size: .92rem;
    font-weight: 560;
    text-decoration: none;
    white-space: nowrap;
}

.app-page .app-navigation a:hover {
    color: #2c1236;
    background: #ebe6ed;
}

.app-page .app-navigation a.is-active {
    color: #2c1236;
    background: #e8e1eb;
    font-weight: 800;
}

.app-page .app-navigation a.is-active::after {
    position: absolute;
    right: .7rem;
    bottom: .25rem;
    left: .7rem;
    height: .16rem;
    border-radius: 99px;
    background: #4b164f;
    content: "";
}

.app-page .page.app-main {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: clamp(1rem, 2.5vw, 2.5rem);
}

.app-page .app-content {
    width: 100%;
    min-width: 0;
    max-width: 88rem;
    margin-inline: auto;
}

.app-page .app-footer {
    padding: 1rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    color: rgb(255 255 255 / 86%);
    background: #281034;
    font-size: .78rem;
    line-height: 1.5;
    text-align: center;
}

/* Fuar listesi; ortak kabuk ve diğer yönetim ekranlarından izole edilmiştir. */
.app-page .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.app-page .fair-page {
    display: grid;
    gap: clamp(1rem, 2vw, 1.75rem);
    min-width: 0;
}

.app-page .fair-page__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    padding: clamp(.25rem, 1vw, .75rem) clamp(.15rem, 1vw, .5rem);
}

.app-page .page-heading__content {
    min-width: 0;
}

.app-page .page-heading__eyebrow {
    margin: 0 0 .4rem;
    color: #6b546f;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.app-page .page-heading h1 {
    margin: 0;
    color: #281430;
    font-size: clamp(1.75rem, 3vw, 2.45rem);
    letter-spacing: -.025em;
}

.app-page .page-heading__content > p:last-child {
    max-width: 44rem;
    margin: .55rem 0 0;
    color: #6b6470;
    line-height: 1.55;
}

.app-page .page-heading__actions {
    flex: 0 0 auto;
}

.app-page .fair-create-button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .72rem 1.15rem;
    border-color: #237a45;
    border-radius: .7rem;
    background: #237a45;
    font-weight: 750;
    box-shadow: 0 .45rem 1rem rgb(35 122 69 / 15%);
}

.app-page .fair-create-button:hover {
    border-color: #195f35;
    background: #195f35;
}

.app-page .fair-create-button:focus-visible,
.app-page .fair-table__actions a:focus-visible,
.app-page .fair-table__actions button:focus-visible,
.app-page .fair-table-wrap:focus-visible {
    outline: 3px solid rgb(83 53 103 / 28%);
    outline-offset: 3px;
}

.app-page .fair-list-card {
    min-width: 0;
    padding: clamp(.85rem, 2vw, 1.6rem);
    border: 1px solid #e5e0e7;
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 .65rem 1.8rem rgb(43 24 49 / 5%);
}

.app-page .fair-table-wrap {
    border-radius: .8rem;
    overscroll-behavior-inline: contain;
}

.app-page .fair-table {
    min-width: 58rem;
    border-collapse: separate;
    border-spacing: 0 .45rem;
}

.app-page .fair-table th,
.app-page .fair-table td {
    border: 0;
}

.app-page .fair-table th {
    padding: .45rem 1rem .65rem;
    color: #4e4452;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .025em;
    white-space: nowrap;
}

.app-page .fair-table td {
    padding: 1rem;
    vertical-align: middle;
    background: #f7f6f8;
}

.app-page .fair-table tbody tr:nth-child(even) td {
    background: #f0eef2;
}

.app-page .fair-table td:first-child {
    border-radius: .65rem 0 0 .65rem;
}

.app-page .fair-table td:last-child {
    border-radius: 0 .65rem .65rem 0;
}

.app-page .fair-table__name {
    width: 30%;
    color: #2a1a30;
}

.app-page .fair-status {
    display: inline-flex;
    min-height: 1.75rem;
    align-items: center;
    padding: .25rem .7rem;
    border-radius: 99px;
    font-size: .82rem;
    font-weight: 750;
}

.app-page .fair-status.is-active {
    color: #176235;
    background: #def3e6;
}

.app-page .fair-status.is-passive {
    color: #704b12;
    background: #f8ead0;
}

.app-page .fair-table__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .4rem;
    white-space: nowrap;
}

.app-page .fair-table__actions form {
    display: inline-flex;
    margin: 0;
}

.app-page .fair-table__actions a,
.app-page .fair-table__actions .link-button {
    display: inline-flex;
    min-height: 2.35rem;
    align-items: center;
    padding: .45rem .65rem;
    border: 1px solid #ddd6e0;
    border-radius: .55rem;
    color: #4a2756;
    background: #fff;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}

.app-page .fair-table__actions a:hover,
.app-page .fair-table__actions .link-button:hover {
    border-color: #bbaec0;
    background: #f1edf3;
}

.app-page .fair-empty-state {
    padding: clamp(2.5rem, 7vw, 5rem) 1rem;
    color: #5e5662;
    text-align: center;
}

.app-page .fair-empty-state strong {
    color: #302335;
    font-size: 1.08rem;
}

.app-page .fair-empty-state p {
    margin: .55rem auto 0;
}

.app-page .fair-area-tabs,
.app-page .fair-workspace-tabs {
    display: flex;
    min-width: 0;
    overflow-x: auto;
    border-bottom: 1px solid #ddd6e0;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}

.app-page .fair-area-tab,
.app-page .fair-workspace-tab {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 3rem;
    align-items: center;
    padding: .65rem 1rem;
    color: #655a69;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.app-page .fair-area-tab:hover,
.app-page .fair-workspace-tab:hover {
    color: #2c1236;
    background: #eee9f0;
}

.app-page .fair-area-tab.is-active,
.app-page .fair-workspace-tab.is-active {
    color: #2c1236;
    font-weight: 800;
}

.app-page .fair-area-tab.is-active::after,
.app-page .fair-workspace-tab.is-active::after {
    position: absolute;
    right: 1rem;
    bottom: 0;
    left: 1rem;
    height: .2rem;
    border-radius: 99px;
    background: #4b164f;
    content: "";
}

.app-page .fair-workspace {
    display: grid;
    gap: clamp(1rem, 2vw, 1.5rem);
    min-width: 0;
}

.app-page .fair-workspace-header {
    min-width: 0;
    padding: clamp(.25rem, 1vw, .75rem) clamp(.15rem, 1vw, .5rem);
}

.app-page .fair-workspace-back {
    display: inline-flex;
    margin-bottom: 1rem;
    color: #5c4e61;
    font-weight: 700;
    text-decoration: none;
}

.app-page .fair-workspace-header__main {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
}

.app-page .fair-workspace-header h1 {
    margin: 0;
    overflow-wrap: anywhere;
    color: #281430;
    font-size: clamp(1.75rem, 3vw, 2.45rem);
}

.app-page .fair-workspace-dates,
.app-page .fair-workspace-header p:last-child {
    margin: .55rem 0 0;
    color: #6b6470;
}

.app-page .fair-overview,
.app-page .fair-lifecycle-actions,
.app-page .fair-workspace-panel {
    min-width: 0;
    padding: clamp(1rem, 2.5vw, 1.75rem);
    border: 1px solid #e5e0e7;
    border-radius: 1rem;
    background: #fff;
}

.app-page .fair-overview h2,
.app-page .fair-lifecycle-actions h2,
.app-page .fair-danger-zone h2,
.app-page .fair-deletion-impact h2,
.app-page .fair-workspace-panel h2 {
    margin-top: 0;
    color: #302036;
}

.app-page .fair-overview-grid,
.app-page .fair-impact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: .8rem;
    margin: 0;
}

.app-page .fair-overview-grid > div,
.app-page .fair-impact-grid > div {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #e8e3ea;
    border-radius: .75rem;
    background: #f8f7f9;
}

.app-page .fair-overview-grid dt,
.app-page .fair-impact-grid dt {
    color: #706775;
    font-size: .8rem;
    font-weight: 700;
}

.app-page .fair-overview-grid dd,
.app-page .fair-impact-grid dd {
    margin: .35rem 0 0;
    overflow-wrap: anywhere;
    color: #302036;
    font-size: 1.05rem;
    font-weight: 800;
}

.app-page .fair-overview-description {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #ebe7ed;
}

.app-page .fair-danger-zone {
    min-width: 0;
    padding: clamp(1rem, 2.5vw, 1.75rem);
    border: 1px solid #d88982;
    border-left: .35rem solid #b42318;
    border-radius: 1rem;
    background: #fff8f7;
}

.app-page .fair-confirmation-form {
    display: grid;
    gap: .85rem;
    align-items: start;
    margin-top: 1rem;
}

.app-page .fair-confirmation-form button,
.app-page .fair-confirmation-form .button {
    justify-self: start;
}

.app-page .fair-status.is-archived {
    color: #633d06;
    background: #f7e3bc;
}

.app-page .fair-danger-link,
.app-page .fair-archive-link {
    color: #8d2017;
}

.app-page .fair-external-warnings {
    display: grid;
    gap: .6rem;
    padding-left: 1.25rem;
    color: #5e3430;
}

@media (max-width: 42rem) {
    .app-page .fair-area-tabs,
    .app-page .fair-workspace-tabs {
        margin-inline: -1rem;
        padding-inline: .35rem;
    }

    .app-page .fair-workspace-header__main {
        display: grid;
        align-items: start;
    }

    .app-page .fair-confirmation-form button,
    .app-page .fair-confirmation-form .button {
        width: 100%;
        justify-self: stretch;
    }
}

@media (max-width: 64rem) {
    .app-page {
        padding: 0;
    }

    .app-page .app-shell {
        min-height: 100vh;
        min-height: 100dvh;
        border-width: 0;
        border-radius: 0;
    }

    .app-page .app-header-inner {
        min-height: 6rem;
        padding-inline: clamp(1rem, 3vw, 2rem);
    }

    .app-page .app-navigation-track {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .app-page .app-navigation-track::-webkit-scrollbar {
        display: none;
    }
}

@media (max-width: 42rem) {
    .app-page .app-header-inner {
        min-height: 5.25rem;
        gap: .75rem;
        padding-block: .9rem;
    }

    .app-page .brand {
        width: auto;
        max-width: 170px;
    }

    .app-page .app-welcome strong {
        max-width: 9rem;
        font-size: .95rem;
    }

    .app-page .app-welcome span {
        font-size: .76rem;
    }

    .app-page .app-avatar {
        width: 2.6rem;
        height: 2.6rem;
        border-width: 2px;
        font-size: .95rem;
    }

    .app-page .app-user-menu summary {
        width: 2.5rem;
        height: 2.5rem;
    }

    .app-page .app-navigation-track {
        padding: .65rem 1rem;
    }

    .app-page .page.app-main {
        padding: 1rem;
    }

    .app-page .fair-page__heading {
        display: grid;
        align-items: start;
        gap: 1rem;
        padding-inline: 0;
    }

    .app-page .page-heading__actions,
    .app-page .fair-create-button {
        width: 100%;
    }

    .app-page .fair-list-card {
        padding: .65rem;
        border-radius: .9rem;
    }

    .app-page .fair-table th,
    .app-page .fair-table td {
        padding-inline: .8rem;
    }
}

@media (max-width: 30rem) {
    .app-page .app-header-inner {
        padding-inline: .9rem;
    }

    .app-page .brand {
        max-width: 142px;
    }

    .app-page .nav-logo {
        max-width: 142px;
        max-height: 36px;
    }

    .app-page .app-welcome {
        display: none;
    }

    .app-page .app-user-area {
        gap: .45rem;
    }
}

/* Ayarlar bilgi mimarisi; ortak kabuk içinde ve sayfa bileşenleriyle sınırlıdır. */
.app-page .collection-page { display: grid; gap: 1.25rem; min-width: 0; }
.app-page .collection-page-header { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding: .5rem; }
.app-page .collection-page-header h1 { margin: 0; color: #281430; font-size: clamp(1.75rem, 3vw, 2.45rem); }
.app-page .collection-page-header p:last-child { max-width: 44rem; margin: .55rem 0 0; color: #6b6470; }
.app-page .qr-export-menu { position: relative; }
.app-page .qr-export-menu [data-qr-export-label]::after { content: " ▾"; }
.app-page .qr-export-menu [data-qr-export-label]:disabled { cursor: wait; opacity: .65; }
.app-page .qr-export-menu__items { position: absolute; z-index: 20; top: calc(100% + .4rem); right: 0; min-width: 12rem; padding: .4rem; border: 1px solid #ded8e1; border-radius: .55rem; background: #fff; box-shadow: 0 .75rem 2rem rgb(40 20 48 / 14%); }
.app-page .qr-export-menu__items[hidden] { display: none; }
.app-page .qr-export-menu__items a { display: block; padding: .65rem .75rem; border-radius: .4rem; color: #281430; text-decoration: none; white-space: nowrap; }
.app-page .qr-export-menu__items a:hover { background: #f5f1f6; }
.app-page .qr-export-toast { margin: .75rem .5rem 0; padding: .75rem 1rem; border-radius: .45rem; }
.app-page .qr-export-toast--success { background: #e7f6ec; color: #135c2e; }
.app-page .qr-export-toast--error { background: #fdecec; color: #8a1c1c; }
.app-page .collection-create-button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .5rem; border-color: #237a45; border-radius: .7rem; background: #237a45; font-weight: 750; }
.app-page .collection-create-button:hover { border-color: #195f35; background: #195f35; }
.app-page .collection-list-card,
.app-page .collection-empty-state { min-width: 0; padding: clamp(1rem, 2vw, 1.6rem); border: 1px solid #e5e0e7; border-radius: 1.15rem; background: #fff; box-shadow: 0 .65rem 1.8rem rgb(43 24 49 / 5%); }
.app-page .collection-table-wrap { border-radius: .8rem; overscroll-behavior-inline: contain; }
.app-page .collection-table { min-width: 52rem; border-collapse: separate; border-spacing: 0 .45rem; }
.app-page .collection-table th,
.app-page .collection-table td { border: 0; }
.app-page .collection-table th { padding: .45rem .8rem .65rem; color: #4e4452; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.app-page .collection-table td { padding: .9rem .8rem; vertical-align: middle; background: #f7f6f8; }
.app-page .collection-table tbody tr:nth-child(even) td { background: #f0eef2; }
.app-page .collection-table td:first-child { border-radius: .65rem 0 0 .65rem; }
.app-page .collection-table td:last-child { border-radius: 0 .65rem .65rem 0; }
.app-page .collection-description { display: block; max-width: 26rem; margin-top: .25rem; color: #6b6470; font-size: .84rem; overflow-wrap: anywhere; }
.app-page .collection-status { display: inline-flex; min-height: 1.75rem; align-items: center; padding: .25rem .7rem; border-radius: 99px; font-size: .82rem; font-weight: 750; }
.app-page .collection-status--active { color: #176235; background: #def3e6; }
.app-page .collection-status--inactive { color: #704b12; background: #f8ead0; }
.app-page .collection-actions { display: flex; align-items: center; gap: .45rem; white-space: nowrap; }
.app-page .collection-actions form { display: inline-flex; margin: 0; }
.app-page .collection-actions a,
.app-page .collection-actions button { display: inline-flex; min-height: 2.75rem; align-items: center; padding: .5rem .7rem; border: 1px solid #d9d1dc; border-radius: .55rem; font-size: .84rem; font-weight: 700; text-decoration: none; }
.app-page .destructive-delete-dialog { width: min(calc(100% - 2rem), 34rem); max-height: min(90vh, 42rem); margin: auto; padding: 0; border: 0; border-radius: 1rem; color: #302036; background: #fff; box-shadow: 0 1.5rem 4rem rgb(30 18 35 / 28%); white-space: normal; }
.app-page .destructive-delete-dialog::backdrop { background: rgb(24 14 29 / 64%); backdrop-filter: blur(2px); }
.app-page .destructive-delete-dialog__panel { display: grid; gap: 1rem; padding: clamp(1.15rem, 4vw, 1.75rem); }
.app-page .destructive-delete-dialog__panel header { display: grid; gap: .25rem; }
.app-page .destructive-delete-dialog__panel h2,
.app-page .destructive-delete-dialog__panel p { margin: 0; }
.app-page .destructive-delete-dialog__panel h2 { color: #511710; font-size: clamp(1.2rem, 4vw, 1.55rem); line-height: 1.25; overflow-wrap: anywhere; }
.app-page .destructive-delete-dialog__eyebrow { color: #a1251b; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.app-page .destructive-delete-dialog__stats-title { color: #504755; font-size: .84rem; font-weight: 800; }
.app-page .destructive-delete-dialog__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); gap: .55rem; margin: 0; }
.app-page .destructive-delete-dialog__stats div { padding: .7rem; border-radius: .65rem; background: #f5f3f6; }
.app-page .destructive-delete-dialog__stats dt { color: #6b6470; font-size: .78rem; }
.app-page .destructive-delete-dialog__stats dd { margin: .15rem 0 0; font-size: 1.1rem; font-weight: 800; }
.app-page .destructive-delete-dialog__note { padding: .7rem .8rem; border-radius: .65rem; color: #504755; background: #f5f3f6; font-size: .88rem; }
.app-page .destructive-delete-dialog form { display: grid; gap: 1rem; margin: 0; }
.app-page .destructive-delete-dialog__confirmation { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .65rem; margin: 0; }
.app-page .destructive-delete-dialog__confirmation input { margin-top: .15rem; }
.app-page .destructive-delete-dialog__actions { display: flex; justify-content: flex-end; gap: .65rem; }
.app-page .destructive-delete-dialog__actions button { min-height: 2.75rem; }
.app-page .destructive-delete-dialog__actions button:disabled { cursor: not-allowed; opacity: .5; }
.app-page .collection-empty-state { padding-block: clamp(2.5rem, 7vw, 4.5rem); color: #5e5662; text-align: center; }
.app-page .collection-empty-state h2 { margin-top: 0; color: #302335; }
.app-page .collection-readonly-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1rem; }
.app-page .collection-readonly-card { display: flex; min-width: 0; align-items: start; justify-content: space-between; gap: 1rem; padding: 1.15rem; border: 1px solid #e5e0e7; border-radius: 1rem; background: #fff; }
.app-page .collection-readonly-card h3 { margin: 0; color: #281430; overflow-wrap: anywhere; }
.app-page .collection-readonly-card p { margin: .4rem 0; color: #625969; overflow-wrap: anywhere; }
.app-page .collection-readonly-card small { color: #756b79; }
.app-page .collection-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1rem; }
.app-page .collection-card-item { display: grid; gap: 1rem; padding: 1.2rem; border: 1px solid #e5e0e7; border-radius: 1rem; background: #fff; }
.app-page .collection-card-item h2 { margin: 0 0 .65rem; color: #281430; overflow-wrap: anywhere; }
.app-page .collection-import-dialog { width: min(calc(100% - 2rem), 38rem); margin: auto; padding: 0; border: 0; border-radius: 1rem; background: #fff; box-shadow: 0 1.5rem 4rem rgb(30 18 35 / 28%); }
.app-page .collection-import-dialog::backdrop { background: rgb(24 14 29 / 64%); }
.app-page .collection-import-dialog__panel { display: grid; gap: 1rem; padding: clamp(1.15rem, 4vw, 1.75rem); }
.app-page .collection-import-dialog__panel h2,
.app-page .collection-import-dialog__panel p { margin: 0; }
.app-page .collection-import-dialog__panel dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: 0; }
.app-page .collection-import-dialog__panel dl div { padding: .75rem; border-radius: .65rem; background: #f5f3f6; }
.app-page .collection-import-dialog__panel dt { color: #6b6470; font-size: .78rem; }
.app-page .collection-import-dialog__panel dd { margin: .2rem 0 0; font-weight: 750; overflow-wrap: anywhere; }
.app-page .collection-import-dropzone { display: grid; gap: .6rem; padding: 1.5rem; border: 2px dashed #bbaec0; border-radius: .8rem; text-align: center; cursor: pointer; }
.app-page .collection-import-dropzone--active { border-color: #4b164f; background: #f7f0f8; }
.app-page .collection-import-dropzone input { max-width: 100%; margin-inline: auto; }
.app-page .collection-import-dropzone small { color: #6b6470; }
.app-page .collection-import-dialog__actions,
.app-page .collection-import-actions { display: flex; justify-content: flex-end; gap: .65rem; }
.app-page .collection-import-page > header h1 { margin: 0; color: #281430; }
.app-page .collection-import-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 0; }
.app-page .collection-import-summary div { padding: 1rem; border: 1px solid #e5e0e7; border-radius: .8rem; background: #fff; }
.app-page .collection-import-summary dt { color: #6b6470; font-size: .82rem; }
.app-page .collection-import-summary dd { margin: .25rem 0 0; color: #281430; font-size: 1.45rem; font-weight: 800; }
.app-page .collection-import-table-wrap { max-height: 34rem; overflow: auto; border-radius: .8rem; }
.app-page .collection-import-table { width: 100%; }
.app-page .collection-import-result { font-weight: 750; }
.app-page .collection-import-result--ready { color: #176235; }
.app-page .collection-import-result--duplicate { color: #704b12; }
.app-page .collection-import-result--invalid { color: #8a1c1c; }
.app-page .collection-import-result-list { padding: 1.25rem 2.5rem; border: 1px solid #e5e0e7; border-radius: .8rem; background: #fff; }
.app-page .collection-qr-page { display: grid; justify-items: center; gap: 1.25rem; text-align: center; }
.app-page .collection-qr-page h1 { margin-bottom: 0; }
.app-page .collection-qr-image { width: min(100%, 34rem); padding: 1rem; border: 1px solid #e5e0e7; border-radius: 1rem; background: #fff; }
.app-page .collection-qr-image svg { display: block; width: 100%; height: auto; }
.app-page .collection-qr-label { margin: 0; font-size: 1.1rem; }
.app-page .collection-create-button:focus-visible,
.app-page .collection-actions a:focus-visible,
.app-page .collection-actions button:focus-visible,
.app-page .collection-table-wrap:focus-visible { outline: 3px solid rgb(83 53 103 / 28%); outline-offset: 3px; }
@media (max-width: 42rem) {
    .app-page .collection-page-header { display: grid; align-items: start; padding-inline: 0; }
    .app-page .collection-create-button { width: 100%; }
    .app-page .collection-list-card { padding: .65rem; }
    .app-page .destructive-delete-dialog__actions { display: grid; }
    .app-page .destructive-delete-dialog__actions button { width: 100%; }
    .app-page .collection-import-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .app-page .collection-import-dialog__actions,
    .app-page .collection-import-actions { display: grid; }
}

.app-page .settings-hub,
.app-page .integration-hub,
.app-page .system-tools { display: grid; gap: 1.5rem; }
.app-page .settings-hub > section { display: grid; gap: .75rem; }
.app-page .settings-hub > section > h2 { margin: 0; color: var(--brand-primary, #4b164f); font-size: 1.15rem; }
.app-page .settings-section-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; }
.app-page .settings-section-card,
.app-page .integration-card { min-width: 0; padding: 1.25rem; border: 1px solid #e4dde7; border-radius: 1rem; background: #fff; box-shadow: 0 .35rem 1.2rem rgb(44 18 54 / 6%); }
.app-page .settings-section-card h2,
.app-page .settings-section-card h3,
.app-page .integration-card h2 { margin-top: 0; }
.app-page .settings-card-actions { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; }
.app-page .settings-card-actions a,
.app-page .settings-section-card > a,
.app-page .integration-card > a { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 700; }
.app-page .app-breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin: 0 0 1rem; color: #6a5e6e; font-size: .9rem; }
.app-page .app-breadcrumb > * + *::before { margin-right: .45rem; color: #9c929f; content: "›"; }
.app-page .app-breadcrumb a { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--brand-primary, #4b164f); font-weight: 700; }
.app-page .settings-section-card a:focus-visible,
.app-page .integration-card a:focus-visible,
.app-page .app-breadcrumb a:focus-visible { outline: 3px solid var(--brand-accent, #ffc52f); outline-offset: 3px; }
@media (max-width: 30rem) {
    .app-page .settings-section-card,
    .app-page .integration-card { padding: 1rem; }
    .app-page .settings-card-actions { display: grid; }
}

/* Ziyaretçi listesi; ortak kabuğu değiştirmeden fuar bağlamını öne çıkarır. */
.app-page .visitor-list-page {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
}

.app-page .visitor-list-page .fair-workspace-tabs {
    margin-bottom: 0;
}

.app-page .visitor-list-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(.25rem, 1vw, .75rem) clamp(.15rem, 1vw, .5rem);
}

.app-page .visitor-list-header__content {
    min-width: 0;
}

.app-page .visitor-list-header__eyebrow {
    margin: 0 0 .4rem;
    color: #6b546f;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.app-page .visitor-list-header h1 {
    margin: 0;
    color: #281430;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    letter-spacing: -.025em;
}

.app-page .visitor-list-header__content > p:not(.visitor-list-header__eyebrow) {
    max-width: 42rem;
    margin: .55rem 0 0;
    color: #6b6470;
    line-height: 1.55;
}

.app-page .visitor-list-header__fair {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .7rem;
    max-width: 48rem;
    margin-top: 1rem;
    padding: .7rem .85rem;
    border-left: .25rem solid #4b164f;
    border-radius: 0 .65rem .65rem 0;
    background: #eee9f0;
    color: #3c2941;
}

.app-page .visitor-list-header__fair > span:first-child {
    color: #716475;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.app-page .visitor-list-header__fair strong {
    overflow-wrap: anywhere;
}

.app-page .visitor-list-header__status {
    display: inline-flex;
    min-height: 1.65rem;
    align-items: center;
    padding: .2rem .6rem;
    border-radius: 99px;
    font-size: .76rem;
    font-weight: 750;
}

.app-page .visitor-list-header__status--active {
    color: #176235;
    background: #d9efdf;
}

.app-page .visitor-list-header__status--inactive {
    color: #704b12;
    background: #f7e8c9;
}

.app-page .visitor-list-header__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: end;
    gap: .65rem;
}

.app-page .visitor-list-header__actions .button,
.app-page .visitor-list-primary-action {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: .7rem;
    font-weight: 750;
}

.app-page .visitor-list-primary-action {
    border-color: #237a45;
    background: #237a45;
    box-shadow: 0 .45rem 1rem rgb(35 122 69 / 14%);
}

.app-page .visitor-list-primary-action:hover {
    border-color: #195f35;
    background: #195f35;
}

.app-page .visitor-list-lifecycle-notice {
    padding: .9rem 1rem;
    border: 1px solid #ead8af;
    border-left: .3rem solid #a46b10;
    border-radius: .65rem;
    background: #fff7e6;
    color: #694710;
    line-height: 1.55;
}

.app-page .visitor-list-lifecycle-notice strong {
    display: block;
}

.app-page .visitor-live-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    border: 1px solid #d9e6dc;
    border-radius: .8rem;
    background: #f3faf5;
}

.app-page .visitor-live-status,
.app-page .visitor-live-sound {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .65rem;
}

.app-page .visitor-live-status__dot {
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    background: #218447;
    box-shadow: 0 0 0 .2rem rgb(33 132 71 / 14%);
}

.app-page .visitor-live-status > span:last-child,
.app-page .visitor-live-sound > span {
    color: #67706a;
    font-size: .82rem;
}

.app-page .visitor-live--waiting .visitor-live-controls {
    border-color: #ead8af;
    background: #fff9ec;
}

.app-page .visitor-live--waiting .visitor-live-status__dot {
    background: #a46b10;
    box-shadow: 0 0 0 .2rem rgb(164 107 16 / 14%);
}

.app-page .visitor-live-filter-notice {
    padding: .8rem 1rem;
    border-left: .3rem solid #72518a;
    border-radius: .6rem;
    background: #f4eff7;
    color: #44344b;
}

.app-page .visitor-live-filter-notice a {
    font-weight: 800;
}

.app-page .visitor-live-toasts {
    position: fixed;
    z-index: 40;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    display: grid;
    width: min(25rem, calc(100vw - 2rem));
    gap: .75rem;
    pointer-events: none;
}

.app-page .visitor-live-toast {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #d9cfdd;
    border-left: .35rem solid #237a45;
    border-radius: .8rem;
    background: #fff;
    box-shadow: 0 .9rem 2.5rem rgb(35 20 40 / 22%);
    pointer-events: auto;
}

.app-page .visitor-live-toast > strong {
    display: inline-block;
    margin-right: .5rem;
    color: #2d1933;
}

.app-page .visitor-live-toast__source {
    display: inline-flex;
    padding: .18rem .48rem;
    border-radius: 99px;
    background: #eee7f1;
    color: #4b164f;
    font-size: .72rem;
    font-weight: 800;
}

.app-page .visitor-live-toast p {
    overflow: hidden;
    margin: .65rem 0;
    color: #544a58;
    overflow-wrap: anywhere;
}

.app-page .visitor-live-toast__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.app-page .visitor-live-toast__actions .button,
.app-page .visitor-live-sound .button {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
}

.app-page .visitor-list-filters,
.app-page .visitor-list-card {
    min-width: 0;
    border: 1px solid #e5e0e7;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 .65rem 1.8rem rgb(43 24 49 / 5%);
}

.app-page .visitor-list-filters > summary {
    display: flex;
    min-height: 3.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    color: #39293d;
    cursor: pointer;
    font-weight: 800;
}

.app-page .visitor-list-filters > summary small {
    color: #746a78;
    font-weight: 500;
}

.app-page .visitor-list-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    gap: 1rem;
    padding: 1rem;
    border-top: 1px solid #ebe7ec;
}

.app-page .visitor-list-filter-grid__check {
    align-self: end;
    min-height: 2.75rem;
}

.app-page .visitor-list-filter-grid__actions {
    display: flex;
    align-self: end;
    gap: .6rem;
}

.app-page .visitor-list-card {
    padding: clamp(.75rem, 2vw, 1.4rem);
}

.app-page .visitor-list-card__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    padding: .25rem .25rem 1rem;
}

.app-page .visitor-list-card__heading h2 {
    margin: 0;
    color: #302335;
    font-size: 1.15rem;
}

.app-page .visitor-list-card__heading p {
    margin: .35rem 0 0;
    color: #6b6470;
}

.app-page .visitor-list-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    border-radius: .75rem;
    overscroll-behavior-inline: contain;
}

.app-page .visitor-list-table {
    min-width: 62rem;
    border-collapse: separate;
    border-spacing: 0;
}

.app-page .visitor-list-table th {
    padding: .8rem;
    border: 0;
    color: #fff;
    background: #32153d;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .02em;
    white-space: nowrap;
}

.app-page .visitor-list-table th:first-child {
    border-radius: .7rem 0 0;
}

.app-page .visitor-list-table th:last-child {
    border-radius: 0 .7rem 0 0;
}

.app-page .visitor-list-table td {
    padding: .9rem .8rem;
    border: 0;
    vertical-align: middle;
    background: #f8f7f9;
    overflow-wrap: anywhere;
}

.app-page .visitor-list-table tbody tr:nth-child(even) td {
    background: #f0eef2;
}

.app-page .visitor-list-name,
.app-page .visitor-list-meta {
    display: block;
}

.app-page .visitor-list-meta {
    margin-top: .3rem;
    color: #716777;
    font-size: .78rem;
}

.app-page .visitor-list-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    margin-top: .4rem;
}

.app-page .visitor-list-badges:empty {
    display: none;
}

.app-page .visitor-list-badges .badge {
    font-size: .72rem;
}

.app-page .visitor-list-row-action {
    width: 1%;
    text-align: right;
    white-space: nowrap;
}

.app-page .visitor-list-row-action a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    padding: .5rem .7rem;
    border: 1px solid #d8cfdc;
    border-radius: .55rem;
    color: #4b164f;
    font-weight: 750;
    text-decoration: none;
}

.app-page .visitor-list-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    margin-top: 1.15rem;
}

.app-page .visitor-list-pagination .button {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
}

.app-page .visitor-list-pagination .is-disabled {
    cursor: default;
    opacity: .52;
}

.app-page .visitor-list-empty-state {
    padding: clamp(2.5rem, 7vw, 4.5rem) 1rem;
    color: #625969;
    text-align: center;
}

.app-page .visitor-list-empty-state h3 {
    margin: 0;
    color: #302335;
}

.app-page .visitor-list-empty-state p {
    margin: .6rem auto 1.2rem;
}

.app-page .visitor-list-header__actions a:focus-visible,
.app-page .visitor-list-primary-action:focus-visible,
.app-page .visitor-list-filters > summary:focus-visible,
.app-page .visitor-list-filter-grid a:focus-visible,
.app-page .visitor-list-filter-grid button:focus-visible,
.app-page .visitor-list-table-wrap:focus-visible,
.app-page .visitor-list-row-action a:focus-visible,
.app-page .visitor-list-pagination a:focus-visible {
    outline: 3px solid rgb(83 53 103 / 28%);
    outline-offset: 3px;
}

@media (max-width: 62rem) {
    .app-page .visitor-list-header {
        display: grid;
        align-items: start;
    }

    .app-page .visitor-list-header__actions {
        justify-content: start;
    }
}

@media (max-width: 48rem) {
    .app-page .visitor-live-controls {
        display: grid;
    }

    .app-page .visitor-list-table-wrap {
        overflow: visible;
    }

    .app-page .visitor-list-table,
    .app-page .visitor-list-table tbody,
    .app-page .visitor-list-table tr,
    .app-page .visitor-list-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .app-page .visitor-list-table thead {
        display: none;
    }

    .app-page .visitor-list-table tr {
        margin-bottom: .8rem;
        padding: .55rem .8rem;
        border: 1px solid #e4dee6;
        border-radius: .75rem;
        background: #f8f7f9;
    }

    .app-page .visitor-list-table td,
    .app-page .visitor-list-table tbody tr:nth-child(even) td {
        display: grid;
        grid-template-columns: minmax(7.5rem, 35%) minmax(0, 1fr);
        gap: .75rem;
        padding: .55rem 0;
        border-bottom: 1px solid #e7e2e9;
        background: transparent;
    }

    .app-page .visitor-list-table td::before {
        color: #655a69;
        content: attr(data-label);
        font-size: .78rem;
        font-weight: 800;
    }

    .app-page .visitor-list-table .visitor-list-row-action {
        display: flex;
        justify-content: end;
        border-bottom: 0;
    }

    .app-page .visitor-list-table .visitor-list-row-action::before {
        display: none;
    }
}

@media (max-width: 34rem) {
    .app-page .visitor-live-sound,
    .app-page .visitor-live-sound .button,
    .app-page .visitor-live-toast__actions,
    .app-page .visitor-live-toast__actions .button {
        width: 100%;
    }

    .app-page .visitor-list-header__actions,
    .app-page .visitor-list-filter-grid__actions {
        display: grid;
        width: 100%;
    }

    .app-page .visitor-list-header__actions .button,
    .app-page .visitor-list-filter-grid__actions > * {
        width: 100%;
    }

    .app-page .visitor-list-filters > summary {
        display: grid;
    }

    .app-page .visitor-list-table td,
    .app-page .visitor-list-table tbody tr:nth-child(even) td {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .app-page .visitor-list-pagination {
        flex-wrap: wrap;
    }
}

/* Yeni ziyaretçi ekranı; ortak kabuk, QR sayfası ve düzenleme görünümünden izole edilmiştir. */
.app-page .visitor-create-page {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
}

.app-page .visitor-create-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(.25rem, 1vw, .75rem) clamp(.15rem, 1vw, .5rem);
}

.app-page .visitor-create-header__content {
    min-width: 0;
}

.app-page .visitor-create-header__eyebrow {
    margin: 0 0 .4rem;
    color: #6b546f;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.app-page .visitor-create-header h1 {
    margin: 0;
    color: #281430;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    letter-spacing: -.025em;
}

.app-page .visitor-create-header__content > p:not(.visitor-create-header__eyebrow) {
    max-width: 46rem;
    margin: .55rem 0 0;
    color: #6b6470;
    line-height: 1.55;
}

.app-page .visitor-create-context {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .7rem;
    max-width: 48rem;
    margin-top: 1rem;
    padding: .7rem .85rem;
    border-left: .25rem solid #4b164f;
    border-radius: 0 .65rem .65rem 0;
    background: #eee9f0;
    color: #3c2941;
}

.app-page .visitor-create-context > span:first-child {
    color: #716475;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.app-page .visitor-create-context strong {
    overflow-wrap: anywhere;
}

.app-page .visitor-create-context__status {
    display: inline-flex;
    min-height: 1.65rem;
    align-items: center;
    padding: .2rem .6rem;
    border-radius: 99px;
    color: #176235;
    background: #d9efdf;
    font-size: .76rem;
    font-weight: 750;
}

.app-page .visitor-create-header__actions {
    flex: 0 0 auto;
}

.app-page .visitor-create-header__actions .button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: .7rem;
    font-weight: 750;
}

.app-page .visitor-entry-methods,
.app-page .visitor-create-form,
.app-page .visitor-create-confirmation {
    min-width: 0;
    padding: clamp(1rem, 2.4vw, 1.6rem);
    border: 1px solid #e5e0e7;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 .65rem 1.8rem rgb(43 24 49 / 5%);
}

.app-page .visitor-entry-methods__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.app-page .visitor-entry-methods__heading h2,
.app-page .visitor-create-form .visitor-create-form__section-heading h2 {
    margin: 0;
    color: #302335;
}

.app-page .visitor-entry-methods__heading h2 {
    font-size: 1.15rem;
}

.app-page .visitor-entry-methods__heading p,
.app-page .visitor-create-form .visitor-create-form__section-heading p {
    margin: .3rem 0 0;
    color: #716777;
    line-height: 1.5;
}

.app-page .visitor-entry-methods__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.app-page .visitor-entry-method {
    display: flex;
    min-width: 0;
    min-height: 5.25rem;
    align-items: center;
    gap: .9rem;
    padding: .85rem 1rem;
    border: 1px solid #ded6e2;
    border-radius: .8rem;
    color: #3f3144;
    background: #faf9fb;
    text-decoration: none;
}

.app-page .visitor-entry-method.is-active {
    border-color: #6d3ed0;
    color: #fff;
    background: #6641c4;
    box-shadow: 0 .45rem 1.1rem rgb(89 54 177 / 18%);
}

.app-page .visitor-entry-method__icon {
    display: inline-flex;
    width: 2.5rem;
    min-width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    border-radius: .65rem;
    color: #543495;
    background: #eee7fc;
    font-size: 1.25rem;
    font-weight: 800;
}

.app-page .visitor-entry-method.is-active .visitor-entry-method__icon {
    color: #fff;
    background: rgb(255 255 255 / 18%);
}

.app-page .visitor-entry-method strong,
.app-page .visitor-entry-method small {
    display: block;
}

.app-page .visitor-entry-method small {
    margin-top: .25rem;
    color: #786d7c;
    line-height: 1.35;
}

.app-page .visitor-entry-method.is-active small {
    color: rgb(255 255 255 / 82%);
}

.app-page .visitor-create-source-notice {
    padding: .9rem 1rem;
    border: 1px solid #cfe4d5;
    border-left: .3rem solid #237a45;
    border-radius: .65rem;
    color: #245936;
    background: #eef8f1;
    line-height: 1.55;
}

.app-page .visitor-create-source-notice strong {
    display: block;
}

.app-page .visitor-create-error,
.app-page .visitor-create-duplicate {
    margin: 0;
}

.app-page .visitor-create-form {
    display: grid;
    gap: 0;
    padding: 0;
    overflow: hidden;
}

.app-page .visitor-create-form .visitor-create-form__section {
    min-width: 0;
    margin: 0;
    padding: clamp(1.1rem, 2.8vw, 2rem);
    border: 0;
    border-bottom: 1px solid #e9e4ea;
    border-radius: 0;
}

.app-page .visitor-create-form .visitor-create-form__section-heading {
    display: flex;
    align-items: start;
    gap: .85rem;
    margin-bottom: 1.25rem;
}

.app-page .visitor-create-form .visitor-create-form__section-heading > span {
    display: inline-flex;
    width: 2.15rem;
    min-width: 2.15rem;
    height: 2.15rem;
    align-items: center;
    justify-content: center;
    border-radius: 99px;
    color: #fff;
    background: #4b164f;
    font-size: .72rem;
    font-weight: 800;
}

.app-page .visitor-create-form .visitor-create-form__section-heading h2 {
    font-size: 1.15rem;
}

.app-page .visitor-create-form .visitor-create-fields {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
}

.app-page .visitor-create-form .visitor-create-fields--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.app-page .visitor-create-form .visitor-create-fields--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.app-page .visitor-create-form label {
    color: #493c4d;
}

.app-page .visitor-create-form input:not([type="checkbox"]),
.app-page .visitor-create-form select,
.app-page .visitor-create-form textarea {
    width: 100%;
    border-color: #c9c0cc;
    border-radius: .6rem;
    background: #fff;
}

.app-page .visitor-create-form input:not([type="checkbox"]):focus,
.app-page .visitor-create-form select:focus,
.app-page .visitor-create-form textarea:focus {
    border-color: #633068;
    outline: 3px solid rgb(83 53 103 / 13%);
}

.app-page .visitor-create-form .visitor-create-collections {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
    gap: .65rem;
}

.app-page .visitor-create-form .visitor-create-collection,
.app-page .visitor-create-form .visitor-create-consent {
    display: flex;
    min-height: 3rem;
    align-items: start;
    gap: .65rem;
    padding: .7rem .8rem;
    border: 1px solid #e1dbe4;
    border-radius: .65rem;
    background: #faf9fb;
    font-weight: 600;
    line-height: 1.45;
}

.app-page .visitor-create-form .visitor-create-collection input,
.app-page .visitor-create-form .visitor-create-consent input {
    width: 1.15rem;
    min-width: 1.15rem;
    height: 1.15rem;
    min-height: 0;
    margin: .12rem 0 0;
    accent-color: #4b164f;
}

.app-page .visitor-create-form .visitor-create-notes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.app-page .visitor-create-form .visitor-create-note {
    padding: 1rem;
    border-radius: .75rem;
}

.app-page .visitor-create-form .visitor-create-note textarea {
    min-height: 9rem;
}

.app-page .visitor-create-form .visitor-create-note--shareable {
    border-left: .3rem solid #3157a4;
    background: #f5f8ff;
}

.app-page .visitor-create-form .visitor-create-note--internal {
    border-left: .3rem solid #8a4a13;
    background: #fff8f0;
}

.app-page .visitor-create-form .visitor-create-lead {
    max-width: 30rem;
    margin-top: 1rem;
}

.app-page .visitor-create-form .visitor-create-consents {
    background: #faf9fb;
}

.app-page .visitor-create-form .visitor-create-consent + .visitor-create-consent {
    margin-top: .65rem;
}

.app-page .visitor-create-form .visitor-create-consents__note {
    margin: .9rem 0 0;
    color: #6b6470;
    font-size: .86rem;
    line-height: 1.55;
}

.app-page .visitor-create-form .visitor-create-form__actions,
.app-page .visitor-create-confirmation .visitor-create-form__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: end;
    gap: .7rem;
    padding: 1.15rem clamp(1.1rem, 2.8vw, 2rem);
    background: #fff;
}

.app-page .visitor-create-form .visitor-create-form__actions .button,
.app-page .visitor-create-form .visitor-create-form__actions button,
.app-page .visitor-create-confirmation .visitor-create-form__actions .button,
.app-page .visitor-create-confirmation .visitor-create-form__actions button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: .65rem;
    font-weight: 750;
}

.app-page .visitor-create-form .visitor-create-submit,
.app-page .visitor-create-confirmation button {
    border-color: #237a45;
    background: #237a45;
    box-shadow: 0 .45rem 1rem rgb(35 122 69 / 14%);
}

.app-page .visitor-create-form .visitor-create-submit:hover,
.app-page .visitor-create-confirmation button:hover {
    border-color: #195f35;
    background: #195f35;
}

.app-page .visitor-create-confirmation {
    display: grid;
    gap: 1rem;
}

.app-page .visitor-create-confirmation .visitor-create-form__actions {
    padding: 0;
}

.app-page .visitor-create-header a:focus-visible,
.app-page .visitor-entry-method:focus-visible,
.app-page .visitor-create-form .visitor-create-form__actions a:focus-visible,
.app-page .visitor-create-form .visitor-create-form__actions button:focus-visible,
.app-page .visitor-create-confirmation .visitor-create-form__actions a:focus-visible,
.app-page .visitor-create-confirmation .visitor-create-form__actions button:focus-visible,
.app-page .visitor-create-form .visitor-create-collection:focus-within,
.app-page .visitor-create-form .visitor-create-consent:focus-within {
    outline: 3px solid rgb(83 53 103 / 28%);
    outline-offset: 3px;
}

@media (max-width: 62rem) {
    .app-page .visitor-create-header {
        display: grid;
        align-items: start;
    }
}

@media (max-width: 48rem) {
    .app-page .visitor-entry-methods__heading {
        display: grid;
        align-items: start;
    }

    .app-page .visitor-entry-methods__options,
    .app-page .visitor-create-form .visitor-create-fields--three,
    .app-page .visitor-create-form .visitor-create-fields--two,
    .app-page .visitor-create-form .visitor-create-notes {
        grid-template-columns: 1fr;
    }

    .app-page .visitor-create-form .visitor-create-form__section-heading > span {
        width: 1.9rem;
        min-width: 1.9rem;
        height: 1.9rem;
    }
}

@media (max-width: 34rem) {
    .app-page .visitor-create-header__actions,
    .app-page .visitor-create-header__actions .button,
    .app-page .visitor-create-form .visitor-create-form__actions,
    .app-page .visitor-create-form .visitor-create-form__actions > *,
    .app-page .visitor-create-confirmation .visitor-create-form__actions,
    .app-page .visitor-create-confirmation .visitor-create-form__actions > * {
        width: 100%;
    }

    .app-page .visitor-create-form .visitor-create-form__actions,
    .app-page .visitor-create-confirmation .visitor-create-form__actions {
        display: grid;
    }

    .app-page .visitor-entry-method {
        align-items: start;
    }
}

/* Ziyaretçi düzenleme ekranı; ortak form dilini detay ve fuar bağlamıyla birleştirir. */
.app-page .visitor-edit-page {
    min-width: 0;
}

.app-page .visitor-edit-page .fair-workspace-tabs {
    margin-bottom: 0;
}

.app-page .visitor-edit-header__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    gap: .65rem;
}

.app-page .visitor-edit-context__fair {
    padding-left: .7rem;
    border-left: 1px solid #cfc4d2;
    color: #645668;
    font-size: .88rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.app-page .visitor-edit-context__status {
    flex: 0 0 auto;
}

.app-page .visitor-edit-notice {
    margin: 0;
}

.app-page .visitor-edit-form .visitor-create-form__section-heading p {
    max-width: 46rem;
}

.app-page .visitor-edit-header a:focus-visible,
.app-page .visitor-edit-form a:focus-visible {
    outline: 3px solid rgb(83 53 103 / 28%);
    outline-offset: 3px;
}

@media (max-width: 48rem) {
    .app-page .visitor-edit-context__fair {
        flex-basis: 100%;
        padding: .55rem 0 0;
        border-top: 1px solid #d8cfdc;
        border-left: 0;
    }
}

@media (max-width: 34rem) {
    .app-page .visitor-edit-header__actions {
        display: grid;
        justify-content: stretch;
    }
}

/* Ziyaretçi detayı; fuar bağlamı, kayıt içeriği ve yaşam döngüsünü tek görünümde toplar. */
.app-page .visitor-detail-page {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
}

.app-page .visitor-detail-page .fair-workspace-tabs {
    margin-bottom: 0;
}

.app-page .visitor-detail-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(.25rem, 1vw, .75rem) clamp(.15rem, 1vw, .5rem);
}

.app-page .visitor-detail-header__content {
    min-width: 0;
}

.app-page .visitor-detail-header__eyebrow,
.app-page .visitor-detail-card__heading p {
    margin: 0 0 .4rem;
    color: #6b546f;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.app-page .visitor-detail-header h1 {
    margin: 0;
    color: #281430;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

.app-page .visitor-detail-header__content > p:not(.visitor-detail-header__eyebrow) {
    max-width: 46rem;
    margin: .55rem 0 0;
    color: #6b6470;
    line-height: 1.55;
}

.app-page .visitor-detail-header__context {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .7rem;
    max-width: 50rem;
    margin-top: 1rem;
    padding: .7rem .85rem;
    border-left: .25rem solid #4b164f;
    border-radius: 0 .65rem .65rem 0;
    color: #3c2941;
    background: #eee9f0;
}

.app-page .visitor-detail-header__context > span:first-child {
    color: #716475;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.app-page .visitor-detail-header__context strong {
    overflow-wrap: anywhere;
}

.app-page .visitor-detail-status,
.app-page .visitor-detail-lead,
.app-page .visitor-detail-consent__status {
    display: inline-flex;
    min-height: 1.65rem;
    align-items: center;
    padding: .2rem .6rem;
    border-radius: 99px;
    font-size: .76rem;
    font-weight: 750;
}

.app-page .visitor-detail-status--active,
.app-page .visitor-detail-consent__status--granted {
    color: #176235;
    background: #d9efdf;
}

.app-page .visitor-detail-status--inactive {
    color: #704b12;
    background: #f7e8c9;
}

.app-page .visitor-detail-status--anonymized,
.app-page .visitor-detail-consent__status--denied {
    color: #5f5863;
    background: #e4e1e6;
}

.app-page .visitor-detail-header__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: end;
    gap: .65rem;
    max-width: 43rem;
}

.app-page .visitor-detail-header__actions .button,
.app-page .visitor-detail-header__actions button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: .7rem;
    font-weight: 750;
}

.app-page .visitor-detail-primary-action {
    border-color: #237a45;
    background: #237a45;
    box-shadow: 0 .45rem 1rem rgb(35 122 69 / 14%);
}

.app-page .visitor-detail-primary-action:hover {
    border-color: #195f35;
    background: #195f35;
}

.app-page .visitor-detail-notice {
    padding: .9rem 1rem;
    border: 1px solid;
    border-left-width: .3rem;
    border-radius: .65rem;
    line-height: 1.55;
}

.app-page .visitor-detail-notice strong {
    display: block;
}

.app-page .visitor-detail-notice--passive {
    border-color: #ead8af;
    border-left-color: #a46b10;
    color: #694710;
    background: #fff7e6;
}

.app-page .visitor-detail-notice--anonymized {
    border-color: #d4ced7;
    border-left-color: #695b70;
    color: #4f4654;
    background: #f3f1f4;
}

.app-page .visitor-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(17rem, .85fr);
    gap: 1.25rem;
    align-items: start;
}

.app-page .visitor-detail-main,
.app-page .visitor-detail-sidebar {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
}

.app-page .visitor-detail-card {
    min-width: 0;
    padding: clamp(1rem, 2.4vw, 1.6rem);
    border: 1px solid #e5e0e7;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 .65rem 1.8rem rgb(43 24 49 / 5%);
}

.app-page .visitor-detail-card__heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.1rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid #ebe7ec;
}

.app-page .visitor-detail-card__heading h2 {
    margin: 0;
    color: #34243a;
    font-size: 1.1rem;
}

.app-page .visitor-detail-lead {
    flex: 0 0 auto;
    color: #4b3464;
    background: #eee8f7;
}

.app-page .visitor-detail-data-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin: 0;
}

.app-page .visitor-detail-data-list--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.app-page .visitor-detail-data-list > div {
    min-width: 0;
    padding: .8rem .9rem;
    border: 1px solid #ece7ee;
    border-radius: .7rem;
    background: #faf9fb;
}

.app-page .visitor-detail-data-list__wide {
    grid-column: 1 / -1;
}

.app-page .visitor-detail-data-list dt,
.app-page .visitor-detail-meta-list dt {
    color: #746a78;
    font-size: .78rem;
    font-weight: 750;
}

.app-page .visitor-detail-data-list dd,
.app-page .visitor-detail-meta-list dd {
    margin: .3rem 0 0;
    color: #342b37;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.app-page .visitor-detail-notes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.app-page .visitor-detail-notes--single .visitor-detail-note--shareable {
    grid-column: 1 / -1;
}

.app-page .visitor-detail-note {
    border-left: .3rem solid;
}

.app-page .visitor-detail-note--shareable {
    border-left-color: #3157a4;
}

.app-page .visitor-detail-note--internal {
    border-left-color: #8a4a13;
}

.app-page .visitor-detail-note > p,
.app-page .visitor-detail-empty {
    margin: 0;
    color: #514858;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.app-page .visitor-detail-collections {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.app-page .visitor-detail-collections li {
    display: inline-flex;
    min-height: 2.4rem;
    align-items: center;
    gap: .45rem;
    padding: .45rem .75rem;
    border: 1px solid #ddd2e3;
    border-radius: 99px;
    color: #4a3150;
    background: #f7f3f8;
    font-weight: 700;
}

.app-page .visitor-detail-collections li span {
    color: #6f626f;
    font-size: .72rem;
    font-weight: 600;
}
.app-page .visitor-card-selections { display: grid; gap: 1rem; }
.app-page .visitor-card-selected-summary { display: grid; min-width: 0; gap: .45rem; }
.app-page .visitor-card-selected-summary h3 { margin: 0; color: #281430; font-size: .92rem; line-height: 1.35; }
.app-page .visitor-card-selected-summary h3 strong { font: inherit; }
.app-page .visitor-card-selected-list { display: flex; min-width: 0; flex-wrap: wrap; gap: .4rem; }
.app-page .visitor-card-selected-list[hidden],
.app-page .visitor-card-selected-empty[hidden] { display: none; }
.app-page .visitor-card-selected-empty { margin: 0; color: #6f626f; font-size: .86rem; }
.app-page .visitor-card-selection-chip { display: inline-flex; max-width: 100%; min-width: 0; align-items: center; gap: .2rem; padding: .22rem .25rem .22rem .55rem; border: 1px solid #d8cfdc; border-radius: .45rem; background: #fff; color: #3b2b40; font-size: .84rem; line-height: 1.25; }
.app-page .visitor-card-selection-chip__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-page .visitor-card-selection-chip__remove { display: inline-flex; width: 1.75rem; min-width: 1.75rem; height: 1.75rem; min-height: 1.75rem; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: .35rem; background: transparent; color: #756879; font-size: 1.05rem; font-weight: 500; line-height: 1; }
.app-page .visitor-card-selection-chip__remove:hover { background: #f2edf3; color: #281430; }
.app-page .visitor-card-selection-chip__remove:disabled { cursor: default; opacity: .45; }
.app-page .visitor-card-search { position: relative; width: 100%; min-width: 0; }
.app-page .visitor-card-search input { width: 100%; min-width: 0; padding-right: 2.75rem; }
.app-page .visitor-card-search button { position: absolute; top: 50%; right: .45rem; width: 2rem; min-width: 0; height: 2rem; padding: 0; border: 0; border-radius: 50%; color: #6f626f; background: transparent; font-size: 1.3rem; line-height: 1; transform: translateY(-50%); }
.app-page .visitor-card-search button:hover { color: #281430; background: #f2edf3; }
.app-page .visitor-card-search button[hidden],
.app-page .visitor-card-selection-group[hidden],
.app-page .visitor-card-selection-groups label[hidden],
.app-page .visitor-card-search-empty[hidden] { display: none; }
.app-page .visitor-card-search-empty { margin: 0; padding: 1rem; border: 1px dashed #cfc5d2; border-radius: .8rem; color: #6f626f; text-align: center; }
.app-page .visitor-card-selection-groups { display: grid; max-width: 100%; gap: 1rem; }
.app-page .visitor-card-selection-group { display: grid; min-width: 0; gap: .55rem; }
.app-page .visitor-card-selection-group h3 { margin: 0; color: #281430; font-size: 1rem; line-height: 1.35; overflow-wrap: anywhere; }
.app-page .visitor-card-selection-list { display: grid; max-width: 100%; overflow-x: hidden; overflow-y: auto; gap: .6rem; padding: .85rem 1rem; border: 1px solid #e5e0e7; border-radius: .8rem; background: #fff; scrollbar-color: #b9aebd transparent; scrollbar-width: thin; }
.app-page .visitor-card-selection-groups--single .visitor-card-selection-list { max-height: 420px; }
.app-page .visitor-card-selection-groups--multiple .visitor-card-selection-list { max-height: 240px; }
.app-page .visitor-card-selection-groups label { display: flex; min-width: 0; align-items: center; gap: .55rem; }
.app-page .visitor-card-selection-groups label span { min-width: 0; overflow-wrap: anywhere; }
.app-page .visitor-card-selection-groups input { width: 1.15rem; height: 1.15rem; }
@media (max-width: 48rem) {
    .app-page .visitor-card-selection-groups--single .visitor-card-selection-list { max-height: min(45vh, 390px); }
    .app-page .visitor-card-selection-groups--multiple .visitor-card-selection-list { max-height: min(32vh, 260px); }
}
.app-page .visitor-card-scanner-dialog { width: min(94vw, 42rem); padding: 0; border: 0; border-radius: 1rem; box-shadow: 0 1.5rem 4rem rgb(30 18 35 / 28%); }
.app-page .visitor-card-scanner-dialog::backdrop { background: rgb(24 14 29 / 68%); }
.app-page .visitor-card-scanner-dialog__content { display: grid; gap: 1rem; padding: clamp(1rem, 4vw, 1.75rem); }
.app-page .visitor-card-scanner-dialog__content h2,
.app-page .visitor-card-scanner-dialog__content p { margin: 0; }
.app-page .visitor-card-scanner-dialog__content .qr-reader { min-height: 18rem; }

.app-page .visitor-detail-meta-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.app-page .visitor-detail-meta-list > div {
    padding: .75rem 0;
    border-bottom: 1px solid #ece8ed;
}

.app-page .visitor-detail-meta-list > div:first-child {
    padding-top: 0;
}

.app-page .visitor-detail-meta-list > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.app-page .visitor-detail-meta-list small {
    display: block;
    margin-top: .35rem;
    color: #756b78;
    font-weight: 500;
}

.app-page .visitor-detail-consents {
    display: grid;
    gap: .75rem;
}

.app-page .visitor-detail-consent {
    padding: .8rem;
    border: 1px solid #ece7ee;
    border-radius: .7rem;
    background: #faf9fb;
}

.app-page .visitor-detail-consent > div {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: .6rem;
}

.app-page .visitor-detail-consent strong {
    color: #413545;
    line-height: 1.4;
}

.app-page .visitor-detail-consent p {
    margin: .55rem 0 0;
    color: #756b78;
    font-size: .8rem;
    line-height: 1.45;
}

.app-page .visitor-detail-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    border-radius: .75rem;
}

.app-page .visitor-detail-table {
    width: 100%;
    min-width: 36rem;
    border-collapse: separate;
    border-spacing: 0;
}

.app-page .visitor-detail-table th {
    padding: .75rem;
    border: 0;
    color: #fff;
    background: #32153d;
    font-size: .78rem;
    text-align: left;
}

.app-page .visitor-detail-table th:first-child {
    border-radius: .65rem 0 0;
}

.app-page .visitor-detail-table th:last-child {
    border-radius: 0 .65rem 0 0;
}

.app-page .visitor-detail-table td {
    padding: .8rem .75rem;
    border: 0;
    border-bottom: 1px solid #e9e4ea;
    background: #faf9fb;
    overflow-wrap: anywhere;
}

.app-page .visitor-detail-table__action {
    text-align: right;
}

.app-page .visitor-detail-table-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    flex-wrap: wrap;
}

.app-page .visitor-detail-table-actions .inline-form {
    margin: 0;
}

.app-page .visitor-detail-table-actions button {
    min-height: 2.25rem;
    padding: .4rem .65rem;
    font-size: .84rem;
    font-weight: 700;
    white-space: nowrap;
}

.app-page .visitor-detail-danger {
    border-color: #e1b6b2;
    box-shadow: 0 .65rem 1.8rem rgb(127 29 29 / 5%);
}

.app-page .visitor-detail-danger .visitor-detail-card__heading p,
.app-page .visitor-detail-danger .visitor-detail-card__heading h2 {
    color: #8b2c24;
}

.app-page .visitor-detail-danger__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr);
    gap: 1.25rem;
    align-items: center;
}

.app-page .visitor-detail-danger__content > p {
    margin: 0;
    color: #6d4542;
    line-height: 1.6;
}

.app-page .visitor-detail-danger__form {
    display: grid;
    gap: .75rem;
    padding: .9rem;
    border-radius: .7rem;
    background: #fff5f4;
}

.app-page .visitor-detail-danger__form input {
    accent-color: #9f2e24;
}

.app-page .visitor-detail-danger__form button {
    justify-self: start;
    font-weight: 750;
}

.app-page .visitor-detail-header a:focus-visible,
.app-page .visitor-detail-header button:focus-visible,
.app-page .visitor-detail-table-wrap:focus-visible,
.app-page .visitor-detail-table a:focus-visible,
.app-page .visitor-detail-table button:focus-visible,
.app-page .visitor-detail-danger__form:focus-within {
    outline: 3px solid rgb(83 53 103 / 28%);
    outline-offset: 3px;
}

@media (max-width: 64rem) {
    .app-page .visitor-detail-header {
        display: grid;
        align-items: start;
    }

    .app-page .visitor-detail-header__actions {
        justify-content: start;
    }

    .app-page .visitor-detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .app-page .visitor-detail-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 48rem) {
    .app-page .visitor-detail-data-list--three,
    .app-page .visitor-detail-notes,
    .app-page .visitor-detail-sidebar,
    .app-page .visitor-detail-danger__content {
        grid-template-columns: 1fr;
    }

    .app-page .visitor-detail-table-wrap {
        overflow: visible;
    }

    .app-page .visitor-detail-table,
    .app-page .visitor-detail-table tbody,
    .app-page .visitor-detail-table tr,
    .app-page .visitor-detail-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .app-page .visitor-detail-table thead {
        display: none;
    }

    .app-page .visitor-detail-table tr {
        margin-bottom: .75rem;
        padding: .45rem .75rem;
        border: 1px solid #e4dee6;
        border-radius: .75rem;
        background: #faf9fb;
    }

    .app-page .visitor-detail-table td {
        display: grid;
        grid-template-columns: minmax(7rem, 34%) minmax(0, 1fr);
        gap: .7rem;
        padding: .55rem 0;
        background: transparent;
    }

    .app-page .visitor-detail-table td::before {
        color: #655a69;
        content: attr(data-label);
        font-size: .78rem;
        font-weight: 800;
    }

    .app-page .visitor-detail-table__action {
        display: flex;
        justify-content: end;
        border-bottom: 0;
    }

    .app-page .visitor-detail-table__action::before {
        display: none;
    }
}

@media (max-width: 34rem) {
    .app-page .visitor-detail-header__actions,
    .app-page .visitor-detail-header__actions .inline-form,
    .app-page .visitor-detail-header__actions .button,
    .app-page .visitor-detail-header__actions button,
    .app-page .visitor-detail-data-list {
        width: 100%;
    }

    .app-page .visitor-detail-header__actions,
    .app-page .visitor-detail-data-list {
        display: grid;
        grid-template-columns: 1fr;
    }

    .app-page .visitor-detail-card__heading,
    .app-page .visitor-detail-consent > div {
        display: grid;
    }

    .app-page .visitor-detail-lead,
    .app-page .visitor-detail-consent__status {
        justify-self: start;
    }

    .app-page .visitor-detail-table td {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .app-page .visitor-detail-danger__form button {
        width: 100%;
    }
}

/* Giriş ekranı; yönetim paneli bileşenlerinden tamamen izole edilmiştir. */
.login-page {
    min-width: 0;
    min-height: 100vh;
    min-height: 100dvh;
    color: #261a2d;
    background: #fbfafc;
}

.login-page .login-layout {
    display: grid;
    grid-template-columns: minmax(20rem, 44fr) minmax(31rem, 56fr);
    min-height: 100vh;
    min-height: 100dvh;
}

.login-page .login-brand-panel {
    position: relative;
    min-width: 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 88% 42%, rgb(255 216 74 / 13%), transparent 22rem),
        linear-gradient(145deg, #21102f 0%, #32113d 58%, #20102e 100%);
}

.login-page .login-brand-panel::after {
    position: absolute;
    right: -8rem;
    bottom: -10rem;
    width: 24rem;
    height: 24rem;
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: 50%;
    content: "";
}

.login-page .login-brand-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto minmax(14rem, 1fr) auto;
    width: min(100%, 46rem);
    min-height: 100%;
    margin-inline: auto;
    padding: clamp(2.25rem, 5vw, 5.75rem) clamp(2rem, 5vw, 5.5rem) clamp(1.75rem, 4vw, 3.5rem);
}

.login-page .login-slogan {
    max-width: 11em;
    margin: 0;
    font-size: clamp(2rem, 3vw, 3.4rem);
    font-weight: 350;
    line-height: 1.18;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}

.login-page .login-illustration {
    align-self: center;
    justify-self: center;
    display: block;
    width: min(100%, 38rem);
    max-height: 48vh;
    object-fit: contain;
}

.login-page .login-powered-by {
    display: grid;
    justify-items: center;
    margin: 0;
    color: rgb(255 255 255 / 82%);
    line-height: 1;
    text-align: center;
}

.login-page .login-powered-by > span {
    margin-bottom: .35rem;
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.login-page .login-powered-by strong {
    font-size: 1.25rem;
    letter-spacing: -.04em;
}

.login-page .login-powered-by strong span {
    color: #ffd84a;
}

.login-page .login-powered-by small {
    margin-top: .2rem;
    font-size: .55rem;
    letter-spacing: .03em;
}

.login-page .login-form-panel {
    display: grid;
    grid-template-rows: 1fr auto;
    min-width: 0;
    padding: clamp(2rem, 5vw, 5rem) max(clamp(1.5rem, 6vw, 7rem), env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(clamp(1.5rem, 6vw, 7rem), env(safe-area-inset-left));
    background: #fbfafc;
}

.login-page .login-card {
    align-self: center;
    width: min(100%, 29rem);
    margin: auto;
}

.login-page .login-card-header {
    margin-bottom: 2rem;
    text-align: center;
}

.login-page .login-logo {
    display: block;
    width: auto;
    max-width: min(100%, 17rem);
    max-height: 7rem;
    margin: 0 auto 1.75rem;
    object-fit: contain;
}

.login-page .login-brand-text {
    max-width: 100%;
    margin: 0 auto 1.75rem;
    color: var(--brand-secondary, #261a2d);
    font-size: clamp(1.75rem, 4vw, 2.6rem);
    font-weight: 800;
    line-height: 1.08;
    overflow-wrap: anywhere;
    text-transform: none;
    letter-spacing: -.04em;
}

.login-page .login-card-header h1 {
    margin: 0;
    color: #261a2d;
    font-size: clamp(1.45rem, 2.5vw, 1.85rem);
    line-height: 1.2;
}

.login-page .login-card-header p:last-child {
    margin: .65rem 0 0;
    color: #675f6b;
    line-height: 1.55;
}

.login-page .login-alert {
    display: grid;
    gap: .25rem;
    margin-bottom: 1.25rem;
    padding: .9rem 1rem;
    border: 1px solid #e8a4a8;
    border-left: .3rem solid #b4232c;
    border-radius: .75rem;
    color: #74222a;
    background: #fff2f3;
    line-height: 1.4;
}

.login-page .login-form {
    display: grid;
    gap: 1.25rem;
}

.login-page .login-field {
    display: grid;
    gap: .5rem;
}

.login-page .login-field label {
    display: block;
    color: #332a37;
    font-size: .95rem;
    font-weight: 700;
}

.login-page .login-field input {
    width: 100%;
    min-width: 0;
    min-height: 3.25rem;
    padding: .8rem 1rem;
    border: 1px solid #bbb5c1;
    border-radius: 1rem;
    color: #261a2d;
    background: #fff;
    box-shadow: 0 1px 2px rgb(35 20 43 / 3%);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.login-page .login-field input:hover {
    border-color: #8f8596;
}

.login-page .login-field input:focus-visible {
    outline: 3px solid rgb(83 53 103 / 24%);
    outline-offset: 2px;
    border-color: var(--brand-primary, #4f2d61);
}

.login-page .login-submit {
    width: 100%;
    min-height: 3.25rem;
    margin-top: .4rem;
    border: 1px solid #2c1236;
    border-radius: 1rem;
    color: #fff;
    background: #2c1236;
    font-weight: 750;
    box-shadow: 0 .55rem 1.25rem rgb(44 18 54 / 16%);
    transition: transform .12s ease, background-color .16s ease, box-shadow .16s ease;
}

.login-page .login-submit:hover {
    background: #40184d;
    box-shadow: 0 .65rem 1.5rem rgb(44 18 54 / 22%);
}

.login-page .login-submit:active {
    transform: translateY(1px);
    box-shadow: 0 .3rem .7rem rgb(44 18 54 / 18%);
}

.login-page .login-submit:focus-visible {
    outline: 3px solid #9b78ae;
    outline-offset: 3px;
}

.login-page .login-submit:disabled {
    border-color: #8e8393;
    background: #8e8393;
    box-shadow: none;
}

.login-page .login-footer {
    width: min(100%, 38rem);
    margin: clamp(2.5rem, 7vh, 5.5rem) auto 0;
    color: #756d79;
    font-size: .8rem;
    line-height: 1.5;
    text-align: center;
}

@media (max-width: 64rem) {
    .login-page .login-layout {
        grid-template-columns: minmax(18rem, 40fr) minmax(27rem, 60fr);
    }

    .login-page .login-brand-content {
        padding-inline: clamp(1.75rem, 4vw, 3rem);
    }

    .login-page .login-slogan {
        font-size: clamp(1.75rem, 3vw, 2.5rem);
    }
}

@media (max-width: 48rem) {
    .login-page .login-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
    }

    .login-page .login-brand-panel {
        min-height: auto;
    }

    .login-page .login-brand-content {
        display: block;
        min-height: auto;
        padding: max(1.35rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) 1.35rem max(1.5rem, env(safe-area-inset-left));
    }

    .login-page .login-slogan {
        max-width: none;
        font-size: clamp(1.35rem, 6vw, 1.75rem);
        line-height: 1.25;
        text-align: center;
    }

    .login-page .login-illustration,
    .login-page .login-powered-by {
        display: none;
    }

    .login-page .login-form-panel {
        display: block;
        padding: 2.5rem max(1.25rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
    }

    .login-page .login-card {
        width: min(100%, 27rem);
    }

    .login-page .login-logo {
        max-height: 5.5rem;
    }

    .login-page .login-footer {
        margin-top: 2.75rem;
    }
}

@media (max-width: 22rem) {
    .login-page .login-form-panel {
        padding-inline: max(1rem, env(safe-area-inset-left));
    }

    .login-page .login-card-header {
        margin-bottom: 1.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .login-page .login-field input,
    .login-page .login-submit {
        transition: none;
    }
}

@media (max-width: 42rem) {
    .nav .brand { width: 100%; max-width: 170px; }
    .nav-logo { width: auto; max-width: 170px; max-height: 38px; }
    .status-list div { display: grid; }
    .scanner-controls { grid-template-columns: 1fr; }
    .scanner-controls .actions { display: grid; grid-template-columns: 1fr 1fr; }
    .setup-steps { grid-template-columns: 1fr 1fr; }
}

.app-page .visitor-lifecycle-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid #d8cfee;
    border-radius: 999px;
    background: #f3effa;
    color: #44246a;
    font-size: .78rem;
    font-weight: 700;
}

.app-page .visitor-archive-search,
.app-page .visitor-lifecycle-actions,
.app-page .visitor-danger-zone,
.app-page .visitor-purge-panel {
    margin-top: 20px;
}

.app-page .visitor-archive-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 12px;
    padding: 18px;
    border: 1px solid #e4e0ea;
    border-radius: 16px;
    background: #fff;
}

.app-page .visitor-lifecycle-notice {
    border-left-color: #5c397d;
}

.app-page .visitor-lifecycle-actions__form,
.app-page .visitor-restore-form,
.app-page .visitor-purge-confirmation {
    display: grid;
    gap: 14px;
    align-items: start;
}

.app-page .visitor-lifecycle-actions__form > button {
    width: auto;
    justify-self: start;
}

.app-page .visitor-detail-danger__form .check,
.app-page .visitor-lifecycle-actions__form .check,
.app-page .visitor-restore-form .check {
    min-height: 44px;
    align-items: center;
}

.app-page .visitor-danger-zone {
    border-color: #e4b4b4;
    background: #fffafa;
}

.app-page .visitor-purge-impact {
    margin-bottom: 24px;
}

.app-page .visitor-archive-documents {
    display: grid;
    gap: 8px;
    padding-left: 20px;
}

.app-page .visitor-archive-documents span {
    color: #6c6574;
    font-size: .86rem;
}

@media (max-width: 480px) {
    .app-page .visitor-archive-search { grid-template-columns: 1fr; }
    .app-page .visitor-restore-form button,
    .app-page .visitor-purge-confirmation button { width: 100%; min-height: 44px; }
}

/* Ziyaretçi yönetim merkezi */
.app-page .visitor-center { display: grid; gap: 18px; min-width: 0; }
.app-page .visitor-center__header,
.app-page .visitor-center__section {
    border: 1px solid #e1e5ec;
    border-radius: 6px;
    background: #fff;
}
.app-page .visitor-center__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
}
.app-page .visitor-center__header h1 { margin: 2px 0 6px; }
.app-page .visitor-center__header p:last-child { margin: 0; color: #667085; }
.app-page .visitor-center__section { padding: 18px; min-width: 0; }
.app-page .visitor-center__section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.app-page .visitor-center__section-heading h2 { margin: 0 0 3px; font-size: 1.05rem; }
.app-page .visitor-center__section-heading p { margin: 0; color: #667085; font-size: .88rem; }
.app-page .visitor-fair-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.app-page .visitor-fair-card {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 14px;
    border: 1px solid #e1e5ec;
    border-radius: 6px;
    background: #f9fafb;
}
.app-page .visitor-fair-card h3 { margin: 0 0 5px; font-size: .98rem; overflow-wrap: anywhere; }
.app-page .visitor-fair-card p { margin: 0 0 8px; color: #667085; font-size: .82rem; }
.app-page .visitor-fair-card strong { color: #172033; font-size: .86rem; }
.app-page .visitor-fair-card .button { flex: 0 0 auto; white-space: nowrap; }
.app-page .visitor-center__empty { padding: 24px 16px; border: 1px dashed #ccd3df; border-radius: 6px; text-align: center; }
.app-page .visitor-center__empty h3 { margin: 0 0 5px; }
.app-page .visitor-center__empty p { margin: 0 0 14px; color: #667085; }
.app-page .visitor-center-table { min-width: 720px; }
.app-page .visitor-all-table { min-width: 1320px; }
.app-page .visitor-all-filters {
    display: grid;
    grid-template-columns: minmax(14rem, 2fr) repeat(3, minmax(9rem, 1fr)) auto;
    align-items: end;
    gap: 10px;
    padding: 16px;
    border: 1px solid #e1e5ec;
    border-radius: 6px;
    background: #fff;
}
.app-page .visitor-all-filters label { display: grid; gap: 5px; min-width: 0; color: #344054; font-size: .82rem; font-weight: 700; }
.app-page .visitor-all-filters input,
.app-page .visitor-all-filters select { width: 100%; min-width: 0; }
.app-page .visitor-all-filters__actions { display: flex; gap: 8px; }

@media (max-width: 70rem) {
    .app-page .visitor-fair-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .app-page .visitor-all-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 42rem) {
    .app-page .visitor-center__header,
    .app-page .visitor-center__section-heading { align-items: stretch; flex-direction: column; }
    .app-page .visitor-center__header > .button { width: 100%; }
    .app-page .visitor-fair-grid,
    .app-page .visitor-all-filters { grid-template-columns: minmax(0, 1fr); }
    .app-page .visitor-fair-card { align-items: stretch; flex-direction: column; }
    .app-page .visitor-fair-card .button,
    .app-page .visitor-all-filters__actions,
    .app-page .visitor-all-filters__actions .button,
    .app-page .visitor-all-filters__actions button { width: 100%; }
    .app-page .visitor-all-filters__actions { flex-direction: column; }
}
