:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f7f8fc;background:#080b12;--bg:#080b12;--surface:#10151f;--surface2:#151c29;--surface3:#1a2231;--line:#263044;--line2:#33405a;--text:#f7f8fc;--muted:#9aa8bd;--gold:#e5b94c;--gold2:#ffd978;--goldSoft:#2b2517;--purple:#7f69ff;--danger:#ff6b78;--success:#4fd39a;--info:#67b7ff}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 8% 0%,#1c2135 0,transparent 31rem),radial-gradient(circle at 90% 10%,#251c35 0,transparent 34rem),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.shell{max-width:1440px;margin:auto;padding:24px}.hidden{display:none!important}.login-page{min-height:calc(100vh - 48px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.75fr);gap:36px;align-items:center;max-width:1180px;margin:auto}.login-showcase{padding:42px;max-width:650px}.brand-mark{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold2),#9c6e19);box-shadow:0 18px 50px #0008;border:1px solid #ffe280;color:#13100a;font-weight:950;letter-spacing:-.08em}.brand-mark span{transform:translateX(-2px)}.brand-mark.mini{width:42px;height:42px;border-radius:13px;font-size:.84rem;box-shadow:none}.brand{font-weight:900;color:var(--gold2);font-size:1.15rem;margin-top:20px;letter-spacing:.02em}.login-showcase h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:.98;letter-spacing:-.055em;margin:18px 0;max-width:700px}.login-showcase>p{color:#bdc6d7;font-size:1.08rem;line-height:1.7;max-width:610px}.login-showcase small{display:block;color:#7f8ba0;margin-top:26px}.login-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.login-features span{padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:#0d121b;color:#cbd3e1;font-size:.88rem}.login-card,.panel,.cards article{background:linear-gradient(180deg,#151b27f2,#10151ff2);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 60px #0005}.login-card{padding:34px;max-width:470px;width:100%;justify-self:end}.mobile-brand{display:none;color:var(--gold2);font-weight:850}.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);display:inline-block;margin-right:9px}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:800;color:var(--gold);margin-bottom:10px}.login-card h2{font-size:2rem;letter-spacing:-.03em;margin:0 0 7px}.login-form{margin-top:25px}.login-form label{margin:16px 0}.login-button{width:100%;margin-top:6px;display:flex;justify-content:center;align-items:center;gap:12px;background:linear-gradient(110deg,#d8a62e,#ffe08a);color:#161108;border:1px solid #ffe8a1;box-shadow:0 10px 28px #d6a62d26}.login-button:hover{filter:brightness(1.04);transform:translateY(-1px)}.secure-note{text-align:center;color:#8390a5;font-size:.8rem;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}label{display:grid;gap:7px;margin:14px 0;color:#dbe1eb;font-weight:650;font-size:.9rem}input,select,textarea,button{border-radius:12px;border:1px solid var(--line2);padding:11px 13px;min-height:44px}input,select,textarea{background:#0b1018;color:#fff;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}input::placeholder,textarea::placeholder{color:#67758c}input:focus,select:focus,textarea:focus{border-color:#9c8543;box-shadow:0 0 0 3px #e5b94c1a;background:#0e141e}button{background:linear-gradient(135deg,#7969ff,#6657db);color:#fff;font-weight:750;cursor:pointer;border:0;transition:transform .15s,filter .15s,opacity .15s}button:hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.secondary{background:#202a3b;border:1px solid #344057}.error{color:#ff909b;min-height:1.25rem}.app-shell{padding-bottom:40px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:10px 2px}.topbar-brand,.topbar-actions{display:flex;align-items:center;gap:12px}.topbar strong{font-size:1.02rem}.topbar span#identity{display:block;color:var(--muted);font-size:.86rem;margin-top:3px}.online-pill{font-size:.76rem;color:#9fe3c4;background:#10271f;border:1px solid #234c3b;border-radius:999px;padding:7px 10px}.tabs{display:flex;gap:7px;align-items:center;overflow-x:auto;padding:8px;background:#0d121bd9;border:1px solid var(--line);border-radius:16px;margin-bottom:20px;position:sticky;top:10px;z-index:10;backdrop-filter:blur(14px);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:0 0 auto;background:transparent;border:1px solid transparent;color:#aeb9cb;padding:10px 12px;min-height:40px;font-size:.86rem;white-space:nowrap}.tabs button:hover{background:#171e2b;color:#fff}.tabs button.active{background:linear-gradient(135deg,#2b271d,#302a18);color:var(--gold2);border-color:#594a25;box-shadow:inset 0 0 0 1px #e5b94c12}.tab{display:none}.tab.active{display:block;animation:tabin .18s ease-out}@keyframes tabin{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}.toolbar,.section-head,.row{display:flex;gap:10px;align-items:center;justify-content:space-between}.toolbar{justify-content:flex-end;margin-bottom:14px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.cards article{padding:20px;position:relative;overflow:hidden}.cards article:after{content:"";position:absolute;right:-35px;top:-40px;width:110px;height:110px;border-radius:50%;background:#e5b94c0b}.cards span{display:block;color:var(--muted);font-size:.86rem}.cards strong{display:block;font-size:1.75rem;letter-spacing:-.035em;margin-top:8px}.panel{padding:22px;margin-bottom:16px}.panel h2{margin:0 0 8px;font-size:1.15rem;letter-spacing:-.015em}.panel .section-head h2{margin:0}.grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:16px 0}.grid-form textarea{min-height:90px;resize:vertical}.admin-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.table{width:100%;border-collapse:collapse}.table th{color:#8f9eb4;text-transform:uppercase;letter-spacing:.055em;font-size:.72rem;font-weight:800}.table th,.table td{padding:13px 12px;border-bottom:1px solid #212b3c;text-align:left;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#111823}.muted{color:var(--muted)}.progress{height:9px;background:#222c3d;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#b88924,var(--gold2))}.creator-card{padding:15px 2px;border-bottom:1px solid #232d3f}.creator-card:last-child{border:0}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#222c3f;color:#d1daf0;font-size:.76rem;font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.stats div{background:#0b1018;border:1px solid #1f2939;padding:11px;border-radius:12px}.stats small{display:block;color:#8694aa}.user-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 2px;border-bottom:1px solid #232d3f}.user-card.inactive{opacity:.55}.actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.actions button{padding:8px 10px;min-height:36px;font-size:.82rem}.danger,.dangerBtn{background:#401c25!important;color:#ffc2c9!important;border:1px solid #6f2a39!important}.warning{border-color:#66511f;background:#201b10}.scroll{overflow:auto}.clickable{cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.clickable:hover{transform:translateY(-1px);border-color:#615838;background:#121924}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.mini-cards article{background:#0c111a;border:1px solid #222c3d;border-radius:14px;padding:15px}.mini-cards small{display:block;color:#8998ae}.mini-cards strong{display:block;font-size:1.35rem;margin-top:5px}.chart h3{margin:22px 0 10px}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:90px 1fr 125px;gap:10px;align-items:center}.bar-row>span{color:#aeb9ca;font-size:.85rem}.bar-row>strong{text-align:right;font-size:.88rem}.bar-track{height:11px;background:#222c3d;border-radius:999px;overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,#9b7726,var(--gold2));border-radius:inherit}.ranking-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 3px;border-bottom:1px solid #232d3f}.ranking-row span{display:grid;gap:3px}.ranking-row small{color:#8795ab}.org-tree{overflow:auto;padding:15px 4px}.org-tree ul{list-style:none;margin:0;padding-left:28px;position:relative}.org-tree>ul{padding-left:0}.org-tree li{position:relative;padding:8px 0 8px 24px}.org-tree li:before{content:"";position:absolute;left:6px;top:0;bottom:50%;border-left:1px solid #46536a;border-bottom:1px solid #46536a;width:12px}.org-tree>ul>li:before{display:none}.org-card{display:inline-grid;gap:4px;min-width:220px;background:#0c1119;border:1px solid #283348;border-radius:13px;padding:13px}.org-card small{color:#8795ab}.note{padding:13px 0;border-bottom:1px solid #232d3f}.note:last-child{border-bottom:0}.note small{display:block;color:#8997ac;margin-top:3px}.note p{margin-bottom:0}.alert-item,.absence-row,.backup-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid #283347;border-radius:13px;margin:10px 0;background:#0c1119}.alert-item p,.absence-row p{margin:4px 0 0;color:#aeb9ca}.alert-item.warning{border-color:#705923}.alert-item.danger{border-color:#7a3240}.alert-item.success{border-color:#2f7556}.alert-item.info{border-color:#365f89}.badge.pending{background:#5c491e;color:#ffe7a7}.badge.approved,.badge.success{background:#154a34;color:#b7f5d8}.badge.rejected{background:#5f222e;color:#ffd0d5}.backup-row span{display:grid;gap:4px}.backup-row small{color:#8d9ab0}.button-link{display:inline-block;background:#202a3b;color:#fff;text-decoration:none;font-weight:700;border-radius:10px;padding:8px 10px;font-size:.84rem}.document-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 2px;border-bottom:1px solid #232d3f}.document-card:last-child{border-bottom:0}.document-main{min-width:0;flex:1}.document-main p{margin:.4rem 0}.document-card .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.inline-check{display:flex;align-items:center;gap:8px}.document-card.inactive{opacity:.6}
@media(max-width:980px){.login-page{grid-template-columns:1fr;max-width:560px;padding:30px 0}.login-showcase{display:none}.login-card{justify-self:center}.mobile-brand{display:block;margin-bottom:28px}.cards{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.online-pill{display:none}}
@media(max-width:700px){.shell{padding:12px}.login-page{min-height:calc(100vh - 24px);padding:8px 0}.login-card{padding:24px 20px;border-radius:18px}.topbar{align-items:flex-start}.topbar-actions{gap:7px}.topbar .secondary{padding:9px 10px;font-size:.8rem}.brand-mark.mini{width:38px;height:38px}.tabs{top:6px;border-radius:13px;margin-bottom:14px}.panel{padding:16px;border-radius:16px}.cards{gap:9px}.cards article{padding:15px;border-radius:15px}.cards strong{font-size:1.45rem}.grid-form{grid-template-columns:1fr}.mini-cards{grid-template-columns:1fr}.bar-row{grid-template-columns:65px 1fr 90px}.org-card{min-width:180px}.section-head{align-items:flex-start;flex-wrap:wrap}.user-card,.alert-item,.absence-row,.backup-row,.document-card{align-items:flex-start;flex-direction:column}.actions,.document-card .actions{justify-content:flex-start}.table{font-size:.82rem}.stats{grid-template-columns:1fr}.toolbar{justify-content:stretch;flex-wrap:wrap}.toolbar>*{flex:1}.row{flex-wrap:wrap}.row>*{flex:1 1 180px}}
@media(max-width:420px){.cards{grid-template-columns:1fr 1fr}.topbar-brand .brand-mark{display:none}.topbar strong{font-size:.92rem}.topbar span#identity{font-size:.75rem}.login-card h2{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.link-button{background:none;border:0;color:var(--accent,#d5a928);padding:8px 0;cursor:pointer}.notification{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.notification.unread{font-weight:600}.notification small{display:block;color:var(--muted);margin-top:4px}.status-paid,.status-validated{color:#5fd18b}.status-pending{color:#e7bd4c}.status-cancelled{color:#e77676}textarea{min-height:92px}.tabs .badge{margin-left:4px}.panel textarea{width:100%}#templateBody{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}

.sep{border:0;border-top:1px solid var(--line);margin:24px 0}.restore-box{padding:4px 0}.restore-box h3{margin:0 0 8px}.restore-box code{background:#0b1018;border:1px solid var(--line);border-radius:6px;padding:2px 5px}
/* V15 — gestion complète des membres */
.team-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #232d3f}.team-row:last-child{border-bottom:0}.team-row span{display:grid;gap:3px}.team-row small{color:var(--muted)}.compact-list{margin-top:12px}.member-main{min-width:240px;flex:1}.modal{position:fixed;inset:0;background:#03050ad9;display:grid;place-items:center;padding:20px;z-index:1000}.modal-card{width:min(820px,100%);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#151b27,#10151f);border:1px solid var(--line2);border-radius:20px;padding:22px;box-shadow:0 24px 80px #000b}.modal-card .grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-card .grid-form button{grid-column:1/-1}.tabs button[data-tab="admin"]{border-color:#5d4d23;color:var(--gold2);background:#17150f}.tabs button[data-tab="admin"].active{background:linear-gradient(135deg,#3a3018,#2a2414)}#memberSearch{min-width:210px}#memberStatusFilter{min-width:150px}
@media(max-width:700px){.modal{padding:10px}.modal-card{padding:16px;border-radius:16px}.modal-card .grid-form{grid-template-columns:1fr}.team-row{align-items:flex-start;flex-direction:column}.tabs button[data-tab="admin"]{order:-1}}

/* V16 — navigation latérale et sauvegardes dédiées */
.app-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}.app-content{min-width:0}.agency-sidebar{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto}.tabs{display:flex;flex-direction:column;align-items:stretch;overflow:visible;padding:10px;margin:0;background:#0d121bd9;border:1px solid var(--line);border-radius:18px;position:static;backdrop-filter:blur(14px)}.tabs .nav-group{display:grid;gap:4px;padding:8px 0;border-bottom:1px solid #20293a}.tabs .nav-group:last-child{border-bottom:0}.tabs .nav-title{padding:4px 10px 6px;color:#6f7e95;font-size:.68rem;font-weight:900;letter-spacing:.14em}.tabs button{width:100%;text-align:left;white-space:normal;display:flex;align-items:center;gap:7px;justify-content:flex-start}.tabs button.active{background:linear-gradient(135deg,#2b271d,#302a18);color:var(--gold2);border-color:#594a25}.tabs button[data-tab="admin"]{order:initial}.mobile-menu-btn{display:none;margin-bottom:12px;background:#202a3b;border:1px solid #344057}.topbar{position:relative;z-index:21}.tab{min-width:0}
@media(max-width:980px){.app-layout{grid-template-columns:1fr}.mobile-menu-btn{display:inline-flex}.agency-sidebar{display:none;position:relative;top:auto;max-height:none}.sidebar-open .agency-sidebar{display:block}.tabs{margin-bottom:12px}.app-content{width:100%}}
@media(max-width:700px){.agency-sidebar{position:relative}.tabs{border-radius:14px}.tabs button{min-height:44px}.mobile-menu-btn{width:100%;justify-content:center}}

/* V18 - inscription publique */
.login-links{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}
#registerModal .modal-card{max-width:760px}
#registrationList .user-card{align-items:flex-start}
@media (max-width:700px){.login-links{align-items:stretch;flex-direction:column}.login-links .link-button{text-align:left}}

/* V20 — Page publique de présentation */
.public-home{max-width:1240px;margin:0 auto;padding:20px 0 38px}.public-header{position:sticky;top:12px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin-bottom:20px;background:#0d121be8;border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(16px);box-shadow:0 14px 45px #0005}.public-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.public-brand strong{font-size:1rem}.public-actions,.public-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.public-hero{min-height:560px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:28px;align-items:center;padding:58px 34px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 15% 15%,#6f5cff21,transparent 34%),radial-gradient(circle at 85% 75%,#e5b94c18,transparent 30%),linear-gradient(145deg,#111824,#090d14);overflow:hidden}.public-hero-copy h1{max-width:800px;font-size:clamp(2.5rem,6vw,5rem);line-height:.98;letter-spacing:-.055em;margin:12px 0 22px}.public-hero-copy h1 span{color:var(--gold2)}.public-hero-copy>p{max-width:720px;font-size:1.08rem;line-height:1.75;color:#aeb9ca}.public-hero-actions{margin:28px 0 22px}.public-hero-actions button,.public-cta button{padding:13px 18px}.public-highlights{display:flex;gap:18px;flex-wrap:wrap;color:#b8c3d5;font-size:.88rem}.public-hero-card{padding:28px;border:1px solid #3a4354;border-radius:22px;background:linear-gradient(180deg,#171f2d,#0c1119);box-shadow:0 28px 70px #0007}.hero-card-kicker{display:block;color:var(--gold2);font-size:.74rem;letter-spacing:.13em;font-weight:800;margin-bottom:12px}.public-hero-card>strong{display:block;font-size:1.85rem;line-height:1.15;margin-bottom:14px}.public-hero-card p{color:var(--muted);line-height:1.65}.hero-card-stat{display:flex;align-items:end;gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.hero-card-stat b{font-size:2.4rem;color:var(--gold2)}.hero-card-stat span{color:var(--muted);padding-bottom:5px}.public-section{padding:72px 16px}.section-heading{max-width:760px;margin-bottom:28px}.section-heading h2,.public-cta h2{font-size:clamp(1.8rem,4vw,2.7rem);letter-spacing:-.035em;margin:8px 0 12px}.section-heading p,.public-cta p{color:var(--muted);line-height:1.7}.public-feature-grid,.public-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.public-feature-grid article,.public-team-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#0d131d}.public-feature-grid strong,.public-team-card strong{font-size:1.06rem}.public-feature-grid p{color:var(--muted);line-height:1.6;margin-bottom:0}.public-team-card{display:flex;align-items:center;gap:13px;min-height:82px}.public-team-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#2d2718;border:1px solid #665321;color:var(--gold2);font-weight:900}.public-team-card span{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}.public-team-loading,.public-team-empty{grid-column:1/-1;padding:26px;border:1px dashed var(--line2);border-radius:16px;color:var(--muted);text-align:center}.public-cta{margin:20px 16px 50px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #5a4b24;border-radius:22px;background:linear-gradient(135deg,#18150f,#111721)}.public-footer{display:flex;justify-content:space-between;gap:16px;padding:22px 16px;color:var(--muted);border-top:1px solid var(--line)}.public-footer strong{color:#fff}.public-login-modal{width:min(480px,100%);justify-self:auto}.public-login-modal .section-head{margin-bottom:10px}.public-login-modal h2{margin:4px 0 0}
@media(max-width:900px){.public-hero{grid-template-columns:1fr;min-height:auto;padding:42px 24px}.public-feature-grid,.public-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.public-home{padding-top:4px}.public-header{top:6px;border-radius:14px;padding:9px 10px}.public-brand strong{font-size:.86rem}.public-actions button{padding:9px 10px;font-size:.8rem}.public-hero{padding:34px 18px;border-radius:20px}.public-hero-copy h1{font-size:2.55rem}.public-feature-grid,.public-team-grid{grid-template-columns:1fr}.public-section{padding:52px 4px}.public-cta{margin:10px 4px 36px;padding:22px;align-items:flex-start;flex-direction:column}.public-footer{flex-direction:column;padding-left:4px}.public-highlights{display:grid;gap:9px}}
.team-leader-select{margin-top:8px;min-width:230px;max-width:100%;padding:8px 10px;border-radius:10px}


/* V25 — LIVE en temps réel */
.live-now-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.live-now-card{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:18px;padding:18px}
.live-now-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.live-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#7ee2a8;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800}
.live-now-card h3{margin:15px 0 4px;font-size:1.15rem}
.live-now-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.live-now-meta span{display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:12px;background:rgba(255,255,255,.025)}
.live-now-meta small{color:var(--muted)}
.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:linear-gradient(135deg,#7667ff,#6552d9);color:#fff;font-weight:800;border-radius:12px;padding:11px 14px}
.empty-live{padding:26px 18px;text-align:center;border:1px dashed var(--line);border-radius:16px}
@media(max-width:620px){.live-now-meta{grid-template-columns:1fr}.live-now-grid{grid-template-columns:1fr}}
.tracker-details{margin-top:12px;text-align:left;border-top:1px solid var(--line);padding-top:10px}.tracker-details summary{cursor:pointer;font-weight:700}.tracker-details p{margin:8px 0;font-size:.9rem}

/* V27 - édition @TikTok depuis la fiche créateur */
.creator-tiktok-edit{min-width:min(100%,390px);padding:12px;border:1px solid var(--border,#2b3547);border-radius:14px;background:rgba(255,255,255,.025)}
.creator-tiktok-edit label{display:block;font-weight:700;margin-bottom:8px}.creator-tiktok-edit .actions{display:flex;gap:8px;align-items:center}.creator-tiktok-edit input{min-width:190px;flex:1}
@media(max-width:760px){.creator-tiktok-edit{width:100%}.creator-tiktok-edit .actions{align-items:stretch;flex-direction:column}}


/* V28 — Matchs officiels, événements LIVE et planning */
.planning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.planning-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#121925,#0d131d)}.planning-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.planning-card h3{margin:16px 0 10px;font-size:1.14rem}.planning-card h3 span{color:var(--gold2);font-size:.8rem;margin:0 6px}.planning-meta{display:flex;gap:8px;flex-wrap:wrap}.planning-meta span{padding:6px 9px;border-radius:999px;background:#1a2230;color:#bcc7d8;font-size:.8rem}.match-card{border-color:#4c4228}.event-card{border-color:#323b55}.schedule-request{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.schedule-request:last-child{border-bottom:0}.schedule-request>div:first-child{min-width:0}.schedule-request strong{display:block;margin-top:8px}.schedule-request small{color:var(--muted)}.status-approved{color:#7ee2a8;border-color:#24583b}.status-rejected,.status-cancelled{color:#ef9a9a;border-color:#603232}.status-pending{color:#f2d27a;border-color:#665321}
#officialMatchForm input[readonly]{opacity:.8;cursor:not-allowed}.public-home .planning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.public-home .planning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.schedule-request{flex-direction:column}.schedule-request>.actions{width:100%}.planning-grid,.public-home .planning-grid{grid-template-columns:1fr}}


/* V29 - état du suivi des cadeaux/diamants */
.diamond-track-state{margin:.65rem 0;padding:.55rem .7rem;border-radius:10px;font-size:.9rem;font-weight:700;background:rgba(255,255,255,.04)}
.diamond-ok{color:#54e69b;border:1px solid rgba(84,230,155,.28)}
.diamond-warn{color:#ffd166;border:1px solid rgba(255,209,102,.28)}
.diamond-error{color:#ff7f96;border:1px solid rgba(255,127,150,.28)}

/* V31 — Refonte graphique : interface plus moderne, lisible et responsive */
:root{
  --bg:#060913;--surface:#0d1320;--surface2:#111a2a;--surface3:#172235;
  --line:#243148;--line2:#344461;--text:#f7f9ff;--muted:#91a0b8;
  --gold:#ffcc59;--gold2:#ffe39a;--purple:#8d6dff;--purple2:#6b59ff;
  --success:#4fe1a0;--danger:#ff7187;--info:#6cc4ff;
  --shadow:0 24px 70px rgba(0,0,0,.32);--soft-shadow:0 12px 34px rgba(0,0,0,.20)
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 0% 0%,rgba(107,89,255,.16),transparent 32rem),
    radial-gradient(circle at 96% 4%,rgba(255,204,89,.09),transparent 28rem),
    linear-gradient(180deg,#070b14 0%,#060913 100%);
  background-attachment:fixed
}
::selection{background:rgba(141,109,255,.35);color:#fff}
.shell{max-width:1560px;padding:18px 22px 34px}

/* Barre supérieure */
.topbar{
  min-height:70px;margin-bottom:16px;padding:11px 16px;
  background:rgba(10,15,26,.78);border:1px solid rgba(71,87,117,.42);
  border-radius:20px;box-shadow:var(--soft-shadow);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)
}
.topbar-brand{gap:13px}.topbar-brand>div:last-child{min-width:0}.topbar strong{font-size:1.08rem;letter-spacing:-.015em}
.topbar span#identity{max-width:62vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9daac0}
.brand-mark{background:linear-gradient(145deg,#ffe695,#f3b92c 68%,#9e6a12);border-color:#ffecad;box-shadow:0 12px 30px rgba(231,174,42,.18)}
.brand-mark.mini{width:44px;height:44px;border-radius:14px}
.online-pill{display:inline-flex;align-items:center;gap:6px;color:#aaf0d1;background:rgba(34,197,128,.10);border-color:rgba(79,225,160,.28);padding:8px 11px}

/* Navigation latérale */
.app-layout{grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}
.agency-sidebar{
  position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding:8px;
  background:linear-gradient(180deg,rgba(13,20,34,.94),rgba(8,13,23,.94));
  border:1px solid rgba(54,70,96,.65);border-radius:22px;box-shadow:var(--soft-shadow);
  scrollbar-width:thin;scrollbar-color:#35445d transparent
}
.tabs{display:block;position:static;margin:0;padding:4px;background:transparent;border:0;border-radius:0;backdrop-filter:none;overflow:visible}
.tabs .nav-group{display:grid;gap:4px;padding:8px 0 12px;border-bottom:1px solid rgba(54,70,96,.45)}
.tabs .nav-group:last-child{border-bottom:0;padding-bottom:6px}.tabs .nav-title{padding:5px 10px 6px;color:#697993;font-size:.66rem;letter-spacing:.16em}
.tabs button{position:relative;width:100%;min-height:42px;padding:9px 11px;border-radius:12px;color:#aeb9cb;font-size:.86rem;transition:background .18s,color .18s,transform .18s,border-color .18s}
.tabs button:hover{background:rgba(255,255,255,.045);color:#fff;transform:translateX(2px)}
.tabs button.active{background:linear-gradient(100deg,rgba(141,109,255,.20),rgba(255,204,89,.08));color:#fff;border-color:rgba(141,109,255,.30);box-shadow:inset 3px 0 0 var(--gold)}
.tabs button.active::after{content:"";position:absolute;right:10px;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.tabs .badge{margin-left:auto}
.app-content{min-width:0}
.mobile-menu-btn{border-radius:14px;background:linear-gradient(135deg,#1a2538,#121a28);border:1px solid var(--line2);box-shadow:var(--soft-shadow)}

/* Panneaux / cartes */
.panel,.cards article,.login-card{
  border-color:rgba(55,71,98,.65);background:linear-gradient(180deg,rgba(17,26,42,.94),rgba(10,16,27,.96));
  box-shadow:var(--soft-shadow)
}
.panel{padding:24px;border-radius:21px;position:relative;overflow:hidden}
.panel::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);pointer-events:none}
.panel h1,.panel h2,.section-head h1,.section-head h2{letter-spacing:-.025em}.panel h2{font-size:1.2rem}
.section-head{gap:14px}.section-head>div:first-child{min-width:0}
.cards{gap:13px;margin:16px 0 18px}.cards article{padding:20px 21px;border-radius:18px;min-height:112px;transition:transform .18s,border-color .18s,box-shadow .18s}
.cards article:hover{transform:translateY(-2px);border-color:rgba(141,109,255,.38);box-shadow:0 18px 45px rgba(0,0,0,.26)}
.cards article::after{width:130px;height:130px;right:-48px;top:-52px;background:radial-gradient(circle,rgba(141,109,255,.11),transparent 68%)}
.cards span{font-size:.8rem;text-transform:uppercase;letter-spacing:.055em;color:#8998af}.cards strong{font-size:1.75rem;color:#fff}
.mini-cards article,.stats div{background:rgba(6,11,20,.52);border-color:rgba(53,70,98,.55)}
.creator-card{padding:16px 4px}.creator-card.clickable{border-radius:14px;padding:15px 13px;margin:4px -6px;border:1px solid transparent}
.creator-card.clickable:hover{background:rgba(141,109,255,.055);border-color:rgba(141,109,255,.22);transform:translateY(-1px)}

/* Formulaires */
input,select,textarea{background:rgba(5,10,18,.72);border-color:#2e3c55;color:#f8faff;border-radius:12px;min-height:45px}
input:hover,select:hover,textarea:hover{border-color:#40516f}input:focus,select:focus,textarea:focus{border-color:#8d6dff;box-shadow:0 0 0 3px rgba(141,109,255,.15);background:#0a101b}
label{color:#cad3e2;font-size:.87rem}.grid-form{gap:12px 13px}
button{border-radius:12px;background:linear-gradient(135deg,#8269ff,#6753e4);box-shadow:0 8px 18px rgba(92,69,215,.14);transition:transform .16s,filter .16s,box-shadow .16s}
button:hover{filter:brightness(1.09);transform:translateY(-1px);box-shadow:0 11px 24px rgba(92,69,215,.20)}button:active{transform:translateY(0)}
.secondary{background:linear-gradient(180deg,#202b3d,#182232);border:1px solid #35445d;color:#e2e8f3;box-shadow:none}.secondary:hover{border-color:#50617d}
.danger,.dangerBtn{background:linear-gradient(180deg,#4b202c,#381721)!important}
.badge{background:#202b3e;border:1px solid rgba(86,103,132,.35);padding:5px 9px;color:#d9e1ef}.badge.pending{background:rgba(136,100,16,.30)}.badge.approved,.badge.success{background:rgba(21,100,69,.42)}

/* Tableaux */
.scroll{border-radius:14px}.table{border-collapse:separate;border-spacing:0}.table th{position:sticky;top:0;background:#111927;z-index:1;color:#8190a7;padding:12px}.table td{padding:13px 12px;border-color:rgba(48,63,88,.55)}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:rgba(141,109,255,.055)}

/* Lives */
.live-now-grid{gap:14px}.live-now-card{position:relative;overflow:hidden;background:linear-gradient(160deg,rgba(15,26,39,.96),rgba(8,14,24,.98));border-color:rgba(57,78,104,.62);border-radius:20px;padding:19px;box-shadow:var(--soft-shadow);transition:transform .18s,border-color .18s}
.live-now-card:hover{transform:translateY(-2px);border-color:rgba(79,225,160,.35)}.live-now-card::before{content:"";position:absolute;top:-70px;right:-60px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(79,225,160,.10),transparent 68%)}
.live-pill{background:rgba(79,225,160,.10);border-color:rgba(79,225,160,.28);color:#77efb7;box-shadow:0 0 0 4px rgba(79,225,160,.025)}
.live-now-card h3{font-size:1.2rem}.live-now-meta span{background:rgba(4,10,17,.54);border:1px solid rgba(53,70,98,.42)}
.button-link{background:linear-gradient(135deg,#8269ff,#6552db);box-shadow:0 10px 22px rgba(91,67,208,.15)}
.diamond-track-state{border-radius:12px;background:rgba(5,10,18,.5)}

/* Planning */
.planning-grid{gap:15px}.planning-card{position:relative;overflow:hidden;padding:19px;border-radius:19px;background:linear-gradient(160deg,#111a29,#0a101a);box-shadow:var(--soft-shadow);transition:transform .18s,border-color .18s}
.planning-card:hover{transform:translateY(-2px)}.match-card{border-color:rgba(255,204,89,.25)}.event-card{border-color:rgba(108,196,255,.25)}
.planning-card-head .badge{font-weight:800}.planning-meta span{background:#162132;border:1px solid rgba(74,92,122,.35)}
.schedule-request{padding:17px 4px;border-color:rgba(48,63,88,.55)}

/* Barres, alertes, organigramme */
.progress,.bar-track{background:#1b2638}.progress i,.bar-track i{background:linear-gradient(90deg,#8d6dff,#ffcc59)}
.org-card{background:linear-gradient(160deg,#0f1826,#0a111b);border-color:#2e3d57;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.alert-item,.absence-row,.backup-row{background:rgba(7,12,21,.55);border-color:#2b3951}

/* Page publique */
.public-header{background:rgba(8,13,23,.78);border-color:rgba(65,80,107,.55);box-shadow:var(--soft-shadow)}
.public-hero{background:radial-gradient(circle at 10% 12%,rgba(141,109,255,.18),transparent 35%),radial-gradient(circle at 90% 78%,rgba(255,204,89,.10),transparent 30%),linear-gradient(145deg,#101827,#080d16);border-color:rgba(60,76,104,.66);box-shadow:var(--shadow)}
.public-hero-copy h1 span{background:linear-gradient(90deg,#ffe49a,#ffca4f);-webkit-background-clip:text;background-clip:text;color:transparent}
.public-hero-card{background:linear-gradient(160deg,#151f31,#0a111c);border-color:#3b4a63}.public-feature-grid article,.public-team-card{background:linear-gradient(160deg,#101827,#0a111c);border-color:rgba(54,70,96,.62);box-shadow:0 12px 32px rgba(0,0,0,.15);transition:transform .18s,border-color .18s}.public-feature-grid article:hover,.public-team-card:hover{transform:translateY(-2px);border-color:rgba(141,109,255,.35)}
.public-cta{background:linear-gradient(135deg,rgba(49,38,15,.72),rgba(15,21,34,.92));border-color:rgba(255,204,89,.25)}

/* Modales */
.modal{backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);background:rgba(2,5,10,.72)}.modal-card,.public-login-modal{border-radius:22px;border:1px solid rgba(73,90,119,.62);background:linear-gradient(180deg,#121b2b,#0a101b);box-shadow:0 32px 100px rgba(0,0,0,.55)}

/* Responsive */
@media(max-width:1180px){.app-layout{grid-template-columns:220px minmax(0,1fr)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.shell{padding:12px}.app-layout{grid-template-columns:1fr}.agency-sidebar{display:none;position:relative;top:auto;max-height:none;margin-bottom:14px}.sidebar-open .agency-sidebar{display:block;animation:tabin .18s ease-out}.tabs .nav-group{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs .nav-title{grid-column:1/-1}.mobile-menu-btn{display:flex;width:100%;justify-content:center}.topbar{border-radius:16px}.app-content{width:100%}}
@media(max-width:700px){.shell{padding:8px}.topbar{padding:9px 10px;gap:8px}.topbar-actions .online-pill{display:none}.topbar-actions{gap:6px}.topbar-actions button{padding:8px 10px;min-height:40px;font-size:.78rem}.brand-mark.mini{width:38px;height:38px;border-radius:12px}.topbar strong{font-size:.92rem}.topbar span#identity{max-width:48vw;font-size:.75rem}.tabs .nav-group{grid-template-columns:1fr}.panel{padding:17px;border-radius:17px}.cards{grid-template-columns:1fr 1fr;gap:9px}.cards article{padding:15px;min-height:98px}.cards strong{font-size:1.35rem}.grid-form{grid-template-columns:1fr}.section-head,.toolbar{align-items:flex-start;flex-direction:column}.toolbar{gap:8px}.toolbar>*{width:100%}.actions{justify-content:flex-start}.stats{grid-template-columns:1fr}.live-now-meta{grid-template-columns:1fr}.public-header{top:5px}.public-hero{box-shadow:none}.modal-card{padding:17px}}
@media(max-width:430px){.cards{grid-template-columns:1fr}.topbar span#identity{max-width:42vw}.public-brand strong{display:none}}

/* V32 — Interface Pro */
.breadcrumb{margin:2px 2px 12px;color:#71819a;font-size:.76rem;letter-spacing:.02em}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 18px}.dashboard-grid .panel{margin:0}.dashboard-feed{display:grid;gap:6px;margin-top:12px}.feed-row{display:flex;align-items:center;gap:11px;padding:11px 10px;border-radius:12px;border:1px solid transparent;background:rgba(5,10,18,.35)}.feed-row.clickable:hover{background:rgba(141,109,255,.08);border-color:rgba(141,109,255,.2)}.feed-row>div{min-width:0;flex:1}.feed-row strong,.feed-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-row small{color:#7f8da4;margin-top:3px;font-size:.76rem}.feed-row>b{font-size:.78rem;color:#dce4f2}.feed-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#182338}.status-dot{width:9px;height:9px;border-radius:50%;background:#54647d;flex:0 0 auto}.status-dot.live{background:#49e59b;box-shadow:0 0 12px rgba(73,229,155,.6)}.status-dot.unread{background:#8d6dff;box-shadow:0 0 10px rgba(141,109,255,.5)}.feed-empty{padding:18px;text-align:center;color:#78879e;background:rgba(5,10,18,.28);border-radius:12px}.success-text{color:#66dba5}.global-search-wrap{position:relative;width:min(330px,30vw)}.global-search-wrap input{width:100%;min-height:39px;padding:8px 12px;font-size:.8rem}.global-search-results{position:absolute;z-index:80;right:0;top:calc(100% + 8px);width:min(420px,80vw);padding:7px;background:#0c1421;border:1px solid #31415b;border-radius:15px;box-shadow:0 24px 70px rgba(0,0,0,.5)}.global-search-results button{display:block;width:100%;text-align:left;background:transparent;box-shadow:none;padding:10px;border-radius:10px}.global-search-results button:hover{background:rgba(141,109,255,.1);transform:none}.global-search-results strong,.global-search-results small{display:block}.global-search-results small,.search-empty{color:#7e8da4;font-size:.76rem}.search-empty{padding:16px;text-align:center}.compact-btn{padding:8px 10px;min-height:39px}.planning-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0}.segmented{display:flex;gap:4px;padding:4px;border-radius:13px;background:#0a111c;border:1px solid #29374e}.segmented button{background:transparent;box-shadow:none;color:#8290a6;padding:8px 12px}.segmented button.active{background:#202d42;color:#fff}.planning-toolbar select{width:auto;min-width:150px}.span-2{grid-column:span 2}.toast-stack{position:fixed;z-index:200;right:18px;bottom:18px;display:grid;gap:9px;pointer-events:none}.toast{max-width:360px;padding:13px 16px;border-radius:13px;background:#152237;border:1px solid #334866;box-shadow:0 18px 55px rgba(0,0,0,.45);transform:translateY(12px);opacity:0;transition:.2s}.toast.show{transform:none;opacity:1}.toast.ok{border-left:3px solid #49e59b}.toast.error{border-left:3px solid #ff657d}.sidebar-collapsed .app-layout{grid-template-columns:72px minmax(0,1fr)}.sidebar-collapsed .agency-sidebar{padding:6px}.sidebar-collapsed .nav-title{display:none}.sidebar-collapsed .tabs button{font-size:0;text-align:center;padding:10px 4px}.sidebar-collapsed .tabs button::first-letter{font-size:1rem}.sidebar-collapsed .tabs .badge{display:none}.sidebar-collapsed .tabs .nav-group{padding:5px 0}.sidebar-collapsed #sidebarToggle{transform:rotate(180deg)}
@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}.global-search-wrap{width:min(280px,40vw)}#sidebarToggle{display:none}.sidebar-collapsed .app-layout{grid-template-columns:1fr}.sidebar-collapsed .agency-sidebar{padding:8px}.sidebar-collapsed .nav-title{display:block}.sidebar-collapsed .tabs button{font-size:.86rem;text-align:left;padding:9px 11px}.sidebar-collapsed .tabs .badge{display:inline-flex}}
@media(max-width:700px){.global-search-wrap{order:3;width:100%;max-width:none}.topbar{flex-wrap:wrap}.topbar-actions{flex-wrap:wrap;flex:1;justify-content:flex-end}.global-search-results{right:0;width:90vw}.planning-toolbar{align-items:stretch;flex-direction:column}.segmented{overflow:auto}.planning-toolbar select{width:100%}.span-2{grid-column:auto}.breadcrumb{margin-left:4px}}

/* V33 — Centre de contrôle, classements, disponibilités et équipes */
.hero-panel{background:radial-gradient(circle at 85% 10%,rgba(255,204,89,.10),transparent 28%),radial-gradient(circle at 12% 10%,rgba(141,109,255,.14),transparent 32%),linear-gradient(180deg,rgba(17,26,42,.98),rgba(9,15,25,.98))}
.control-cards article:nth-child(2) strong{color:#65e3aa}.control-cards article:nth-child(3) strong{color:#ffcf68}.control-cards article:nth-child(4) strong{color:#ff7f91}
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin:22px 0}.podium-card{cursor:pointer;min-height:150px;padding:18px;border:1px solid #33445f;border-radius:18px;background:linear-gradient(160deg,#121c2c,#0a111c);display:grid;place-items:center;text-align:center;gap:7px;transition:.18s}.podium-card:hover{transform:translateY(-3px);border-color:#8d6dff}.podium-card.place-1{min-height:185px;border-color:rgba(255,204,89,.42);background:radial-gradient(circle at 50% 0,rgba(255,204,89,.11),transparent 50%),linear-gradient(160deg,#151d2b,#0a111c)}.podium-place{font-size:1.7rem}.podium-card strong{font-size:1rem}.podium-card b{font-size:1.15rem;color:#fff}.podium-card small{color:#7f8da4}
.team-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.team-stat-card{padding:18px;border:1px solid #2d3c54;border-radius:18px;background:linear-gradient(160deg,#101927,#09101a)}.team-stat-card .mini-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.team-goal-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.team-goal-form input{min-width:0}
.availability-grid{display:grid;gap:8px}.availability-row{display:grid;grid-template-columns:minmax(130px,1fr) 130px 26px 130px;align-items:center;gap:9px;padding:10px 12px;border-radius:13px;background:rgba(5,10,18,.42);border:1px solid rgba(54,70,96,.48)}.availability-day{display:flex;align-items:center;gap:8px}.availability-day input{width:18px;min-height:auto}.availability-row>span{text-align:center;color:#73829a}.availability-person{padding:14px 3px;border-bottom:1px solid rgba(48,63,88,.55)}.availability-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.availability-chips .badge.success{color:#86efbc}
.match-result{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0;padding:10px 12px;border-radius:12px;border:1px solid rgba(73,229,155,.2);background:rgba(73,229,155,.055)}.match-result span{color:#79ddb0}.absence-card{border-color:rgba(255,122,150,.26);background:radial-gradient(circle at 100% 0,rgba(255,101,125,.07),transparent 45%),linear-gradient(160deg,#111a29,#0a101a)}.badge.cancelled{background:rgba(109,54,65,.5);color:#ffb6c1}.status-dot.warning{background:#ffcc59;box-shadow:0 0 10px rgba(255,204,89,.4)}.wide-field{grid-column:1/-1}
@media(max-width:1000px){.team-stats-grid{grid-template-columns:1fr}.team-goal-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.podium{grid-template-columns:1fr}.podium-card,.podium-card.place-1{min-height:120px}.availability-row{grid-template-columns:1fr 1fr 24px 1fr}.availability-day{grid-column:1/-1}.team-goal-form{grid-template-columns:1fr}}

/* V34 — Inscription renforcée */
.registration-modal{max-width:820px}.registration-steps{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 20px}.registration-steps span{padding:8px 12px;border-radius:999px;border:1px solid var(--border,#342a50);color:var(--muted,#9e94ad);font-size:.82rem;font-weight:700}.registration-steps span.active{background:rgba(129,92,246,.16);border-color:rgba(155,118,255,.7);color:#f3edff}.full-field{grid-column:1/-1}.password-requirements{font-size:.78rem;color:var(--muted,#9e94ad);margin-top:-8px}.verification-card{text-align:center;padding:28px;border:1px solid var(--border,#342a50);background:rgba(255,255,255,.025);border-radius:18px}.verification-card form{max-width:360px;margin:20px auto 12px}.verification-card input{text-align:center;font-size:1.45rem;font-weight:800;letter-spacing:.28em}.verification-icon{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border-radius:18px;background:rgba(129,92,246,.18);font-size:1.8rem}.verification-card.success .verification-icon{background:rgba(58,195,119,.16)}.registration-message{margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.04);font-size:.9rem}.registration-request-card .badge{background:rgba(58,195,119,.12)}@media(max-width:680px){.registration-steps{display:grid;grid-template-columns:1fr}.registration-modal{max-width:100%}}

/* V35 — codes à 6 chiffres + changement sécurisé d'e-mail */
.otp-inputs{display:flex;gap:10px;justify-content:center;flex-wrap:nowrap;margin:14px 0}.otp-digit{width:52px!important;min-width:0;text-align:center;font-size:1.45rem;font-weight:800;letter-spacing:0;padding:12px 6px!important;border-radius:12px!important}.otp-digit:focus{transform:translateY(-1px);box-shadow:0 0 0 3px rgba(132,84,255,.18)}.otp-help{text-align:center;margin-top:4px}.email-security-card{margin:18px 0;padding:18px;border:1px solid rgba(171,137,255,.22);background:linear-gradient(145deg,rgba(111,65,190,.10),rgba(255,255,255,.02));border-radius:18px}.email-security-card h3{margin:0}.current-email-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:12px 0;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:12px}.current-email-row span{color:var(--muted)}.current-email-row strong{overflow-wrap:anywhere;text-align:right}.email-verify-step{margin-top:14px;padding:16px;border-radius:14px;border:1px solid rgba(91,213,146,.22);background:rgba(91,213,146,.05)}
@media(max-width:620px){.otp-inputs{gap:6px}.otp-digit{width:40px!important;font-size:1.2rem;padding:10px 4px!important}.current-email-row{align-items:flex-start;flex-direction:column}.current-email-row strong{text-align:left}.email-security-card{padding:14px}}

/* V36 — Assistant de génération des contrats */
.contract-wizard form{margin-top:18px}.contract-steps{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.contract-steps span{padding:8px 12px;border-radius:999px;background:#0b1018;border:1px solid #283348;color:#8492a8;font-size:.8rem;font-weight:800}.contract-steps span.active{color:#ffe8a0;border-color:#6f5a24;background:#211c10}.contract-empty{padding:28px;margin-top:14px;border:1px dashed #344057;border-radius:16px;text-align:center;color:#8997ac;background:#0b101888}.contract-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:18px 0}.contract-summary article{display:grid;gap:5px;padding:14px;border-radius:14px;background:#0b1018;border:1px solid #273246}.contract-summary small{color:#8694aa}.contract-summary strong{font-size:1rem}.contract-summary span{color:#aeb9ca;font-size:.83rem;overflow-wrap:anywhere}.contract-preview-box{margin:16px 0;padding:18px;border-radius:16px;background:#090e15;border:1px solid #2b374b}.contract-preview-box pre{white-space:pre-wrap;font:inherit;font-size:.9rem;line-height:1.65;color:#dbe1eb;max-height:420px;overflow:auto;background:#070b11;border:1px solid #202b3b;padding:18px;border-radius:12px}.contract-actions{justify-content:flex-start!important;margin-top:16px}.contract-result{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;margin-top:18px;border:1px solid #2f7556;background:#10271f;border-radius:14px}.contract-result p{margin:5px 0 0;color:#b7d8c8}.contract-result .actions{justify-content:flex-end}.contract-result .button-link{background:linear-gradient(135deg,#2f9b69,#237952)}#contractTemplatePanel details summary{cursor:pointer;padding:4px 0 12px;color:#e5eaf3}#contractTemplatePanel details[open] summary{margin-bottom:10px;border-bottom:1px solid #283348}@media(max-width:1000px){.contract-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.contract-summary{grid-template-columns:1fr}.contract-result{align-items:stretch;flex-direction:column}.contract-result .actions{justify-content:flex-start}}

/* V37 — Contrats et avenants complets */
.contract-main-fields{align-items:end}.contract-recommended{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:15px 0;padding:13px 15px;border:1px solid #6d5b27;background:linear-gradient(135deg,#211b0d,#17140e);border-radius:14px;color:#f2d67a}.contract-recommended span{color:#c7b46f;font-size:.86rem}.contract-extra-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.contract-extra-fields label{display:grid;gap:7px}.contract-extra-fields textarea{min-height:82px}.contract-special-terms{grid-column:1/-1}.contract-legal-note{margin:12px 0;padding:12px 14px;border-radius:12px;border:1px solid #6b5527;background:#1e190d;color:#d8c27d;font-size:.84rem;line-height:1.5}.contract-wizard optgroup{color:#9ba9bd;background:#0e1520}.contract-wizard option{color:#eef2f8;background:#111925}@media(max-width:760px){.contract-extra-fields{grid-template-columns:1fr}.contract-special-terms{grid-column:auto}}

/* V38 — Générateur d'affiches Match Officiel TikTok */
.creator-poster-editor{margin-top:18px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.035);display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center}
.poster-profile-preview{width:110px;height:110px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.2);background:#10121a;display:grid;place-items:center}
.poster-profile-preview img{width:100%;height:100%;object-fit:cover}.poster-placeholder{font-weight:800;text-align:center;padding:8px;word-break:break-word;font-size:.78rem}
.poster-generate-btn{background:linear-gradient(135deg,#f2b84b,#ff7c6b);color:#151515;font-weight:900}
.poster-modal-card{width:min(94vw,760px);max-height:94vh;overflow:auto}.poster-canvas-wrap{margin:14px auto;width:min(100%,420px);aspect-ratio:9/16;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#08090c;box-shadow:0 24px 80px rgba(0,0,0,.45)}
#matchPosterCanvas{display:block;width:100%;height:100%;object-fit:contain}.poster-actions{justify-content:center;margin-top:16px}
@media(max-width:700px){.creator-poster-editor{grid-template-columns:1fr}.poster-profile-preview{margin:auto}.poster-modal-card{width:96vw;padding:14px}}

/* V39 — image personnelle pour affiches depuis Mon profil */
.self-poster-card{margin:18px 0}.self-poster-card .section-head{margin-bottom:8px}.self-poster-card.poster-disabled{opacity:.72}.self-poster-card input[type=file]{max-width:320px}

/* V40 — signature de contrat */
#contractSignatureModal.modal{display:none;position:fixed;inset:0;z-index:10000;background:rgba(4,6,14,.82);padding:24px;overflow:auto;align-items:center;justify-content:center}
#contractSignatureModal.modal.show{display:flex}
.signature-modal-card{width:min(760px,96vw);max-height:94vh;overflow:auto}
#contractSignatureCanvas{display:block;width:100%;height:auto;max-height:260px;background:#fff;border:2px dashed rgba(255,255,255,.28);border-radius:14px;touch-action:none;margin:10px 0 16px}
.verify-code-row{display:flex;gap:8px;margin:16px 0;flex-wrap:nowrap}
.verify-code-row .sign-code-digit{width:52px;min-width:0;text-align:center;font-size:26px;font-weight:800;padding:12px 4px}
@media(max-width:560px){#contractSignatureModal.modal{padding:8px}.verify-code-row{gap:5px}.verify-code-row .sign-code-digit{width:calc((100% - 25px)/6);font-size:21px}}

/* V44 — avatars d'équipe */
.public-team-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:12px;object-fit:cover;border:1px solid #665321;background:#17120a}
.team-avatar-preview{border-color:#d8ab42;box-shadow:0 0 0 3px rgba(216,171,66,.08)}
/* V45 — discipline */
.discipline-rule,.warning-card{border:1px solid var(--border,#333);border-radius:16px;padding:16px;margin:12px 0;background:rgba(255,255,255,.025)}.discipline-rule{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.discipline-rule p{margin:.5rem 0 0;white-space:pre-line}.warning-card{border-left:5px solid #888}.warning-card.severity-warning{border-left-color:#e8b64b}.warning-card.severity-serious,.warning-card.severity-final{border-left-color:#d35b5b}.sanction-box{padding:12px;border-radius:12px;background:rgba(232,182,75,.08);margin:12px 0}.warning-card blockquote{margin:12px 0;padding:10px 14px;border-left:3px solid #777;background:rgba(255,255,255,.03)}@media(max-width:700px){.discipline-rule{display:block}.discipline-rule .actions{margin-top:10px}}

/* V45.2 — règlement toujours clairement visible */
#discipline>#agencyRulesList,.agency-rules-list{min-height:40px}.error-card{padding:14px;border:1px solid rgba(220,80,80,.45);border-radius:14px;background:rgba(220,80,80,.08)}#agencyRulesList .discipline-rule strong{font-size:1.02rem}#agencyRulesList .discipline-rule p{line-height:1.55}

/* V47 — pagination légère */
.pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px}.pagination button:disabled{opacity:.45;cursor:not-allowed}


/* V49 — messagerie interne */
.messaging-shell{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:0;padding:0;overflow:hidden;min-height:640px}.messaging-sidebar{padding:20px;border-right:1px solid var(--border,#2b3951);background:rgba(5,10,18,.26)}.messaging-sidebar h3{margin:20px 0 8px;font-size:.9rem;color:#9dacbf}.message-user-list,.message-conversation-list{display:grid;gap:6px;margin-top:9px}.message-user,.message-conversation{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 11px;border:1px solid transparent;border-radius:12px;background:transparent;box-shadow:none;color:inherit}.message-user:hover,.message-conversation:hover,.message-conversation.active{background:rgba(141,109,255,.10);border-color:rgba(141,109,255,.22);transform:none}.message-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:0 0 38px;background:#202d42;border:1px solid #3a4b66;font-weight:900}.message-person{min-width:0;flex:1}.message-person strong,.message-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-person small{color:#8391a6;font-size:.75rem;margin-top:2px}.message-unread{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#8d6dff;color:#fff;font-size:.72rem;font-weight:900}.messaging-main{min-width:0;display:flex;flex-direction:column;background:rgba(4,8,14,.20)}.message-empty{margin:auto;padding:40px;text-align:center;color:#8593a7}.message-empty strong{display:block;font-size:1.2rem;color:#dfe6f1;margin-bottom:7px}.message-thread-head{padding:17px 20px;border-bottom:1px solid var(--border,#2b3951);background:rgba(10,17,28,.75)}.message-thread-head strong,.message-thread-head small{display:block}.message-thread-head small{color:#8492a7;margin-top:3px}.message-thread-list{height:500px;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:9px;scroll-behavior:smooth}.message-bubble-row{display:flex}.message-bubble-row.mine{justify-content:flex-end}.message-bubble{max-width:min(75%,650px);padding:10px 13px;border-radius:15px 15px 15px 4px;background:#18253a;border:1px solid #2b3b55;white-space:pre-wrap;overflow-wrap:anywhere}.message-bubble-row.mine .message-bubble{border-radius:15px 15px 4px 15px;background:#352960;border-color:#5b49a0}.message-bubble small{display:block;margin-top:5px;opacity:.65;font-size:.68rem}.message-compose{border-top:1px solid var(--border,#2b3951);padding:14px 18px;background:rgba(10,17,28,.78)}.message-compose textarea{width:100%;resize:vertical;min-height:58px;max-height:170px}.message-compose-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.message-compose-bottom button{min-width:110px}.message-day-separator{text-align:center;color:#75839a;font-size:.7rem;margin:7px 0}.message-loading,.message-no-result{padding:14px;text-align:center;color:#7e8da4;font-size:.8rem}
@media(max-width:800px){.messaging-shell{grid-template-columns:1fr;min-height:0}.messaging-sidebar{border-right:0;border-bottom:1px solid var(--border,#2b3951);max-height:330px;overflow:auto}.message-thread-list{height:55vh}.message-bubble{max-width:88%}}
