/* Face2Face alpha 0.2 — disposition fidèle au shell de Tennis Pilot : barre bleu profond, sidebar, menu réductible. */
:root{--f2f-header-h:69px;--f2f-sidebar-w:238px}
body.app-shell{background:#f2f5fa}
.app-shell .topbar.app-topbar{background:#123b66;border-bottom:1px solid #1e4d78;box-shadow:0 2px 10px #071a3329;position:sticky;top:0;z-index:40}
.app-shell .topbar .topinner{max-width:none;min-height:68px;padding:8px 22px;gap:15px;flex-wrap:nowrap}
.app-shell .topbar .brand{color:white;min-width:190px;gap:11px;font-size:20px}
.app-shell .brand-logo-shell{display:grid;place-items:center;background:#071a33;border-radius:11px;width:44px;height:44px;padding:5px;flex-shrink:0;box-shadow:0 2px 7px #0003}
.app-shell .brand-logo{width:100%;height:100%;display:block;object-fit:contain}
.app-shell .brand-copy{display:grid;line-height:1.12}.app-shell .brand-copy strong{font-size:18px;font-weight:750}.app-shell .brand-copy small{font-size:10px;color:#bdd1e5;font-weight:750;margin-top:3px}
.app-shell .topbar-spacer{flex:1}
.app-shell .topbar-actions{display:flex;align-items:center;gap:12px}
.app-shell .topbar-actions .topbar-link,.app-shell .topbar-actions summary{color:#eff7ff;border:0;padding:9px 10px;border-radius:9px;background:transparent;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap;list-style:none}
.app-shell .topbar-actions .topbar-link:hover,.app-shell .topbar-actions summary:hover{background:#ffffff1a;text-decoration:none}
.app-shell .topbar-actions .btn-outline{color:#fff!important;border-color:#9eb2c7;background:transparent}.app-shell .topbar-actions .btn-outline:hover{background:#ffffff1a}
.app-shell .topnav-dropdown{position:relative}.app-shell .topnav-dropdown summary::-webkit-details-marker{display:none}
.app-shell .topnav-dropdown-menu{position:absolute;right:0;top:calc(100% + 10px);width:215px;z-index:60;background:#fff;border-radius:12px;padding:7px;box-shadow:0 18px 50px #0b1d3260;border:1px solid #e0e8f1;display:grid;gap:2px}
.app-shell .topnav-dropdown-menu a{padding:10px 12px;color:#253952;border-radius:7px;font-size:13px;font-weight:600}.app-shell .topnav-dropdown-menu a:hover{background:#eff5fc;text-decoration:none}
.app-shell .sidebar-toggle{display:none;align-items:center;justify-content:center;background:#ffffff13;border:1px solid #ffffff60;color:#fff;width:39px;height:38px;border-radius:9px;cursor:pointer;font-size:21px}
.app-sidebar{position:fixed;top:var(--f2f-header-h);left:0;bottom:0;width:var(--f2f-sidebar-w);background:#0b1d32;color:#dce7f5;border-right:1px solid #142b48;z-index:35;overflow-y:auto;padding:12px;box-shadow:3px 0 14px #091b3008}
.sidebar-collapse-control{display:flex;justify-content:flex-end;margin:0 0 9px}
.sidebar-collapse-toggle{background:#ffffff10;border:1px solid #ffffff34;width:30px;height:30px;border-radius:8px;color:#dce7f5;font-size:23px;cursor:pointer;display:grid;place-items:center;line-height:1}
.sidebar-collapse-toggle:hover{background:#183c62}
.sidebar-nav{display:grid;gap:2px}.sidebar-group{display:grid;gap:4px;margin-bottom:17px}
.sidebar-group-title{display:block;padding:4px 11px 8px;text-transform:uppercase;font-weight:700;color:#8398b5;letter-spacing:.12em;font-size:10px}
.sidebar-nav a{display:flex;gap:11px;align-items:center;padding:10px 11px;border-radius:9px;color:#dce7f5;font-weight:600;font-size:13px;transition:background .15s}
.sidebar-nav a:hover{background:#142d4b;color:white;text-decoration:none}.sidebar-nav a.active{background:#1769dc;color:#fff}
.sidebar-icon{width:22px;height:22px;flex-shrink:0;display:inline-grid;place-items:center;font-size:19px}
.sidebar-group .sidebar-caption{color:#7187a5;padding:4px 11px;font-size:11px}
.app-main{margin-left:var(--f2f-sidebar-w);width:calc(100% - var(--f2f-sidebar-w));min-height:calc(100vh - var(--f2f-header-h));transition:margin-left .18s ease,width .18s ease}
.app-main .container{width:100%;max-width:1480px;padding:28px 29px 57px}
.app-shell .footer{margin:0;border-top:1px solid #e0e8f1;background:#fff}
.sidebar-backdrop{display:none}
@media(min-width:1051px){html.f2f-sidebar-collapsed{--f2f-sidebar-w:64px}html.f2f-sidebar-collapsed .app-sidebar{padding:8px}html.f2f-sidebar-collapsed .sidebar-collapse-control{justify-content:center}html.f2f-sidebar-collapsed .sidebar-nav a{justify-content:center;padding:9px 5px}html.f2f-sidebar-collapsed .sidebar-nav a span:not(.sidebar-icon),html.f2f-sidebar-collapsed .sidebar-group-title,html.f2f-sidebar-collapsed .sidebar-caption{display:none}html.f2f-sidebar-collapsed .sidebar-nav a{font-size:0}}
@media(max-width:1050px){.app-shell .sidebar-toggle{display:flex}.app-sidebar{transform:translateX(-105%);transition:transform .22s ease;top:var(--f2f-header-h);max-height:calc(100dvh - var(--f2f-header-h))}.app-sidebar.open{transform:translateX(0)}.sidebar-collapse-control{display:none}.app-main{margin-left:0;width:100%}.sidebar-backdrop.show{display:block;position:fixed;inset:var(--f2f-header-h) 0 0;background:#091b305e;z-index:30}.app-shell .topbar-actions{gap:6px}.app-shell .topbar .topinner{padding:8px 12px}}
@media(max-width:730px){.app-shell .topbar .brand{min-width:0}.app-shell .brand-copy strong{font-size:16px}.app-shell .brand-copy small{font-size:9px}.app-shell .brand-logo-shell{width:37px;height:37px}.app-shell .topbar-actions .topbar-link{display:none}.app-shell .topbar-actions .btn-outline{padding:7px 8px;font-size:12px}.app-main .container{padding:21px 14px 47px}}
@media(max-width:410px){.app-shell .brand-copy strong{font-size:14px}.app-shell .topbar .topinner{gap:6px}.app-shell .topbar-actions{gap:2px}.app-shell .topbar-actions summary{padding:6px 5px;font-size:12px}.app-shell .brand-copy small{font-size:9px}}
/* Petits aménagements de module */
.pair-card{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;border:1px solid #dde7f2;border-radius:9px;background:#f9fbfe;margin-bottom:7px}.pair-card form{margin:0}.pair-names{font-weight:650}.format-pill{background:#def3e9;color:#176c4e}.pair-select{min-width:190px}.section-lead{font-size:13px;color:#63758b}.form-grid .full-span{grid-column:1/-1}

.public-shell .brand-logo-shell{display:grid;place-items:center;width:42px;height:42px;padding:4px;background:#071a33;border-radius:9px}.public-shell .brand-logo{width:100%;height:100%;object-fit:contain}.public-shell .brand-copy{display:grid;line-height:1.12}.public-shell .brand-copy strong{font-size:19px}.public-shell .brand-copy small{font-size:10px;font-weight:750;color:#71839d;margin-top:3px}
