/* Saint-Hubert : surfaces intermédiaires, actions contrastées, gestes lisibles. */
:root{--ttc-petrol:#143f49;--ttc-teal:#006d66;--ttc-lime:#b6ce39;--ttc-warm:#eff1e7;--ttc-canvas:#dbe5e4;--ttc-edge:#b7ccca;--ttc-text:#193c47;--ttc-subtle:#47636e;--ttc-blue:#285b7f;--ttc-plum:#705184;--ttc-gold:#9b6a23}
body.workspace-admin-view,body.workspace-admin-view main,#admin,#apercu-membre{background:#dbe5e4}
#admin,#apercu-membre,.member-manager,.directory-editor{--panel:#edf2ef;--club-panel:#edf2ef;--club-panel-raised:#e3ece8;--club-banner:#24555e;--club-banner-end:#153f48;--club-border:#b7ccca;--club-border-strong:#89aaa7;--club-turquoise:#006d66;--club-accent:#b6ce39;--club-on-accent:#193c32;--line:#b7ccca;--muted:#47636e;--white:#193c47}
/* Account chooser : short header, 2 × 2 actions per space, footer always adjacent. */
body .account-menu{width:min(820px,calc(100% - 28px));max-width:820px;max-height:calc(100dvh - 24px);border:1px solid #8aaea9;border-radius:19px;background:#dce8e4;color:#193c47;box-shadow:0 20px 70px #001d2d66;overflow:auto;scrollbar-color:#709b96 #dce8e4;animation:ttc-dialog-in .22s ease-out}
.account-menu .account-menu-header{align-items:center;gap:14px;padding:15px 20px;background:linear-gradient(110deg,#184e57,#143b45);border-color:#407079;color:#f1f7f4}
.account-menu .account-menu-person{gap:13px;align-items:center}
.account-menu .workspace-avatar{width:42px;height:42px;flex-basis:42px;border-radius:13px;background:#b6ce39;color:#1b3c36;font-size:14px}
.account-menu .eyebrow{display:none}
.account-menu h2{font:750 23px/1.15 Arial,sans-serif;letter-spacing:-.7px;color:#f2f6ee;margin:0 0 5px}
.account-menu [data-member-menu-name]{font-size:13px;font-weight:650;color:#e3efea;display:inline;line-height:1.4;margin:0}
.account-menu [data-member-menu-email]{font-size:11px;color:#c5dad7;line-height:1.4;margin:2px 0 0}
.account-menu .account-menu-close{width:44px;height:44px;min-height:44px;border-radius:12px;background:#2b5c64;border-color:#69928e;color:#f4f9f4;transition:background .18s,transform .18s}
.account-menu .account-menu-close:hover{background:#39747b;color:#fff;transform:rotate(5deg)}
.account-menu .account-menu-spaces{display:grid;gap:14px;padding:17px}
.account-menu.has-management .account-menu-spaces{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.account-menu .account-space{padding:16px;border:1px solid #a9c6bf;border-top:3px solid #16796f;border-radius:14px;background:#eef2e9}
.account-menu .management-space{border-color:#a7bcc4;border-top:3px solid #2d6078;background:#d5e2e4}
.account-menu .account-space-heading{gap:11px;margin:0 0 13px;min-height:35px}
.account-menu .account-space-icon{width:34px;height:34px;border-radius:10px;background:#d2e5d9;color:#00665a}
.account-menu .management-space .account-space-icon{background:#bed3dc;color:#245a77}
.account-menu .account-space-icon svg{width:20px;height:20px}
.account-menu .account-space-kicker{display:none}
.account-menu .account-space h3{color:#1c414c;font:750 17px/1.25 Arial,sans-serif;margin:0;letter-spacing:-.3px}
.account-menu .account-space>p{display:none}
.account-menu .account-space nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}
.account-menu .account-space nav a{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:59px;padding:10px 12px;margin:0;border:1px solid #a6bfbb;border-radius:10px;background:#dce9df;color:#204d45;font-size:13px;font-weight:700;line-height:1.35;letter-spacing:0;text-transform:none;box-shadow:0 2px 4px #143f4906;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.account-menu .account-space nav a>span:first-child{min-width:0;overflow-wrap:normal}
.account-menu .account-space nav a>span:last-child{flex:none;font-size:15px;opacity:.85;transition:transform .18s ease}
.account-menu .account-space nav a.account-primary-link{background:#006d66;color:#fff;border-color:#006d66;padding:10px 12px;margin:0}
.account-menu .management-space nav a{background:#c3d6db;border-color:#94b3be;color:#204b62}
.account-menu .management-space nav a.account-primary-link{background:#214f67;border-color:#214f67;color:#fff}
.account-menu [data-member-menu-users]{background:#d9d1e3!important;border-color:#b7a9c7!important;color:#523b6c!important}
.account-menu [data-member-menu-finance]{background:#e8ddbf!important;border-color:#bda77b!important;color:#674b1e!important}
.account-menu .account-space nav a:hover{background:#c6dfcf;border-color:#5f9b89;box-shadow:0 5px 11px #1c4d4b22;transform:translateY(-2px)}
.account-menu .account-space nav a.account-primary-link:hover{background:#095c55;filter:none}
.account-menu .management-space nav a.account-primary-link:hover{background:#173e54}
.account-menu .account-space nav a:hover>span:last-child{transform:translateX(3px)}
.account-menu .account-space nav a:active{transform:translateY(1px);box-shadow:none}
.account-menu .account-menu-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 17px 14px;background:#cbded8;border-top:1px solid #adc8bf}
.account-menu .account-menu-footer :is(a,button){display:flex;align-items:center;justify-content:center;gap:8px;font:650 12px/1.35 Arial,sans-serif;letter-spacing:0;text-transform:none;min-height:44px;padding:9px 12px;border:1px solid #92b4aa;border-radius:9px;color:#285950;background:#dfebe3;white-space:normal;text-align:center;flex:1;transition:transform .18s,background .18s,box-shadow .18s}
.account-menu .account-menu-footer [data-club-logout]{background:#f0dfd3;border-color:#c19e8b;color:#7e392c;min-width:0}
.account-menu .account-menu-footer :is(a,button):hover{transform:translateY(-2px);box-shadow:0 4px 10px #244a4b1a;background:#edf2e9}
.account-menu .account-menu-space-switch{display:none}
.account-menu .account-menu-more{padding:16px 17px;background:#e7efea}
.account-more-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.account-menu .account-more-heading h3{font:750 17px/1.3 Arial,sans-serif;color:#234e55;margin:0}
.account-menu [data-menu-back]{font:700 12px/1.4 Arial,sans-serif;min-height:44px;padding:9px 13px;border:1px solid #8eadab;border-radius:9px;background:#d3e3df;color:#285c57}
.account-menu .member-app-menu-links{padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.account-menu .member-app-menu-links .rubric-group{display:contents}
.account-menu .member-app-menu-links .rubric-group-label{display:none}
.account-menu .member-app-menu-links .rubric-link{margin:0;min-height:48px;padding:9px 10px;border:1px solid #b5cbc4;border-radius:9px;background:#f0f3ea;gap:10px;transition:transform .18s,background .18s}
.account-menu .member-app-menu-links .rubric-label b{font-size:12px;font-weight:700;color:#28554f;line-height:1.3}
.account-menu .member-app-menu-links .rubric-label small{display:none}
.account-menu .member-app-menu-links .rubric-icon{width:26px;flex-basis:26px;height:26px;color:#31766a}
.account-menu .member-app-menu-links .rubric-icon svg{width:19px;height:19px}
.account-menu .member-app-menu-links .rubric-arrow{color:#588d80}
.account-menu .member-app-menu-links .rubric-link:hover{background:#d3e6dc;transform:translateY(-2px)}
.account-menu.shows-rubrics .account-menu-space-switch{display:none!important}
.account-menu [hidden]{display:none!important}
/* Intermediate surfaces : keep light work areas inside a visibly branded frame. */
#admin .club-session-toolbar{background:#cbdcdb;border-color:#abc3c3;box-shadow:0 3px 10px #183f4708}
#admin .panel,#admin .club-admin-grid>.panel{background:#edf2ef;border-color:#b6cccc;box-shadow:0 4px 13px #153f4908}
#admin .panel.stat{background:#e9f0ee;border-color:#b3c8ca;border-top-color:#2e6e86}
#admin .panel.stat:nth-child(2){background:#e4e1eb;border-top-color:#77598f}
#admin .panel.stat:nth-child(3){background:#eae4d2;border-top-color:#aa7b2e}
#admin .club-admin-access{background:#bdd1d3;border-color:#91b0b6;color:#1e4b59;box-shadow:0 3px 10px #143f4908}
#admin .admin-session-symbol{background:#214f61;border-color:#214f61;color:#d7eabb}
#admin .admin-session-copy small{color:#3a5e6c}
#admin .admin-session-copy strong{font-size:15px;color:#214b59}
#admin .admin-session-copy>span{font-size:12px;color:#3d606c}
#admin .admin-session-switch{background:#e2eee4;border-color:#8eafa7;color:#27564d;font-size:12px}
#admin .club-session-toolbar .club-session-links .link{background:#dce9e6;border-color:#9dbeb6;color:#28594f;font-size:12px}
#admin .club-session-toolbar [data-club-logout]{background:#edddd2;color:#813b2d;border-color:#c5a08e;font-size:12px}
#admin .workspace-heading p{font-size:14px;color:#456471}
#admin .workspace-public-link{background:#c4d9d5;border-color:#91b4ad;color:#2c5a52;font-size:13px;min-height:44px}
#admin .notice,#admin .demo-note{background:#cadbdd;border-color:#adc6c9;border-left-color:#518b94;color:#335b66;font-size:13px}
#admin .app-main h2{font-size:24px}
#admin .app-main h3{font-size:20px}
#admin :is(p,label){font-size:14px;line-height:1.7}
#admin :is(td,li){font-size:13px;line-height:1.65}
#admin .club-admin-summary>div{background:#e4eeea;border-color:#b2c9c6;border-top-color:#468094}
#admin .club-admin-summary>div:nth-child(2){background:#eee5ce;border-top-color:#af833b}
#admin .club-admin-summary>div:nth-child(3){background:#e7deec;border-top-color:#9670aa}
#admin .club-admin-summary span{font-size:12px;color:#3f626c}
#admin .admin-rubric-nav{background:#cadbd9;border-color:#99b8b5;box-shadow:0 5px 22px #153d490f}
#admin .rubric-nav-intro{background:linear-gradient(125deg,#24575e,#143d46);border-color:#4e7779}
#admin .rubric-nav-intro .eyebrow{color:#c5d979}
#admin .rubric-nav-intro h2{color:#f1f5eb;font-size:22px}
#admin .rubric-nav-intro p{color:#c4dbd6;font-size:12px}
#admin .admin-account-card{background:#c4d8d3;border-color:#9ab8b0;border-radius:12px;padding:13px;margin:12px 10px;gap:9px}
#admin .workspace-card-label{color:#416b62}
#admin .workspace-card-person strong{font-size:13px;color:#244f4a}
#admin .workspace-card-person small{font-size:11px;color:#43675f}
#admin .workspace-card-person .workspace-avatar{background:#b6ce39;color:#29432f}
#admin .workspace-card-switch a{font-size:12px;color:#2b5a4e;background:#e4eddf;border-color:#9cbbab;min-height:43px}
#admin .workspace-card-switch a[aria-current=page]{background:#285466;border-color:#285466;color:#f2f6ee}
#admin .workspace-card-actions button{color:#366256;font-size:11px;min-height:36px}
#admin .workspace-card-actions [data-club-logout]{color:#834936}
#admin .admin-rubric-nav>.rubric-link{background:#d9e6e0;border:1px solid #b1c8bd;border-radius:10px;min-height:52px}
#admin .admin-rubric-nav .rubric-label b{font-size:13px;color:#244f4a}
#admin .admin-rubric-nav .rubric-label small{font-size:11px;color:#4d7269}
#admin .admin-rubric-nav .rubric-icon{background:#bfdad0;color:#1d7669}
#admin .admin-rubric-nav>.rubric-link:hover{background:#c1ddce;border-color:#8bb99d;transform:translateX(2px)}
#admin .admin-rubric-nav>.rubric-link.selected{background:#b6ce39;border-color:#a3b92b;color:#243d30;box-shadow:inset 3px 0 0 #5e8426}
#admin .rubric-link.selected :is(.rubric-label b,.rubric-label small,.rubric-arrow){color:#2b4734}
#admin .rubric-link.selected .rubric-icon{background:#4e6c2c;color:#f0f5db}
#admin .admin-rubric-nav>.rubric-link.selected:hover{background:#bfd74a}
/* Clearly visible primary, secondary and domain-specific actions. */
body :is(#admin,#apercu-membre,.member-manager,.directory-editor) .btn{background:#006d66;border-color:#006d66;color:#fff!important;font-size:13px;font-weight:700;min-height:46px;box-shadow:0 3px 7px #0c514c12}
body :is(#admin,#apercu-membre,.member-manager,.directory-editor) .btn.secondary{background:#cadcda;border-color:#8aafaa;color:#254f52!important}
body :is(#admin,#apercu-membre,.member-manager,.directory-editor) .btn:hover{background:#075b56;border-color:#075b56;color:#fff!important;filter:none}
body :is(#admin,#apercu-membre,.member-manager,.directory-editor) .btn.secondary:hover{background:#b8d1cd;border-color:#729e99;color:#204b4c!important}
#admin .member-preview-eye{color:#fff;background:#6d4f84;border-color:#6d4f84;font-size:12px;min-height:42px}
#admin .club-member-actions button{background:#d9d0e3;border-color:#b29fc5;color:#583e73;font-size:12px;min-height:42px}
#admin .club-member-actions button.is-danger{background:#edd4c8;color:#853a2a;border-color:#caa38f}
#admin .admin-directory-shortcuts .btn{font-size:12px;min-height:44px}
#admin .admin-directory-shortcuts .btn:nth-child(2){background:#d6cee3;border-color:#ab9ac0;color:#50386e!important}
#admin .admin-directory-shortcuts .btn:nth-child(3){background:#d8e4c1;border-color:#9fb879;color:#3a572d!important}
#admin .admin-directory-shortcuts .btn:nth-child(4){background:#c1d8e5;border-color:#8aadc3;color:#254e6b!important}
#admin :is(.club-comms-tabs button,.member-management-filters button){background:#d1dfdf;border-color:#9ab6bb;color:#2b5262;font-size:13px;min-height:44px}
#admin :is(.club-comms-tabs button,.member-management-filters button)[aria-pressed=true]{background:#28596c;border-color:#28596c;color:#f1f6ee}
#admin table{background:#edf2ef}
#admin th{background:#335d65;color:#f1f6ee;font-size:11px;border-color:#75979a;letter-spacing:.4px}
#admin tbody tr:nth-child(even){background:#dfeae6}
#admin tbody tr:hover{background:#d0e3d9}
#admin :is(th,td){border-color:#b4c9c5}
#admin :is(.table-wrap,.club-checks,.club-member-picker,.club-functions-grid form,.function-checks .club-check){background:#e4ede8;border-color:#aec7bd}
#admin :is(.function-badge,.club-variables code){background:#ddd2e7;color:#604276;border-color:#bda8cb}
#admin :is(.club-finance,.club-mail-health,.mail-service-panel,.mail-service-checks>div,.cms-field-group,.cms-history,.cms-toolbar,.fed-monitor-card,.meeting-player,.meeting-summary,.portrait-api-card,.backup-item){background:#e9f0ec;border-color:#b2c9c3}
#admin :is(.finance-balance,.finance-opening,.directory-birthday,.backup-plan,.meeting-warning){background:#eae1cb;border-color:#c6b58f;color:#67512d}
#admin .fed-monitor-summary{background:#c3d8db;border-color:#99b7be}
#admin .readiness-counts>div{background:#ded9e8;border-color:#bdb1ce}
#admin .readiness-counts b{color:#61447c}
#admin .portrait-settings pre{background:#cddddd;border-color:#9fbdbb;color:#2e565a}
#admin .cms-image-thumb{background:#d4e1dc;border-color:#a6c1b7}
#admin .club-service-paused{background:#eae0ca;border-color:#a98b53;color:#705221}
body :is(.member-manager,.directory-editor){background:#dce8e3;border-color:#90b3aa;color:#1d4546}
.member-manager .member-manager-section,.member-manager .member-manager-identity{background:#edf2e9;border-color:#abc6b9}
.member-manager .member-manager-tabs button{background:#cbded7;border-color:#93b8a7;color:#315b4e;font-size:13px;min-height:44px}
.member-manager .member-manager-tabs button[aria-pressed=true]{background:#225758;border-color:#225758;color:#f0f6eb}
#apercu-membre .preview-banner{background:#bed3d6;color:#315b67;border-color:#93b3bc}
#apercu-membre .panel{background:#edf2ea;border-color:#b0c8bc}
#apercu-membre .preview-stats>div{background:#ccdfdb}
/* The login form stays readable within the club's photographic environment. */
#connexion .member-demo-panel{background:#e3ede5;border-color:#9cc2ad}
#connexion .access-space-picker button{background:#d1e1d7;border-color:#abc6b7;color:#285449}
#connexion .access-space-picker small{color:#44685b}
#connexion [data-access-space=personnel][aria-pressed=true]{background:#b8d6c5;border-color:#4d9272;box-shadow:inset 3px 0 0 #2d7555}
#connexion [data-access-space=administration][aria-pressed=true]{background:#c0d6df;border-color:#6c98ae;box-shadow:inset 3px 0 0 #2a6884}
#connexion .access-choice-number{background:#e9efdf;color:#4c6952;border-color:#adbe9e}
#connexion .member-demo-panel .account-tabs{background:#c8dbcd;border-color:#a3bfa9}
#connexion .account-tabs button[aria-pressed=true]{background:#eaf0dc;color:#3e612f}
#connexion .member-demo-panel .tag{background:#caddce;color:#3f6850;border-color:#a7bba5}
#connexion .member-demo-panel .account-submit{background:#006d66;border-color:#006d66;color:#fff}
#connexion .member-demo-link{background:#cadcd0;border-color:#9ebda9;color:#305942}
/* Motion communicates affordance, then settles. No continuous flashing or displacement. */
:is(.btn,.account-menu a,.account-menu button,#admin button,.rubric-link,.news-tile,.partner-pair>button){transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}
@media(hover:hover){.btn:hover,#admin .btn:hover{transform:translateY(-2px);box-shadow:0 6px 14px #153f4924}.news-tile:hover,.partner-pair>button:hover{transform:translateY(-3px)}.page .panel:not(:has(form)):not(:focus-within):hover{box-shadow:0 8px 20px #153f4917}.rubric-link:hover .rubric-icon{transform:rotate(-4deg)}}
:is(.btn,#admin button,.account-menu button):active{transform:translateY(1px) scale(.99);box-shadow:none}
:is(#admin,#apercu-membre).page:not([hidden]) .panel,.account-menu .account-space{animation:ttc-surface-in .28s ease-out both}
:is(#admin,#apercu-membre) .grid>.panel:nth-child(2){animation-delay:35ms}
:is(#admin,#apercu-membre) .grid>.panel:nth-child(3){animation-delay:70ms}
.rubric-icon{transition:transform .18s ease}
body :is(a,button,summary):focus-visible{outline:3px solid #078578;outline-offset:3px}
.account-menu :is(a,button):focus-visible{outline:3px solid #37802a;outline-offset:3px}
@keyframes ttc-surface-in{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes ttc-dialog-in{from{opacity:.65;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){
 body .account-menu{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:16px}
 .account-menu .account-menu-header{padding:12px 15px;gap:10px}
 .account-menu h2{font-size:21px}
 .account-menu [data-member-menu-name]{font-size:12px}
 .account-menu [data-member-menu-email]{font-size:10px}
 .account-menu .workspace-avatar{width:37px;height:37px;flex-basis:37px;border-radius:11px;font-size:12px}
 .account-menu .account-menu-spaces,.account-menu.has-management .account-menu-spaces{grid-template-columns:1fr;padding:12px;gap:0}
 .account-menu.has-management .account-menu-space-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 12px 0;padding:4px;background:#c4d8d0;border:1px solid #9cbcae;border-radius:12px}
 .account-menu .account-menu-space-switch button{min-height:44px;border:1px solid transparent;border-radius:9px;padding:9px 10px;background:transparent;color:#315d50;font-size:12px;font-weight:700;line-height:1.4}
 .account-menu .account-menu-space-switch button[aria-pressed=true]{background:#2b5c60;border-color:#2b5c60;color:#f0f6ea;box-shadow:0 3px 8px #143f4920}
 .account-menu.has-management[data-space=personal] .management-space,.account-menu.has-management[data-space=management] .personal-space{display:none}
 .account-menu .account-space{padding:14px}
 .account-menu .account-space-heading{margin-bottom:11px}
 .account-menu .account-space h3{font-size:17px}
 .account-menu .account-space nav a{font-size:13px;min-height:61px;padding:10px 11px}
 .account-menu .account-menu-footer{padding:10px 12px 12px;gap:7px}
 .account-menu .account-menu-footer :is(a,button){flex:1;min-width:0;font-size:11px;padding:8px;min-height:46px}
 .account-menu .account-menu-more{padding:12px}
 .account-menu .account-more-heading h3{font-size:15px}
 .account-menu .member-app-menu-links{gap:6px}
 .account-menu .member-app-menu-links .rubric-link{min-height:45px;padding:8px;gap:7px}
 .account-menu .member-app-menu-links .rubric-label b{font-size:12px}
 .account-menu .member-app-menu-links .rubric-icon{width:23px;flex-basis:23px}
 #admin .admin-rubric-nav>.rubric-link{margin:2px!important;min-height:50px}
}
@media(max-height:600px) and (min-width:701px){.account-menu .account-menu-header{padding:11px 17px}.account-menu .account-menu-spaces{padding:12px;gap:12px}.account-menu .account-space{padding:13px}.account-menu .account-space nav a{min-height:54px}.account-menu .account-menu-footer{padding:9px 12px}.account-menu .member-app-menu-links .rubric-link{min-height:43px}.account-menu .account-menu-more{padding:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.account-menu,.account-menu *,#admin *,#apercu-membre *,.page .panel,.btn,.news-tile,.partner-pair>button,.rubric-icon{animation:none!important;transition:none!important;scroll-behavior:auto!important}.btn:hover,.btn:active,.account-menu :is(a,button):hover,.account-menu :is(a,button):active,#admin button:active,.news-tile:hover,.partner-pair>button:hover,.rubric-icon{transform:none!important}}
