:root{--navy:#003d2d;--ink:#12392e;--muted:#5c7269;--line:#dbe6df;--bg:#f3f7f3;--green:#19723e;--orange:#b46416;--accent:#e6be35;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--green)}button:focus-visible,a:focus-visible{outline:3px solid #e9a32c;outline-offset:3px}header{min-height:94px;background:white;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--navy);font-weight:850;letter-spacing:.03em}.brandmark{display:flex;align-items:center;justify-content:center;background:var(--navy);color:white;border-radius:14px;width:50px;height:50px;font-size:25px;letter-spacing:-2px}.brandmark span{color:var(--accent)}.brand small{display:block;font-size:9px;font-weight:650;letter-spacing:.16em;margin-top:6px;color:var(--muted)}.header-right{display:flex;align-items:center;gap:12px}.pill{padding:6px 9px;background:#edf5ee;border-radius:20px;font-size:11px;font-weight:650}.shell{display:flex;min-height:calc(100vh - 94px)}aside{width:230px;flex-shrink:0;padding:32px 18px;background:var(--navy);color:white;display:flex;flex-direction:column}.nav-title{font-size:9px;letter-spacing:.13em;color:#b0c9bd;margin:4px 12px 20px}.nav{display:flex;align-items:center;gap:12px;border:0;padding:14px;text-align:left;color:#d8e8df;background:transparent;border-radius:8px;margin-bottom:5px;font-weight:600}.nav span{font-size:20px}.nav.selected{background:#13543e;color:white;box-shadow:inset 3px 0 var(--accent)}.aside-note{margin:70px 14px 20px}.aside-note strong{font-size:25px;letter-spacing:-1px;line-height:1.15}.aside-note p,.aside-note small{color:#b0c9bd;line-height:1.7;font-size:12px}main{width:100%;min-width:0;padding:36px;max-width:1800px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--green)}h1{font-size:clamp(26px,2.5vw,36px);letter-spacing:-1.2px;line-height:1.14;margin:10px 0}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:17px;margin:10px 0}p{line-height:1.6}.page-head p{color:var(--muted);margin:10px 0 0}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #d5dce3;border-radius:7px;padding:10px 13px;text-decoration:none;white-space:nowrap;color:var(--ink);font-size:12px;font-weight:650}.btn:hover{background:#edf5ee}.btn.primary{background:var(--navy);border-color:var(--navy);color:white}.btn.primary:hover{background:#196342}.btn.small{font-size:10px;padding:6px 8px}.btn.icon{font-size:21px;line-height:1;padding:8px 13px}.btn.text{background:transparent;border:0;color:#7a5260}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.stat{display:flex;justify-content:space-between;align-items:center;background:white;border:1px solid var(--line);border-radius:11px;padding:22px 20px}.stat span{color:var(--muted);font-size:12px}.stat strong{font-size:32px;letter-spacing:-1px}.stat.dark{background:var(--navy);color:white;border-color:var(--navy)}.stat.dark span{color:#c4cdd7}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 18px}.weeknav{display:flex;align-items:center;gap:10px}.weeknav strong{min-width:150px;text-align:center}.filters{display:flex;gap:12px;flex-wrap:wrap;background:white;padding:16px;border:1px solid var(--line);border-radius:10px}.field{display:flex;flex-direction:column;gap:7px;margin:0 0 16px;min-width:0}.field>span{font-size:11px;font-weight:650;color:#546273}.filters .field{margin:0;flex:1;min-width:140px}.filters .field:last-child{flex:1.5}input,select,textarea{border:1px solid #d7dfe6;border-radius:6px;background:white;color:var(--ink);padding:10px;max-width:100%;min-width:0}textarea{min-height:85px;resize:vertical}input[type=checkbox]{accent-color:var(--green)}.legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin:18px 0}.legend span{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.home{background:var(--green)}.dot.away{background:#da8a35}.week-block{margin:22px 0 30px}.week-title{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:750;color:var(--muted);margin-bottom:12px}.days{display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));gap:18px;align-items:start}.day{background:#eaf0f4;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.day-head{padding:16px 20px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.day-head h2{font-size:15px;margin:0;text-transform:capitalize}.day-head span{font-size:11px;color:var(--muted)}.day-content{padding:14px}.match-card{background:#fff;border-radius:9px;overflow:hidden;border:1px solid #cddcd5;border-left:4px solid var(--green);margin-bottom:14px;box-shadow:0 2px 3px #102b4310}.match-card:last-child{margin-bottom:0}.match-card.away{border-color:#eddbca;border-left-color:#d98a35}.match-summary{display:block;text-align:left;border:0;width:100%;background:#eff8f3;color:var(--ink);padding:16px 18px}.away .match-summary{background:#fff4e8}.match-summary:hover{filter:brightness(.985)}.card-top{display:flex;align-items:center;gap:8px}.time{font-size:22px;letter-spacing:-.8px;font-weight:800}.time small{font-size:13px}.badge{display:inline-flex;font-size:9px;font-weight:750;letter-spacing:.04em;padding:5px 7px;border-radius:5px;background:#dceee4;color:#276b4d}.away .badge{background:#f6e1c8;color:#9e611d}.chevron{margin-left:auto;font-size:23px;font-weight:400}.match-summary p{font-size:12px;margin:0 0 9px}.card-meta{font-size:11px;color:var(--muted)}.coverage{display:flex;gap:9px;align-items:center;margin-top:13px;font-size:10px;color:#566f63}.bars{display:flex;gap:3px}.bars i{width:16px;height:4px;background:#d1dfd7;border-radius:2px}.bars i.filled{background:var(--green)}.match-detail{padding:0 18px 18px;border-top:1px solid #dce5df}.slot{border-bottom:1px solid var(--line);padding:13px 0}.slot-head,.slot-value{display:flex;justify-content:space-between;gap:8px;align-items:center}.slot-head strong{font-size:11px}.slot-value{margin-top:7px;font-size:12px}.mini{font-size:9px;color:var(--muted)}.status{font-size:9px;color:#9b672c;white-space:nowrap}.status.good{color:var(--green)}.muted{color:#88949f}.slot-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.hint{font-size:12px;color:var(--muted);line-height:1.65}.conflict,.alert{font-size:10px;color:#ae422c;margin-top:8px;line-height:1.6}.note{background:#f2f5f8;font-size:12px;padding:10px;margin:10px 0;border-radius:5px}.notice{border:1px solid #ead8b4;border-radius:8px;background:#fff8e9;padding:15px 18px;margin:15px 0;font-size:12px;line-height:1.6}.notice.subdued{background:#edf5ee;border-color:var(--line);color:var(--muted)}.notice a{display:inline-block;margin-left:8px}.empty{text-align:center;padding:50px 25px;border:1px dashed #c6d0da;border-radius:10px;color:var(--muted);background:#fff}.empty strong{color:var(--ink)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{background:#eaf0f5;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}th,td{padding:15px;border-bottom:1px solid var(--line);vertical-align:top}td small,small.warn{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.warn{color:#a55c26!important}.team-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.team-card,.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:24px}.panel>p,.team-card>p{font-size:12px;color:var(--muted)}.staff{margin:20px 0}.staff>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.staff-row{display:flex;gap:8px;margin:10px 0}.staff-row select{flex:1;width:40%}dialog{width:min(600px,calc(100vw - 32px));max-height:90vh;border:0;border-radius:15px;padding:0;color:var(--ink);box-shadow:0 20px 100px #0f203544}dialog.wide{width:min(850px,calc(100vw - 32px))}dialog::backdrop{background:#101f36a6}.modal-head{position:sticky;top:0;background:white;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line);z-index:1}.modal-head h2{margin:0}#modal-content{padding:22px 24px}#modal-content>p{font-size:13px}.modal-foot{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.check{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.6;margin:12px 0}.form-error{color:#ac3427;font-size:12px;margin-top:12px}.review-list{max-height:330px;overflow:auto;padding:8px 0;margin:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-list p{font-size:12px;padding:8px;margin:0;border-bottom:1px solid #eff2f4}.preview-counts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.preview-counts strong{font-size:11px;background:#eef3f7;padding:9px;border-radius:6px}.account-row{display:flex;align-items:center;justify-content:space-between;padding:12px;gap:14px;font-size:12px}.account-row small{display:block;color:var(--muted);margin-top:7px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:14px 22px;background:var(--navy);color:white;border-radius:8px;box-shadow:0 5px 20px #0003;opacity:0;pointer-events:none;z-index:999;max-width:90vw;font-size:13px;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.error{background:#8b3429}.login,.loading{max-width:550px;margin:15vh auto;background:white;padding:40px;border-radius:15px;text-align:center}.login .brandmark{margin:auto}.login .btn{margin:8px}details{margin:16px 0;font-size:12px}summary{cursor:pointer}code{font-size:11px;overflow-wrap:anywhere}.cancelled{opacity:.65}@media(min-width:1500px){.days{grid-template-columns:repeat(var(--days),minmax(0,1fr))}}@media(max-width:1100px){aside{width:180px;padding:24px 10px}main{padding:24px}.page-head{align-items:flex-start;flex-direction:column}.stat{padding:17px 12px}.stat span{max-width:80px}.header-right .pill{display:none}.days{grid-template-columns:repeat(min(var(--days),2),minmax(0,1fr))}}@media(max-width:750px){header{padding:15px;flex-wrap:wrap;gap:12px}.header-right{width:100%;justify-content:space-between}.brand{font-size:12px}.brandmark{width:40px;height:40px;font-size:21px}.shell{display:block}aside{width:100%;padding:8px 12px;flex-direction:row;overflow:auto;gap:5px}.nav-title,.aside-note{display:none}.nav{white-space:nowrap;padding:9px 12px;font-size:11px;margin:0}.nav span{font-size:14px}.nav.selected{box-shadow:inset 0 -3px var(--accent)}main{padding:20px 14px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat strong{font-size:29px}.stat span{max-width:none}.toolbar{align-items:stretch;flex-direction:column}.weeknav{justify-content:space-between;gap:4px}.weeknav .btn{font-size:10px}.days{grid-template-columns:1fr}.team-grid,.settings-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.filters{padding:12px;gap:10px}.filters .field{min-width:115px}.filters .field:last-child{flex-basis:100%}.page-head{gap:14px}.day-content{padding:10px}.day-head{padding:15px}.match-summary{padding:15px}.legend{gap:9px}#modal-content{padding:18px}.modal-head{padding:15px 18px}.staff-row{flex-wrap:wrap}.staff-row select{width:40%}.login{margin:8vh 15px;padding:24px}.panel,.team-card{padding:20px}}

[hidden]{display:none!important}

/* Identité Ciré Basket et calendrier compact */
.club-logo{width:76px;height:76px;object-fit:contain;flex-shrink:0;border-radius:8px;background:#fff}.login-logo{width:130px;height:130px}header{padding:12px 28px}.brand{gap:16px}.nav.selected{box-shadow:inset 3px 0 #e6be35}.btn.primary:hover{background:#196342}.page-head{margin-bottom:16px}.page-head h1{font-size:28px}.toolbar{flex-wrap:wrap;margin-top:16px}.view-switch{display:flex;gap:3px}.weeknav strong{text-transform:capitalize}.location-checks,.duty-checks{border:1px solid var(--line);border-radius:8px;padding:10px 14px}.location-checks{display:flex;gap:14px;align-items:center;margin:0 0 16px}.location-checks legend,.duty-checks legend{font-size:11px;font-weight:650;color:var(--muted)}.location-checks label{display:flex;align-items:center;gap:5px;white-space:nowrap}input[type=checkbox]{accent-color:#19723e}.week-block{border:1px solid #b6cdbd;border-top:5px solid #19723e;border-radius:10px;background:#fff;margin:26px 0 34px;overflow:hidden;box-shadow:0 4px 14px #003d2d0a}.week-title{background:#e7f0e9;color:#003d2d;padding:12px 18px;font-weight:800;text-transform:none;letter-spacing:0;font-size:13px}.days{display:grid;grid-template-columns:repeat(var(--days),minmax(230px,1fr));gap:0;overflow-x:auto}.day{border:0;border-radius:0;min-width:0;background:#fff}.day+.day{border-left:2px solid #dbe6df}.day-head{padding:12px 16px;background:#f8faf8;border-bottom:1px solid var(--line)}.day-head h2{font-size:15px;text-transform:capitalize}.day-content{padding:12px;display:flex;flex-direction:column;gap:10px}.match-card{border:1px solid #bad9c4;border-left:5px solid #19723e;border-radius:8px;margin:0;background:#edf7ef;overflow:hidden}.match-card.away{border-color:#e9ca9c;border-left-color:#bd741a;background:#fff4e4}.match-summary{padding:12px 14px;width:100%;text-align:left;background:transparent;display:block}.match-summary:hover{background:#003d2d08}.match-summary h3{font-size:17px;margin:6px 0}.match-summary p{margin:4px 0;font-size:12px;line-height:1.4}.card-top{gap:10px}.card-top .time{font-size:18px}.card-top .badge{font-size:9px}.competition{font-size:11px;color:var(--muted);margin-top:7px}.match-card.win{background:#207643;border-color:#207643;color:#fff}.match-card.win .match-summary,.match-card.win .competition{color:#fff}.match-card.win .badge{background:#fff;color:#165735}.match-card.loss{background:#fde9e7;border-color:#e9a6a0;border-left-color:#ba4b43}.match-card.pending{background:#edf0ef;border-color:#c8d0cc;border-left-color:#8a9690}.match-card.draw{background:#f6f2df;border-left-color:#a28d32}.match-result{font-size:13px;font-weight:800;margin-top:10px}.small-opponent{font-size:11px!important;color:var(--muted)}.designation-line{display:grid;grid-template-columns:minmax(90px,1.3fr) 1fr 1fr auto;gap:5px;border-top:1px solid #c7dccd;padding:7px 0;font-size:11px;align-items:baseline;overflow-wrap:anywhere}.designation-line strong{font-size:10px}.designation-line small{font-size:10px}.dot.win{background:#207643}.dot.loss{background:#e79c94}.dot.pending{background:#929c97}.match-full .slot{margin-bottom:12px;border:1px solid var(--line);border-radius:8px;padding:14px}.match-full .actions{margin-top:20px}.unavailable-row{display:flex;gap:12px;align-items:center}.unavailable-row .field{flex:1}.duty-checks{margin-bottom:20px;display:flex;flex-wrap:wrap;gap:10px 24px}input[type=date]{min-height:42px;cursor:pointer;color-scheme:light}.header-right{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:850px){header{padding:12px 16px}.club-logo{width:58px;height:58px}.brand small{letter-spacing:.06em}.days{grid-template-columns:repeat(var(--days),minmax(260px,1fr))}.toolbar,.weeknav{gap:8px}.weeknav{flex-wrap:wrap}.filters>.field{flex:1 1 160px}.designation-line{grid-template-columns:1.2fr 1fr 1fr auto}}
@media(max-width:520px){main{padding:16px}.header-right .pill{display:none}.brand{font-size:12px}.days{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.day{flex:0 0 92%;scroll-snap-align:start}.day:only-child{flex-basis:100%}.weeknav strong{min-width:120px}.location-checks{flex-wrap:wrap}.unavailable-row{flex-wrap:wrap}.page-head h1{font-size:24px}}
.match-card .match-summary{background:transparent}.match-card .match-summary:hover{background:#003d2d08}

/* Mois : les semaines sont côte à côte, une colonne par journée avec match. */
.month-calendar{display:flex;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-gutter:stable;border:1px solid #b6cdbd;border-top:5px solid #19723e;border-radius:10px;margin:16px 0 24px;background:white;box-shadow:0 4px 14px #003d2d0a}
.month-calendar:focus-visible{outline:3px solid #e6be35;outline-offset:3px}
.month-calendar .week-block{flex:var(--week-days) 0 calc(var(--week-days)*185px);min-width:calc(var(--week-days)*185px);border:0;border-right:3px solid #196342;border-radius:0;box-shadow:none;margin:0;overflow:visible}
.month-calendar .week-block:last-child{border-right:0}
.month-calendar .week-title{min-height:48px;margin:0;padding:10px 12px;display:flex;align-items:center;font-size:11px}
.month-calendar .days{display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));align-items:stretch;overflow:visible;gap:0}
.month-calendar .day{min-width:0;flex:initial;scroll-snap-align:none}
.month-calendar .day-head{min-height:60px;padding:10px;align-items:flex-start;flex-direction:column;gap:4px}
.month-calendar .day-head h2{font-size:12px}.month-calendar .day-head span{font-size:10px}
.month-calendar .day-content{padding:8px;gap:8px}
.month-calendar .match-summary{padding:10px}.month-calendar .match-summary h3{font-size:15px}.month-calendar .card-top{flex-wrap:wrap;gap:5px}.month-calendar .card-top .time{font-size:16px}.month-calendar .match-summary p{font-size:11px;overflow-wrap:anywhere}.month-calendar .competition{font-size:10px;overflow-wrap:anywhere}
.month-calendar .designation-line{grid-template-columns:1fr 1fr;gap:3px}.month-calendar .designation-line strong{grid-column:1/-1}.month-calendar .designation-line small{grid-column:2;grid-row:3}
.calendar-toolbar{margin:8px 0 10px;gap:8px}.calendar-toolbar .btn{padding:7px 10px;font-size:11px}.calendar-toolbar .btn.icon{font-size:19px;padding:6px 10px}.calendar-toolbar .weeknav strong{min-width:130px;font-size:13px}
.calendar-filters{padding:9px 12px;gap:8px;align-items:end}.calendar-filters .field{gap:4px;min-width:120px;margin:0}.calendar-filters .field>span{font-size:10px}.calendar-filters input,.calendar-filters select{padding:7px 8px;min-height:34px;font-size:12px}.calendar-filters .location-checks{margin:0;padding:6px 10px;gap:8px;min-height:41px;font-size:12px}.calendar-filters .location-checks input{min-height:initial;padding:0}.calendar-filters .field:last-child{flex:1.2}.page-head p:empty{display:none}.page-head:has(+.calendar-toolbar){margin-bottom:10px}.page-head:has(+.calendar-toolbar) h1{font-size:25px;margin:5px 0}.page-head:has(+.calendar-toolbar) p{margin:4px 0 0;font-size:12px}.missing-hint{font-size:11px;color:#4d6659;margin:9px 0}.legacy-filter{display:block;margin:8px 0;font-size:11px}
.score-result{display:flex;align-items:center;gap:12px;font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums;font-weight:850;color:#12392e;margin-top:10px}.result-marker{display:inline-flex;align-items:center;justify-content:center;font-size:20px;border-radius:6px;width:30px;height:30px}.result-marker.win{color:#126c32;background:#d4edda}.result-marker.loss{color:#b52620;background:#fbdad5}.result-marker.draw{color:#59675d;background:#e8ece9}.result-pending{font-size:12px;font-weight:650;color:#5c7269;margin-top:9px}.away-designation{font-size:10px!important;color:var(--muted)}
@media(max-width:750px){.calendar-toolbar{gap:8px}.calendar-toolbar .actions{gap:6px}.calendar-filters{padding:8px;gap:7px}.calendar-filters .field{min-width:115px}.calendar-filters .location-checks{padding:5px 8px}.month-calendar .week-block{flex-basis:calc(var(--week-days)*190px);min-width:calc(var(--week-days)*190px)}.month-calendar .days{display:grid}.month-calendar .day{flex:initial}.month-calendar .score-result{font-size:22px;gap:9px}.month-calendar .result-marker{font-size:18px;width:26px;height:26px}}
/* Éviter le centrage vertical lorsque le mois contient peu de rencontres. */
main{margin:0 auto}

/* Tuiles compactes : ivoire par défaut, résultat en teinte légère. */
.match-card,.match-card.home,.match-card.away{background:#faf9f4;border:1px solid #dddcd3;border-radius:7px;box-shadow:0 1px 2px #17382c08;margin:0}
.match-card.outcome-win{background:#dceee0;border-color:#b7d4be}
.match-card.outcome-loss{background:#f6dcd8;border-color:#e2bdb8}
.match-card.home .badge{background:#d9eddf;color:#17643a}
.match-card.away .badge{background:#ffebd1;color:#975013}
.match-card .match-summary,.month-calendar .match-card .match-summary{padding:8px 9px;background:transparent}
.match-card .card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.match-card .card-top .time,.month-calendar .card-top .time{font-size:15px;line-height:1.2;white-space:nowrap}
.match-card .card-top h3,.month-calendar .match-summary h3{font-size:14px;line-height:1.2;margin:0;flex:1;overflow-wrap:anywhere}
.match-card .card-top .badge{font-size:9px;padding:3px 5px;white-space:nowrap}
.match-card .match-summary .opponent-line,.month-calendar .match-summary .opponent-line{color:var(--ink);font-size:11px;line-height:1.35;margin:4px 0 2px}
.match-card .competition,.month-calendar .competition{font-size:10px;line-height:1.3;margin:0;color:#53695e}
.match-card .empty-designation{font-size:10px;line-height:1.3;color:#5c7269;margin:4px 0 0}
.match-card .score-result,.month-calendar .match-card .score-result{font-size:20px;line-height:1.15;gap:8px;margin-top:5px}
.match-card .result-marker,.month-calendar .match-card .result-marker{font-size:16px;width:23px;height:23px;border-radius:4px}
.match-card .result-pending{font-size:10px;line-height:1.3;margin-top:4px}
.match-card .designation-line{padding:4px 0 2px;line-height:1.25;font-size:10px;margin-top:4px;border-top:1px solid #d6dfd5}
.match-card .designation-line strong,.match-card .designation-line small{font-size:9px}
.day-content{gap:7px}.month-calendar .day-content{padding:7px;gap:7px}

/* Bleu-gris clair et désignations compactes, sans texte masqué. */
.match-card,.match-card.home,.match-card.away{background:#edf1f7;border-color:#ccd5e3}
.match-card.outcome-win{background:#dceee0;border-color:#b7d4be}
.match-card.outcome-loss{background:#f6dcd8;border-color:#e2bdb8}
.match-card .designation-line,.month-calendar .match-card .designation-line{display:block;font-size:10px;line-height:1.35;padding:4px 0 1px;white-space:normal;overflow-wrap:anywhere}
.match-card .designation-line strong,.month-calendar .match-card .designation-line strong{display:inline;font-size:10px}
.designation-team{font-size:10px;color:#53695e}
.role-flags{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0}.staff-row>strong{min-width:130px;font-size:12px}.duty-checks{margin-top:18px}.table-wrap td{vertical-align:top}.table-wrap small{overflow-wrap:anywhere}#fbi-preview>.field{padding:8px 12px;border-left:3px solid #19723e;background:#f2f7f3;margin:8px 0}#player-staff-list{margin:12px 0}


.import-preview-table {max-height:60vh;overflow:auto;margin:1rem 0}.import-preview-table td{vertical-align:top}.import-preview-table select{min-width:150px}.import-preview-table input[type=checkbox]{width:18px;height:18px}.import-excluded{opacity:.65}.import-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}.logs-tabs{display:flex;gap:8px;margin-bottom:16px}.release-entry{padding:16px 0;border-bottom:1px solid #dde3df}.activity-table small{display:block}
