:root{--bg:#e7ecf2;--panel:#fff;--border:#dfe6ef;--text:#162033;--muted:#68768a;--primary:#1769dc;--primary-dark:#0f55b8;--dark:#172033;--danger:#ba2f3d;--shadow:0 10px 30px rgba(30,47,78,.07);--radius:14px}*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:none}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:32px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:18px}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#2479ec,#0d54b9);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:-1px}.brand-mark.big{width:50px;height:50px;border-radius:14px;font-size:20px}.topnav{display:flex;gap:6px;flex:1}.topnav a{color:#455369;padding:9px 11px;border-radius:8px;font-weight:500}.topnav a:hover{background:#f1f5fa;color:var(--text)}.logout-form{margin:0}.main{width:100%;padding:28px clamp(18px,3vw,46px) 60px}.public-shell{min-height:100vh;background:radial-gradient(circle at 15% 5%,#e9f2ff 0,transparent 28%),radial-gradient(circle at 85% 10%,#eef4ff 0,transparent 30%),#f6f8fc}.public-main{min-height:100vh;display:grid;place-items:center;padding:30px 18px}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--border);border-radius:20px;padding:34px;box-shadow:0 24px 70px rgba(30,53,90,.12)}.auth-logo{display:flex;justify-content:center;margin-bottom:18px}.auth-card h1{text-align:center;margin:0 0 6px;font-size:29px}.auth-card>.muted{text-align:center}.auth-switch{text-align:center;margin:20px 0 0;color:var(--muted)}h1,h2,h3{line-height:1.2}h1{font-size:30px;margin:4px 0 5px}h2{font-size:19px;margin:0}h3{font-size:16px;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:var(--primary);margin:0}.muted{color:var(--muted)}.small,small{font-size:12px;color:var(--muted)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.page-head p{margin:4px 0}.back{display:inline-block;margin-bottom:7px;color:#66758b;font-weight:650}.uuid{font:12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#7a8799}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #edf1f6}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.section{margin-top:30px}.section-title{display:flex;align-items:center;gap:9px;margin:0 0 12px}.count-pill{min-width:24px;height:24px;border-radius:999px;background:#e8eff8;display:inline-flex;align-items:center;justify-content:center;color:#536176;font-size:12px;font-weight:800}.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}.player-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:13px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:16px;color:var(--text);box-shadow:0 4px 14px rgba(30,50,78,.04);transition:.18s}.player-card:hover{transform:translateY(-1px);border-color:#b9c9de;box-shadow:0 8px 20px rgba(30,50,78,.08)}.player-card p{margin:4px 0 7px;color:var(--muted);font-size:13px}.avatar{width:46px;height:46px;border-radius:12px;background:#dceafe;color:#135ac0;display:grid;place-items:center;font-size:19px;font-weight:900}.avatar.secondary{background:#e9e4fb;color:#6a45b6}.arrow{font-size:21px;color:#8795a9}.role-badge{display:inline-flex;padding:3px 8px;border-radius:999px;background:#eef2f7;color:#58667a;font-size:11px;font-weight:800}.role-badge.owner{background:#e4f3e9;color:#287744}.empty{background:#fff;border:1px dashed #cbd7e6;border-radius:13px;padding:28px;text-align:center;color:var(--muted)}.empty p{margin:5px 0 0}.empty.compact{padding:18px}.subscription-strip,.notice{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#eef5ff;border:1px solid #c9dcf8;padding:13px 16px;border-radius:12px;margin-bottom:20px}.subscription-strip span+span{color:#5e6f84}.billing-notice{background:#fff6df;border-color:#eedaa6}.billing-notice p,.notice p{margin:3px 0;color:#66758b}.stack{display:grid;gap:14px}.stack-xl{display:grid;gap:22px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.align-start{align-items:start}.form-grid{display:grid;gap:15px}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}label{display:grid;gap:6px;font-weight:700;font-size:13px;color:#3c4a5e}input,select,textarea{width:100%;border:1px solid #cbd6e3;border-radius:9px;background:#fff;padding:10px 11px;font:inherit;color:var(--text);outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#6aa2eb;box-shadow:0 0 0 3px rgba(36,121,236,.1)}input:disabled,select:disabled,textarea:disabled{background:#f4f6f9;color:#657386}textarea{resize:vertical}.btn{appearance:none;border:1px solid transparent;border-radius:9px;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-dark{background:var(--dark);color:#fff}.btn-light{background:#fff;border-color:#cbd6e3;color:var(--text)}.btn-ghost{background:transparent;border-color:#d4deea;color:#4e5c70}.btn-danger{background:#fff1f2;border-color:#f0c5ca;color:var(--danger)}.btn-sm{padding:6px 9px;font-size:12px}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.form-actions{display:flex;justify-content:flex-end;gap:10px}.alert{padding:12px 15px;border-radius:10px;margin:0 0 18px;border:1px solid}.alert-success{background:#ebf8ef;border-color:#c7e8d1;color:#216a39}.alert-error{background:#fff0f1;border-color:#f1cbd0;color:#9c2634}.access-list{display:grid;gap:8px;margin-bottom:18px}.access-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 12px;background:#f8fafc;border:1px solid #e5eaf0;border-radius:10px}.access-row div:first-child{display:grid}.access-row span{font-size:12px;color:var(--muted)}.share-form{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.price-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column}.price-card>p{min-height:46px}.price{font-size:34px;font-weight:900;margin:16px 0}.price span{font-size:13px;color:var(--muted);font-weight:650}.price-card ul{padding-left:18px;color:#536176;min-height:85px}.pay-actions{margin-top:auto;display:grid;gap:8px}.current-plan{margin-bottom:20px}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2eaf61;margin-right:7px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--border);border-radius:13px;padding:19px}.stat span{display:block;color:var(--muted);font-size:12px;font-weight:700}.stat strong{display:block;font-size:31px;margin-top:4px}.admin-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.link-panel{color:var(--text)}.link-panel p{color:var(--muted);margin-bottom:0}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:13px}table{border-collapse:collapse;width:100%;min-width:800px}th,td{padding:12px 14px;border-bottom:1px solid #e8edf3;text-align:left;vertical-align:middle}th{background:#f7f9fc;font-size:12px;color:#5d6b80;text-transform:uppercase;letter-spacing:.04em}.inline-form{display:flex;gap:6px;align-items:center}.inline-form select{width:130px}.inline-form input{width:65px}.toggle{display:flex;grid-auto-flow:column;align-items:center;gap:7px}.toggle input{width:auto}.error-page{text-align:center;padding:80px 20px}.error-code{font-size:76px;font-weight:900;color:#dbe4ef}.invitation-card p{text-align:center}.code,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f0f3f7;border-radius:5px;padding:2px 5px;font-size:12px}@media(max-width:1000px){.pricing-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-links{grid-template-columns:1fr}.form-grid.cols-3{grid-template-columns:repeat(2,1fr)}.span-3{grid-column:span 2}.topnav{overflow:auto}}@media(max-width:700px){.topbar{height:auto;padding:12px 15px;flex-wrap:wrap;gap:10px}.brand{flex:1}.topnav{order:3;width:100%;flex:0 0 100%}.topnav a{white-space:nowrap}.main{padding:20px 14px 45px}.page-head{align-items:flex-start;flex-direction:column}.grid-2,.pricing-grid,.stats-grid,.form-grid.cols-2,.form-grid.cols-3{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.share-form{grid-template-columns:1fr}.access-row{grid-template-columns:1fr auto}.access-row form{grid-column:1/-1}.auth-card{padding:26px 20px}.player-grid{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}}

/* --- Fiche joueur V6 --- */
.player-page-head{margin-bottom:16px}.player-hero{display:flex;gap:20px;align-items:center;margin-bottom:14px;padding:18px 22px}.player-avatar-wrap{flex:0 0 auto}.player-avatar{width:92px;height:92px;border-radius:18px;object-fit:cover;border:1px solid #d8e2ee;background:#eef4fb}.player-avatar-placeholder{display:grid;place-items:center;font-size:28px;font-weight:900;color:#135ac0;background:linear-gradient(145deg,#e9f2ff,#d8e8fd)}.player-hero-main{min-width:0;flex:1}.player-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.player-title-line h2{font-size:26px}.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.hero-badges span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f3f6fa;border:1px solid #e2e8f0;color:#506079;font-size:12px;font-weight:700}.player-tabs{display:flex;gap:6px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:12px;padding:7px;margin-bottom:18px;box-shadow:0 4px 15px rgba(30,47,78,.04);scrollbar-width:thin}.player-tabs a{white-space:nowrap;color:#536176;font-weight:750;font-size:13px;padding:9px 12px;border-radius:8px}.player-tabs a:hover{background:#f3f6fa}.player-tabs a.active{background:#1769dc;color:#fff}.player-tab-content{display:grid;gap:18px}.profile-photo-panel{margin-bottom:18px}.photo-actions-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.photo-preview-small{width:72px;height:72px;border-radius:14px;background:#e5effd;display:grid;place-items:center;overflow:hidden;font-size:22px;font-weight:900;color:#1769dc}.photo-preview-small img{width:100%;height:100%;object-fit:cover}.inline-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-upload input[type=file]{max-width:330px}.block-label{margin-top:15px}.grid-main-aside{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:18px;align-items:start}.evaluation-table{display:grid;gap:8px}.evaluation-row{display:grid;grid-template-columns:190px minmax(180px,1fr) minmax(220px,.8fr);gap:12px;align-items:center;padding:10px;border:1px solid #e6ebf2;border-radius:10px;background:#fbfcfe;transition:.15s}.evaluation-row.is-disabled{opacity:.48}.eval-name{display:grid;gap:4px}.mini-toggle{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:650;color:#7a8799}.mini-toggle input{width:auto}.range-wrap{display:flex;align-items:center;gap:10px}.range-wrap input[type=range]{padding:0;border:0;box-shadow:none}.score-badge{flex:0 0 auto;min-width:64px;text-align:center;padding:5px 8px;border-radius:999px;background:#edf2f8;font-size:12px;font-weight:800;color:#425268}.radar-panel canvas{display:block;width:100%;max-width:440px;height:auto;margin:auto}.snapshot-form{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end;margin-bottom:18px}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.history-card{border:1px solid #e1e7ef;border-radius:12px;padding:14px;background:#fbfcfe}.history-card-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.history-card-head>div{display:grid}.history-card-head span{font-size:12px;color:var(--muted)}.history-card-head b{font-size:18px;color:#1769dc}.history-card p{font-size:13px;color:#536176}.mini-scores{display:grid;gap:5px;margin:10px 0}.mini-scores span{position:relative;display:block;height:22px;border-radius:5px;background:#edf1f6;overflow:hidden}.mini-scores i{position:absolute;inset:0 auto 0 0;background:#cfe1fb}.mini-scores em{position:relative;z-index:1;font-style:normal;font-size:10px;line-height:22px;padding-left:6px;color:#405069}.link-danger{border:0;background:none;color:var(--danger);padding:0;cursor:pointer;font:inherit;font-size:12px;text-decoration:underline}.empty-state{padding:24px;border:1px dashed #cbd7e6;border-radius:10px;color:var(--muted);text-align:center;background:#fbfcfe}.planning-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px}.planning-toolbar p{margin:5px 0 0;color:var(--muted)}.year-nav{display:flex;align-items:center;gap:10px}.year-nav strong{font-size:22px}.planning-stats{margin:18px 0 0}.planning-layout{display:grid;grid-template-columns:minmax(390px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}.calendar-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;text-align:center;margin-bottom:12px}.calendar-head a{font-size:28px;color:#536176}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays span{text-align:center;color:#7b8799;font-size:11px;font-weight:800;padding:5px}.days .day,.days .blank{min-height:64px;border-radius:8px}.days .day{border:1px solid #e4e9f0;background:#fff;padding:7px;display:grid;align-content:start;color:#38475d}.days .day:hover{border-color:#9ab9e3;background:#f7faff}.days .day.worked{background:#eef6ff;border-color:#a9c8f2}.days .day.selected{background:#1769dc;border-color:#1769dc;color:#fff}.days .day b{font-size:13px}.days .day small{font-size:9px;color:inherit;opacity:.75}.theme-groups{display:grid;gap:8px;max-height:500px;overflow:auto;padding-right:4px}.theme-axis{border:1px solid #e1e7ef;border-radius:9px;background:#fbfcfe}.theme-axis summary{cursor:pointer;padding:9px 11px;font-weight:800;color:#34445a}.theme-axis>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:0 9px 10px}.theme-check{display:flex;grid-auto-flow:column;grid-template-columns:auto 1fr;align-items:start;gap:7px;padding:7px;border-radius:7px;background:#fff;border:1px solid #edf1f5;font-size:12px;font-weight:650}.theme-check input{width:auto;margin-top:2px}.day-note-fields{display:grid;grid-template-columns:160px 1fr;gap:12px;margin:15px 0}.section-summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center}.section-summary span{font-size:12px;color:var(--muted)}#axes-editor{display:grid;gap:12px;margin-top:16px}.axis-editor-row{border:1px solid #dfe6ef;border-radius:10px;padding:12px;background:#fafcfe}.axis-editor-head{display:grid;grid-template-columns:minmax(200px,1fr) auto auto;gap:8px;align-items:center}.axis-label{font-weight:800}.theme-editor-list{display:grid;gap:6px;margin:9px 0 0 18px}.theme-editor-row{display:grid;grid-template-columns:1fr 34px;gap:6px}.icon-btn{border:1px solid #d6dfea;border-radius:8px;background:#fff;color:#9c2634;font-weight:900;cursor:pointer}.message-thread{display:grid;gap:10px;max-height:650px;overflow:auto;padding:4px}.message{max-width:78%;border-radius:13px;padding:12px 14px;border:1px solid #e0e7ef;background:#f7f9fc;position:relative}.message.mine{margin-left:auto;background:#eef5ff;border-color:#cfe0f8}.message.private{box-shadow:inset 3px 0 #a96ad4}.message-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:11px;color:#778499}.message-meta strong{color:#3b4b61}.message-meta b{color:#7a3d99}.message-body{margin-top:6px;white-space:normal}.message-edit{margin-top:8px}.message-edit summary{font-size:11px;cursor:pointer;color:#5f7086}.message-edit form{display:grid;gap:8px;margin-top:7px}.message-delete{margin-top:5px}.message-compose{display:grid;gap:10px;margin-top:16px;border-top:1px solid #e5eaf0;padding-top:16px}.compose-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.notebook-new{margin-bottom:16px;border:1px dashed #bfcddd;border-radius:11px;padding:12px}.notebook-new>summary{cursor:pointer;font-weight:800}.notebook-form{display:grid;gap:10px;margin-top:12px}.notebook-options{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.notebook-options label:not(.toggle){min-width:130px}.notebook-options input[type=color]{height:41px;padding:3px}.notebook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:13px}.notebook-card{border:1px solid #dce4ed;border-radius:12px;padding:14px;background:linear-gradient(90deg,var(--note-color) 0 7px,#fff 7px);box-shadow:0 4px 12px rgba(30,47,78,.04)}.notebook-card.pinned{border-color:#b7c7da}.notebook-head{display:flex;justify-content:space-between;gap:10px}.priority{font-size:10px;border-radius:999px;padding:3px 7px;background:#eef2f7;color:#607087}.priority.high{background:#fee9eb;color:#a52d3b}.priority.low{background:#eaf5ed;color:#39754a}.notebook-card p{color:#45556b}.tag-row{display:flex;gap:5px;flex-wrap:wrap}.tag-row span{font-size:10px;background:#edf2f7;color:#506079;border-radius:999px;padding:3px 7px}.notebook-card footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:12px}.notebook-card details summary{cursor:pointer;font-size:11px;color:#536176}.notebook-form.compact{min-width:270px}.highlight-new{border:1px dashed #c4d1e0;border-radius:11px;padding:12px;margin-bottom:18px}.highlight-new>summary{font-weight:800;cursor:pointer}.highlight-form{margin-top:12px}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:42px 1fr;gap:12px;position:relative;padding:0 0 18px}.timeline-item:not(:last-child)::before{content:"";position:absolute;left:20px;top:36px;bottom:0;width:2px;background:#e1e7ef}.timeline-dot{width:40px;height:40px;border-radius:50%;background:#eef5ff;border:1px solid #c8dcf8;display:grid;place-items:center;z-index:1}.timeline-content{border:1px solid #e1e7ef;border-radius:11px;padding:13px;background:#fbfcfe}.timeline-head{display:flex;justify-content:space-between;gap:12px}.timeline-head>div{display:grid}.timeline-head span{font-size:11px;color:var(--muted)}.highlight-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.highlight-chips span{background:#eef2f7;border-radius:999px;padding:4px 8px;font-size:11px;color:#506079}.timeline-content p{margin-bottom:0;color:#536176}.activity-list{display:grid}.activity-row{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f5}.activity-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf3fa}.activity-row>div{display:grid}.activity-row small{margin-top:2px}
@media(max-width:1100px){.grid-main-aside,.planning-layout{grid-template-columns:1fr}.radar-panel canvas{max-width:380px}.evaluation-row{grid-template-columns:160px 1fr}.evaluation-row .range-wrap{grid-column:1/-1}.theme-axis>div{grid-template-columns:1fr}.snapshot-form{grid-template-columns:1fr 1fr}.snapshot-form .btn{grid-column:1/-1}.player-tabs{position:relative}}
@media(max-width:700px){.player-hero{align-items:flex-start}.player-avatar{width:68px;height:68px}.player-title-line h2{font-size:21px}.hero-badges{gap:5px}.hero-badges span{font-size:10px;padding:4px 7px}.evaluation-row{grid-template-columns:1fr}.evaluation-row .range-wrap{grid-column:auto}.snapshot-form,.axis-editor-head,.day-note-fields{grid-template-columns:1fr}.calendar-panel{padding:14px}.days .day,.days .blank{min-height:48px}.days .day small{display:none}.compose-actions,.notebook-card footer,.planning-toolbar{align-items:stretch;flex-direction:column}.message{max-width:94%}.notebook-grid{grid-template-columns:1fr}.photo-actions-row,.inline-upload{align-items:stretch;flex-direction:column}.inline-upload input[type=file]{max-width:none}}
.avatar{overflow:hidden}.avatar-img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}

/* Alpha 12 — SMTP, comptes, abonnements et administration SaaS */
.top-gap{margin-top:18px}.auth-forgot{text-align:right;margin-top:-5px}.auth-forgot a{font-size:12px;font-weight:700}.account-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.account-status-card{display:grid;gap:5px}.account-status-card strong{font-size:18px}.compact-list{display:grid}.compact-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #edf1f6}.compact-row:last-child{border-bottom:0}.compact-row>div{display:grid}.compact-actions{display:flex!important;grid-auto-flow:column;align-items:center;gap:10px}.danger-zone{margin-top:22px;border-color:#efc8cd;background:#fffafb}.danger-zone h2{color:var(--danger)}.danger-zone details>summary{width:max-content;list-style:none}.danger-form{margin-top:16px;max-width:520px}.btn-danger-outline{background:#fff;border-color:#e2aeb5;color:var(--danger)}.btn-danger-outline:hover{background:#fff2f3}.billing-current{display:flex;align-items:center;justify-content:space-between;gap:18px}.billing-manage-actions{display:flex;gap:8px;flex-wrap:wrap}.price-card.is-current{border-color:#7cadf0;box-shadow:0 0 0 2px rgba(23,105,220,.08),var(--shadow)}.warning-text{color:#8b5b13}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:#eef2f7;color:#526176;font-size:11px;font-weight:800}.status-active,.status-trialing{background:#e5f6eb;color:#257143}.status-past_due,.status-unpaid{background:#fff0df;color:#9a5a0c}.status-cancelled,.status-disabled,.status-deleted{background:#fff0f1;color:#9c2634}.status-pending{background:#edf2f7;color:#59677a}.admin-stats-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.stat small{display:block;margin-top:4px}.admin-user-actions{min-width:320px}.subscription-admin-form{margin-top:7px;flex-wrap:wrap}.checkline{display:flex;grid-auto-flow:column;grid-template-columns:auto 1fr;align-items:center;justify-content:start;gap:9px;padding:12px;border:1px solid #dce4ee;border-radius:10px;background:#fafcfe}.checkline input{width:auto}.table-actions{white-space:nowrap}.billing-invoices{margin-top:22px}
@media(max-width:1000px){.account-status-grid,.admin-stats-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-current{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.account-status-grid,.admin-stats-wide{grid-template-columns:1fr}.compact-row{align-items:flex-start;flex-direction:column}.compact-actions{display:flex!important}.billing-manage-actions{width:100%;flex-direction:column}.billing-manage-actions form,.billing-manage-actions .btn{width:100%}}
.verify-email-change{margin-top:18px;border-top:1px solid #edf1f6;padding-top:14px}.verify-email-change>summary{cursor:pointer;color:#536176;font-weight:700;font-size:13px}

/* Alpha 13 — administration structurée */
.topnav-dropdown{position:relative;display:flex;align-items:center}
.topnav-dropdown summary{list-style:none;cursor:pointer;color:#455369;padding:9px 11px;border-radius:8px;font-weight:500;white-space:nowrap}
.topnav-dropdown summary::-webkit-details-marker{display:none}
.topnav-dropdown summary:hover,.topnav-dropdown[open] summary{background:#f1f5fa;color:var(--text)}
.topnav-dropdown-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:7px;box-shadow:0 18px 45px rgba(20,40,75,.16);z-index:50;display:grid;gap:2px}
.topnav-dropdown-menu a{display:block;padding:9px 11px;border-radius:8px;color:#455369;white-space:nowrap}
.topnav-dropdown-menu a:hover{background:#f1f5fa;color:var(--text)}
.admin-section-nav{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:11px 12px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 18px rgba(30,47,78,.04)}
.admin-section-select{min-width:230px;display:flex;align-items:center;gap:9px;font-size:12px;white-space:nowrap}
.admin-section-select select{min-width:150px;padding:8px 9px}
.admin-section-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.admin-section-links a{padding:8px 10px;border-radius:8px;color:#56657a;font-size:13px;font-weight:700}
.admin-section-links a:hover{background:#f2f5f9;color:var(--text)}
.admin-section-links a.active{background:#eaf2fd;color:#145dbf}
.admin-filter-bar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:16px}
.admin-filter-bar label{min-width:130px}
.admin-filter-bar .admin-search-grow{flex:1 1 300px;min-width:220px}
.admin-filter-bar-compact .admin-search-grow{max-width:none}
.admin-filter-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px}
.admin-result-meta{margin:0 0 9px;color:var(--muted);font-size:13px}
.admin-add-dropdown{position:relative}
.admin-add-dropdown>summary{list-style:none}
.admin-add-dropdown>summary::-webkit-details-marker{display:none}
.admin-add-popover{position:absolute;right:0;top:calc(100% + 10px);width:min(720px,calc(100vw - 36px));max-height:calc(100vh - 130px);overflow:auto;background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 24px 60px rgba(20,40,75,.19);z-index:45}
.admin-add-popover:before{content:"";position:absolute;right:22px;top:-7px;width:13px;height:13px;background:#fff;border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}
.admin-user-actions{min-width:310px}
.admin-user-actions .inline-form{margin:3px 0}
.pagination{display:flex;align-items:center;gap:6px;margin-top:16px;flex-wrap:wrap}
.pagination a{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#4f5e72;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.pagination a.active{background:var(--primary);border-color:var(--primary);color:#fff}
.plan-admin-card{position:relative}
.plan-delete-row{display:flex;justify-content:flex-start;align-items:center;margin-top:13px;padding-top:13px;border-top:1px solid #edf1f6}
@media(max-width:1000px){.admin-section-links{display:none}.admin-section-select{width:100%}.admin-section-select select{flex:1}.admin-section-nav{display:block}.admin-add-popover{position:fixed;left:18px;right:18px;top:90px;width:auto;max-height:calc(100vh - 120px)}}
@media(max-width:700px){.topnav-dropdown{position:static}.topnav-dropdown-menu{left:10px;right:10px;top:auto;margin-top:44px}.admin-filter-bar{display:grid;grid-template-columns:1fr}.admin-filter-bar label,.admin-filter-bar .admin-search-grow{min-width:0;width:100%}.admin-filter-actions{padding:0}.admin-add-dropdown{width:100%}.admin-add-dropdown>summary{width:100%;justify-content:center}.page-head:has(.admin-add-dropdown){align-items:stretch;flex-direction:column}.admin-add-popover .form-grid.cols-2,.admin-add-popover .form-grid.cols-3{grid-template-columns:1fr}.admin-add-popover .span-2,.admin-add-popover .span-3{grid-column:span 1}}


/* Alpha 15 — identité visuelle et actions de compte à droite */
.brand-logo{width:42px;height:42px;display:block;object-fit:cover;border-radius:11px;flex:0 0 42px}
.auth-brand-logo{width:92px;height:92px;display:block;object-fit:cover;border-radius:22px;box-shadow:0 10px 28px rgba(14,38,76,.14)}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-left:auto;white-space:nowrap}
.topbar-account{color:#455369;padding:9px 11px;border-radius:8px;font-weight:650}
.topbar-account:hover{background:#f1f5fa;color:var(--text)}
.topbar-actions .logout-form{display:flex;align-items:center}
@media(max-width:1000px){.brand>span:last-child{display:none}.topbar{gap:16px}.topnav{min-width:0}.topbar-actions{flex:0 0 auto}}
@media(max-width:700px){.brand-logo{width:38px;height:38px;flex-basis:38px}.topbar-actions{order:2;margin-left:auto;gap:4px}.topbar-account,.topnav-dropdown summary{padding:7px 8px;font-size:12px}.topbar-actions .btn{padding:7px 8px}.topnav{order:3}.topnav-dropdown{position:relative}.topnav-dropdown-menu{left:auto;right:0;top:calc(100% + 8px);margin-top:0}}

/* Alpha 15 — contraste et version de release */
.brand-copy{display:grid;gap:1px;line-height:1.05}.brand-copy strong{font:inherit}.brand-copy small{font-size:10px;line-height:1.1;color:#7a8799;font-weight:800;letter-spacing:.035em;text-transform:none}.app-shell .main{background:var(--bg);min-height:calc(100vh - 68px)}
@media(max-width:1000px){.brand-copy{display:none}}

/* Alpha 16 — front office public et onboarding */
.marketing-shell{min-height:100vh;background:#f3f6fa}.public-topbar{height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 clamp(18px,4vw,58px);gap:34px;position:sticky;top:0;z-index:40;backdrop-filter:blur(12px)}.public-brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:18px}.public-nav{display:flex;align-items:center;gap:6px;flex:1}.public-nav a{color:#526176;padding:9px 11px;border-radius:9px;font-weight:700}.public-nav a:hover{background:#eef3f8;color:var(--text)}.public-nav-actions{display:flex;align-items:center;gap:8px}.marketing-main{width:min(1240px,calc(100% - 36px));margin:0 auto;padding:64px 0 80px}.public-shell .public-main{min-height:calc(100vh - 136px);padding:40px 18px}.public-footer{min-height:64px;border-top:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px clamp(18px,4vw,58px);color:#68768a;font-size:12px}.public-footer>div{display:flex;align-items:center;gap:10px}.public-footer nav{display:flex;gap:18px}.public-footer a{color:#5b687b}.marketing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:64px;align-items:center;padding:30px 0 78px}.marketing-hero-copy h1{font-size:clamp(42px,5.8vw,72px);letter-spacing:-.045em;max-width:780px;margin:13px 0 20px}.marketing-lead{font-size:19px;color:#607086;max-width:720px;margin:0;line-height:1.7}.marketing-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn-lg{padding:13px 19px;font-size:15px}.marketing-note{font-size:13px;color:#6b788b;margin:14px 0 0}.marketing-hero-preview{padding:0;overflow:hidden;transform:rotate(1deg);box-shadow:0 30px 80px rgba(28,51,87,.14)}.hero-preview-head{height:48px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:7px;padding:0 16px;color:#68768a}.hero-preview-head strong{margin-left:8px;color:#334155}.hero-preview-dot{width:8px;height:8px;background:#dce3ec;border-radius:50%}.hero-preview-player{display:flex;align-items:center;gap:14px;padding:24px}.hero-preview-player>div:last-child{display:grid;gap:3px}.hero-preview-avatar{width:54px;height:54px;border-radius:15px;background:#0f3157;color:#fff;display:grid;place-items:center;font-weight:900}.hero-preview-bars{display:grid;gap:9px;padding:0 24px 24px}.hero-preview-bars span{height:9px;border-radius:999px;background:linear-gradient(90deg,#1769dc var(--v),#e8eef6 var(--v))}.hero-preview-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}.hero-preview-grid>div{display:grid;gap:2px;padding:18px 20px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.hero-preview-grid>div:nth-child(2n){border-right:0}.hero-preview-grid small{color:#78869a}.marketing-section{padding:70px 0}.marketing-section-head{max-width:720px;margin:0 auto 34px;text-align:center}.marketing-section-head h2,.marketing-page-head h1,.marketing-cta h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.025em;margin:8px 0 12px}.marketing-section-head>p:last-child,.marketing-page-head>p{color:#68768a;font-size:16px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 6px 24px rgba(30,47,78,.045)}.feature-card>span{font-size:25px}.feature-card h3{font-size:18px;margin:13px 0 8px}.feature-card p{margin:0;color:#68768a;line-height:1.65}.public-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.public-pricing-grid-wide{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.public-price-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:25px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.public-price-card.selected{border-color:#78a9e9;box-shadow:0 0 0 2px rgba(23,105,220,.1),var(--shadow)}.public-price-card h2,.public-price-card h3{margin:0}.public-price-card p{margin:0;color:#68768a;min-height:42px}.public-price-card small{display:block;min-height:38px}.public-price{font-size:31px;font-weight:900;letter-spacing:-.03em}.public-price span{font-size:12px;color:#758296;font-weight:700;margin-left:4px}.public-price-card .btn,.public-price-card form{margin-top:auto}.price-features{list-style:none;padding:0;margin:0 0 4px;display:grid;gap:8px;color:#526176;font-size:13px}.marketing-center{text-align:center;margin-top:25px;font-weight:800}.marketing-page-head{text-align:center;max-width:850px;margin:0 auto 42px}.public-trial-badge{display:inline-flex;margin-top:10px;padding:8px 12px;border-radius:999px;background:#e8f4ed;color:#267447;font-weight:800;font-size:13px}.marketing-payment-note{margin-top:28px}.marketing-payment-note p{margin:5px 0 0;color:#68768a}.marketing-cta{margin-top:60px;background:#12263f;color:#fff;border-radius:22px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:28px}.marketing-cta .eyebrow{color:#8cb8f1}.marketing-cta p{color:#c7d3e2;margin:5px 0 0}.marketing-cta h2{margin:5px 0}.auth-card-wide{width:min(520px,100%)}.register-plan-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;background:#eef5ff;border:1px solid #c9dcf8;border-radius:11px;padding:11px 12px;margin:16px 0}.register-plan-choice span{font-size:11px;text-transform:uppercase;font-weight:900;color:#61728a}.register-plan-choice strong{font-size:13px}.register-plan-choice a{font-size:12px;font-weight:800}.onboarding-shell{width:min(1120px,100%);margin:0 auto}.onboarding-head{text-align:center;margin:12px auto 28px;max-width:720px}.onboarding-head h1{font-size:38px;margin:8px 0}.onboarding-head p:last-child{color:#68768a}.onboarding-steps{display:flex;align-items:center;justify-content:center;max-width:690px;margin:0 auto 28px}.onboarding-step{display:flex;align-items:center;gap:10px;color:#7a8799}.onboarding-step>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e4e9ef;font-weight:900}.onboarding-step>div{display:grid}.onboarding-step small{font-size:11px}.onboarding-step.active,.onboarding-step.done{color:#1e4f8d}.onboarding-step.active>span{background:#1769dc;color:#fff}.onboarding-step.done>span{background:#dff4e7;color:#277244}.onboarding-line{height:2px;background:#dfe5ed;width:90px;margin:0 15px}.onboarding-panel{padding:25px}.onboarding-selected{background:#f4f8fd;border:1px solid #dbe7f6;border-radius:10px;padding:11px 13px;margin-bottom:16px;color:#526176}.onboarding-pricing{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.onboarding-pay-actions{display:grid;gap:7px;margin-top:auto}.onboarding-pay-actions form{display:block;margin:0}.trial-continue{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f0faf4;border:1px solid #ccead7;border-radius:12px;padding:15px 17px;margin-top:18px}.trial-continue p{margin:3px 0;color:#607369}.onboarding-player-form{max-width:820px}.onboarding-secondary{display:flex;justify-content:center;margin-top:18px}
@media(max-width:980px){.marketing-hero{grid-template-columns:1fr;gap:34px}.marketing-hero-preview{max-width:620px;transform:none}.feature-grid,.public-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-cta{align-items:flex-start;flex-direction:column}.public-nav{display:none}}
@media(max-width:680px){.public-topbar{height:auto;min-height:66px;padding:10px 14px;gap:8px}.public-brand .brand-copy{display:none}.public-nav-actions{margin-left:auto}.public-nav-actions .btn{padding:7px 8px;font-size:11px}.marketing-main{width:min(100% - 28px,1240px);padding:36px 0 55px}.marketing-hero{padding:10px 0 45px}.marketing-hero-copy h1{font-size:40px}.marketing-lead{font-size:16px}.feature-grid,.public-pricing-grid{grid-template-columns:1fr}.marketing-section{padding:46px 0}.marketing-cta{padding:26px}.public-footer{align-items:flex-start;flex-direction:column}.onboarding-steps{align-items:flex-start}.onboarding-step>div{display:none}.onboarding-line{width:55px;margin-top:17px}.trial-continue{align-items:stretch;flex-direction:column}.onboarding-player-form{grid-template-columns:1fr}.onboarding-player-form .span-2{grid-column:span 1}}

/* Alpha 17 — navigation publique connectée, favicon et support */
.topbar-support{display:inline-flex;align-items:center;gap:6px;color:#455369;padding:9px 11px;border-radius:8px;font-weight:650}.topbar-support:hover{background:#f1f5fa;color:var(--text)}
.public-nav-actions .logout-form{display:flex;align-items:center}.public-nav-actions form{margin:0}
.support-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}.support-ticket-list{display:grid;gap:9px}.support-ticket-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px 14px;border:1px solid #e3e9f1;border-radius:11px;background:#fbfcfe;color:var(--text)}.support-ticket-row:hover{border-color:#bfd0e3;background:#fff}.support-ticket-row>div:first-child{display:grid;gap:4px}.support-ticket-row span{font-size:12px;color:var(--muted)}.support-ticket-meta{display:grid;justify-items:end;gap:5px}.support-status-open{background:#eaf3ff;color:#205fae}.support-status-pending{background:#fff5dd;color:#8b6412}.support-status-resolved{background:#e8f7ed;color:#277344}.support-status-closed{background:#edf1f5;color:#647083}.support-head-actions{display:flex;align-items:center;gap:8px}.support-head-actions form{margin:0}.support-thread{max-width:1040px;margin:0 auto}.support-messages{display:grid;gap:12px}.support-message{max-width:78%;border-radius:15px;padding:13px 15px;border:1px solid #dfe6ef}.support-message-user{justify-self:start;background:#fff}.support-message-admin{justify-self:end;background:#edf5ff;border-color:#cddff4}.support-message-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:7px}.support-message-head small{white-space:nowrap}.support-message-body{white-space:normal;overflow-wrap:anywhere;color:#2d3b4e}.support-reply-form{border-top:1px solid #e8edf3;margin-top:22px;padding-top:20px}.admin-support-thread{max-width:none}.support-external-note{margin-top:18px;background:#f7f9fc}.support-external-note p{margin:6px 0 0;color:var(--muted)}.table-subline{display:block;margin-top:3px}.admin-filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) 180px 220px auto auto;gap:10px;align-items:end;margin-bottom:16px}.admin-filter-bar label{margin:0}.admin-filter-bar .btn{height:40px}
@media(max-width:980px){.support-layout{grid-template-columns:1fr}.admin-filter-bar{grid-template-columns:1fr 1fr}.admin-filter-bar .btn{width:100%}}
@media(max-width:700px){.topbar-support span{display:none}.support-ticket-row{grid-template-columns:1fr}.support-ticket-meta{justify-items:start}.support-message{max-width:94%}.support-head-actions{width:100%;justify-content:space-between}.admin-filter-bar{grid-template-columns:1fr}}

/* --- Alpha 18 : navigation latérale / branding --- */
.app-topbar{gap:16px}.topbar-spacer{flex:1}.sidebar-toggle{display:none;border:1px solid #d4deea;background:#fff;border-radius:8px;padding:7px 9px;font-size:18px;cursor:pointer}.brand-logo-shell{width:42px;height:42px;border-radius:10px;background:#071a33;display:grid;place-items:center;padding:4px;overflow:hidden;box-shadow:0 2px 8px rgba(7,26,51,.18)}.brand-logo-shell .brand-logo{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.brand-copy{display:grid;line-height:1.05}.brand-copy small{margin-top:4px;font-size:11px;font-weight:800;color:#708096}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-global-link,.topbar-support,.topbar-account{color:#455369;font-weight:500;padding:7px 9px;border-radius:8px}.topbar-global-link:hover,.topbar-support:hover{background:#f1f5fa}.app-sidebar{position:fixed;left:0;top:68px;bottom:0;width:238px;background:#0b1d32;color:#dce7f5;border-right:1px solid #142b48;z-index:18;overflow-y:auto;padding:18px 12px}.sidebar-group{display:grid;gap:4px;margin-bottom:18px}.sidebar-group-title{padding:4px 11px 7px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600;color:#8196b2}.sidebar-nav a{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:9px;color:#dce7f5;font-weight:500}.sidebar-nav a:hover{background:#132c4b;color:#fff}.sidebar-nav a.active{background:#1769dc;color:#fff}.has-app-sidebar .main{margin-left:238px;width:calc(100% - 238px)}.account-dropdown summary{min-width:110px}.public-brand .brand-logo-shell{width:46px;height:46px}.public-brand{display:flex;align-items:center;gap:10px}.agenda-share-box,.agenda-types-box,.calendar-source-box,.tt-share-box{background:#fff;border:1px solid var(--border);border-radius:12px;padding:15px;margin:12px 0}.share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.share-list{display:grid;gap:8px;margin-top:12px}.share-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;background:#f7f9fc;border:1px solid #e4eaf2;border-radius:9px}.event-types-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.event-type-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #dce4ee;border-radius:999px;padding:5px 9px;background:#fff}.event-type-dot{width:10px;height:10px;border-radius:50%}.account-subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.account-anchor{scroll-margin-top:92px}.read-only-banner{background:#fff7dd;border:1px solid #edd99a;padding:11px 14px;border-radius:9px;margin:12px 0;color:#755a12}.esj-grid-head .day-short{display:none}.esj-grid-head .day-full{display:inline}
@media(max-width:1050px){.sidebar-toggle{display:inline-flex}.app-sidebar{transform:translateX(-100%);transition:transform .2s}.app-sidebar.open{transform:translateX(0)}.has-app-sidebar .main{margin-left:0;width:100%}.topbar-global-link{display:none}.topbar-actions{gap:4px}.topbar-support span{display:none}}
@media(max-width:760px){.brand-logo-shell{width:38px;height:38px}.topbar-actions details summary{font-size:12px}.esj-grid-head .day-full{display:none}.esj-grid-head .day-short{display:inline}.share-grid{grid-template-columns:1fr}}

/* --- Alpha 21 : en-tête harmonisé, support robuste, paiement d'essai et chat PJ --- */
.support-icon{width:18px;height:18px;display:inline-block;flex:0 0 18px;vertical-align:-3px}
.app-topbar{background:#123b66;border-bottom-color:#1e4d78;box-shadow:0 2px 10px rgba(7,26,51,.16)}
.app-topbar .brand{color:#fff}.app-topbar .brand-copy small{color:#bdd1e5}
.app-topbar .topbar-global-link,.app-topbar .topbar-support,.app-topbar .topnav-dropdown summary{color:#f2f7fc}
.app-topbar .topbar-global-link:hover,.app-topbar .topbar-support:hover,.app-topbar .topnav-dropdown summary:hover,.app-topbar .topnav-dropdown[open] summary{background:rgba(255,255,255,.12);color:#fff}
.app-topbar .btn-ghost{color:#fff;border-color:rgba(255,255,255,.38)}.app-topbar .btn-ghost:hover{background:rgba(255,255,255,.12)}
.app-topbar .sidebar-toggle{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3)}
.app-topbar .topnav-dropdown-menu{background:#fff}.app-topbar .topnav-dropdown-menu a{color:#455369}.app-topbar .topnav-dropdown-menu a:hover{background:#f1f5fa;color:var(--text)}
.esj-chat-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.esj-chat-att{display:flex;align-items:center;gap:8px;max-width:100%;padding:7px 9px;background:#f8fafc;border:1px solid #dbe3ea;border-radius:10px;text-decoration:none!important;color:#0f172a!important}.esj-chat-att:hover{background:#eef6ff;border-color:#93c5fd}.esj-chat-att img{width:54px;height:42px;object-fit:cover;border-radius:7px;border:1px solid #e2e8f0;background:#fff}.esj-chat-att-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#e0f2fe;font-size:18px;flex:0 0 auto}.esj-chat-att-name{font-size:12px;font-weight:700;line-height:1.25;word-break:break-word}.esj-chat-pending-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:7px;background:#f8fafc;border:1px dashed #94a3b8;border-radius:10px}.esj-chat-pending-attachments[hidden]{display:none}.esj-chat-pending-item{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #dbe3ea;border-radius:999px;padding:4px 8px;font-size:12px;max-width:100%}.esj-chat-pending-item span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.esj-chat-pending-item button{border:0;background:transparent;color:#b91c1c;cursor:pointer;padding:0;font-weight:800;font-size:15px}.esj-attach-insert{display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;background:linear-gradient(135deg,#0b2a4a,#0f62fe 55%,#20c997)!important;color:#fff!important;border:0!important;border-radius:999px!important;min-width:34px;height:30px}.esj-chat-actions{align-items:center}.esj-chat-actions>.description{margin-right:auto;font-size:10px}.tp-admin-delete-player{border-color:#d89da6!important;color:#9f2635!important;background:#fff5f6!important;margin-left:8px!important}.tp-admin-delete-player:hover{background:#ffe9ec!important}.account-subscribe-cta{margin-top:7px;width:max-content}.trial-billing-callout{display:flex;align-items:center;justify-content:space-between;gap:18px}.trial-billing-callout p{margin:4px 0 0;color:var(--muted)}#choose-plan{scroll-margin-top:92px}.trial-subscription-strip .btn{margin-left:auto}
@media(max-width:760px){.trial-billing-callout{align-items:stretch;flex-direction:column}.trial-subscription-strip{align-items:stretch;flex-direction:column}.trial-subscription-strip .btn{margin-left:0}.esj-chat-actions{align-items:stretch;flex-direction:column}.esj-chat-actions>.description{margin-right:0}}

.payment-config-hint{display:block;margin-top:5px;color:#9a5d16;text-align:center;line-height:1.3}


/* --- Alpha 22 : TODO administrateur + séparation cours + support près du logo --- */
.app-topbar .brand-support-link{margin-left:2px;color:#f2f7fc;border-left:1px solid rgba(255,255,255,.22);padding-left:14px}
.app-topbar .brand-support-link:hover{background:rgba(255,255,255,.12);color:#fff}
.topbar-todo{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:800;padding:7px 9px;border-radius:8px}
.topbar-todo:hover{background:rgba(255,255,255,.12);color:#fff}
.todo-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#f59e0b;color:#1f2937;font-size:11px;font-weight:900}
.admin-todo-card{padding:16px 0;border-bottom:1px solid var(--border)}.admin-todo-card:last-child{border-bottom:0}.admin-todo-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-todo-card p{margin:8px 0}.admin-todo-command{background:#0b1d32;color:#e8f1fb;padding:12px 14px;border-radius:9px;overflow:auto;font-size:13px}
@media(max-width:760px){.app-topbar .brand-support-link span{display:none}.app-topbar .brand-support-link{padding-left:9px}.topbar-todo .todo-label{display:none}.topbar-todo .todo-count{font-size:10px}}

/* Alpha 34 — icônes colorées de navigation */
.sidebar-nav a .sidebar-icon{width:22px;height:22px;flex:0 0 22px;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}.sidebar-nav a.active .sidebar-icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.2)) saturate(1.08)}


/* Alpha 35 — compte Joueur gratuit à vie et rattachement de fiche */
.free-subscription-strip{background:#ecf9f0;border-color:#bfe3c9}.free-subscription-strip>span:first-child{font-weight:900;color:#226b3a}.free-billing-callout{background:#effaf3;border-color:#bfe3c9}.free-billing-callout strong{color:#226b3a}.free-plan-card{border-color:#b9dfc5;box-shadow:0 10px 30px rgba(39,121,68,.08)}.player-account-invite-box{background:linear-gradient(135deg,#eef7ff,#f2fbf5);border:1px solid #cbdfea;border-radius:13px;padding:16px;margin-bottom:16px}.player-account-invite-box h3{margin-bottom:5px}.player-account-invite-box p{margin:4px 0 12px;color:var(--muted)}.player-account-linked{display:flex;align-items:flex-start;gap:10px;background:#edf9f1;border:1px solid #bfe3c9;color:#245f38;border-radius:12px;padding:13px 15px;margin-bottom:16px}.exercise-free-notice{background:#fff8e7;border:1px solid #edd9a0;border-radius:12px;padding:13px 15px;margin-bottom:16px;color:#6e571c}.player-free-hero{background:linear-gradient(135deg,#eef7ff,#f1fbf4);border-color:#c9dfd0}.role-badge.player{background:#e7f6ec;color:#26713e}


/* Alpha 37 — choix de profil à l’inscription */
.account-type-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 2px}
.account-type-choice{display:block;position:relative;cursor:pointer}
.account-type-choice input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.account-type-choice span{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cbd6e3;border-radius:11px;background:#f8fafc;color:#334155;font-size:14px;font-weight:850;transition:border-color .15s,background .15s,color .15s,box-shadow .15s,transform .15s}
.account-type-choice:hover span{border-color:#91b8ea;background:#f2f7fd}
.account-type-choice input:checked+span{background:#1769dc;border-color:#1769dc;color:#fff;box-shadow:0 0 0 3px rgba(23,105,220,.12)}
.account-type-choice input:focus-visible+span{outline:3px solid rgba(23,105,220,.22);outline-offset:2px}
.account-type-choice:active span{transform:translateY(1px)}
.admin-account-form{display:grid;grid-template-columns:minmax(115px,1fr) minmax(105px,1fr) auto;gap:6px;align-items:center;margin:4px 0 7px}
.admin-account-form select{width:100%;min-width:0;padding:7px 8px;font-size:12px}
@media(max-width:700px){.account-type-picker{grid-template-columns:1fr}.admin-account-form{grid-template-columns:1fr 1fr}.admin-account-form .btn{grid-column:1/-1}}

/* Alpha44: subscription grace and compact account controls. */
.tp-grace-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 18px;padding:14px 16px;border:1px solid #e6c26f;border-radius:10px;background:#fffbeb;color:#78350f;font-size:14px}.tp-grace-notice strong{font-weight:600}.tp-grace-notice a{color:#78350f;text-decoration:underline;white-space:nowrap}
.admin-user-account-row{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}.admin-user-account-row .admin-account-form{display:flex;align-items:center;gap:5px;margin:0}.admin-user-account-row .admin-account-form select{width:auto;min-width:0;max-width:94px;padding:5px 6px;font-size:12px;height:32px}.admin-user-account-row .inline-form{display:flex;margin:0}.admin-user-account-row .btn{padding:5px 8px;min-height:32px;font-size:12px;white-space:nowrap}.admin-user-actions .subscription-admin-form{margin-top:8px}

/* Alpha 52 — accès rapides et session administrateur déléguée */
.quick-links-dropdown-menu{min-width:260px}.quick-links-dropdown-menu .quick-links-empty{padding:9px 11px;color:var(--muted);font-size:12px}.quick-links-dropdown-menu .quick-links-manage{border-top:1px solid #e8edf3;margin-top:4px;padding-top:10px;font-weight:700}.quick-links-list{display:grid;gap:9px}.quick-link-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #e4eaf2;background:#f8fafc;border-radius:10px;padding:12px}.quick-link-row>div{min-width:0;display:grid;gap:3px}.quick-link-row a{overflow-wrap:anywhere;font-size:12px}.impersonation-return-form{margin:0}.btn-admin-return{background:#f59e0b;border-color:#d97706;color:#172033}.btn-admin-return:hover{background:#fbbf24}.admin-user-account-row .inline-form:first-child .btn{font-weight:800}
@media(max-width:1050px){.topbar-quick-links summary span{display:none}.btn-admin-return{max-width:185px;white-space:normal;line-height:1.15}}
@media(max-width:700px){.quick-link-row{align-items:flex-start;flex-direction:column}.quick-link-row form,.quick-link-row .btn{width:100%}.impersonation-return-form .btn-admin-return{max-width:145px;font-size:11px;padding:6px 7px}}

/* Alpha 53 — données de démonstration */
.tp-demo-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:13px 16px;border:1px solid #f59e0b;border-radius:10px;background:#fffbeb;color:#78350f}.tp-demo-notice>div{display:flex;flex-direction:column;gap:3px}.tp-demo-notice strong{font-size:14px}.tp-demo-notice span{font-size:12px;line-height:1.45}.tp-demo-notice form{margin:0;flex:0 0 auto}.tp-demo-delete{border-color:#d97706!important;color:#92400e!important;background:#fff!important;white-space:nowrap}@media(max-width:720px){.tp-demo-notice{align-items:stretch;flex-direction:column}.tp-demo-delete{width:100%}}

/* Alpha 76 — administration abonnement simplifiée */
.admin-subscription-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:#526176}.admin-subscription-summary span{background:#f6f8fb;border:1px solid #e4e9f0;border-radius:8px;padding:5px 8px}.admin-subscription-manage{margin-top:7px;position:relative}.admin-subscription-manage>summary{list-style:none;width:max-content;cursor:pointer}.admin-subscription-manage>summary::-webkit-details-marker{display:none}.admin-subscription-popover{margin-top:7px;padding:12px;border:1px solid #dce4ee;border-radius:10px;background:#fff;max-width:420px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.admin-subscription-popover .subscription-admin-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.admin-subscription-popover label{display:grid;gap:4px;font-size:12px}.admin-subscription-popover select{min-width:160px}.admin-subscription-popover input[type=number]{width:90px}.tp-report-date{display:inline-flex;align-items:center;margin-left:6px;font-size:11px;font-weight:700;color:#9a6700}.tp-status-report{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid #e4e9f0;border-radius:10px;background:#fafbfd}.tp-status-report .checkline{padding:0;border:0;background:transparent}.tp-status-report small{color:#667085}.tp-status-report input[type=date]{width:100%;margin-top:4px}

.tp-course-report{box-shadow:inset 3px 0 0 #d97706}.tp-course-report .tp-course-state{background:#fff3cd;color:#8a5a00}

/* Alpha 78 — liste utilisateurs compacte + réinitialisation admin du mot de passe */
.admin-users-table{min-width:1180px;table-layout:fixed}
.admin-users-table .col-client{width:16%}.admin-users-table .col-account{width:17%}.admin-users-table .col-players{width:7%}.admin-users-table .col-plan{width:13%}.admin-users-table .col-period{width:11%}.admin-users-table .col-admin{width:36%}
.admin-users-table th,.admin-users-table td{padding:9px 14px;vertical-align:middle}
.admin-users-table td{line-height:1.3}
.admin-account-compact{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px}
.admin-account-compact>strong{font-size:13px}.admin-account-role,.admin-account-created{font-size:10px;white-space:nowrap}
.admin-account-compact .status-chip{font-size:10px;padding:2px 7px}
.admin-user-actions{min-width:0!important}
.admin-user-account-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.admin-user-account-row .btn{min-height:29px;padding:4px 7px;font-size:11px}
.admin-user-account-row .admin-subscription-manage{margin:0;position:relative}
.admin-user-account-row .admin-subscription-manage>summary{margin:0}
.admin-subscription-summary{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:4px;font-size:10px;line-height:1.2;color:#667085}
.admin-subscription-summary span{background:none;border:0;border-radius:0;padding:0}
.admin-subscription-summary strong{font-weight:700;color:#475467}
.admin-subscription-summary .admin-summary-sep{color:#98a2b3;margin:0 1px}
.admin-subscription-popover{position:absolute;right:0;top:calc(100% + 5px);z-index:35;width:420px;max-width:min(420px,80vw);margin-top:0}
.admin-password-reset{margin-top:6px;padding-top:16px;border-top:1px solid #e4e9f0}
.admin-password-reset-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
@media(max-width:1250px){.admin-users-table{min-width:1120px}.admin-users-table .col-admin{width:39%}.admin-users-table .col-client{width:15%}.admin-users-table .col-account{width:15%}.admin-users-table .col-plan{width:12%}.admin-users-table .col-period{width:10%}}

/* Alpha 88 — Abonnements et navigation du compte gratuit */
.billing-pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.billing-pricing-grid .price-card{padding:19px;min-width:0}
.billing-pricing-grid .price-card h2{font-size:18px}
.billing-pricing-grid .price-card>p{font-size:12px;min-height:54px}
.billing-pricing-grid .price{font-size:29px;margin:12px 0}
.billing-pricing-grid .price-card ul{font-size:12px;line-height:1.45;padding-left:17px;margin-top:4px}
.sidebar-nav a.sidebar-premium-link{color:#9aa8ba;background:rgba(255,255,255,.025);border:1px dashed rgba(203,213,225,.18);gap:7px}
.sidebar-nav a.sidebar-premium-link:hover{background:#13263d;color:#d7e0ea;border-color:rgba(203,213,225,.32)}
.sidebar-nav a.sidebar-premium-link .sidebar-icon{filter:grayscale(1);opacity:.72}
.sidebar-premium-badge{margin-left:auto;flex:0 0 auto;white-space:nowrap;border:1px solid rgba(226,232,240,.24);background:rgba(226,232,240,.08);color:#aeb9c7;border-radius:999px;padding:2px 5px;font-size:7.5px;line-height:1.2;font-weight:800;letter-spacing:.01em}
@media(max-width:1180px){.billing-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.billing-pricing-grid{grid-template-columns:1fr}}
/* Alpha 89 — état des fonctionnalités dans le menu latéral */
.sidebar-trial-badge,.sidebar-type-badge{margin-left:auto;flex:0 0 auto;white-space:nowrap;border-radius:999px;padding:2px 5px;font-size:7.5px;line-height:1.2;font-weight:800;letter-spacing:.01em}
.sidebar-trial-badge{border:1px solid rgba(134,239,172,.30);background:rgba(34,197,94,.13);color:#bbf7d0}
.sidebar-type-badge{border:1px solid rgba(191,219,254,.24);background:rgba(96,165,250,.09);color:#bfdbfe}

/* Alpha 90 — badges flottants compacts dans le menu latéral */
.sidebar-nav a{position:relative;min-width:0}
.sidebar-nav a>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-premium-badge,.sidebar-trial-badge,.sidebar-type-badge{
    position:absolute;
    top:-5px;
    right:6px;
    margin-left:0;
    z-index:2;
    pointer-events:none;
    box-shadow:0 1px 3px rgba(0,0,0,.18)
}

/* Alpha 91 — menu latéral plus compact en hauteur */
.app-sidebar{padding-top:12px;padding-bottom:12px}
.sidebar-group{gap:2px;margin-bottom:12px}
.sidebar-group-title{padding:3px 10px 4px;font-size:9.5px;line-height:1.15}
.sidebar-nav a{padding:7px 10px;border-radius:8px;min-height:36px}
.sidebar-nav a .sidebar-icon{width:20px;height:20px;flex-basis:20px}
.sidebar-nav a.sidebar-premium-link{gap:7px}
.club-coach-panel{margin-top:22px}.club-coach-list{display:grid;gap:9px;margin:12px 0 16px}.club-coach-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid #e1e8f0;border-radius:11px;background:#f8fafc}.club-coach-row>div:first-child{display:grid;gap:2px}.club-coach-row small{color:var(--muted)}.club-coach-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.club-coach-actions form{margin:0}.club-coach-invite-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:10px;margin-top:14px}.club-coach-sponsor{display:grid;gap:4px;padding:13px;border:1px solid #bfe3c9;border-radius:10px;background:#effaf3}.status-disabled{background:#fff0f1;color:#9c2634}@media(max-width:760px){.club-coach-row{grid-template-columns:1fr}.club-coach-actions{justify-content:flex-start}.club-coach-invite-form{grid-template-columns:1fr}.club-coach-invite-form .btn{width:100%}}

/* Bêta 2 — rattachements Club / Coach visibles dans l'administration */
.admin-club-relation{display:grid;gap:3px;margin-top:8px;padding:8px 9px;border:1px solid #dce5ef;border-radius:9px;background:#f8fafc;font-size:11px;line-height:1.35}.admin-club-relation strong{font-size:11px}.admin-club-relation a{font-weight:800}.admin-club-relation .status-chip{width:max-content;margin-top:2px}.admin-club-detail-panel{margin-top:18px}.admin-club-coach-list{margin-bottom:0}.admin-club-sponsor-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px;border:1px solid #dce5ef;border-radius:10px;background:#f8fafc}.admin-club-sponsor-line>div{display:grid;gap:3px}.admin-club-sponsor-line small{color:var(--muted)}@media(max-width:760px){.admin-club-sponsor-line{align-items:flex-start;flex-direction:column}}

/* Beta 3 — detailed public pricing comparison */
.tp-pricing-legend{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#66758a;font-size:12px;font-weight:700}.tp-pricing-legend>span{width:auto;height:auto;border:0;background:none;box-shadow:none;color:#4f7a37;font-weight:850;font-size:11px;line-height:1}.tp-detailed-pricing-grid{align-items:stretch}.tp-detailed-price-card{gap:14px}.tp-detailed-price-head{display:grid;gap:7px}.tp-detailed-price-head h2{margin:0}.tp-detailed-price-head>p:last-child{min-height:0;margin:0;color:#68768a}.tp-detailed-price-audience{margin:0!important;min-height:0!important;font-size:10px!important;line-height:1.2!important;letter-spacing:.11em;text-transform:uppercase;color:#557637!important;font-weight:800}.tp-detailed-features{gap:6px}.tp-detailed-features li{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;border:1px solid transparent;border-radius:8px;line-height:1.35}.tp-pricing-check{flex:0 0 auto;color:#3d8152;font-weight:900}.tp-detailed-features li.tp-pricing-difference{background:transparent;border-color:transparent;color:#4f7a37;font-weight:750;box-shadow:none}.tp-detailed-features li.tp-pricing-difference .tp-pricing-check{color:#4f7a37}.tp-detailed-price-card .public-price{margin-top:2px}.tp-detailed-price-card>.btn{margin-top:auto}
@media(max-width:680px){.tp-pricing-legend{align-items:flex-start}.tp-detailed-features li{padding:8px}.tp-detailed-price-head>p:last-child{font-size:12px}}


/* Bêta 6 — menu latéral réductible sur ordinateur */
.sidebar-collapse-control{display:none}
.sidebar-collapse-toggle{width:30px;height:30px;border:1px solid rgba(203,213,225,.24);border-radius:8px;background:rgba(255,255,255,.06);color:#dce7f5;align-items:center;justify-content:center;cursor:pointer;font-size:23px;line-height:1;padding:0;transition:background .15s,border-color .15s,transform .15s}
.sidebar-collapse-toggle:hover{background:#132c4b;border-color:rgba(203,213,225,.42);color:#fff}
.sidebar-collapse-toggle:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}
@media(min-width:1051px){
  .app-sidebar,.has-app-sidebar .main{transition:width .18s ease,margin-left .18s ease}
  .sidebar-collapse-control{display:flex;justify-content:flex-end;align-items:center;margin:0 0 7px;padding:0 2px}
  html.tp-sidebar-collapsed .app-sidebar{width:64px;padding-left:8px;padding-right:8px}
  html.tp-sidebar-collapsed .has-app-sidebar .main{margin-left:64px;width:calc(100% - 64px)}
  html.tp-sidebar-collapsed .sidebar-collapse-control{justify-content:center;padding:0}
  html.tp-sidebar-collapsed .sidebar-collapse-toggle{transform:none}
  html.tp-sidebar-collapsed .sidebar-group{gap:3px;margin-bottom:8px}
  html.tp-sidebar-collapsed .sidebar-group-title,
  html.tp-sidebar-collapsed .sidebar-nav a>span,
  html.tp-sidebar-collapsed .sidebar-premium-badge,
  html.tp-sidebar-collapsed .sidebar-trial-badge,
  html.tp-sidebar-collapsed .sidebar-type-badge{display:none!important}
  html.tp-sidebar-collapsed .sidebar-nav a{justify-content:center;gap:0;padding:7px 5px;min-height:38px}
  html.tp-sidebar-collapsed .sidebar-nav a .sidebar-icon{width:21px;height:21px;flex-basis:21px}
}
@media(max-width:1050px){.sidebar-collapse-control{display:none!important}}

/* Bêta 25 — retour en haut du front office */
.public-scroll-top{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:1100;
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    padding:0;
    border:1px solid rgba(37,99,235,.18);
    border-radius:50%;
    background:#2563eb;
    color:#fff;
    box-shadow:0 10px 30px rgba(15,23,42,.22);
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    pointer-events:none;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease,box-shadow .2s ease;
}
.public-scroll-top svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.public-scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.public-scroll-top:hover{background:#1d4ed8;box-shadow:0 12px 34px rgba(15,23,42,.28)}
.public-scroll-top:focus-visible{outline:3px solid rgba(96,165,250,.45);outline-offset:3px}
@media(max-width:680px){.public-scroll-top{right:14px;bottom:14px;width:42px;height:42px}.public-scroll-top svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.public-scroll-top{transition:none}}



/* RC12 — menu mobile positionné sous la hauteur réelle de l’en-tête */
.app-sidebar{top:var(--tp-app-header-height,68px);}
@media(max-width:1050px){
  .app-sidebar{
    top:var(--tp-app-header-height,68px);
    max-height:calc(100dvh - var(--tp-app-header-height,68px));
    padding-top:14px;
    overscroll-behavior:contain;
  }
}

/* RC21 — footer légal, gestionnaire de cookies et édition légale */
.alert-warning{background:#fff8e7;border-color:#f1d88b;color:#7a5a05}
.public-footer-legal{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px 28px}.public-footer-brand{grid-row:1/3;display:grid!important;gap:2px!important}.public-footer-main,.public-footer-legal-links{justify-content:flex-end;flex-wrap:wrap}.public-footer-legal-links{font-size:11px}.footer-cookie-button{appearance:none;border:0;background:none;padding:0;color:#5b687b;font:inherit;cursor:pointer}.footer-cookie-button:hover{color:var(--primary)}
.legal-publish-controls{display:flex;align-items:center;gap:12px}.legal-publish-controls label{grid-template-columns:auto 90px;align-items:center;gap:7px}.legal-publish-controls input{padding:7px 8px}.legal-editor{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:360px}.legal-admin-document .compact-actions{margin-top:10px}.sticky-save{position:sticky;bottom:12px;z-index:5;padding:10px;border-radius:12px;background:rgba(231,236,242,.92);backdrop-filter:blur(8px)}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}
.cookie-consent-root{position:relative;z-index:100}.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:1000;max-width:1080px;margin:auto;background:#0b2745;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:18px;box-shadow:0 24px 80px rgba(2,12,27,.35);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner[hidden],.cookie-modal-backdrop[hidden]{display:none!important}.cookie-banner-copy{max-width:720px}.cookie-banner-copy strong{font-size:15px}.cookie-banner-copy p{margin:5px 0 0;color:#cfdaea;font-size:13px;line-height:1.55}.cookie-banner-copy a{color:#cfe6ff;text-decoration:underline}.cookie-banner-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cookie-banner .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.cookie-modal-backdrop{position:fixed;inset:0;z-index:1100;background:rgba(2,12,27,.62);display:grid;place-items:center;padding:18px}.cookie-modal{position:relative;width:min(620px,100%);max-height:min(780px,calc(100vh - 36px));overflow:auto;background:#fff;border-radius:20px;padding:27px;box-shadow:0 34px 100px rgba(0,0,0,.28)}.cookie-modal h2{font-size:27px;margin:5px 0 8px}.cookie-modal>p:not(.eyebrow){color:#5f6d80}.cookie-modal-close{position:absolute;right:15px;top:13px;border:0;background:#eef2f7;width:34px;height:34px;border-radius:50%;font-size:23px;cursor:pointer}.cookie-category{display:flex;grid-template-columns:none;align-items:center;justify-content:space-between;gap:20px;border:1px solid #dfe6ef;border-radius:13px;padding:14px 15px;margin-top:10px}.cookie-category>span,.cookie-category>div{display:grid;gap:2px}.cookie-category input{width:21px;height:21px}.cookie-category.is-required{background:#f7f9fc}.cookie-category.is-required>span{color:#277244;font-weight:800;font-size:12px}.cookie-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.cookie-modal-open{overflow:hidden}.cookie-floating-settings{position:fixed;left:14px;bottom:14px;z-index:900;border:1px solid #cbd6e3;background:#fff;width:38px;height:38px;border-radius:50%;box-shadow:0 8px 22px rgba(15,23,42,.16);cursor:pointer;display:grid;place-items:center;font-size:18px}
@media(max-width:760px){.public-footer-legal{grid-template-columns:1fr}.public-footer-brand{grid-row:auto}.public-footer-main,.public-footer-legal-links{justify-content:flex-start;gap:11px 15px}.cookie-banner{align-items:stretch;flex-direction:column;left:10px;right:10px;bottom:10px}.cookie-banner-actions{justify-content:stretch}.cookie-banner-actions .btn{flex:1}.cookie-modal{padding:23px 18px}.cookie-modal-actions{align-items:stretch;flex-direction:column}.legal-publish-controls{align-items:flex-start;flex-direction:column}}
.contact-consent,.billing-legal-ack{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;gap:8px!important;font-size:12px!important;font-weight:600!important;line-height:1.45}.contact-consent input,.billing-legal-ack input{width:18px!important;height:18px!important;margin:1px 0 0!important}.billing-checkout-form{display:grid!important;gap:9px}.billing-legal-ack a{text-decoration:underline}

/* RC21 — Légal / RGPD */
.inline-status-form{display:inline-flex;align-items:center;gap:.4rem;margin:0}.inline-status-form select{min-width:130px}.privacy-account-actions{display:flex;flex-wrap:wrap;gap:.65rem}.legal-admin-document .legal-editor{width:100%;min-height:420px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.55}.legal-publish-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.legal-publish-controls input{width:90px}.footer-cookie-button{border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.cookie-floating-settings{position:fixed;left:16px;bottom:16px;z-index:1100;width:42px;height:42px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.18);cursor:pointer}.app-shell .cookie-floating-settings{left:auto;right:16px}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.billing-legal-ack,.contact-consent{display:flex!important;align-items:flex-start;gap:.55rem;font-size:.86rem;line-height:1.35}.billing-legal-ack input,.contact-consent input{width:auto!important;margin-top:.15rem;flex:0 0 auto}
.legal-compliance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.legal-compliance-grid>div{padding:.9rem 1rem;border:1px solid #dbe4ef;border-radius:12px;background:#f8fafc;display:flex;flex-direction:column;gap:.25rem}.legal-compliance-grid span{font-size:.78rem;color:#64748b}.legal-compliance-grid strong{font-size:1.05rem;color:#0f2748}@media(max-width:800px){.legal-compliance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.legal-compliance-grid{grid-template-columns:1fr}}
