*{box-sizing:border-box}body{margin:0;font:15px system-ui;background:#f4f7fa;color:#223a50}header{padding:24px max(22px,calc((100vw - 1080px)/2));background:linear-gradient(120deg,#173248,#1b635c);color:white;display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{font-size:25px;font-weight:750}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#b6dcca;margin:7px 0 0}main{max-width:1120px;padding:24px;margin:auto}h1{font-size:30px;letter-spacing:-.7px;margin:12px 0}h2{font-size:20px}h3{font-size:16px}p{line-height:1.6}.muted,small{color:#708295}header small{color:#d2e7df}.panel,.session,.stat{background:white;border:1px solid #e1e8ef;border-radius:16px;padding:22px;margin:14px 0}.hero{padding:35px;max-width:760px;margin:40px auto}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}button,.button,input,select,textarea{font:inherit;border-radius:9px;border:1px solid #d5dfe7;padding:10px 12px;color:#223a50;background:white}button,.button{cursor:pointer;text-decoration:none;display:inline-block}button.primary,.button.primary{background:#1b635c;color:white;border-color:#1b635c}button:disabled{opacity:.6;cursor:wait}button.active{background:#e1f1e9;border-color:#76b09b;color:#1b635c}input[type=checkbox]{accent-color:#1b635c}label{font-size:13px;font-weight:600;display:block;margin:12px 0 6px}label input:not([type=checkbox]),label select,label textarea{display:block;width:100%;margin-top:7px}textarea{min-height:80px;resize:vertical}.session{display:grid;grid-template-columns:160px 1fr;gap:20px}.session .description{white-space:pre-line;font-size:14px;line-height:1.7}.place{color:#33765e;font-size:13px}.notes{white-space:pre-line;background:#f4f7fa;padding:12px;border-radius:9px;font-size:13px}.coming{padding:12px;background:#eaf4ef;border-radius:10px;font-size:13px;margin:12px 0}details{border:1px solid #e1e8ef;border-radius:11px;margin:10px 0;padding:12px}summary{cursor:pointer;font-weight:600}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat strong{font-size:28px;display:block;color:#1b635c}.stat small{font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid #e1e8ef;vertical-align:top}th{color:#336b57;background:#edf5f1}td{white-space:pre-line}#notice:not(:empty){padding:12px 16px;background:#fff5db;border-radius:10px;margin-bottom:14px}.chart{width:100%;height:180px}.empty{padding:25px;color:#708295}.hint{font-size:12px;color:#708295}.actions{margin-top:16px}.sheet-preview{max-height:300px;overflow:auto}button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7ac8ac;outline-offset:2px}@media(max-width:650px){header{padding:20px;display:block}#identity{margin-top:12px}.brand{font-size:23px}main{padding:14px}.session{grid-template-columns:1fr;gap:8px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.panel,.session{padding:17px}.hero{padding:22px;margin:10px 0}h1{font-size:25px}}@media print{header{background:white;color:#223a50}.toolbar,button,.actions,details,#notice{display:none}.session{break-inside:avoid}body{background:white}}

.programme-modes{margin:18px 0 8px}.attendance-controls{margin-top:18px;border-top:1px solid #e1e8ef;padding-top:14px}.presence-buttons{display:flex;flex-direction:column;gap:7px;margin-top:8px}.presence-buttons button{text-align:left;font-size:13px;padding:9px 11px}.attendance-controls .hint{font-size:11px;line-height:1.5}.session{grid-template-columns:185px 1fr}@media(max-width:650px){.session{grid-template-columns:1fr}.presence-buttons{flex-direction:row;flex-wrap:wrap}.attendance-controls{margin-top:8px;padding-top:10px}}

button.coming{width:100%;text-align:left;color:#1b635c;border:1px solid #cce4d7;font-weight:600}.attendees-dialog{width:min(440px,calc(100% - 32px));border:0;border-radius:20px;padding:24px;color:#223a50;box-shadow:0 24px 80px #17324840}.attendees-dialog::backdrop{background:#17324880;backdrop-filter:blur(3px)}.attendees-dialog h2{margin-top:0}.attendees-list{list-style:none;padding:0;max-height:45vh;overflow:auto}.attendees-list li{padding:12px;background:#edf5f1;border-radius:10px;margin:8px 0}.attendees-dialog>button{width:100%}

.avatar{display:inline-flex;position:relative;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;overflow:hidden;background:#dceee5;color:#1b635c;font-size:13px;font-weight:700}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.profile-identity,.attendees-list li{display:flex;align-items:center;gap:10px}.profile-identity{margin-bottom:8px}.profile-identity strong{font-size:14px}

.metric-chart{margin:24px 0;padding:18px;border:1px solid #e1e8ef;border-radius:14px}.progress-chart{width:100%;height:auto;margin-top:16px}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#708295}.chart-legend span{padding-left:7px}.metric-chip{padding:9px 13px;border-radius:20px;background:#edf5f1;color:#1b635c;font-size:13px}

header{position:relative;padding:24px max(24px,calc((100vw - 1072px)/2));background:linear-gradient(115deg,#142e43 0%,#20544f 72%,#286258 100%);border-bottom:3px solid #94cfaf;min-height:128px}.brand{display:flex;gap:16px;align-items:center}.brand-mark{display:flex;align-items:center;justify-content:center;width:62px;height:62px;flex-shrink:0;border:1px solid #ffffff30;border-radius:18px;background:#ffffff0d;font-size:30px}.brand small{font-size:10px;letter-spacing:1.8px;margin:0 0 5px;color:#b8dccc}.brand-name{display:block;font-size:28px;letter-spacing:-.7px;line-height:1.2}.brand-caption{display:block;font-size:12px;font-weight:400;color:#c0d7d3;margin-top:6px}#identity:not(:empty){display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;padding:12px 15px;background:#ffffff0a;border:1px solid #ffffff20;border-radius:14px}#identity .profile-identity{grid-column:1;grid-row:1;margin:0}#identity>small{grid-column:1;grid-row:2;margin-left:48px;font-size:11px;color:#bdd9ce}#identity>button{grid-column:2;grid-row:1 / 3;background:#ffffff0c;border-color:#ffffff25;color:#e4f1ed;font-size:12px;padding:9px 12px}#identity>button:hover{background:#ffffff20}#identity .avatar{border:2px solid #ffffff40}@media(max-width:650px){header{padding:20px;min-height:unset}.brand{gap:12px}.brand-mark{width:48px;height:48px;border-radius:14px;font-size:24px}.brand-name{font-size:25px}.brand small{font-size:9px;letter-spacing:1.3px}.brand-caption{font-size:11px}#identity:not(:empty){margin-top:18px;padding:10px 12px;gap:4px 10px}}@media print{header{background:white;border-bottom:1px solid #d5dfe7}.brand-caption,.brand small{color:#223a50}#identity{display:none}}

.distance-panel{background:#f4f8f6;border:1px solid #dce9e1;border-radius:12px;padding:12px 16px;margin:16px 0}.distance-panel label{margin-top:0}.distance-panel input{max-width:200px}.distance-panel button{margin-top:10px}.distance-panel .hint{margin-bottom:0}

.athlete-recap{background:#edf6f1;border:1px solid #cce4d7;border-radius:16px;padding:18px 22px;margin:18px 0}.athlete-recap h2{font-size:17px;margin:0 0 14px}.recap-items{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.recap-items>div{display:flex;align-items:center;gap:10px}.recap-items strong{font-size:28px;color:#1b635c}.recap-items span{font-size:12px;color:#46685a}.athlete-recap .hint{margin-bottom:0}.athlete-recap button{margin-top:12px}@media(max-width:650px){.recap-items{gap:8px}.recap-items>div{flex-direction:column;align-items:flex-start;gap:2px}.athlete-recap{padding:16px}}

.main-toolbar{justify-content:space-between;gap:16px;margin:20px 0 12px}.week-filter small,.progress-filters small{display:block;font-size:11px;font-weight:600;margin-bottom:6px}.nav-segment{display:flex;gap:4px;background:#e8edf1;border-radius:13px;padding:5px}.nav-segment button{border:0;background:transparent;font-size:14px;font-weight:600;padding:11px 16px;border-radius:9px;color:#65798b}.nav-segment button.active{background:white;color:#1b635c;box-shadow:0 2px 6px #17324812}.auto-refresh-label{font-size:11px;color:#7a8e83}.coach-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.coach-actions button{font-size:12px;padding:9px 13px;border-color:#dce5e9;background:#ffffff;color:#476376}.coach-actions button:hover{background:#edf6f1;border-color:#94bfaa}.progress-filters{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin-bottom:8px}.progress-filters select,.week-filter select{min-height:42px;padding:9px 36px 9px 12px;font-size:14px;background:#f8fafb}.progress-filters select{min-width:150px}.progress-filters>div:first-child select{min-width:205px}button{transition:background .15s,box-shadow .15s}button:hover:not(:disabled){box-shadow:0 2px 6px #17324812}@media(max-width:650px){.main-toolbar{align-items:stretch;gap:12px}.nav-segment{width:100%}.nav-segment button{flex:1;font-size:13px;padding:10px}.auto-refresh-label{width:100%;text-align:right}.week-filter,.week-filter select{width:100%}.coach-actions{gap:6px}.coach-actions button{flex:1;font-size:11px;padding:9px 8px}.progress-filters{gap:10px}.progress-filters>div{flex:1}.progress-filters select,.progress-filters>div:first-child select{min-width:0;width:100%}}

.main-toolbar{justify-content:flex-start;align-items:center;padding-bottom:16px;border-bottom:1px solid #dfe7ec;margin:18px 0}.main-toolbar .auto-refresh-label{margin-left:auto}.nav-segment{padding:4px;border-radius:12px}.nav-segment button{height:42px;min-width:180px;padding:0 18px;display:flex;align-items:center;justify-content:center}.programme-modes{display:flex;align-items:center;gap:10px;margin:18px 0 12px}.programme-modes .week-filter{margin-right:10px}.week-filter small{display:none}.week-filter select{height:44px;min-width:220px;background:white}.programme-modes>button{height:44px;padding:0 16px;font-size:14px;font-weight:600;min-width:165px;display:flex;align-items:center;justify-content:center}.coach-actions{gap:10px;margin:12px 0 18px}.coach-actions button{height:44px;padding:0 16px;min-width:165px;display:flex;align-items:center;justify-content:center;font-size:13px}.progress-filters{gap:12px}.progress-filters select{height:44px}.programme-modes+.coach-actions{padding-top:12px;border-top:1px solid #e1e8ef}@media(max-width:650px){.main-toolbar{gap:10px}.main-toolbar .auto-refresh-label{margin-left:0}.nav-segment button{min-width:0;height:42px}.programme-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.programme-modes .week-filter{grid-column:1 / -1;margin:0}.week-filter select{min-width:0}.programme-modes>button{min-width:0;height:44px;font-size:13px;padding:0 8px}.coach-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coach-actions button{min-width:0;font-size:12px;padding:0 10px}.coach-actions button:last-child{grid-column:1 / -1}.main-toolbar .auto-refresh-label{text-align:left}.progress-filters select{height:44px}}

.toolbar-import{height:42px;padding:0 16px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center}.coach-actions{display:flex}.coach-actions button{flex:initial}@media(max-width:650px){.toolbar-import{width:100%;height:44px}.coach-actions button{width:100%}}

.auto-refresh-label{display:none}

.week-filter select,.progress-filters select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23223a50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:48px}

.main-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;background:white;border:1px solid #e1e8ef;border-radius:14px;margin:20px 0 16px}.main-toolbar .nav-segment{display:contents}.main-toolbar .nav-segment button,.main-toolbar .toolbar-import{width:100%;min-width:0;height:44px;border:1px solid #dce5e9;border-radius:9px;background:#f8fafb;color:#466174;box-shadow:none;font-size:13px;font-weight:600;padding:0 10px;white-space:nowrap;display:flex;align-items:center;justify-content:center}.main-toolbar .nav-segment button.active{background:#1b635c;border-color:#1b635c;color:white;box-shadow:none}.main-toolbar .nav-segment button:hover:not(.active),.main-toolbar .toolbar-import:hover{background:#edf5f1;border-color:#a9c9b9}.main-toolbar:has(.nav-segment):not(:has(.toolbar-import)){grid-template-columns:repeat(2,minmax(0,1fr));max-width:480px}.programme-modes{gap:10px;align-items:center}.programme-modes .week-filter{margin-right:0}.programme-modes .week-filter select{height:44px;border-radius:9px;min-width:220px}.programme-modes>button{height:44px;border-radius:9px;min-width:165px;font-size:13px;font-weight:600}.programme-modes>button.active{background:#e1f1e9;color:#1b635c;border-color:#a3c8b5}@media(max-width:850px){.main-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.main-toolbar{gap:8px;padding:8px}.main-toolbar .toolbar-import{width:100%}.main-toolbar .nav-segment button,.main-toolbar .toolbar-import{font-size:12px;padding:0 6px;height:44px}.programme-modes .week-filter select{min-width:0}.programme-modes>button{min-width:0;font-size:12px}}

.import-panel{max-width:850px;margin:24px auto;padding:30px}.import-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#33765e}.import-panel h1{margin:12px 0;font-size:28px}.import-intro{color:#708295;margin-bottom:24px}.import-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;border:2px dashed #b6d1c3;border-radius:14px;background:#f5faf7;cursor:pointer;padding:24px;margin:0}.import-dropzone:hover{background:#edf6f0;border-color:#1b635c}.import-dropzone:focus-within{outline:3px solid #7ac8ac;outline-offset:3px}.import-file-icon{font-size:32px}.import-dropzone strong{font-size:16px;color:#1b635c}.import-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.import-file-info{text-align:center;font-size:13px;overflow-wrap:anywhere;margin:12px 0;color:#466174}.import-note{font-size:12px;color:#33765e;background:#edf5f1;padding:12px;border-radius:9px}.import-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e1e8ef;padding-top:20px;margin-top:20px}.import-actions button{height:44px;font-size:13px;font-weight:600;padding:0 18px}.import-session-list>div{display:grid;grid-template-columns:160px 1fr;gap:5px 12px;border-bottom:1px solid #e1e8ef;padding:10px 0;font-size:13px}.import-session-list small{grid-column:2}.import-error{color:#a43e38;background:#fff0ed;border-radius:9px;padding:12px}@media(max-width:650px){.import-panel{padding:20px;margin:12px 0}.import-panel h1{font-size:24px}.import-actions{flex-direction:column}.import-actions button{width:100%}.import-session-list>div{grid-template-columns:1fr}.import-session-list small{grid-column:1}}

.source-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.source-choices button{min-height:110px;padding:20px;background:#f5faf7;border:1px solid #cce4d7;font-weight:600;font-size:15px}@media(max-width:650px){.source-choices{grid-template-columns:1fr}}

/* Mise en page mobile : aucune commande ne dépasse la largeur disponible. */
html{overflow-x:clip}body{min-width:0}main,#app,.panel,.session,.session>div,.toolbar,.progress-filters>div{min-width:0}img,svg{max-width:100%}button,select,input,textarea{max-width:100%}.description,.notes,.place,.coming,.hint{overflow-wrap:anywhere}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.progress-chart{display:block}.main-toolbar button{white-space:normal;line-height:1.3}.main-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:850px){.main-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
header{padding:18px 16px}main{padding:14px 12px}h1{font-size:25px;line-height:1.2}.panel,.session{border-radius:14px;padding:16px}.session h2{font-size:18px;line-height:1.35}.session .description{font-size:14px}.main-toolbar{width:100%;gap:8px}.main-toolbar button{min-height:48px;height:auto;padding:10px 8px!important}.main-toolbar:has(.nav-segment):not(:has(.toolbar-import)){max-width:none}.programme-modes{width:100%}.programme-modes>button{min-height:48px}.week-filter select,.progress-filters select{height:48px;font-size:16px}.progress-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.progress-filters>div{min-width:0}.progress-filters select{width:100%;padding-right:38px;background-position:right 12px center}.presence-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.presence-buttons button{min-height:46px;text-align:center;font-size:12px;padding:9px 5px;line-height:1.3}.coming{min-height:44px}.grid select,.grid input,textarea,.distance-panel input{font-size:16px;min-height:44px}.distance-panel input{width:100%;max-width:none}.stats{gap:8px}.stat{padding:14px;margin:8px 0}.stat strong{font-size:25px}.stat small{line-height:1.4;display:block}.metric-chart{padding:12px;margin:18px 0}.chart-legend{font-size:11px;gap:8px}.metric-chart h3{font-size:16px}.attendees-dialog{max-height:85dvh;overflow:auto}.import-panel{width:100%;margin:12px 0}.source-choices button{min-height:90px;font-size:14px}.recap-items span{line-height:1.35}.profile-identity strong{overflow-wrap:anywhere}#identity:not(:empty){grid-template-columns:minmax(0,1fr) auto}#identity>button{min-height:44px;font-size:11px;padding:8px}#identity .profile-identity{min-width:0}#identity>small{margin-left:48px}
}
@media(max-width:360px){.brand-name{font-size:23px}.brand small{font-size:8px}.brand-caption{font-size:10px}.brand-mark{width:42px;height:42px}.main-toolbar button{font-size:11px}.progress-filters{grid-template-columns:1fr}.presence-buttons{grid-template-columns:1fr}.presence-buttons button{text-align:left;padding-left:12px}.recap-items{gap:6px}.recap-items span{font-size:10px}.recap-items strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.landing{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center;padding:48px 0 30px}.landing-kicker{font-size:10px;letter-spacing:2px;font-weight:750;color:#33765e}.landing-intro h1{font-size:46px;line-height:1.12;letter-spacing:-1.6px;margin:18px 0;max-width:530px}.landing-lead{font-size:16px;color:#65798b;max-width:460px;line-height:1.7}.landing-benefits{display:grid;gap:22px;margin-top:30px}.landing-benefits>div{display:flex;gap:14px;align-items:center}.benefit-icon{display:flex;width:44px;height:44px;flex-shrink:0;align-items:center;justify-content:center;background:#e5f1ea;border-radius:12px;font-size:21px}.landing-benefits strong{font-size:14px}.landing-benefits p{font-size:12px;color:#708295;margin:4px 0 0}.landing-login{background:white;border:1px solid #dfe8e4;border-radius:24px;padding:30px;box-shadow:0 18px 50px #17324808}.landing-login-icon{width:54px;height:54px;background:#edf5f1;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px}.landing-login h2{font-size:24px;letter-spacing:-.5px;margin:18px 0 6px}.landing-login>.hint{margin:0 0 24px}.google-login{width:100%;height:50px;display:flex;gap:12px;align-items:center;justify-content:center;border:1px solid #cfdcd6;font-weight:650;background:white;font-size:14px;border-radius:11px}.google-mark{font:bold 20px Arial;color:#4285f4}.login-private{font-size:11px;line-height:1.6;text-align:center;color:#708295;margin:14px 0}.landing-demo-note{font-size:12px;background:#f4f7fa;border-radius:10px;padding:12px;color:#65798b}.landing-demos{border-top:1px solid #e5ebee;margin-top:22px;padding-top:20px}.landing-demos>small{font-size:9px;letter-spacing:1.4px;font-weight:700}.landing-demos>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.landing-demos button{font-size:12px;min-height:44px;background:#f8fafb}.landing-footer{text-align:center;font-size:11px;color:#819289;margin:20px 0}@media(max-width:850px){.landing{gap:28px}.landing-intro h1{font-size:36px}.landing-login{padding:24px}}@media(max-width:650px){.landing{grid-template-columns:1fr;gap:28px;padding:24px 4px 10px}.landing-intro h1{font-size:34px;letter-spacing:-1px;max-width:400px}.landing-lead{font-size:14px}.landing-benefits{gap:16px;margin-top:22px}.landing-login{padding:24px;border-radius:20px}.landing-login h2{font-size:23px}.landing-kicker{font-size:9px}.landing-demos button{font-size:12px}}

.email-login{width:100%;min-height:48px;margin-top:10px;font-size:14px}.email-panel{max-width:480px;margin:36px auto}.email-panel form button{width:100%;min-height:48px;margin-top:16px}.email-panel>button{margin-top:16px}

.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px}.form-actions button{min-height:48px;margin:0;padding:12px 20px}.form-actions .primary{min-width:220px}@media(max-width:480px){.form-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}.form-actions button,.form-actions .primary{width:100%;min-width:0}}

.athlete-management-list{margin:24px 0}.athlete-management-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e1e8ef}.athlete-management-row>div{display:flex;align-items:center;gap:12px}.athlete-management-row span,.athlete-management-row strong{overflow-wrap:anywhere;min-width:0}.danger-button{color:#a53232;border-color:#edcccc;background:#fff6f6;min-height:44px}@media(max-width:480px){.athlete-management-row{flex-wrap:wrap}.athlete-management-row>button{width:100%}}

.team-management{max-width:1040px;margin:24px auto}.team-management-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.team-management-head h1{margin:0 0 8px}.team-management-head p{margin:0}.team-management-head button{min-height:48px;font-size:15px}.team-search{width:100%;min-height:48px;padding:12px 16px;background:#f7faf9}.team-count{font-size:13px;color:#708295;margin:0 0 12px}.team-roster{display:grid;gap:10px;margin:20px 0 24px}.roster-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e1e8ef;border-radius:14px;padding:14px 16px;background:#fff}.roster-person{display:flex;align-items:center;gap:12px;min-width:0}.roster-avatar{display:grid;place-items:center;background:#e8f2ee;color:#23635d;border-radius:12px;width:42px;height:42px;flex:0 0 42px}.roster-person>div{min-width:0}.roster-person strong{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere}.roster-status{display:block;font-size:12px;color:#708295;margin-top:5px}.roster-remove{flex:0 0 auto;min-height:44px;padding:10px 14px;font-size:13px;color:#a53232;border-color:#eddddd;background:#fffafa}.roster-remove:hover{background:#fcecec}@media(max-width:540px){.team-management-head{align-items:stretch;flex-direction:column;gap:14px}.team-management-head button{width:100%}.roster-row{padding:12px;gap:8px}.roster-person{gap:9px}.roster-person strong{font-size:13px}.roster-avatar{width:34px;height:34px;flex-basis:34px}.roster-remove{padding:9px;font-size:12px}.team-management{margin:12px auto}}

.team-top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media(max-width:540px){.team-top-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.team-top-actions button{padding:10px;font-size:13px}}

.team-roster .roster-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto}.connection-badge{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;padding:7px 10px;border-radius:20px;line-height:1.3}.connection-badge.connected{color:#23635d;background:#e6f3ed}.connection-badge.pending{color:#7e6a35;background:#faf3df}@media(max-width:540px){.team-roster .roster-row{grid-template-columns:minmax(0,1fr) auto}.connection-badge{grid-column:1/-1;justify-self:start}.team-roster .roster-remove{width:auto}}

.import-dropzone[hidden]{display:none}.import-week-list{display:grid;gap:14px}.import-week{border:1px solid #dce8e3;border-radius:14px;overflow:hidden}.import-week>summary{padding:16px 18px;background:#eff6f2;font-weight:700;cursor:pointer}.import-day{padding:18px;border-top:1px solid #e1e8ef}.import-day-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.import-day h4{margin:12px 0 8px}.import-day p{margin:8px 0;white-space:pre-line}.import-panel .sheet-preview{max-height:none;overflow:visible}

.import-panel .import-actions{position:sticky;top:12px;z-index:2;background:#fff;padding:14px 0;margin:18px 0 24px;border-bottom:1px solid #e1e8ef}

.import-bottom-actions{display:flex;justify-content:flex-end;padding-top:20px;margin-top:20px;border-top:1px solid #e1e8ef}@media(max-width:540px){.import-bottom-actions button{width:100%}}

.profile-identity .profile-edit{padding:0;width:32px;height:32px;min-height:32px;border:1px solid #ffffff40;border-radius:9px;background:#ffffff12;color:white;font-size:18px;flex-shrink:0}.profile-identity .profile-edit:hover{background:#ffffff28}.profile-dialog label{display:block;margin-bottom:8px;font-weight:600}.profile-dialog input{width:100%;box-sizing:border-box}.profile-dialog .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}

/* Profil : un bloc compact avec actions discrètes et accessibles. */
#identity:not(:empty){padding:12px 14px;gap:3px 16px;border-radius:16px;background:#ffffff08;max-width:380px;box-sizing:border-box}
#identity .profile-identity{display:flex;align-items:center;gap:10px;min-width:0}
#identity .profile-identity strong{font-size:14px;line-height:1.3;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#identity .avatar{width:38px;height:38px;flex:0 0 38px;box-sizing:border-box}
#identity>small{margin-left:48px;font-size:11px;line-height:1.2}
#identity .profile-identity .profile-edit{width:28px;height:28px;min-height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:#c4dfd7;font-size:17px;box-shadow:none}
#identity .profile-identity .profile-edit:hover{background:#ffffff18;color:white}
#identity>.profile-logout{width:38px;height:38px;min-height:38px;padding:0;border:1px solid #ffffff20;border-radius:10px;background:#ffffff06;font-size:23px;color:#d9ebe5;display:grid;place-items:center}
#identity>.profile-logout:hover{background:#ffffff18}
#identity button:focus-visible{outline:2px solid #b0e2ca;outline-offset:3px}
@media(max-width:650px){#identity:not(:empty){width:100%;max-width:none;margin-top:14px;padding:11px 12px;gap:3px 10px}#identity .profile-identity strong{max-width:min(180px,45vw)}#identity .profile-identity .profile-edit{width:36px;height:36px;min-height:36px}#identity>.profile-logout{width:44px;height:44px;min-height:44px}#identity>small{margin-left:48px}}

.ui-icon{display:block;width:20px;height:20px;flex:0 0 20px}.google-login,.email-login{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:600;min-height:50px}.google-login .ui-icon{width:20px;height:20px}.email-login .ui-icon{color:#526879}.profile-edit,.profile-logout{display:grid!important;place-items:center}.profile-edit .ui-icon{width:16px;height:16px}.profile-logout .ui-icon{width:19px;height:19px}
