/* Shared visual rhythm: content determines height; controls retain 44px touch targets. */
:root{--ui-ink:#203443;--ui-muted:#536978;--ui-action:#1265ab;--ui-soft:#edf4fa;--ui-canvas:#f3f5f7;--ui-border:#bdccd7;--ui-r-card:14px;--ui-r-control:10px;--ui-gap:12px;--ui-pad:14px;--ui-page:28px;--ui-section:21px;--ui-card:18px;--ctm-form-gap:12px}
body :is(main,dialog){font-family:var(--ui-font);color:var(--ui-ink)}
body :is(main,dialog) :is(button,input,textarea,select){font-family:inherit}
body :is(main,dialog) :is(h1,h2,h3,h4){line-height:1.3;letter-spacing:-.2px}
body :is(main,dialog) p{line-height:1.45}
body :is(main,dialog) :is(.heading,.info-title){gap:10px;margin-bottom:12px;min-height:0}
body :is(main,dialog) :is(.heading,.info-title) :is(h1,h2,h3,p){margin-top:0;margin-bottom:6px}
body :is(main,dialog) :is(.form-grid,.row-actions,.form-actions,.friend-actions){gap:8px}
body :is(main,dialog) :is(button,a,summary){-webkit-tap-highlight-color:transparent}
body :is(main,dialog) button:not(:disabled),body :is(main,dialog) summary{cursor:pointer;touch-action:manipulation}
body :is(main,dialog) button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none!important;filter:none}
body :is(main,dialog) :is(button,a,summary):focus-visible{outline:3px solid #1265ab;outline-offset:3px}
body :is(main,dialog) :is(.primary,.outline,.text-button){min-height:44px;line-height:1.35;font-size:15px;border-radius:10px;box-shadow:none}
body :is(main,dialog) button.outline{border:1px solid #97adbf;background:#fff;color:#174e76}
body :is(main,dialog) button.outline:hover{background:#eaf3fa;border-color:#1265ab}
body :is(main,dialog) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([readonly]):not(:disabled){background-color:#fff!important;border:1px solid #819bb0!important;color:#203443!important;font-size:16px!important;border-radius:10px;min-height:44px;box-sizing:border-box}
body :is(main,dialog) :is(input,textarea)::placeholder{color:#6d7e8c;opacity:1}
body :is(main,dialog) :is(input,textarea)[readonly]{background:#edf0f3!important;color:#536574!important;border:1px dashed #b3c0ca!important;box-shadow:none!important;cursor:default}
body :is(main,dialog) :is(input,select,textarea):disabled{background-color:#e9edf0!important;color:#5c6b77!important;border-color:#c2cbd2!important;cursor:not-allowed;opacity:.8}
body :is(main,dialog) :is(input,select,textarea):focus-visible{outline:3px solid #1265ab55;outline-offset:2px;border-color:#1265ab!important}
body :is(main,dialog) :is(input[type=checkbox],input[type=radio]){accent-color:#1265ab;flex-shrink:0}
body :is(main,dialog) .field{font-weight:650;line-height:1.4;min-width:0}
body :is(main,dialog) .field small{font-weight:400;color:#536978}
body :is(main,dialog) :is(.panel,.card,.office-package-body,.settings-package-body){border-radius:14px}
body :is(main,dialog) :is(.row-actions,.form-actions){margin-top:10px;margin-bottom:0}
body :is(.home-focus-cards,.home-player-data-sections,.center-home-deck){gap:12px!important}
body .home-focus .identity-document-intro{padding:14px 16px;margin-bottom:12px;background:#fff;border:1px solid #c7d3dd;border-left:4px solid #ffd400;border-radius:14px;box-shadow:none}
body .home-focus .identity-document-intro h1{font-size:28px!important;margin:4px 0}
body .home-focus .identity-document-intro p{margin:4px 0 0;font-size:15px}
body .home-focus #player-document-preferences{animation:none!important;background:#f7fafc;border:1px solid #b9cbd9;border-radius:14px;box-shadow:none}
body .home-focus :is(#player-document-preferences .identity-section-heading,.home-player-data>summary){background:#203443;border-radius:13px 13px 0 0;min-height:58px;padding:8px 14px;gap:8px}
body .home-focus #player-document-preferences .identity-section-heading h2{font-size:18px}
body .home-focus .home-habitual-overview{padding:12px 14px}
body .home-focus .home-habitual-purpose{margin:0 0 10px;font-size:15px;line-height:1.4}
body .home-focus .home-habitual-purpose strong{font-size:17px}
body .home-focus .home-habitual-snapshot{gap:10px;margin-bottom:10px}
body .home-focus .home-habitual-snapshot>.home-habitual-tile{gap:6px;padding:10px 12px;border:1px solid #97b2c5;border-radius:12px;background:#fff;box-shadow:0 2px 5px #173a5410;transform:none}
body .home-focus .home-habitual-tile:hover{background:#edf6fc;border-color:#1265ab;box-shadow:0 0 0 1px #1265ab;transform:none}
body .home-focus .home-tile-heading>strong{font-size:18px}
body .home-focus .home-tile-schedule,body .home-focus .home-tile-zone{padding-top:6px;gap:2px 8px}
body .home-focus .home-availability-actions{gap:8px}
body .home-focus .home-availability-action{min-height:44px;padding:9px 12px;border-radius:10px;background:#1265ab;border:1px solid #1265ab;box-shadow:none;font-size:15px;line-height:1.4}
body .home-focus .home-center-availability-action{background:#fff;color:#174e76;border-color:#97adbf}
body .home-focus .home-player-data{background:#f7fafc;border:1px solid #b9cbd9;border-radius:14px}
body .home-focus .home-player-data:not([open])>summary{border-radius:13px}
body .home-focus .home-player-data .identity-section-heading{min-height:52px;padding:6px 12px;background:#203443}
body .home-focus .home-data-disclosure-target{min-height:44px}
body .home-focus .home-player-data .identity-card-body{padding:12px}
body .home-focus .home-player-data .identity-data-grid{gap:8px}
body .home-focus .home-player-data .identity-data-grid>div{padding:8px 10px;border-color:#ccd7df}
body .home-player-data-sections{padding:12px}
body .friends-quickbar{padding:0;margin:0 0 12px;background:transparent;border:0;box-shadow:none}
body .friends-quickbar button{min-height:44px;padding:9px 12px;font-size:15px;box-shadow:none}
/* Availability, publication and management share the same vertical rhythm. */
body :is(.habitual-step,.search-step){margin:8px 0;border-radius:12px}
body :is(.habitual-step-heading,.search-step-heading){min-height:44px;padding:8px 10px}
body :is(.habitual-step-body,.search-step-body){padding:10px;gap:8px}
body :is(.habitual-step-body,.search-step-body) .form-grid{gap:8px}
body :is(.habitual-setting-block,.tournament-search-days,.tournament-search-time){padding:10px;min-height:0}
body .center-home-document .center-home-deck>[data-center-home-card]{border-radius:14px;box-shadow:none}
body :is(.center-office-package,.center-home-deck>[data-center-home-card])>summary{min-height:52px;padding:10px 12px;gap:8px;font-size:18px}
body .office-package-body{padding:0 12px 12px}
body :is(.center-compact-management,.center-compact-extra,.roster-management)>summary{min-height:44px;padding:10px 12px;font-size:16px}
body .center-notice-focus{min-height:0;margin:12px auto;gap:12px;justify-content:flex-start}
body :is(.player-day-action-section,.player-day-group-body,.center-activity-group-body){gap:8px}
body .player-day-action-section+.player-day-action-section{padding-top:12px;margin-top:0}
body :is(.player-day-group,.center-activity-group)>summary{min-height:48px;padding:10px 12px}
body .flow-preview-title{padding:9px 12px}
body .flow-preview-body{padding:10px 12px}
body .player-card-facts{gap:6px;margin:6px 0}
body .player-card-facts>div{padding:6px 8px}
body .activity-summary-body{padding:12px}
body .summary-facts{margin:8px 0;gap:8px}
body .summary-participation-actions{gap:8px;margin:8px 0}
body .summary-participation-actions>button{min-height:44px;padding:9px 12px}
body .activity-summary-dialog .summary-event-guests,body .center-event-guests{margin-top:12px;padding:12px;gap:10px}
body .activity-summary-dialog .summary-event-guests>p{font-size:15px;line-height:1.45}
body .activity-summary-dialog .event-guest-disclosure>summary{min-height:44px;padding:10px!important;font-size:16px!important}
body .activity-summary-dialog form[data-player-event-guest]{padding:10px 0 0!important;gap:10px!important}
body .activity-summary-dialog .event-guest-person{padding:10px!important}
body .activity-summary-dialog .event-guest-person .field{margin-bottom:10px!important}
body .activity-summary-dialog .event-guest-contact{padding-top:10px;margin-bottom:10px}
body .activity-summary-dialog [data-event-guest-fields]{gap:10px}
body .event-guest-entry{padding:10px!important;gap:8px}
body .event-guest-actions>button{min-height:44px;padding:9px 12px!important}
body .workflow-notice-group{margin-bottom:10px}
body .notice-event{padding-block:8px}
body :is(.notice-latest-caption,.notice-event-message){margin-block:5px}
/* Navigation uses one stroke, size and hit area. Disclosure arrows retain up/down semantics. */
body :is(.ctm-back-chevron,.ctm-nav-chevron,.home-tile-chevron){display:inline-block!important;width:20px!important;height:20px!important;min-width:20px!important;flex:0 0 20px!important;fill:none!important;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;pointer-events:none}
body .ctm-back-control,body .ctm-nav-control{gap:6px}
body .ctm-nav-icon-only,body .ctm-back-icon-only{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px!important}
body :is(.friend-type-back,.center-focus-back) svg{width:20px;height:20px;stroke-width:2}
body :is(.activity-calendar-heading,.calendar-heading)>button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px}
body .ctm-menu-arrows{right:12px}
/* Chat overview: operational conversations first, assistance below. */
body .chat-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0}
body button.chat-category-card{--category:#1265ab;--category-soft:#edf5fd;grid-template-columns:42px minmax(0,1fr) 20px;min-height:112px;padding:14px;gap:10px;border:1px solid #bdccd7;border-left:4px solid var(--category);border-radius:14px;background:#fff;color:var(--ui-ink);box-shadow:none}
body button.chat-category-friends{--category:#087f83;--category-soft:#e7f5f3}
body button.chat-category-centers{--category:#1265ab;--category-soft:#edf5fd}
body button.chat-category-activities{--category:#247443;--category-soft:#eaf5ed}
body button.chat-category-card:hover{background:var(--category-soft);border-color:var(--category);filter:none}
body .chat-category-icon{width:42px;height:42px;min-height:42px;border-radius:12px;background:var(--category);color:#fff}
body .chat-category-icon svg{width:26px;height:26px}
body .chat-category-copy{gap:4px}
body .chat-category-copy strong{font-size:19px;line-height:1.3;color:var(--ui-ink)}
body .chat-category-copy>span{font-size:14px;line-height:1.4;color:#536978}
body .chat-category-copy small{font-size:14px;line-height:1.4;color:#536978}
body .chat-category-copy small b{color:#9f2925}
body .chat-category-arrow{display:flex;color:var(--category)}
body .chat-support-area{margin-top:14px;padding-top:12px;border-top:1px solid #d4dde4}
body .chat-support-link{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 12px;border:1px solid #bdccd7;border-radius:12px;background:#edf1f5;color:#354f62;text-align:left;box-shadow:none;white-space:normal}
body .chat-support-link:hover{background:#e2ebf2;border-color:#819bb0}
body .chat-support-link>svg{width:24px;height:24px;flex:0 0 24px}
body .chat-support-link>span:nth-child(2){flex:1;display:grid;gap:3px}
body .chat-support-link strong{font-size:16px;line-height:1.35}
body .chat-support-link small{font-size:14px;line-height:1.4;color:#536978}
body .chat-category-heading{padding:10px 12px;margin-bottom:12px;border-radius:12px;background:#edf4fa;border:1px solid #bdccd7;color:#203443}
body .chat-category-heading h2{font-size:20px;margin:8px 0 4px}
body .chat-category-heading p{font-size:14px;line-height:1.4;margin:0}
body .dashboard-find-center{padding:9px 12px!important;min-height:44px;font-size:15px!important;margin-bottom:12px}
body .dashboard-thread-list{gap:8px}
body .dashboard-thread-copy{gap:3px}
body .dashboard-thread-copy strong{font-size:17px;line-height:1.35}
body .dashboard-thread-center,body .dashboard-thread-time{font-size:14px;line-height:1.4}
body .dashboard-thread-preview{font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body .dashboard-chat-item .dashboard-thread-row{min-height:76px;padding:10px 12px}
body .dashboard-chat-item{border-left-width:4px;border-radius:12px}
body .live-chat-heading{padding:10px!important;gap:8px;min-height:64px}
body .live-chat-heading .event-chat-header-copy>strong{font-size:18px!important;line-height:1.3}
body .live-chat-heading .event-chat-header-copy>small{font-size:14px!important;line-height:1.4}
body .live-chat-toolbar{padding:0 10px 8px!important;min-height:0}
body .chat-tools-disclosure{width:100%;border:0;background:transparent;margin:0}
body .chat-tools-disclosure>summary{min-height:44px;display:flex;align-items:center;padding:8px 36px 8px 10px;border:1px solid #bdccd7;border-radius:10px;background:#f1f5f8;color:#25475e;font-size:14px;font-weight:650}
body .chat-tools-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}
body .chat-tools-actions button{min-height:44px}
body .event-chat-thread.message-bubble-thread .chat-message,body .friend-message{padding:9px 12px;border-radius:12px;box-shadow:none}
body .event-chat-thread.message-bubble-thread .chat-message p,body .friend-message p{font-size:16px!important;line-height:1.45;margin:4px 0}
body .friends-heading{min-height:60px;padding:10px 12px;gap:8px}
body #friendsDialog .friends-heading{background:#087f83;color:#fff}
body .friends-heading h2{font-size:20px}
body .friends-tabs{padding:8px;gap:8px}
body .friends-tabs button[aria-current=page]{background:#087f83;color:#fff;border-color:#087f83}
body .friends-body{padding:12px}
body .friend-chat-row{padding:10px 12px;gap:4px;border-radius:12px;box-shadow:none}
body .friend-audience-actions>button{min-height:44px!important;padding:9px 10px!important;font-size:15px!important}
body .friend-messages{padding:10px;gap:8px}
body .friend-composer{padding-top:8px;gap:8px}
body .friend-composer .field{font-size:14px}
body .friend-message.is-mine{background:#d9f1e9;border-color:#b4dbce}
body .ctm-support-dialog{background:#fff!important;border:1px solid #bdccd7!important;padding:14px}
body .ctm-support-dialog>header{background:#203443!important;color:#fff!important;padding:10px 12px!important;border-radius:12px}
body .ctm-support-dialog>header h2{font-size:20px;color:#fff!important}
body .ctm-support-dialog>header button{color:#fff;background:transparent;border-color:#9dabb8}
body .ctm-support-intro{padding:12px 0;gap:10px}
body .ctm-support-intro .ctm-support-mark{width:44px;height:44px;flex-basis:44px}
body .ctm-support-intro strong{font-size:18px;color:#203443}
body .ctm-support-intro p{font-size:15px;line-height:1.4;margin:5px 0;color:#536978}
body .ctm-support-dialog .mail-compose{gap:10px}
body .ctm-support-dialog [data-direction-new],body .ctm-support-dialog button[type=submit]{background:#1265ab!important;color:#fff!important;border-color:#1265ab}
body .ctm-support-dialog .direction-chat-list{margin-top:10px}
@media(max-width:760px){
 :root{--ui-page:25px;--ui-section:20px;--ui-card:18px;--ui-gap:10px}
 body .player-compact main,body main{padding-top:14px}
 body .home-focus .identity-document-intro h1{font-size:25px!important}
 body .home-focus :is(#player-document-preferences .identity-section-heading,.home-player-data>summary){padding:8px 12px;min-height:60px}
 body .home-focus #player-document-preferences .identity-section-heading h2{font-size:16px}
 body .home-focus .home-habitual-snapshot{gap:8px}
 body .home-focus .home-habitual-snapshot>.home-habitual-tile{padding:10px 12px;gap:6px}
 body .home-focus .home-habitual-overview{padding:10px 12px}
 body .chat-category-grid{grid-template-columns:minmax(0,1fr);gap:8px}
 body button.chat-category-card{min-height:92px;padding:11px 12px;grid-template-columns:40px minmax(0,1fr) 20px;gap:10px}
 body .chat-category-icon{width:40px;height:40px;min-height:40px}
 body .chat-category-copy strong{font-size:18px}
 body .chat-support-area{margin-top:12px;padding-top:10px}
 body .chat-support-link{min-height:62px;padding:9px 12px}
 body .activity-source-filters button{min-height:64px;padding:8px}
 body .activity-source-filters button span{font-size:15px}
 body .activity-source-filters button small{font-size:13px}
 body .activity-summary-dialog .activity-summary-body{padding:12px!important}
 body .activity-summary-dialog .summary-event-guests{padding:10px}
 body .event-guest-actions>button{min-height:44px}
 body .friends-body{padding:10px}
 body .friends-heading{min-height:60px;padding:8px 10px}
 body .live-chat-heading .event-chat-header-copy>strong{font-size:17px!important}
 body .live-chat-toolbar{padding:0 8px 6px!important}
 body .friend-gender-filters{gap:6px}
}
@media(prefers-reduced-motion:reduce){body *{scroll-behavior:auto!important}}
/* A cross closes a window; lock/save icons remain specific to editable modules. */
body .ctm-close-control{display:inline-flex!important;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px!important;border-radius:10px;flex:0 0 44px;box-shadow:none}
body .ctm-close-icon{width:20px;height:20px;pointer-events:none;flex:none}
body .friends-dialog .friends-heading{margin:0!important;border-radius:0!important}
body .friends-tabs button{box-shadow:none;min-height:44px;padding:9px 12px;border-radius:10px}
body .friend-selection-person{padding:8px 0;gap:8px}
body .ctm-editable-subcard .ctm-subcard-save-footer{margin-top:12px;padding:12px 0 0;gap:8px}
body .ctm-editable-subcard .ctm-subcard-save-button{border-radius:10px!important;box-shadow:none!important;min-height:44px;padding:10px 16px!important}
body .live-chat-thread::before{display:none}
body .live-chat-layout>.live-chat-thread,body .friend-messages{background:#edf2f5}
body .live-chat-thread .chat-messages{gap:8px}
body .live-chat-heading .center-chat-subtitle{font-size:16px;line-height:1.35;margin:3px 0}
body .live-chat-activity{min-height:44px;min-width:62px;padding:8px!important;font-size:14px!important;border-radius:10px}
body .live-chat-thread .live-chat-toolbar{background:#edf2f5!important;border-bottom:1px solid #ccd7df}
body .live-chat-thread .chat-tools-actions button{min-height:44px!important;border:1px solid #bdccd7!important;border-radius:10px;background:#fff!important;color:#25475e!important}
body .live-chat-thread .live-chat-composer{background:#fff!important;border-top:1px solid #ccd7df}
body .event-chat-thread.live-chat-thread.message-bubble-thread .chat-message.own{background:#dceefa!important;border-color:#adcde3!important;color:#203443}
body .event-chat-thread.live-chat-thread .chat-message.own :is(strong,p,small){color:#203443!important}
@media(max-width:700px){body .live-chat-heading>.center-group-icon{display:none}body .live-chat-heading{align-items:center}body .live-chat-heading .event-chat-header-copy{min-width:0}}
/* Avoid three nested padding layers in the availability editor. */
body #standardPreferencesForm>.panel:has(.habitual-card-editing){padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
body #standardPreferencesForm .habitual-availability.habitual-card-editing{padding:8px!important;margin:0!important;background:#f7fafc;border-radius:12px}
body #standardPreferencesForm .habitual-step-body{padding:8px!important}
body #standardPreferencesForm .home-availability-name-field{background:transparent!important;border:0!important;padding:0!important;margin-bottom:8px}
body #standardPreferencesForm .habitual-step-body .home-availability-name-field.field{padding:0!important}
body #standardPreferencesForm .habitual-match-days{padding:0!important;border:0!important;background:transparent!important}
body #standardPreferencesForm .habitual-match-days>h4{margin:0 0 6px!important;padding:8px!important;border-radius:8px}
body #standardPreferencesForm .habitual-match-days .availability-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
body #standardPreferencesForm .habitual-match-days .availability-days label>span{min-height:52px;padding:5px 0!important;gap:4px;font-size:13px}
body #standardPreferencesForm .habitual-match-days .availability-days label{min-width:0}
body #standardPreferencesForm .habitual-match-days .availability-days input{margin:0;width:20px;height:20px;min-height:20px}
/* Read-only facts look like information, not colored buttons. */
body :is(.summary-facts,.center-compact-card .summary-facts){padding:10px 12px;background:#fff;border:1px solid #d5dfe7;border-radius:12px;gap:8px 12px;box-shadow:none}
body :is(.summary-facts,.center-compact-card .summary-facts)>div{padding:0;background:transparent!important;border:0!important;border-radius:0;box-shadow:none;cursor:default}
body .summary-facts>div:nth-child(3){grid-column:auto}
body .summary-facts dt{font-size:12px!important;line-height:1.35;color:#536978;letter-spacing:.03em}
body .summary-facts dd,body .center-compact-card .summary-facts dd{font-size:15px!important;line-height:1.4;margin-top:2px;color:#203443}
body .calendar-occupancy{margin:8px 0;padding:10px;border-radius:12px;box-shadow:none}
body .activity-progress{padding:8px 10px;margin:8px 0;border-radius:12px}
body .activity-progress strong{font-size:15px;margin-bottom:6px}
body .activity-progress-track{height:10px;border-radius:6px}
/* The enclosing disclosure already names these sections. */
body .center-compact-management .center-play-resource>.compact-resource-title,
body .roster-management .fast-center-roster>h4{display:none}
