/* Shared finish: original slate palette with restrained champagne accents. */
:root{--ink:#302b2e;--muted:#777b7c;--line:#e3ddd3;--soft:#f8f6f1;--champagne:#c5ad83;--champagne-ink:#88714c;--champagne-light:#f6f1e7;--shadow:0 7px 24px rgba(62,55,44,.045)}
body{color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:Manrope,system-ui,sans-serif;letter-spacing:normal}
.page-head h1,.coach-title h1,.modal-inner>h2,.compact-home .client-card-heading h1{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;letter-spacing:-.025em;line-height:1.16!important}
.page-head h1,.coach-title h1{font-size:clamp(29px,3vw,40px)!important}
.modal-inner>h2{font-size:clamp(27px,3vw,36px)!important;margin-top:10px;margin-bottom:18px}
.page-head p,.coach-title p,.modal-inner>p{font-size:14px;line-height:1.65;color:var(--muted)}
.eyebrow,.client-card-heading>div>span,.client-tool-card>div>span{color:var(--champagne-ink)!important;font-size:10px!important;letter-spacing:.13em;font-weight:700}
button.primary,.primary{background:#54233f;border:1px solid #54233f;color:white;border-radius:12px;font-weight:600;letter-spacing:0;font-size:14px;box-shadow:0 4px 12px #54233f1a;min-height:44px}
button.outline,.outline{background:#fff;border:1px solid #cdbb9c;border-radius:12px;color:#766345;font-weight:600;font-size:14px;min-height:44px;box-shadow:none}
.link-btn{color:var(--champagne-ink);font-weight:600;line-height:1.5}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #9c8258;outline-offset:3px}
button{transition:background-color .15s,border-color .15s,box-shadow .15s}
button:disabled{cursor:default}
@media(hover:hover){button.primary:hover{background:#54233f;border-color:#54233f}.outline:hover{background:#faf7f0;border-color:#af956b}}
.report-form input,.report-form textarea,.report-form select,.measure-preview input,.period-controls input,.coach-tools input{border-color:#ded8ce;border-radius:12px;background:#fff;color:var(--ink);box-shadow:none}
input:focus,textarea:focus,select:focus{outline:2px solid #c5ad8366;outline-offset:1px;border-color:#bba47c!important}
.report-form label,.period-controls label{font-weight:600;font-size:13px;color:#817369}
.report-form textarea{line-height:1.6;min-height:90px}
.modal-inner{line-height:1.5}
#modal{border:1px solid #e2d6c3;box-shadow:0 24px 80px #302a2426;border-radius:24px}
#modal::backdrop{background:rgba(51,46,49,.42);backdrop-filter:blur(3px)}
#modalClose{background:#f6f3ee;color:#8b7757;border:1px solid #e7dfd2;border-radius:50%;width:36px;height:36px}
.topbar{border-bottom-color:#e5dccd;background:rgba(250,248,243,.97)}
.bell,.top-actions .admin-toggle{border:1px solid #ded3c1;box-shadow:0 3px 10px #4e443509;background:#fff;color:#817369}
.top-actions .admin-toggle.on{background:#302b2e;color:#fff;border-color:#302b2e}
.mobile-nav{border-top:1px solid #e2d5bf;box-shadow:0 -4px 18px #433b2e05;background:rgba(255,255,255,.97)}
.mobile-nav .nav-btn.active{background:#f5f0e6;color:#766347}.mobile-nav .nav-btn{font-weight:600}.mobile-nav .nav-btn svg{stroke-width:1.6}
.client-plan-card,.client-tool-card,.coach-today,.weight-checkin,.tracker-fold,.coach-directory,.coach-member-row,.coach-data-chart,.measurement-comparison,.training-analytics,.home-workout-history,.knowledge-cards>button{border-color:#dfd4c2;box-shadow:0 5px 20px #53453005;border-radius:20px}
.compact-home .client-plan-card{background:linear-gradient(125deg,#fbf8f2,#fff 70%)}
.compact-home .client-plan-values>div{border-color:#e0d5c3;background:#fff;border-radius:13px}.compact-home .client-plan-values .client-steps{background:#faf7f2;border-color:#e7dfd6}
.compact-home .client-plan-values b{font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.compact-home .training-diary-tool{background:#fff;padding:24px;gap:12px}.compact-home .training-diary-tool>button{letter-spacing:0;font-size:14px;text-transform:none;color:#88714c;padding:12px 0}
.compact-home .training-diary-tool .client-tool-icon{width:44px;height:44px;min-height:44px;display:grid;place-items:center;background:#f6f1e7;color:#a58c64;border:1px solid #dfd2bb;border-radius:14px}
.compact-home .training-diary-tool h2,.home-workout-history b{font-family:Georgia,serif;font-weight:400;letter-spacing:-.015em}
.home-workout-history{background:#faf7f1}.home-workout-history i{color:#a28a61}
.focused-tabs,.member-view-tabs,.knowledge-tabs{background:#f4f0e9;border-radius:14px;padding:5px}
.focused-tabs [aria-selected=true],.member-view-tabs [aria-selected=true],.knowledge-tabs button.selected{background:#fff;color:#756044;box-shadow:0 2px 8px #6855370c;border-color:#d5c09d}
.knowledge-tabs button{border-radius:10px;font-size:13px}.knowledge-cards b{font-family:Georgia,serif;font-size:25px;font-weight:400}.knowledge-cards svg{color:#a98f63}.knowledge-cards small{line-height:1.6}
.focused-summary>div{background:#faf7f0;border-color:#e1d5c1;border-radius:16px}.focused-summary b{font-weight:600;letter-spacing:-.035em}
.measurement-delta-grid>div{border-color:#e5ddd0;border-radius:14px}.measurement-delta-grid b{font-weight:600}
.tracker-fold>summary b{font-weight:600;font-size:17px}.tracker-fold>summary i{color:#aa9063}.focused-history,.coach-extra{border-color:#e2d7c4;border-radius:14px}
.coach-row-actions>button,.coach-row-actions>details>summary,.booking-person button{border-radius:11px;font-weight:600;box-shadow:none}
.coach-row-actions .coach-open{background:#faf6ed;border-color:#c6ae85;color:#816a43}
.booking-attendance button.selected{background:#edf3ee;border-color:#9ab1a3;color:#537566}
.booking-person{border-color:#e1d8ca;border-radius:18px;box-shadow:none}.booking-person-title>b{font-weight:600}
.coach-filters button,.range-tabs button{border-radius:10px;font-weight:500}.coach-filters button.active{background:#f7f1e6;border-color:#c6ae85;color:#816a43}
.notice-protocol table{font-variant-numeric:tabular-nums}.notice-protocol th{font-weight:600}.notice-protocol aside{background:#f7f3eb;border-left:3px solid #c5ad83}
@media(max-width:680px){.modal-inner{padding:24px 18px}.top-actions{gap:8px}.page-head{margin-bottom:22px}.page-head p{font-size:13px}.coach-title h1{font-size:30px!important}.modal-inner>p{font-size:14px}.coach-today-heading>button{font-size:12px}.focused-tabs button,.member-view-tabs button{font-size:12px}.coach-row-actions>button{font-size:12px}.booking-person button{font-size:13px;min-height:44px}.knowledge-cards>button{padding:22px 18px}.knowledge-cards small{font-size:13px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Phosphor duotone icons, hosted locally. */
.interface-icon{display:inline-block;width:24px;height:24px;object-fit:contain;flex-shrink:0;vertical-align:middle;pointer-events:none}
.client-plan-values>div{position:relative}
.client-plan-values .target-icon{display:block;width:46px;height:46px;padding:9px;border-radius:50%;background:#f3f0e9;margin:0 0 10px;box-sizing:border-box}
.client-plan-values>div:nth-child(odd) .target-icon{background:#faf7f2}
.training-diary-tool .client-tool-icon{float:right;width:66px;height:66px;border:0!important;background:transparent!important;margin:0 0 8px 12px!important}
.training-diary-tool .diary-icon{width:64px;height:64px;transform:rotate(-28deg)}
.home-workout-history{display:flex!important;align-items:center;gap:14px!important}
.home-workout-history>span{flex:1;min-width:0}
.tile-icon{width:42px;height:42px;padding:9px;background:#f5f1e8;border-radius:12px;box-sizing:border-box}
.heading-icon{width:25px;height:25px;margin-right:10px;vertical-align:-4px}
.coach-extra>summary{list-style:none;display:flex;align-items:center}
.coach-extra>summary::-webkit-details-marker{display:none}


.tracker-fold>summary>.tile-icon{margin-right:12px}
.tracker-fold>summary>span{flex:1;min-width:0}
#nextBookingForm .field-icon{width:19px;height:19px;margin-right:7px}
@media(max-width:360px){.client-plan-values .target-icon{width:39px;height:39px;padding:7px}.home-workout-history{gap:10px!important}.heading-icon{width:22px;height:22px;margin-right:7px}}

.compact-home .training-diary-tool{position:relative;display:block;padding:22px}
.compact-home .training-diary-tool .client-tool-icon{position:absolute;right:24px;top:82px;width:58px;height:58px;margin:0!important}
.compact-home .training-diary-tool .diary-icon{width:58px;height:58px}
.compact-home .training-diary-tool h2{font-size:25px;margin:8px 0 10px}
.compact-home .training-diary-tool p{padding-right:65px;font-size:13px;line-height:1.65}
.compact-home .training-diary-tool>button{margin-top:18px;background:#54233f;color:#fff;border:1px solid #54233f;border-radius:12px;width:100%;min-height:46px;padding:12px}

/* Approved Manrope heading direction, including older section headings. */
.workout-cover-mark,.project-welcome h1,.counter-copy h2,.guide-intro h2,.guide-number,.guide-copy h3,.feature-guide-heading h3,.detailed-guide-list h3,.premium-library .folder-info h2,.mini-phone b,.scene-phone em,.scene-nutrients span,.scene-catalog b,.inner-folder-head h2,.premium-folder-modal .premium-guide-copy>b,.inner-catalog-art b,.catalog-gallery-modal .catalog-head h2,.coach-title h1,.coach-metric>span,.coach-metric b,.coach-person>span,.coach-empty b,.bell,.notification-empty i,.notification-empty b,.training-protocol-preview h2,.schedule-toolbar>button,.schedule-toolbar h2,.schedule-agenda>div:first-child span,.workout-repeat,.attendance-list h3,.appointment-enrollment h3,.member-search>span,.measurement-comparison-head h3,.comparison-empty h3,.protocol-search-wrap>span,.training-analytics-head h2,.client-card-heading h1,.client-tool-number,.client-tool-card h2,.applications-panel .section-title h2,.application-person>span,.booking-roster h3,.booking-report-session h3,.page-head h1,.modal-inner>h2,.compact-home .client-card-heading h1,.compact-home .training-diary-tool h2,.home-workout-history b,.knowledge-cards b{font-family:Manrope,system-ui,sans-serif!important}
h1,h2,h3,.home-workout-history b,.knowledge-cards b{font-family:Manrope,system-ui,sans-serif!important;font-weight:700!important;letter-spacing:-.025em}
.page-head h1,.coach-title h1,.modal-inner>h2,.compact-home .client-card-heading h1{font-weight:700!important;line-height:1.25!important}
.compact-home .client-card-heading h1,.compact-home .training-diary-tool h2,.home-workout-history b{font-family:Manrope,system-ui,sans-serif!important;font-weight:700!important;font-size:25px!important;line-height:1.25!important;letter-spacing:-.025em!important}

/* Progress icons follow the same quiet duotone language. */
.focused-summary .progress-stat-icon{display:block;width:32px;height:32px;margin-bottom:10px;padding:5px;background:#f0ece3;border-radius:10px;box-sizing:border-box}
.focused-summary>div:first-child .progress-stat-icon{background:#faf7f2}
.focused-tabs [data-focused-tab]{display:flex;align-items:center;justify-content:center;gap:6px}
.progress-tab-icon{width:18px;height:18px}
.progress-history-icon{width:20px;height:20px;margin-right:8px}
.focused-content h2>.heading-icon,.focused-content h3>.heading-icon{width:22px;height:22px;margin-right:8px}
@media(max-width:360px){.focused-tabs [data-focused-tab]{flex-direction:column;gap:4px;padding:8px 3px}.focused-content h2>.heading-icon,.focused-content h3>.heading-icon{width:19px;height:19px;margin-right:6px}}
/* Daily workflow: compact additions using the existing palette. */
.next-session-card{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#f6f3ed;border:1px solid #dfd4c2;border-radius:16px;margin:14px 0 18px}
.next-session-card>div{display:grid;gap:4px;flex:1;min-width:0}.next-session-card b{font-size:14px}.next-session-card small,.next-session-card span{font-size:12px;color:#747a7c}.next-session-card button{font-size:12px;padding:8px 0;min-height:44px}
.own-sessions article{padding:15px 0;border-bottom:1px solid #e1d8ca}.own-sessions p{font-size:14px}
.save-status{font-size:12px;line-height:1.6;color:#88714c;background:#f8f4eb;border-radius:10px;padding:10px 14px;margin:8px 0 14px}.save-status.is-saved{color:#486957;background:#eff4ee}.tracker-fold>.save-status{margin:0 18px 14px}
.focused-summary>div>small{font-size:11px;line-height:1.6;margin-top:8px;color:#747a7c;display:block}.comparison-mode{color:#88714c;font-weight:600;font-size:13px}
.schedule-mode-switch{display:flex;width:fit-content;gap:4px;padding:4px;background:#f1eee8;border-radius:12px;margin:12px 0}.schedule-mode-switch button{border:0;background:transparent;border-radius:9px;padding:10px 22px;font:600 13px Manrope,sans-serif;color:#817369;min-height:40px}.schedule-mode-switch button.selected{background:white;color:#88714c;box-shadow:0 2px 8px #574b3610}
.day-agenda{margin:12px 0 20px}.day-agenda>label{display:grid;gap:8px;font-size:13px}.day-agenda h2{font-size:21px;margin:22px 0 14px}.day-session{display:flex;width:100%;justify-content:space-between;gap:16px;text-align:left;align-items:center;padding:18px;background:#fff;border:1px solid #dfd4c2;border-radius:14px;margin-bottom:10px;color:#302b2e;min-height:80px}.day-session span{display:grid;gap:5px}.day-session small{font-size:12px;color:#747a7c}.day-session b{font-size:18px}.day-session>span:last-child{font-size:14px;text-align:right}
.series-settings{background:#f8f5ee;border:1px solid #dfd4c2;padding:14px;border-radius:14px;margin-bottom:18px}.series-help,.series-review p{font-size:12px;line-height:1.6}.series-review ul{padding:0;list-style:none;max-height:270px;overflow:auto}.series-review li{display:grid;gap:7px;padding:12px 0;border-top:1px solid #dfd4c2;font-size:12px}.series-review li span{color:#777}.series-review strong{font-size:13px}.series-review small{color:#777}
.copy-protocol{background:#f8f5ee;padding:14px;border-radius:12px;margin:12px 0 18px}.copy-protocol summary{cursor:pointer;font-weight:600;font-size:14px}.copy-protocol label{display:grid;gap:8px;margin:14px 0}.copy-protocol small{display:block;color:#747a7c;font-size:12px;margin-top:8px}.previous-sets{font-size:12px;color:#817369;background:#faf7f2;padding:10px;border-radius:10px;line-height:1.7}
.profile-photo-picker{position:relative;display:flex!important;align-items:center;justify-content:center;padding:12px!important;border:1px solid #cdbb9c;border-radius:12px;color:#88714c;font-size:13px!important;min-height:46px;text-align:center;overflow:hidden;cursor:pointer}.profile-photo-picker input{position:absolute;inset:0;width:100%!important;height:100%;opacity:0;cursor:pointer}.profile-photo-picker:focus-within{outline:2px solid #9c8258;outline-offset:3px}
@media(max-width:480px){.coach-schedule{min-height:0!important;height:auto!important}.next-session-card{flex-wrap:wrap}.next-session-card>div{flex-basis:calc(100% - 40px)}.next-session-card>button{margin-left:36px}.day-agenda h2{font-size:19px}}

.schedule-toolbar>.schedule-mode-switch{margin:0 0 0 auto;padding:0;flex-shrink:0}.schedule-toolbar>.schedule-mode-switch button{padding:8px 10px;border:1px solid #dfd4c2;background:#fff;font-size:12px;min-height:40px}.schedule-toolbar h2{flex:1;min-width:0}
.coach-attendance-entry{display:flex;align-items:center;gap:14px;width:100%;padding:18px;margin:0 0 20px;border:1px solid #dfd4c2;border-radius:16px;background:#f8f5ee;text-align:left;color:#302b2e}.coach-attendance-entry span{display:grid;gap:5px}.coach-attendance-entry b{font-size:16px}.coach-attendance-entry small{font-size:12px;color:#747a7c}
.attendance-report{max-width:1000px}.attendance-report .page-head h1{font-size:clamp(25px,4vw,34px)!important}.attendance-report #attendanceFilters{padding:18px;background:#faf8f3;border:1px solid #dfd4c2;border-radius:18px;margin-bottom:22px;gap:12px}.attendance-dates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.attendance-dates label{min-width:0}.attendance-report input,.attendance-report select{max-width:100%;min-width:0}.attendance-quick{display:flex;gap:6px;flex-wrap:wrap}.attendance-quick button{min-height:40px;padding:9px 12px;border:1px solid #dfd4c2;border-radius:10px;color:#88714c;background:white;font:600 12px Manrope,sans-serif}.attendance-more-filters{margin:4px 0}.attendance-more-filters summary{font-size:13px;cursor:pointer;line-height:1.6}.attendance-more-filters>label{margin-top:14px}.attendance-checkbox{display:flex!important;align-items:center;gap:10px;font-size:13px!important}.attendance-checkbox input{width:20px!important;height:20px;flex-shrink:0}.attendance-filter-actions{display:flex;gap:10px;flex-wrap:wrap}.attendance-filter-actions button{flex:1;min-width:110px}.attendance-period{font-size:12px;color:#747a7c;line-height:1.6}.attendance-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.attendance-totals article{border:1px solid #e0d5c3;background:#faf8f3;border-radius:14px;padding:14px;display:grid;gap:8px}.attendance-totals span{font-size:12px;color:#747a7c}.attendance-totals b{font-size:26px}.attendance-totals .attendance-main-total{background:#faf7f2;border-color:#e7dfd6}.attendance-reconciled{font-size:14px;line-height:1.6;margin:18px 0 8px}.attendance-explainer{font-size:12px;color:#747a7c;line-height:1.7}.attendance-people{display:grid;gap:12px;margin:20px 0}.attendance-people>details{border:1px solid #dfd4c2;border-radius:16px;overflow:hidden}.attendance-people summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px;cursor:pointer;list-style:none}.attendance-people summary::-webkit-details-marker{display:none}.attendance-people summary>span{display:grid;gap:5px}.attendance-people summary b{font-size:15px}.attendance-people summary small{font-size:12px;color:#747a7c}.attendance-person-count{text-align:right}.attendance-person-count b{font-size:24px!important;color:#817369}.attendance-person-rows{padding:0 16px 14px}.attendance-person-rows article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-top:1px solid #e4ded4}.attendance-person-rows article>div{display:grid;gap:6px}.attendance-person-rows b{font-size:13px}.attendance-person-rows span,.attendance-person-rows small{font-size:12px;color:#747a7c}.attendance-person-rows button{font-size:12px;min-width:75px}.attendance-person-rows .attendance-present{color:#486957}.attendance-person-rows .attendance-unmarked{color:#997334}.attendance-message{padding:20px;border-radius:14px;background:#f8f5ee;font-size:14px;line-height:1.7}
@media(max-width:600px){.attendance-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-report #attendanceFilters{padding:14px}.attendance-person-rows article{align-items:flex-start;flex-wrap:wrap}.attendance-dates{gap:8px}}

.attendance-report .page-head{display:block;margin:12px 0 20px}.attendance-report .page-head p{margin-top:10px}.attendance-report #attendanceFilterError:empty{display:none}.attendance-totals{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-totals article{padding:12px}.attendance-breakdown{margin-top:14px}.attendance-breakdown>summary{cursor:pointer;font-size:13px;padding:10px 0;color:#88714c}.attendance-secondary{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.attendance-expand-hint{color:#88714c!important}.attendance-people details[open] .attendance-expand-hint{display:none}@media(max-width:360px){.attendance-totals article{padding:10px 8px}.attendance-totals span{font-size:11px}}

/* Compact attendance ledger */
.attendance-report .page-head{margin:8px 0 14px}.attendance-report .page-head p{display:none}
.attendance-report .report-form{padding:12px;gap:9px}.attendance-report .attendance-dates input{min-height:42px;padding:8px}.attendance-report .attendance-quick button{min-height:32px;padding:5px 12px}.attendance-filter-actions button{min-height:40px!important;padding:9px!important}
.attendance-period{margin:16px 0 8px;font-size:12px}
.attendance-compact-totals{display:flex;flex-wrap:wrap;gap:8px 18px;padding:11px 12px;background:#f4efe5;border-radius:10px;font-size:12px}.attendance-compact-totals b{font-size:18px;margin-left:4px;color:#302b2e}.attendance-reconciled{font-size:12px;margin:8px 0 12px}
.attendance-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;background:#fff}.attendance-table-caption{text-align:left;font-size:12px;color:#777;padding:0 0 8px}.attendance-table th{background:#eee9df;color:#625a4b;font-size:12px;text-align:left;font-weight:600}.attendance-table th,.attendance-table td{padding:9px 10px;border:1px solid #dedbd3;vertical-align:top;overflow-wrap:anywhere}.attendance-table th:first-child{width:100px}.attendance-table th:nth-child(2){width:26%}.attendance-table th:nth-child(4){width:110px}.attendance-table th:last-child{width:100px}.attendance-table tbody tr:nth-child(even){background:#faf8f4}.attendance-table small{display:block;font-size:11px;line-height:1.45;color:#7b7f7f;margin-top:3px}.attendance-table .attendance-name{display:block;min-height:0;width:100%;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;text-align:left;font:inherit;font-weight:600;color:#302b2e;line-height:1.4}.attendance-table .attendance-name:focus-visible{outline:2px solid #54233f;outline-offset:3px}.attendance-table .attendance-status{display:inline;font-size:12px;font-weight:500;padding:0;background:none}.attendance-table .attendance-present{color:#53776a}.attendance-table tfoot td{text-align:right;background:#eee9df;padding:10px}.attendance-table .attendance-mobile{display:none}
@media(max-width:600px){.attendance-table{font-size:12px}.attendance-table .attendance-desktop{display:none}.attendance-table .attendance-mobile{display:block}.attendance-table th,.attendance-table td{padding:8px 6px}.attendance-table th:first-child{width:65px}.attendance-table th:nth-child(2){width:auto}.attendance-table th:nth-child(4){width:79px}.attendance-table .attendance-status{font-size:11px}.attendance-table small{font-size:10px}.attendance-compact-totals{gap:6px 12px;padding:9px;font-size:11px}.attendance-compact-totals b{font-size:16px}.attendance-report .attendance-reconciled{font-size:11px;line-height:1.6}.attendance-report .page-head h1{font-size:24px}}

.attendance-table-total{text-align:right;padding:10px;background:#eee9df;border:1px solid #dedbd3;border-top:0;font-size:12px}

.attendance-print-button{margin-top:12px;min-height:42px}
/* A4 ledger: compact rows matching the reception report. */
@media print{
 @page{size:A4 portrait;margin:8mm}
 body:has(.attendance-report){background:#fff!important;color:#000!important}
 body:has(.attendance-report) *:not(:has(.attendance-report)):not(.attendance-report):not(.attendance-report *){display:none!important}
 body:has(.attendance-report) *:has(.attendance-report){margin:0!important;padding:0!important;min-height:0!important;height:auto!important;overflow:visible!important;max-width:none!important}
 body:has(.attendance-report) .attendance-report{position:static!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;font:8pt/1.1 Arial,sans-serif!important}
 .attendance-report *{font-family:Arial,sans-serif!important;box-shadow:none!important;text-shadow:none!important;letter-spacing:normal!important}
 .attendance-report .link-btn,.attendance-report .report-form,.attendance-report .attendance-print-button,.attendance-report .attendance-explainer,.attendance-report .attendance-totals,.attendance-report .attendance-table-caption,.attendance-report .page-head p{display:none!important}
 .attendance-report .page-head{margin:0!important;display:inline!important}.attendance-report .page-head h1{display:inline!important;font-size:10pt!important;line-height:1.2!important;font-weight:700!important}
 .attendance-report .attendance-period{display:inline!important;font-size:9pt!important;margin:0!important}.attendance-report .attendance-period:before{content:' · '}
 .attendance-report #attendanceResults{display:contents!important}
 .attendance-report .attendance-reconciled{font-size:8pt!important;line-height:1.1!important;margin:2mm 0!important}
 .attendance-report .attendance-table{width:100%!important;font:8pt/1.1 Arial,sans-serif!important;table-layout:fixed!important;border-collapse:collapse!important}
 .attendance-report .attendance-table .attendance-desktop{display:table-cell!important}.attendance-report .attendance-table .attendance-mobile{display:none!important}
 .attendance-report .attendance-table th,.attendance-report .attendance-table td{padding:.55mm 1mm!important;border:.2mm solid #666!important;font-size:8pt!important;line-height:1.1!important;height:auto!important;min-height:0!important;background:#fff!important;color:#000!important;vertical-align:middle!important}
 .attendance-report .attendance-table th:first-child{width:29mm!important}.attendance-report .attendance-table th:nth-child(2){width:auto!important}.attendance-report .attendance-table th:nth-child(3){width:45mm!important}.attendance-report .attendance-table th:nth-child(4){width:22mm!important}.attendance-report .attendance-table th:last-child{width:23mm!important}
 .attendance-report .attendance-table small,.attendance-report .attendance-table .attendance-status,.attendance-report .attendance-table td:first-child b{font-size:8pt!important;line-height:1.1!important;color:#000!important;margin:0!important;font-weight:400!important}
 .attendance-report .attendance-table td:first-child small{display:inline!important;margin-left:1mm!important}.attendance-report .attendance-table td:first-child{white-space:nowrap!important}
 .attendance-report .attendance-table .attendance-name{font:8pt/1.1 Arial,sans-serif!important;color:#000!important;padding:0!important;margin:0!important;min-height:0!important;height:auto!important}
 .attendance-report .attendance-table thead{display:table-header-group!important}.attendance-report .attendance-table tr{break-inside:avoid;page-break-inside:avoid}
 .attendance-report .attendance-table-total{padding:1mm!important;border:.2mm solid #666!important;border-top:0!important;background:#fff!important;font:8pt/1.1 Arial,sans-serif!important;break-inside:avoid}
}

/* Reconciled attendance: approved muted green. */
.attendance-report .attendance-table td.attendance-checked{background:#e6efe5!important;color:#456349!important}
.attendance-report .attendance-table small.attendance-checked{background:#e6efe5;color:#456349;padding:2px 4px;border-radius:3px}
@media print{.attendance-report .attendance-table td.attendance-checked{background:#e6efe5!important;color:#456349!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}

.booking-charge{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 0;border-top:1px solid #e5e1d8;font-size:14px}.booking-charge>div{display:flex;align-items:center;gap:14px}.booking-charge button{width:40px;min-height:40px;padding:4px;font-size:20px;background:#f4f0e7;border:1px solid #d4c7ac;border-radius:10px;color:#766547}.booking-charge b{min-width:22px;text-align:center}.booking-charge button:disabled{opacity:.4}
.attendance-table th.attendance-charge-column{width:65px}.attendance-table td.attendance-charge-column{text-align:center;font-weight:600}
@media(max-width:600px){.attendance-table th.attendance-charge-column{width:46px;font-size:10px}.attendance-table th:nth-child(4){width:66px}.attendance-table th:first-child{width:60px}.attendance-table th,.attendance-table td{padding:7px 4px}}
@media print{.attendance-report .attendance-table th:nth-child(3){width:38mm!important}.attendance-report .attendance-table th.attendance-charge-column{width:16mm!important}.attendance-report .attendance-table th:last-child{width:22mm!important}}

.attendance-table th.attendance-reception-column{width:100px}
@media(max-width:600px){.attendance-table th.attendance-reception-column{width:66px;font-size:10px}.attendance-table td.attendance-reception-column{font-size:10px}.attendance-table th.attendance-charge-column{width:49px}}
@media print{.attendance-report .attendance-table th:nth-child(3){width:38mm!important}.attendance-report .attendance-table th.attendance-charge-column{width:18mm!important}.attendance-report .attendance-table th.attendance-reception-column{width:25mm!important}}

/* All sessions remain available within each compact day cell. */
.schedule-cell>div{max-height:160px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#b8a47d #f3f0e9;align-content:start;touch-action:pan-y}
.schedule-cell>div::-webkit-scrollbar{width:4px}.schedule-cell>div::-webkit-scrollbar-thumb{background:#b8a47d;border-radius:4px}
@media(max-width:820px){.schedule-cell>div{max-height:74px}.schedule-cell .schedule-event{flex-shrink:0}.schedule-cell .schedule-event b{font-size:9px}}

.booking-person.booking-has-next{background:#edf4eb;border-color:#bacdb5}.booking-next-note{display:grid;gap:4px;margin:10px 0 14px;color:#486746;font-size:13px;line-height:1.5}.booking-next-note b{font-size:13px;font-weight:600}.booking-has-next .booking-reconcile{background:transparent}
