/* Community workspace: calm, compact and easy to operate. */
:root { --brand:#147568; --brand-dark:#0d594f; --brand-soft:#e6f4ef; --ink:#243c37; --ink-soft:#60756e; --line:#cddbd5; --bg:#f3f6f3; --sidebar-bg:#fff; --sidebar-ink:#425b53; --sidebar-muted:#70857c; --sidebar-w:220px; --radius:12px; --shadow:0 2px 6px #233c3706; }
body { font-size:14px; }
.auth-body { background:#f3f6f3; }
.auth-layout { display:block; }
.auth-signin { min-height:100vh; padding:24px; background:radial-gradient(ellipse at top,#dcefe5,transparent 60%); }
.auth-signin .auth-card { max-width:420px; padding:30px; border:1px solid var(--line); border-radius:16px; box-shadow:0 12px 40px #143b3610; }
.auth-mobile-brand { display:flex; margin-bottom:26px; padding-bottom:22px; border-bottom:1px solid var(--line); font-size:14px; }
.auth-card-heading { margin-bottom:22px; }
.auth-card-heading h1 { font-size:24px; font-weight:750; margin:0 0 5px; }
.auth-card-heading .auth-welcome-icon { display:none; }
.auth-signin .auth-submit { min-height:46px; justify-content:center; }
.auth-submit .bi { margin-left:6px; }
.auth-help { line-height:1.6; }
@media(max-width:480px) { .auth-signin { padding:16px; } .auth-signin .auth-card { padding:24px; } }
/* Compact workspace: reduce empty space while keeping controls easy to hit. */
.app { --sidebar-w:196px; }
.app .content { padding:16px 20px 28px; }
.app .topbar { min-height:60px; padding:10px 20px; }
.app .topbar-title { font-size:19px; }
.app .sidebar-brand { padding:18px 14px; font-size:13px; }
.app .sidebar-nav { padding:12px 10px; gap:3px; }
.app .sidebar-nav .nav-link { min-height:40px; padding:8px 10px; }
.app .card-header { padding:10px 14px; }
.app .card-body { padding:14px; }
.app .stat-card { padding:12px 14px; gap:10px; }
.app .stat-value { font-size:23px; }
.app .table tbody td { padding:7px 10px; font-size:13px; }
.app .table thead th { padding:6px 10px; }
.app .table .btn-sm { padding:5px 9px; }
.app .table-tools { padding:8px 10px; }
.app .table td { overflow-wrap:anywhere; }
.app .table .mono,.app .table td.text-nowrap { overflow-wrap:normal; }
.app .form-control,.app .form-select { min-height:38px; }
.app .form-page .card-body { padding:20px; }
.app .form-page .form-control,.app .form-page .form-select { min-height:42px; }
.app .welcome h2 { font-size:23px; }
.app .welcome,.app .page-actions { margin-bottom:12px; }
.app .member-table-wrap { max-height:calc(100vh - 265px); }
.app .person .p-sub { max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.member-profile { max-width:1100px; margin:auto; }
.profile-summary { padding:16px; }
.event-image-preview { display:block; width:auto; max-width:100%; height:110px; object-fit:contain; border:1px solid var(--line); border-radius:8px; background:#f5f8f6; }
.app .sidebar-nav .nav-link { font-size:13px; gap:8px; }
.app .sidebar-nav .nav-link span { line-height:1.25; }
.member-profile .profile-head { gap:12px; }
.member-profile .avatar-lg { width:44px; height:44px; flex-basis:44px; font-size:18px; border-radius:12px; }
.profile-identity { min-width:0; }
.profile-identity h2 { font-size:20px; margin:0 0 4px; overflow-wrap:anywhere; }
.profile-actions { display:flex; gap:6px; margin-left:auto; align-items:center; }
.profile-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 22px; margin-top:18px; }
.profile-facts .detail-row { display:block; padding:0; border:0; }
.profile-facts .k { display:block; font-size:11px; margin-bottom:2px; }
.profile-facts .v { display:block; font-size:13px; text-align:left; overflow-wrap:anywhere; }
.profile-extra { margin-top:14px; border-top:1px solid var(--line); }
.profile-extra summary { padding:9px 0 0; font-size:12px; color:var(--ink-soft); cursor:pointer; }
.profile-quicklinks { display:flex; align-items:center; gap:6px 18px; flex-wrap:wrap; margin:12px 0; font-size:12px; }
.profile-quicklinks a { padding:5px 0; text-decoration:none; }
.profile-quicklinks a:last-child { margin-left:auto; }
.profile-history { max-height:350px; overflow:auto; }
.birthday-list { max-height:60vh; overflow:auto; }
@media print { .birthday-list { max-height:none; overflow:visible; } }
.member-profile .mt-4 { margin-top:14px !important; }
#memberHistory,#paymentHistory { scroll-margin-top:75px; }
.attendance-overview { margin-bottom:12px; }
.finance-summary { margin-bottom:20px; }
.analytics-sticky-filters { position:sticky; top:60px; z-index:20; padding:8px 0 1px; background:var(--bg); }
@media(max-width:767px) { .analytics-sticky-filters { position:static; } }
@media print { .analytics-sticky-filters { position:static; } }
.payment-member { display:flex; align-items:center; flex-wrap:wrap; gap:12px; background:#e4f3ee; border:1px solid #98c7b8; border-left:5px solid var(--brand); border-radius:12px; padding:16px; margin-bottom:18px; }
.payment-member-photo { width:72px; height:72px; object-fit:cover; border-radius:14px; flex-shrink:0; }
.payment-member-initials { display:grid; place-items:center; background:#fff; color:var(--brand); font-size:25px; font-weight:700; }
.payment-member-label { display:block; color:#14564a; font-size:12px; font-weight:600; }
.payment-member h2 { font-size:24px; margin:2px 0 5px; overflow-wrap:anywhere; }
.payment-member > div { min-width:0; flex:1 1 170px; }
.workspace-tabs { display:flex; flex-wrap:wrap; gap:4px; padding:4px; border:1px solid var(--line); border-radius:10px; background:#fff; width:fit-content; }
.workspace-tabs a { display:flex; align-items:center; min-height:38px; padding:7px 12px; border-radius:7px; color:var(--ink-soft); font-size:13px; font-weight:600; text-decoration:none; }
.workspace-tabs a:hover { background:var(--bg); color:var(--brand); }
.workspace-tabs a.is-active { background:var(--brand); color:#fff; }
.finance-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
.finance-kpis .stat-value { font-size:22px; overflow-wrap:anywhere; }
.finance-details { margin-top:8px; scroll-margin-top:74px; }
.finance-details > summary { cursor:pointer; padding:11px 14px; font-weight:600; }
.finance-details > summary span { float:right; color:var(--ink-soft); font-weight:400; font-size:12px; }
.finance-note { color:var(--ink-soft); font-size:12px; line-height:1.5; margin:10px 0; }
.attendance-overview > summary { font-size:12px; color:var(--ink-soft); cursor:pointer; padding:6px 0; }
.attendance-overview[open] > summary { margin-bottom:10px; }
.attendance-overview .stat-grid { margin-bottom:0 !important; }
.event-finder { display:flex; align-items:end; gap:10px; padding:14px 14px 8px; }
.event-finder label { display:block; font-weight:600; font-size:12px; margin-bottom:5px; }
.finder-search { flex:1; min-width:170px; }
.finder-shortcuts { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; padding:0 14px 10px; font-size:12px; }
.finder-shortcuts > a { padding:5px 0; }
.month-navigation { display:flex; align-items:center; gap:8px; margin-left:auto; }
.month-navigation a { display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--line); border-radius:6px; }
.finder-notice { margin:0 14px 10px; }
.event-list .event-date { width:125px; white-space:nowrap; }
.event-list small { display:block; color:var(--ink-soft); font-size:11px; margin-top:3px; }
.event-name a { font-weight:650; text-decoration:none; }
.event-name { max-width:480px; }
.event-status { display:inline-block; margin-left:8px; color:var(--ink-soft); }
.event-status.today { color:var(--brand-dark); font-weight:750; }
.attendance-count { display:inline-grid; place-items:center; min-width:36px; min-height:34px; font-weight:700; text-decoration:none; background:var(--brand-soft); border-radius:6px; }
.event-actions { text-align:right; width:175px; white-space:nowrap; }
.list-pagination { padding:10px 14px; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; color:var(--ink-soft); border-top:1px solid var(--line); }
.list-pagination > div { display:flex; align-items:center; gap:10px; }
@media(max-width:767px) {
    .app .content { padding:12px; }
    .profile-head { flex-wrap:wrap; }
    .profile-actions { margin-left:0; width:100%; }
    .profile-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .profile-quicklinks a:last-child { margin-left:0; }
    .event-finder { flex-wrap:wrap; }
    .finder-search { flex-basis:100%; }
    .event-finder > div:not(.finder-search) { flex:1; min-width:120px; }
    .event-list .event-date { width:96px; }
    .event-actions { white-space:normal; width:84px; }
    .event-actions .btn { width:100%; margin:2px 0; }
    .app .event-list th,.app .event-list td { padding:7px; }
    .event-list th:nth-child(3) { white-space:normal; }
    .event-list .table-sort { white-space:normal; text-align:left; }
    .list-pagination { flex-wrap:wrap; }
}
a { color:var(--brand); }
.sidebar { border-right:1px solid var(--line); }
.sidebar-brand { color:var(--ink); border-color:var(--line); padding:22px 16px; }
.sidebar-nav { gap:5px; padding:18px 12px; }
.sidebar-nav .nav-link { min-height:46px; }
.sidebar-nav .nav-link:hover { background:var(--brand-soft); color:var(--brand-dark); }
.sidebar-nav .nav-link:hover i { color:var(--brand); }
.sidebar-nav .nav-link.active { background:var(--brand-soft); color:var(--brand-dark); box-shadow:inset 3px 0 var(--brand); }
.sidebar-nav .nav-link.active i { color:var(--brand); }
.sidebar-footer { border-color:var(--line); }
.admin-name { color:var(--ink); }
.topbar { background:#fff; min-height:72px; padding:12px 28px; }
.topbar-title { font-size:21px; letter-spacing:-.5px; }
.topbar-actions { flex-wrap:wrap; }
.content { padding:24px 28px 40px; }
.welcome { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.welcome h2 { font-size:27px; font-weight:750; letter-spacing:-.8px; margin:0 0 6px; }
.welcome p { margin:0; color:var(--ink-soft); }
.eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--brand); font-weight:700; margin-bottom:7px; }
.btn { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:6px; transition:background .12s,box-shadow .12s; }
.btn-sm { padding:8px 12px; }
.btn-icon { width:40px; padding:0; }
.btn-primary { --bs-btn-active-bg:var(--brand-dark); --bs-btn-active-border-color:var(--brand-dark); }
.btn-light { background:#fff; border-color:var(--line); }
.btn-soft:hover { background:#d3eae1; color:var(--brand-dark); }
.page-actions { justify-content:flex-start; gap:12px; }
.page-actions > .text-muted-2:first-child, .page-actions > p:first-child { flex-basis:100%; }
.card-header { padding:14px 18px; font-size:14px; }
.card-body { padding:18px; }
.stat-grid { gap:12px; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
.stat-card { padding:16px; gap:12px; min-width:0; position:relative; }
a.stat-card { text-decoration:none; transition:border-color .12s,background .12s; }
a.stat-card:hover { border-color:var(--brand); background:#f5fbf8; }
a.stat-card::after { content:'↗'; margin-left:auto; color:var(--brand); font-size:16px; }
.stat-icon { width:38px; height:38px; flex-basis:38px; font-size:19px; }
.stat-value { font-size:27px; letter-spacing:-.7px; }
.stat-label { font-size:12px; line-height:1.4; }
.table-wrap { border-radius:0 0 12px 12px; }
.table { --bs-table-color:var(--ink); --bs-table-bg:#fff; --bs-table-border-color:var(--line); }
.table thead th { background:#edf3ef; color:#4b635a; font-size:11px; padding:10px 12px; border:1px solid var(--line); border-top:0; }
.table tbody td { padding:10px 12px; border:1px solid var(--line); }
.table th:first-child,.table td:first-child { border-left:0; }
.table th:last-child,.table td:last-child { border-right:0; }
.table tbody tr:nth-child(even) > td { background:#f8faf8; }
.table tbody tr:hover > td { background:#edf7f2; }
.table .person .avatar { width:30px; height:30px; flex-basis:30px; font-size:11px; }
.table .btn { min-height:36px; }
.table .btn-icon { width:36px; height:36px; font-size:15px; }
.member-table-wrap { max-height:calc(100vh - 315px); min-height:200px; overflow:auto; }
.member-table-wrap thead th { position:sticky; top:0; z-index:2; }
.activity-feed { max-height:410px; overflow:auto; padding-right:6px; }
.table-sort { min-height:30px; }
.table-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px; border-bottom:1px solid var(--line); }
.table-tools input { max-width:300px; }
.table-tools small { margin-left:auto; color:var(--ink-soft); }
.form-control,.form-select { min-height:42px; }
.form-control-lg,.form-select-lg { font-size:14px; }
.form-control:focus,.form-select:focus { box-shadow:0 0 0 3px #14756820; }
:focus-visible { outline:3px solid #d4a431 !important; outline-offset:3px; }
.member-photo { width:34px; height:34px; border-radius:50%; object-fit:cover; flex-shrink:0; border:1px solid var(--line); }
.member-photo.profile-photo { width:44px; height:44px; }
.member-photo-preview { width:64px; height:64px; object-fit:cover; border-radius:12px; border:1px solid var(--line); }
.checkin-searchbar { position:sticky; top:64px; }
.membership-type-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; position:relative; z-index:1; }
.membership-type-buttons .btn { min-width:0; min-height:46px; display:flex; align-items:center; justify-content:center; font-weight:750; }
.membership-type-buttons + .form-text, fieldset:has(.membership-type-buttons) { min-width:0; }
.checkin-event-context { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; padding:10px 14px; background:#e4f3ee; border:1px solid #98c7b8; border-left:5px solid var(--brand); border-radius:10px; color:#14564a; }
.checkin-event-context span { display:block; font-size:12px; font-weight:600; }
.checkin-event-context strong { display:block; font-size:18px; line-height:1.3; overflow-wrap:anywhere; }
.checkin-event-context > div { min-width:0; }
.checkin-event-context .btn { flex-shrink:0; }
.checkin-search input { font-size:19px; padding-top:14px; padding-bottom:14px; }
.checkin-feedback { left:auto; right:24px; bottom:24px; top:auto; animation:appear .15s ease; }
.checkin-feedback.ok,.checkin-feedback.dup { transform:none; }
.checkin-header { padding:18px; }
.app .result-item { display:grid; grid-template-columns:34px minmax(0,240px) 108px; justify-content:start; gap:10px; min-height:60px; }
.app .result-item .avatar { width:34px; height:34px; }
.app .result-item .r-name { overflow-wrap:anywhere; }
.app .result-item .btn-checkin { width:108px; min-height:40px; padding:7px 10px; }
.app .result-item .r-done { white-space:normal; }
.checkin-searchbar #feedback { position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:60; }
.app .checkin-searchbar .checkin-feedback { position:static; min-width:0; max-width:none; width:100%; margin:0; padding:12px 14px; transform:none; }
.app .checkin-searchbar .fb-name { font-size:14px; overflow-wrap:anywhere; }
@media(max-width:575px) {
    .app .result-item { grid-template-columns:30px minmax(0,1fr) 88px; gap:8px; }
    .app .result-item .avatar { width:30px; height:30px; }
    .app .result-item .btn-checkin { width:88px; padding:7px 8px; }
}
.badge { font-size:11px; padding:6px 8px; }
.insight-note { padding:12px 16px; background:var(--brand-soft); color:var(--brand-dark); border:1px solid #bddbd0; border-radius:10px; }
.filter-notice { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:6px 12px; margin:0 0 12px; border:1px solid #e1d2ac; border-radius:8px; background:#fffaf0; color:#644b14; font-size:12px; }
.filter-notice[hidden] { display:none; }
.filter-summary { display:flex; flex:1 1 190px; align-items:center; flex-wrap:wrap; gap:6px; min-width:0; }
.app .filter-summary { flex:0 1 auto; }
.app .filter-notice { justify-content:flex-start; gap:6px 10px; }
.app .filter-notice .btn,.app .filter-notice > a { margin-left:0; flex:none; }
.filter-summary > span:not(.filter-chip) { flex-basis:100%; }
.filter-chip { border:1px solid #e1d2ac; border-radius:5px; padding:2px 6px; background:#fff; color:#644b14; overflow-wrap:anywhere; max-width:100%; }
.filter-notice .btn { min-height:30px; padding:4px 8px; background:transparent; color:#76581a; border:0; text-decoration:underline; }
.form-page > .card,.form-page > .page-actions { width:100%; max-width:760px !important; margin-left:auto; margin-right:auto; }
.form-page .card-body { padding:26px 30px; }
.form-page .card-header { padding:18px 30px; }
.form-page .form-control,.form-page .form-select { min-height:46px; font-size:15px; }
.form-page .form-label { margin-bottom:7px; font-size:13px; }
.form-page .form-actions { position:sticky; bottom:0; padding:16px 0 4px; background:#fff; border-top:1px solid var(--line); margin-top:22px; z-index:3; }
.form-section-title { font-size:12px; font-weight:700; color:var(--ink-soft); letter-spacing:.04em; margin:4px 0; }
.optional-fields { margin-top:20px; border-top:1px solid var(--line); padding-top:14px; }
.optional-fields summary { cursor:pointer; font-weight:500; color:var(--ink-soft); padding:6px 0; }
.optional-fields[open] summary { margin-bottom:12px; }
.payment-section { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); scroll-margin-top:90px; }
.payment-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.payment-section-head h3 { margin:0 0 3px; color:var(--ink); font-size:15px; font-weight:700; }
.payment-section-head h3 .bi { color:var(--brand); }
.payment-section-head p { margin:0; color:var(--ink-soft); font-size:12px; }
.receipt-upload { position:relative; }
.receipt-upload > .bi { position:absolute; z-index:1; top:50%; left:14px; transform:translateY(-50%); color:var(--brand); pointer-events:none; }
.receipt-upload .form-control { padding-left:40px; padding-top:9px; }
.payment-history-preview { margin-top:20px; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fff; }
.payment-history-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; background:#f4f8f5; border-bottom:1px solid var(--line); }
.payment-history-head h4 { margin:0; color:var(--ink); font-size:13px; font-weight:700; }
.payment-history-head span { color:var(--ink-soft); font-size:11.5px; }
.payment-empty { display:flex; align-items:center; gap:9px; padding:15px; color:var(--ink-soft); font-size:12.5px; }
.payment-empty .bi { color:#94a39d; font-size:17px; }
.payment-table th,.payment-table td { padding:9px 11px !important; font-size:12.5px; }
.payment-table-wrap { max-height:330px; overflow:auto; }
.receipt-link { display:inline-flex; align-items:center; gap:5px; color:var(--brand); font-weight:650; text-decoration:none; white-space:nowrap; }
.receipt-link:hover { color:var(--brand-dark); text-decoration:underline; }
.secondary-insights > summary { cursor:pointer; color:var(--ink-soft); font-size:13px; padding:8px 0; }
.secondary-insights[open] > summary { margin-bottom:12px; }
.analytics-heading { align-items:flex-end; justify-content:space-between; }
.analytics-filter .card-body { padding:14px 16px; }
.analytics-presets { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin-top:10px; color:var(--ink-soft); font-size:12px; }
.analytics-presets a { font-weight:600; text-decoration:none; }
.analytics-presets a:hover { text-decoration:underline; }
.analytics-section-head { display:flex; justify-content:space-between; align-items:end; margin:20px 0 10px; }
.analytics-section-head h2 { margin:0; font-size:16px; font-weight:700; }
.analytics-section-head p { margin:3px 0 0; color:var(--ink-soft); font-size:12px; }
.analytics-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
.metric-trend { margin-top:4px; font-size:10.5px; font-weight:650; }
.metric-trend.up { color:#15803d; }
.metric-trend.down { color:#b91c1c; }
.analytics-insights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); background:#fff; border-radius:var(--radius); overflow:hidden; }
.analytics-insights > div { display:grid; grid-template-columns:1fr auto; align-items:center; gap:3px 12px; padding:13px 16px; border-right:1px solid var(--line); }
.analytics-insights > div:last-child { border-right:0; }
.analytics-insights span { color:var(--ink-soft); font-size:11px; }
.analytics-insights strong { grid-row:1 / span 2; grid-column:2; font-size:15px; text-align:right; }
.analytics-insights a { font-size:11px; text-decoration:none; }
.membership-health { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin-top:12px; }
.membership-health a { display:flex; flex-direction:column; align-items:center; padding:7px 4px; border-radius:7px; background:#f5f8f6; text-decoration:none; color:var(--ink); }
.membership-health a:hover { background:var(--brand-soft); }
.membership-health strong { font-size:16px; color:var(--brand); }
.membership-health span { font-size:10px; color:var(--ink-soft); }
.analytics-table td:nth-child(n+4):nth-child(-n+8) { text-align:center; }
.dropdown-item { padding:10px 16px; font-size:13px; }
.dropdown-menu { border-color:var(--line); border-radius:10px; box-shadow:var(--shadow-lg); }
.page-actions > .text-muted-2:first-child,.page-actions > p:first-child { flex-basis:auto; margin-right:auto; }
@media(max-width:767px) { .form-page .card-body,.form-page .card-header { padding:18px; } .form-page .card-header { flex-wrap:wrap; } .payment-section-head { flex-wrap:wrap; } }
@media(max-width:991px) { .analytics-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .analytics-insights { grid-template-columns:1fr; } .analytics-insights > div { border-right:0; border-bottom:1px solid var(--line); } .analytics-insights > div:last-child { border-bottom:0; } }
.filter-is-set { border-color:#b18017; background-color:#fffaf0; }
.qr-card { max-width:380px; margin:auto; text-align:center; border:1px solid var(--line); border-radius:16px; padding:28px; background:#fff; }
#memberQr { display:flex; justify-content:center; padding:20px; background:white; }
#memberQr img { max-width:100%; }
.qr-actions { display:flex; gap:8px; justify-content:center; margin-top:20px; }
.card,.stat-card { animation:appear .18s ease-out; }
@keyframes appear { from { opacity:.5; } to { opacity:1; } }
@media(max-width:1200px) { .stat-grid { grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); } .stat-icon { display:none; } }
@media(max-width:767px) { .content { padding:16px; } .topbar { padding:12px 16px; } .topbar-title { font-size:18px; } .welcome { align-items:flex-start; flex-direction:column; } .welcome h2 { font-size:24px; } .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } .page-actions .d-flex { flex-wrap:wrap; } .detail-row .v { overflow-wrap:anywhere; } .checkin-feedback { min-width:0; left:12px; right:12px; bottom:12px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media print { .sidebar,.topbar,.page-actions,.qr-actions,.toast-container { display:none !important; } .main { margin:0; } body,.content { background:white; padding:0; } .qr-card { break-inside:avoid; margin:30px auto; } }
