:root{color-scheme:dark;--bg:#080b12;--panel:#121724;--line:#293247;--text:#edf1fa;--muted:#9da8ba;--gold:#d4aa5a;--violet:#8b5cf6;--green:#67d8a2}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0,#171225 0,transparent 38%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.site-header{min-height:68px;padding:10px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#090c14e8}.brand{color:var(--gold);font:700 20px Georgia,serif;text-decoration:none;letter-spacing:.04em}.account{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}.account form{margin:0}.page-shell{max-width:1180px;margin:0 auto;padding:64px 24px}.auth-card,.detail-card{max-width:560px;margin:0 auto;padding:36px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#151a28,#0e121c);box-shadow:0 24px 70px #0008}h1{margin:.25rem 0 1rem;font:600 clamp(2rem,5vw,3.2rem)/1.05 Georgia,serif}h2{font-family:Georgia,serif}.eyebrow,.world-name{color:var(--gold);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.muted{color:var(--muted);line-height:1.6}.stacked-form{display:grid;gap:18px;margin:28px 0}.stacked-form label,.stacked-form p{display:grid;gap:8px;margin:0}.stacked-form input,.stacked-form select{width:100%;padding:13px 14px;color:var(--text);border:1px solid #35415b;border-radius:9px;background:#090d16;font:inherit}.stacked-form input:focus,.stacked-form select:focus{outline:2px solid #8b5cf680;border-color:var(--violet)}.errorlist{margin:0;padding:0;list-style:none;color:#ff9c9c;font-size:.88rem}.primary,.button{display:inline-block;padding:13px 18px;border:0;border-radius:9px;background:linear-gradient(135deg,var(--violet),#6d3de0);color:white;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}.secondary{background:#20283a;border:1px solid #3b4864}.link-button{padding:0;border:0;background:none;color:#bdc8dc;cursor:pointer;text-decoration:none}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.campaign-card{display:grid;gap:12px;min-height:170px;padding:24px;color:var(--text);text-decoration:none;border:1px solid var(--line);border-radius:14px;background:#111725;transition:transform .15s,border-color .15s}.campaign-card:hover{transform:translateY(-3px);border-color:#7056aa}.campaign-card strong{font:600 1.6rem Georgia,serif}.role-pill{justify-self:start;padding:6px 9px;border-radius:999px;background:#2a2240;color:#d9c9ff;font-size:.78rem}.empty-state{grid-column:1/-1;padding:36px;border:1px dashed #39445a;border-radius:14px;text-align:center}.notice{margin:28px 0;padding:18px;border-left:3px solid var(--gold);background:#1a1d28}.notice p{margin:.45rem 0 0;color:var(--muted);line-height:1.5}.break-all{word-break:break-all}
.messages{max-width:760px;margin:0 auto 24px}.message{padding:14px 18px;border:1px solid #365c4e;border-radius:10px;background:#12251f;color:#baf4d6}.auth-links{display:grid;gap:10px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}a{color:#c8b9f8}.form-footnote,.field-help{color:#7f8b9f;font-size:.82rem;line-height:1.5}.field-help ul{margin:6px 0;padding-left:20px}.centered-card{text-align:center}.mail-symbol{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 22px;border:1px solid #7056aa;border-radius:50%;background:#251d3a;color:#d4c6ff;font-size:24px}.success-symbol{border-color:#35775d;background:#153126;color:var(--green)}
.password-field{position:relative;display:block}.stacked-form .password-field input{padding-right:52px}.password-toggle{position:absolute;top:50%;right:7px;display:grid;place-items:center;width:38px;height:38px;padding:0;transform:translateY(-50%);border:0;border-radius:8px;background:transparent;color:#aeb8ca;cursor:pointer}.password-toggle:hover{background:#ffffff0d;color:#f0ce82}.password-toggle:focus-visible{outline:2px solid #8b5cf6;outline-offset:1px}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.game-launch-form{display:inline-flex;margin:.75rem .75rem 0 0}.game-launch-form button{width:auto}
.management-heading{margin-bottom:32px}.management-layout{display:grid;grid-template-columns:minmax(290px,380px) 1fr;gap:24px;align-items:start}.management-panel{padding:26px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#141a28,#0e131e)}.management-panel h2{margin:0}.create-panel{position:sticky;top:24px}.panel-title{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.panel-title p{margin:.4rem 0}.account-list{display:grid;gap:12px}.managed-user{display:flex;justify-content:space-between;gap:18px;padding:18px;border:1px solid #252e42;border-radius:12px;background:#0c111b}.managed-user-main{display:grid;gap:5px;min-width:0}.managed-user-main>strong{font-size:1.05rem}.managed-user-main>span{color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}.badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px}.status-badge{padding:4px 7px;border-radius:999px;font-size:.72rem;font-weight:700}.status-badge.verified{background:#173629;color:#8de0b5}.status-badge.pending{background:#3b2d17;color:#edc97c}.status-badge.staff{background:#2d2247;color:#cdb9ff}.membership-line{margin:6px 0 0;color:#8490a4;font-size:.8rem;line-height:1.5}.managed-actions{display:flex;align-items:center}.managed-actions form{margin:0}.small-button{padding:9px 11px;border:1px solid #3d4962;border-radius:8px;background:#1a2232;color:#dce4f2;font-weight:600;cursor:pointer;white-space:nowrap}.small-button:hover{border-color:#7560aa}
@media(max-width:840px){.management-layout{grid-template-columns:1fr}.create-panel{position:static}}@media(max-width:620px){.site-header{padding:12px 18px}.account>span{display:none}.page-shell{padding:36px 16px}.auth-card,.detail-card{padding:24px}.page-heading{align-items:start;flex-direction:column}.managed-user{flex-direction:column}.managed-actions{align-items:start}}
.gateway-heading{max-width:760px;margin:0 auto 34px;text-align:center}.gateway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:920px;margin:0 auto}.gateway-card{display:flex;align-items:center;gap:22px;min-height:210px;padding:32px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#151b2a,#0d121c);color:var(--text);text-decoration:none;box-shadow:0 22px 60px #0006;transition:.18s ease}.gateway-card:hover{transform:translateY(-4px);border-color:#745cac}.gateway-card.control{background:linear-gradient(145deg,#20192f,#10121c)}.gateway-card>span:last-child{display:grid;gap:8px}.gateway-card small{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.13em}.gateway-card strong{font:600 2rem Georgia,serif}.gateway-card em{color:var(--muted);font-style:normal;line-height:1.5}.gateway-icon{display:grid;place-items:center;flex:0 0 64px;height:64px;border-radius:16px;background:#2a2142;color:#d8c9ff;font-size:28px}
.control-nav{display:flex;gap:4px;margin:-30px 0 34px;padding:6px;border:1px solid var(--line);border-radius:8px;background:#0d121c;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#66528f #111722}.control-nav a{position:relative;flex:0 0 auto;padding:9px 12px;border-radius:6px;color:#aeb8ca;text-decoration:none;white-space:nowrap;scroll-snap-align:center}.control-nav a:hover{background:#191f2e;color:#fff}.control-nav a.active{background:#241d38;color:#eee8ff}.control-nav a.active::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:#d4aa5a}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{display:grid;gap:7px;padding:22px;border:1px solid var(--line);border-radius:14px;background:#111725;color:var(--text);text-decoration:none}.stat-card span{color:var(--gold);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.stat-card strong{font:600 2.4rem Georgia,serif}.stat-card small{color:var(--muted)}.dashboard-actions,.recent-panel,.wide-panel{margin-top:24px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.quick-card{display:grid;gap:7px;padding:18px;border:1px solid #2e3850;border-radius:11px;background:#0b1019;color:var(--text);text-decoration:none}.quick-card span{color:var(--muted);font-size:.86rem;line-height:1.45}.invitation-grid,.campaign-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.generated-code{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:24px;border:1px solid #7056aa;border-radius:15px;background:linear-gradient(135deg,#261d3b,#151827)}.generated-code strong{display:block;margin:7px 0;color:#fff;font:700 clamp(1.35rem,4vw,2rem) ui-monospace,monospace;letter-spacing:.08em}.generated-code p{margin:0;color:var(--muted)}.code-list,.member-list{display:grid;gap:10px}.code-row,.member-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px;border:1px solid #273046;border-radius:10px;background:#0b1019}.code-row>div:first-child,.member-row>div{display:grid;gap:5px}.code-row span,.member-row span,.member-row small{color:var(--muted);font-size:.82rem}.code-row>.badges{align-items:center;justify-content:flex-end}.muted-badge{background:#222938;color:#9da8ba}.structure-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:24px}.structure-toolbar form{margin:0}.world-list{display:grid;gap:20px;margin-top:24px}.world-panel{padding:26px;border:1px solid var(--line);border-radius:16px;background:#101521}.world-panel h2{margin:.25rem 0}.campaign-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px;margin-top:20px}.campaign-admin-card{display:grid;gap:7px;padding:18px;border:1px solid #2b354c;border-radius:11px;background:#0a0f18;color:var(--text);text-decoration:none}.campaign-admin-card span,.campaign-admin-card em{color:var(--muted);font-size:.82rem;font-style:normal}.campaign-admin-card em{color:#bda7ff}.member-row.inactive{opacity:.55}.character-legacy-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.character-legacy-grid article{display:grid;gap:5px;padding:14px;border:1px solid #293247;border-radius:10px;background:#0b1019}.character-legacy-grid span,.character-legacy-grid small{color:var(--muted);overflow-wrap:anywhere}.transfer-form{display:grid;grid-template-columns:2fr 2fr auto auto;align-items:end;gap:14px;margin-top:22px}.transfer-form p{display:grid;gap:7px;margin:0}.transfer-form select{width:100%;padding:11px;color:var(--text);border:1px solid #35415b;border-radius:8px;background:#090d16}.transfer-form p:has(input[type=checkbox]){display:flex;align-items:center;max-width:200px;font-size:.82rem}.transfer-form input[type=checkbox]{width:18px;height:18px}
@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:1fr}.transfer-form{grid-template-columns:1fr 1fr}.gateway-grid,.invitation-grid,.campaign-control-grid{grid-template-columns:1fr}}@media(max-width:620px){.stat-grid{grid-template-columns:1fr}.gateway-card{min-height:0;padding:24px}.gateway-icon{flex-basis:48px;height:48px}.generated-code,.code-row,.member-row,.structure-toolbar{align-items:flex-start;flex-direction:column}.transfer-form{grid-template-columns:1fr}.control-nav{margin-top:-20px}}
.proposal-panel,.proposal-history{max-width:860px;margin:0 auto 24px}.proposal-form{display:grid;gap:16px}.proposal-form label{display:grid;gap:7px}.proposal-form input,.proposal-form select,.proposal-form textarea{width:100%;padding:12px;border:1px solid #35415b;border-radius:8px;background:#090d16;color:var(--text)}.proposal-history .work-item{display:grid;grid-template-columns:1fr auto;gap:6px}.proposal-history .work-item small{grid-column:1/-1;color:var(--muted)}.work-submitter{display:grid;gap:4px;margin:14px 0;padding:13px;border:1px solid #344057;border-radius:9px;background:#0b1019}.work-submitter span,.work-submitter small{color:var(--muted);font-size:.78rem}.work-submitter form{margin-top:5px}
.invite-grants{display:grid;gap:10px;margin:4px 0;padding:14px;border:1px solid #35415b;border-radius:10px}.invite-grants legend{padding:0 6px;color:#d9c9ff;font-weight:700}.invite-grant-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) auto;gap:10px;align-items:end}.invite-grant-row label{display:grid;gap:6px}.invite-grant-row select{width:100%}@media(max-width:620px){.invite-grant-row{grid-template-columns:1fr}}
.reply-preview{display:grid;gap:7px;padding:16px;border-left:3px solid #66528f;border-radius:6px;background:#0b0f18}.reply-preview small{color:#bda7ff}.reply-preview p{max-height:180px;overflow:auto;margin:0;white-space:pre-wrap;color:var(--muted)}
.mail-compose{padding:28px}.email-compose-form{gap:18px}.email-address-fields{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(220px,1fr) minmax(260px,1.35fr);gap:14px}.email-address-fields label{display:grid;gap:7px}.email-address-fields input,.email-address-fields select{width:100%;padding:11px;border:1px solid #35415b;border-radius:8px;background:#090d16;color:var(--text)}.email-live-shell{overflow:hidden;border:1px solid #35415b;border-radius:16px;background:#121724;box-shadow:0 20px 55px #0004}.email-live-accent{height:6px;background:linear-gradient(90deg,#8b5cf6 0 52%,#d4aa5a 52%)}.email-live-brand{display:flex;justify-content:space-between;align-items:center;padding:28px 36px 16px}.email-live-brand>strong{color:#d4aa5a;font:700 22px Georgia,serif;letter-spacing:1px}.email-live-brand span{display:flex;gap:7px}.email-live-brand i{width:10px;height:10px;border-radius:50%;background:#8b5cf6}.email-live-brand i:last-child{background:#d4aa5a}.email-editor-toolbar{display:flex;gap:6px;padding:0 36px 12px}.email-editor-toolbar button{min-width:38px;padding:7px 10px;border:1px solid #35415b;border-radius:7px;background:#0b0f18;color:#dce3ef}.email-rich-editor{min-height:320px;margin:0 36px 28px;padding:22px;border:1px solid #293247;border-radius:10px;background:#0d121c;color:#edf1fa;font-size:16px;line-height:1.72;outline:none}.email-rich-editor:focus{border-color:#8b6bd1;box-shadow:0 0 0 3px #8b5cf622}.email-rich-editor:empty::before{content:"Écrivez votre message…";color:#69758a}.email-live-shell .reply-preview{margin:0 36px 32px}.email-live-shell .reply-preview strong{color:#d4aa5a;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}@media(max-width:900px){.email-address-fields{grid-template-columns:1fr}.email-live-brand{padding-inline:22px}.email-editor-toolbar{padding-inline:22px;overflow:auto}.email-rich-editor{margin-inline:22px}.email-live-shell .reply-preview{margin-inline:22px}}

/* Navigation et hiérarchie d'accès unifiées */
.site-header{justify-content:flex-start;gap:28px;position:sticky;top:0;z-index:20;background:#090c14f5}.brand{flex:0 0 auto}.main-nav{display:flex;align-items:center;gap:5px;margin-right:auto}.main-nav a{padding:9px 12px;border-radius:8px;color:#aeb8ca;text-decoration:none;font-size:.9rem;white-space:nowrap}.main-nav a:hover,.main-nav a.active{background:#241d38;color:#f1ebff}.account{gap:14px}.account-identity{display:grid;gap:1px;padding:6px 9px;border-radius:8px;color:var(--text);text-align:right;text-decoration:none}.account-identity:hover,.account-identity.active{background:#181e2c}.account-identity small{color:var(--muted);font-size:.7rem}.card-action{margin-top:auto;color:#bda7ff;font-size:.85rem}.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;padding:8px 11px;border:1px solid #35415b;border-radius:7px;background:#111725;color:#d6deeb;text-decoration:none;font-weight:700}.back-link:hover{color:#fff}.role-summary{display:grid;gap:6px;margin:22px 0;padding:18px;border:1px solid #3b3158;border-radius:12px;background:#171325}.role-summary span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.role-summary strong{font:600 1.45rem Georgia,serif;color:#e1d5ff}.role-summary small{color:var(--muted);line-height:1.5}.text-button{margin-left:8px;background:transparent;color:#c8b9f8}.role-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:-10px 0 24px}.role-guide div{display:grid;gap:5px;padding:15px;border:1px solid #293247;border-radius:10px;background:#0d121c}.role-guide span{color:var(--muted);font-size:.82rem;line-height:1.4}.admin-tools{margin-top:24px}.admin-tools summary{cursor:pointer;color:#d9c9ff;font:600 1.1rem Georgia,serif}.admin-tools[open] summary{margin-bottom:18px}.admin-tools .invitation-grid>section{padding-top:8px}.member-row strong small{margin-left:4px;color:#bda7ff;font-weight:500}.empty-state .button{margin-top:12px}
@media(max-width:980px){.site-header{flex-wrap:wrap;gap:8px 18px}.main-nav{order:3;width:100%;overflow:auto}.account{margin-left:auto}.page-shell{padding-top:42px}}@media(max-width:620px){.account-identity small{display:none}.main-nav a{padding:8px 9px;font-size:.82rem}.role-guide{grid-template-columns:1fr}.text-button{display:block;margin:10px 0 0}.site-header{position:static}}

/* Portail de jeu — continuité visuelle avec l'interface JDR historique */
body{background:radial-gradient(circle at 14% 12%,#24163f 0,transparent 32%),radial-gradient(circle at 86% 18%,#302319 0,transparent 27%),radial-gradient(circle at 52% 92%,#102a22 0,transparent 30%),#080a12;background-attachment:fixed}.portal-ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.portal-ambient i{position:absolute;width:34vw;aspect-ratio:1;border-radius:50%;filter:blur(90px);opacity:.12}.portal-ambient i:nth-child(1){left:-12vw;top:8vh;background:#8b5cf6}.portal-ambient i:nth-child(2){right:-14vw;top:24vh;background:#d4aa5a}.portal-ambient i:nth-child(3){left:36vw;bottom:-24vw;background:#38a77b}.site-header{border-bottom-color:#ffffff1f;background:linear-gradient(135deg,#0b0c16ed,#161024ed);backdrop-filter:blur(18px);box-shadow:0 12px 40px #0005}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d4aa5a88;border-radius:10px;background:linear-gradient(145deg,#39265c,#15101f);box-shadow:inset 0 1px #ffffff22;color:#f0ce82;font:700 21px Georgia,serif}.brand-mark img{display:block;width:100%;height:100%}.campaign-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.campaign-actions .game-launch-form,.campaign-actions .button{margin:0}.campaign-actions .text-button{margin-left:0}.page-shell{position:relative}.management-panel,.auth-card,.detail-card,.campaign-card,.world-card,.world-panel,.stat-card,.gateway-card{border-color:#ffffff1c;background:linear-gradient(145deg,#ffffff12,#ffffff05),linear-gradient(155deg,#171527e8,#0c1019ed);box-shadow:0 24px 70px #0005,inset 0 1px #ffffff13;backdrop-filter:blur(13px)}.button,.primary{box-shadow:0 9px 25px #6d3de044,inset 0 1px #ffffff35}.button:hover,.primary:hover{filter:brightness(1.1);transform:translateY(-1px)}
.access-heading{padding-bottom:26px;border-bottom:1px solid #ffffff17}.access-section{margin-top:42px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2{margin:.2rem 0 0;font-size:1.8rem}.section-hint{color:#8995a9;font-size:.78rem}.world-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.world-card{position:relative;display:flex;align-items:center;gap:22px;min-height:170px;padding:26px;border:1px solid #ffffff1c;border-radius:18px;color:var(--text);text-decoration:none;overflow:hidden;transition:.18s ease}.world-card:hover,.campaign-card:hover{transform:translateY(-4px);border-color:#a484eb88;box-shadow:0 28px 75px #0008,0 0 35px #7c3aed18}.world-card>span:last-child{display:grid;gap:8px}.world-card small{color:#d4aa5a;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.world-card strong{font:600 1.7rem Georgia,serif}.world-card em{color:#bca8ef;font-size:.84rem;font-style:normal}.world-orbit{position:relative;flex:0 0 64px;height:64px;border:1px solid #d4aa5a66;border-radius:50%;box-shadow:0 0 0 10px #8b5cf610,0 0 38px #8b5cf633}.world-orbit::before,.world-orbit::after{content:"";position:absolute;border-radius:50%}.world-orbit::before{inset:15px;background:radial-gradient(circle at 35% 30%,#dfc6ff,#8b5cf6 42%,#3b1d72);box-shadow:0 0 20px #8b5cf688}.world-orbit::after{width:8px;height:8px;left:85.355%;top:14.645%;transform:translate(-50%,-50%);background:#e3bd69;box-shadow:0 0 10px #e3bd69}.campaign-card{border-radius:18px}.campaign-card.role-player{border-left:3px solid #5fd39d}.campaign-card.role-gm,.campaign-card.role-owner{border-left:3px solid #b28af6}.role-pill{background:linear-gradient(135deg,#33244f,#21182f);border:1px solid #b28af633}.role-player .role-pill{background:#143528;border-color:#65d6a044;color:#9af0c4}
.world-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:30px;padding:30px;border:1px solid #ffffff1d;border-radius:22px;background:linear-gradient(115deg,#7c3aed22,#d4aa5a12 58%,#33b88412),#10121de8;box-shadow:0 24px 70px #0005}.world-hero h1{margin-bottom:.4rem}.world-access-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px}.world-code-form{margin-top:24px;padding-top:20px;border-top:1px solid #ffffff17}.role-accent-player{border-top:3px solid #5ed59d}.invitation-grid>section:last-child{border-top:3px solid #d4aa5a}.generated-code-qr{display:grid;grid-template-columns:minmax(260px,360px) minmax(260px,1fr);align-items:center}.invite-qr{width:100%;height:auto;padding:0;border:1px solid #ffffff20;border-radius:12px;background:#fff}.generated-code-qr>.small-button{justify-self:start}.generated-code .break-all{font-size:.76rem}.invitation-entry-card{position:relative;overflow:hidden;border-color:#8b5cf655}.invitation-entry-card::after{content:"";position:absolute;right:-90px;top:-90px;width:220px;height:220px;border:1px solid #d4aa5a22;border-radius:50%;box-shadow:0 0 0 28px #8b5cf60b;pointer-events:none}.portal-role-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:20px;border:1px solid #d4aa5a66;border-radius:14px;background:#2a1d43;color:#edcb80;font-size:23px;box-shadow:0 12px 35px #0005}.access-section .empty-state{background:#ffffff06}.section-heading .eyebrow{margin:0}.management-panel .campaign-admin-card:hover{border-color:#8267bc;transform:translateY(-2px)}
@media(max-width:900px){.world-access-layout{grid-template-columns:1fr}.world-hero{align-items:flex-start;flex-direction:column}.generated-code-qr{grid-template-columns:minmax(240px,320px) 1fr}.generated-code-qr .small-button{grid-column:1/-1}}@media(max-width:620px){.section-heading{align-items:flex-start;flex-direction:column}.world-card{min-height:145px;padding:20px}.world-orbit{flex-basis:52px;height:52px}.generated-code-qr{display:flex}.invite-qr{width:100%;height:auto}.access-heading .button{width:100%}}
.danger-zone{margin-top:34px;border:1px solid #ff75752e;border-radius:16px;background:#2c111455}.danger-zone summary{padding:16px 20px;color:#ffaaaa;font-weight:800;cursor:pointer}.danger-zone>div{padding:0 20px 20px}.danger-zone p{color:var(--muted)}.danger-button{display:inline-block;padding:12px 16px;border:1px solid #ff797955;border-radius:9px;background:linear-gradient(135deg,#8d2838,#5e1826);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}.danger-notice{border-left-color:#ee6476;background:#2c1117}.danger-confirm-card{border-color:#ff727238}

/* Tableau de bord opérationnel */
.dashboard-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.dashboard-heading>div{max-width:760px}.network-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:22px;padding:18px 22px;border:1px solid #d4aa5a35;border-radius:14px;background:linear-gradient(110deg,#2c211744,#121622)}.network-status.is-local{border-color:#67d8a255;background:linear-gradient(110deg,#12312677,#111723)}.network-status p,.network-status strong,.network-status small{margin:0}.network-status strong{display:block;margin:4px 0;color:#fff;word-break:break-all}.network-status small{color:var(--muted);line-height:1.45}.network-dot{width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 18px #d4aa5aaa}.is-local .network-dot{background:var(--green);box-shadow:0 0 18px #67d8a2aa}.network-jdr{display:grid;gap:4px;max-width:280px;text-align:right}.network-jdr span{color:var(--gold);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.network-jdr small{word-break:break-all}.dashboard-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.dashboard-panel{min-width:0}.dashboard-panel .panel-title{align-items:center}.dashboard-panel .panel-title h2{margin:.2rem 0}.dashboard-panel .panel-title a{font-size:.82rem;white-space:nowrap}.dashboard-list{display:grid;gap:9px}.dashboard-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #ffffff14;border-radius:10px;background:#090e1788}.dashboard-row>div:first-child{display:grid;gap:4px;min-width:0}.dashboard-row span,.dashboard-row small{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.dashboard-row-action{display:flex;align-items:center;gap:8px}.dashboard-row-action form{margin:0}.dashboard-empty{margin:0;padding:22px;border:1px dashed #ffffff20;border-radius:10px;color:var(--muted);text-align:center}.stat-card-button{width:100%;font:inherit;text-align:left;cursor:pointer}.stat-card:hover,.stat-card-button:hover{border-color:#7056aa;transform:translateY(-2px)}.test-site-card{border-color:#67d8a244;background:linear-gradient(145deg,#10251f,#101725)}.test-site-card strong{font-size:1.65rem}.test-site-card small{overflow-wrap:anywhere}.recent-users-dialog{width:min(620px,calc(100vw - 28px))}.recent-user-list{display:grid;gap:9px;max-height:55vh;overflow:auto}.recent-user-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #ffffff16;border-radius:11px;background:#090e18}.recent-user-list article>div{display:grid;gap:3px}.recent-user-list small,.recent-user-list time{color:var(--muted);font-size:.75rem}.recent-user-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 14px #67d8a2aa}.recent-user-list time{text-align:right}
@media(max-width:900px){.dashboard-board{grid-template-columns:1fr}.network-status{grid-template-columns:auto 1fr}.network-jdr{grid-column:2;text-align:left}}
@media(max-width:620px){.dashboard-heading{align-items:flex-start;flex-direction:column}.network-status{grid-template-columns:1fr}.network-dot{display:none}.network-jdr{grid-column:auto}.dashboard-row{align-items:flex-start;flex-direction:column}.dashboard-row-action{width:100%;justify-content:space-between}.recent-user-list article{grid-template-columns:auto 1fr}.recent-user-list time{grid-column:2;text-align:left}.recent-users-dialog .access-request-form{padding:20px}}

/* Demandes de comptes, attribution multiple et lecture croisée des droits */
.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-panel-wide{grid-column:1/-1}.danger-button.small-button{padding:9px 11px}.access-request-dialog{width:min(760px,calc(100vw - 28px));max-height:90vh;padding:0;border:1px solid #8b5cf677;border-radius:18px;background:#101521;color:var(--text);box-shadow:0 32px 100px #000c}.access-request-dialog::backdrop{background:#05070dcc;backdrop-filter:blur(8px)}.access-request-form{display:grid;gap:20px;padding:28px}.dialog-heading{display:flex;justify-content:space-between;gap:20px}.dialog-heading h2,.dialog-heading p{margin:.25rem 0}.dialog-close{align-self:start;width:38px;height:38px;border:1px solid #ffffff22;border-radius:50%;background:#ffffff0c;color:#fff;font-size:24px;cursor:pointer}.compact-role-guide{grid-template-columns:repeat(2,1fr);margin:0}.access-grant-list{display:grid;gap:10px}.access-grant-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,1fr) auto;align-items:end;gap:10px;padding:12px;border:1px solid #ffffff17;border-radius:11px;background:#090e18}.access-grant-row label,.rights-filters label{display:grid;gap:7px;color:#b9c3d4;font-size:.8rem}.access-grant-row select,.rights-filters select{width:100%;padding:11px;border:1px solid #35415b;border-radius:8px;background:#090d16;color:var(--text)}.access-grant-row select:disabled{opacity:.8;color:#e5d8ff}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.rights-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:14px;padding:18px;border:1px solid #ffffff1c;border-radius:14px;background:#0d121ccc}.selection-banner{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 18px;border-left:3px solid var(--gold);background:#241b2d}.selection-banner span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.rights-table-wrap{overflow:auto}.rights-table{width:100%;border-collapse:collapse}.rights-table th,.rights-table td{padding:15px;text-align:left;vertical-align:top;border-bottom:1px solid #ffffff14}.rights-table th{color:var(--gold);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.rights-person{display:grid;gap:4px;min-width:190px;color:var(--text);text-decoration:none}.rights-person span,.rights-person small{color:var(--muted);font-size:.78rem}.rights-tags{display:flex;flex-wrap:wrap;gap:7px}.rights-tag{display:grid;gap:3px;min-width:130px;padding:8px 10px;border:1px solid #8b5cf644;border-radius:8px;background:#211a33;color:#eee8ff;text-decoration:none}.rights-tag span{color:#b8adc9;font-size:.7rem}.rights-tag.world-right{border-color:#d4aa5a55;background:#2b2117}.rights-tag.role-player{border-color:#67d8a255;background:#132a22}.rights-tag:hover,.rights-person:hover{filter:brightness(1.18)}
.selection-banner small{margin-left:auto;color:var(--muted)}
@media(max-width:760px){.access-grant-row,.rights-filters{grid-template-columns:1fr}.compact-role-guide{grid-template-columns:1fr}.dialog-actions{align-items:stretch;flex-direction:column-reverse}.selection-banner{align-items:flex-start;flex-direction:column}.selection-banner small{margin-left:0}.rights-table{min-width:720px}}

/* Équipes, propriété et notifications */
.notification-link{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff1d;border-radius:11px;background:#ffffff09;color:#e8ddff;text-decoration:none}.notification-link:hover{border-color:#8b5cf688;background:#241d38}.notification-link strong{position:absolute;right:-5px;top:-6px;min-width:20px;padding:3px 5px;border:2px solid #0d1019;border-radius:999px;background:#d4506d;color:#fff;font-size:.68rem;text-align:center}.access-card-stats{color:#9faac0;font-size:.78rem}.member-chips{display:flex;flex-wrap:wrap;gap:7px}.member-chips>span,.member-chips>i{display:grid;gap:2px;padding:8px 10px;border:1px solid #ffffff1b;border-radius:9px;background:#ffffff08;font-style:normal}.member-chips strong{font:600 .82rem system-ui,sans-serif}.member-chips small{color:var(--muted);font-size:.7rem}.member-chips.compact{gap:5px;margin-top:5px}.member-chips.compact i{display:inline-block;padding:5px 7px;color:#b8c2d3;font-size:.68rem;line-height:1.25}.campaign-card .member-chips.compact{margin:4px 0 8px}.campaign-admin-card .member-chips.compact{align-self:start}.campaign-roster{margin:22px 0;padding:18px;border:1px solid #ffffff1a;border-radius:13px;background:#090e1888}.campaign-roster h2{margin:.2rem 0;font-size:1.15rem}.ownership-panel{margin-top:24px;padding:18px;border:1px solid #e6ad5e38;border-radius:13px;background:#2b21152e}.ownership-panel summary{color:#e9c780;font-weight:800;cursor:pointer}.ownership-panel[open] summary{margin-bottom:15px}.ownership-panel form{max-width:560px}.owner-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.owner-actions section+section{padding-left:28px;border-left:1px solid #ff75752e}.notifications-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.notification-list{display:grid;gap:11px;margin-top:26px}.notification-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #ffffff16;border-radius:13px;background:#0e1420}.notification-card.unread{border-color:#8b5cf677;background:linear-gradient(120deg,#261c3e99,#111723)}.notification-card>div{display:grid;gap:5px}.notification-card p,.notification-card small{margin:0;color:var(--muted)}.notification-card p{line-height:1.45}.notification-card small{font-size:.75rem}
@media(max-width:760px){.owner-actions{grid-template-columns:1fr}.owner-actions section+section{padding:22px 0 0;border-top:1px solid #ff75752e;border-left:0}.notifications-heading,.notification-card{align-items:flex-start;flex-direction:column}.notification-card form,.notification-card button{width:100%}}

/* Supervision du VPS */
.monitor-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.monitor-heading>div{max-width:780px}.control-heading h1{margin-bottom:.4rem}.status-pill{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #67d8a255;border-radius:999px;background:#153126;color:#98edc2;font-size:.78rem;font-weight:800}.status-pill.warning{border-color:#e2ad5d55;background:#352817;color:#f0cb85}.monitor-service-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:14px 18px;border:1px solid #ffffff17;border-radius:13px;background:#0d121ccc}.monitor-service-strip>small{margin-left:auto;color:var(--muted)}.service-state{display:flex;align-items:center;gap:7px;color:#ffb2b2;font-size:.78rem;font-weight:700}.service-state i{width:8px;height:8px;border-radius:50%;background:#d85f6d;box-shadow:0 0 12px #d85f6d88}.service-state.online{color:#9cecc5}.service-state.online i{background:#67d8a2;box-shadow:0 0 12px #67d8a288}.monitor-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.monitor-kpi{position:relative;display:grid;gap:7px;overflow:hidden;padding:22px;border:1px solid #ffffff1b;border-radius:15px;background:linear-gradient(145deg,#ffffff10,#ffffff04),#0d121d}.monitor-kpi::after{content:"";position:absolute;right:-42px;bottom:-58px;width:130px;height:130px;border-radius:50%;opacity:.2;filter:blur(3px)}.monitor-kpi.cpu::after{background:#d4aa5a}.monitor-kpi.ram::after{background:#8b5cf6}.monitor-kpi.swap::after{background:#57c7d4}.monitor-kpi.disk::after{background:#67d8a2}.monitor-kpi span{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.monitor-kpi strong{font:600 2.25rem Georgia,serif}.monitor-kpi small{z-index:1;color:#9aa6ba}.monitor-history{margin-bottom:20px}.monitor-panel-title{align-items:center}.range-switch{display:flex;padding:4px;border:1px solid #ffffff1c;border-radius:10px;background:#080c14}.range-switch button{padding:8px 11px;border:0;border-radius:7px;background:transparent;color:#9eabc0;font-weight:700;cursor:pointer}.range-switch button:hover,.range-switch button.active{background:#2a2041;color:#f0e9ff}.chart-legend{display:flex;gap:17px;flex-wrap:wrap;margin-bottom:10px}.chart-legend span{display:flex;align-items:center;gap:7px;color:#aab4c6;font-size:.75rem}.chart-legend span::before{content:"";width:18px;height:3px;border-radius:99px;background:currentColor}.chart-legend .cpu{color:#e1b765}.chart-legend .ram{color:#a987f5}.chart-legend .swap{color:#5ed3df}.chart-legend .disk{color:#65d6a0}.metric-chart{position:relative;min-height:300px;border:1px solid #ffffff12;border-radius:13px;background:linear-gradient(180deg,#10172599,#090d16);overflow:hidden}.metric-chart svg{display:block;width:100%;height:auto;min-height:280px}.metric-chart>p{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--muted)}.metric-chart.has-data>p{display:none}.monitor-grid-line{stroke:#ffffff13;stroke-width:1}.monitor-axis-label{fill:#79869a;font:24px system-ui,sans-serif}.monitor-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:stroke-dashoffset 1.15s cubic-bezier(.2,.75,.2,1)}.monitor-line.cpu{stroke:#e1b765}.monitor-line.ram{stroke:#a987f5}.monitor-line.swap{stroke:#5ed3df}.monitor-line.disk{stroke:#65d6a0}.chart-foot{display:flex;justify-content:space-between;gap:15px;margin-top:10px;color:var(--muted);font-size:.75rem}.monitor-storage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.monitor-storage-grid .panel-title small{color:var(--muted)}.storage-bars{display:grid;gap:13px}.storage-bars article{display:grid;gap:7px}.storage-bars article>div{display:flex;justify-content:space-between;gap:12px}.storage-bars strong{font-size:.84rem}.storage-bars span{color:var(--muted);font-size:.78rem}.storage-bars meter{width:100%;height:9px;border:0;background:none}.storage-bars meter::-webkit-meter-bar{border:0;border-radius:99px;background:#ffffff12}.storage-bars meter::-webkit-meter-optimum-value{border-radius:99px;background:linear-gradient(90deg,#7454b5,#b08aec)}.world-bars meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#2d8868,#67d8a2)}.storage-bars meter::-moz-meter-bar{border-radius:99px;background:linear-gradient(90deg,#7454b5,#b08aec)}.monitor-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;overflow:hidden}.monitor-details>div{display:grid;gap:6px;padding:20px}.monitor-details>div+div{border-left:1px solid #ffffff16}.monitor-details span,.monitor-details small{color:var(--muted);font-size:.75rem}.monitor-details strong{font-size:.94rem}
@media(max-width:900px){.monitor-kpis,.monitor-details{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-storage-grid{grid-template-columns:1fr}.monitor-details>div:nth-child(3){border-left:0;border-top:1px solid #ffffff16}.monitor-details>div:nth-child(4){border-top:1px solid #ffffff16}}
@media(max-width:620px){.monitor-heading,.monitor-panel-title{align-items:flex-start;flex-direction:column}.monitor-kpis,.monitor-details{grid-template-columns:1fr}.monitor-service-strip>small{width:100%;margin-left:0}.range-switch{width:100%}.range-switch button{flex:1}.monitor-details>div+div,.monitor-details>div:nth-child(3){border-top:1px solid #ffffff16;border-left:0}.metric-chart{min-height:240px}.metric-chart svg{min-height:240px}}
.work-filters{display:flex;gap:8px;margin-bottom:18px}.work-filters a{padding:9px 13px;border:1px solid #35415b;border-radius:7px;color:var(--muted);text-decoration:none}.work-filters a.active{border-color:#8b6bd1;background:#2d2247;color:#fff}.work-create{margin-bottom:24px}.work-create-form{display:grid;grid-template-columns:180px minmax(240px,1fr) 150px auto;gap:14px;align-items:end}.work-create-form label,.work-edit{display:grid;gap:7px}.work-create-form select,.work-create-form input,.work-create-form textarea,.work-edit input,.work-edit textarea,.work-edit select,.work-item>form select,.clarification textarea{width:100%;padding:10px;border:1px solid #35415b;border-radius:8px;background:#090d16;color:var(--text)}.work-notes{grid-column:1/-2}.work-sections{display:grid;gap:20px}.work-items{display:grid;gap:9px}.work-item{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:13px;border:1px solid #293247;border-radius:8px;background:#0b1019}.work-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.work-item.status-done{opacity:.66}.work-item.status-done summary strong{text-decoration:line-through}.work-item.status-abandoned{opacity:.48}.work-item.needs-answer{border:2px solid #d75a68;background:#241318}.question-mark{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:50%;background:#d75a68;color:#fff}.clarification{margin:14px 0;padding:16px;border:1px solid #d75a68;border-radius:7px;background:#30171d}.clarification p{white-space:pre-wrap}.clarification form,.clarification label{display:grid;gap:9px}.work-edit{grid-template-columns:1fr 150px auto;margin:14px 0 8px}.work-edit textarea{grid-column:1/-1}.status-badge.high{background:#482126;color:#ffb4b4}.status-badge.normal{background:#2d2247;color:#cdb9ff}.status-badge.later{background:#222938;color:#aeb8ca}@media(max-width:800px){.work-create-form,.work-edit,.work-item{grid-template-columns:1fr}.work-notes,.work-edit textarea{grid-column:auto}.work-filters{overflow:auto}}
.campaign-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.campaign-detail-layout>.detail-card{max-width:none;width:100%;margin:0}.campaign-chat{position:sticky;top:92px;padding:22px;border:1px solid var(--line);border-radius:12px;background:#101521}.campaign-chat h2{margin:.2rem 0 1rem}.quick-chat-messages{display:grid;gap:9px;max-height:440px;overflow:auto;margin-bottom:16px}.quick-chat-messages article{padding:10px;border:1px solid #293247;border-radius:7px;background:#0b1019}.quick-chat-messages p{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.quick-chat-messages small{color:var(--muted)}.quick-chat-form{display:grid;gap:8px}.quick-chat-form textarea{resize:vertical;padding:10px;border:1px solid #35415b;border-radius:8px;background:#090d16;color:var(--text)}@media(max-width:900px){.campaign-detail-layout{grid-template-columns:1fr}.campaign-chat{position:static}}.work-status-guide{margin:-8px 0 18px;color:var(--muted);font-size:.82rem;line-height:1.6}.work-status-guide strong{color:#d8cafa}.work-item.status-proposed{border-left:3px solid #e1b765}.work-item.status-todo{border-left:3px solid #8b6bd1}.work-item.status-in_progress{border-left:3px solid #67d8a2}.work-status-form{display:block;width:100%;padding:9px;border:1px solid #344057;border-radius:8px;background:#0e1420}.work-status-form label{display:grid;gap:4px;min-width:0}.work-status-form label span{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--muted)}.work-status-form select{display:block;width:100%;min-width:0;padding:9px 34px 9px 10px;border:1px solid currentColor;border-radius:7px;background:#111827;color:#e8edf7;font-weight:700}.work-status-form[aria-busy="true"]{opacity:.7}.work-status-form.status-proposed select{color:#f0ca76}.work-status-form.status-todo select{color:#cbb8ff}.work-status-form.status-in_progress select{color:#7be0ad}.work-status-form.status-done select{color:#91c7ff}.work-status-form.status-abandoned select{color:#b7becb}
.work-item.origin-admin{border-color:#6948a3;background:linear-gradient(105deg,rgba(92,45,145,.38),rgba(11,16,25,.96) 58%)}.work-item.origin-user{border-color:#9b7628;background:linear-gradient(105deg,rgba(151,105,16,.34),rgba(11,16,25,.96) 58%)}.work-item-meta{display:grid;justify-items:end;gap:5px;flex:0 0 auto}.work-item-author{color:#d7c8f4;font-size:.72rem;font-weight:700}.origin-user .work-item-author{color:#f1cf7a}@media(max-width:800px){.work-item-meta{justify-items:start}.work-item summary{align-items:flex-start;flex-direction:column}}
.rule-groups{display:grid;gap:26px}.rule-group{padding:20px 0;border-top:1px solid #293247}.rule-group:first-child{border-top:0;padding-top:0}.rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.rule-card{display:grid;align-content:space-between;gap:18px;padding:16px;border:1px solid #303b50;border-radius:8px;background:#0d121c}.rule-card h2{font-size:1.05rem;margin:0 0 8px}.rule-card p{color:var(--muted);line-height:1.55}.rule-value-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.rule-value-form label{display:grid;gap:6px}.rule-value-form input,.rule-value-form select{width:100%;padding:10px;border:1px solid #35415b;border-radius:7px;background:#090d16;color:var(--text)}@media(max-width:560px){.rule-value-form{grid-template-columns:1fr}}
.account-setting{margin-top:16px;padding:14px;border:1px solid #35415b;border-radius:8px;background:#0d121c}.account-setting summary{cursor:pointer;font-weight:700}.account-setting[open] summary{margin-bottom:12px}.danger-zone{border-color:#693845;background:#1b1015}.danger-button{padding:11px 14px;border:1px solid #a85061;border-radius:7px;background:#6d2635;color:#fff;font-weight:700;cursor:pointer}
.site-legal-footer{display:flex;align-items:center;justify-content:center;gap:20px;max-width:980px;margin:10px auto 0;padding:24px 24px 34px;border-top:1px solid #293247;color:var(--muted);font-size:.78rem;line-height:1.5}.site-legal-footer>img{width:88px;max-height:72px;object-fit:contain}.site-legal-footer>div{max-width:720px}.site-legal-footer strong{color:#ddd5ef}.site-legal-footer p{margin:4px 0}.site-legal-footer details{margin-top:7px}.site-legal-footer summary{color:#c8b9f8;cursor:pointer}.legal-welcome{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:#050711d9;backdrop-filter:blur(8px)}.legal-welcome-card{width:min(620px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:30px;border:1px solid #735ca8;border-radius:20px;background:radial-gradient(circle at 100% 0,#2b1d48 0,transparent 35%),linear-gradient(145deg,#171c2c,#0d111b);box-shadow:0 30px 100px #000b;text-align:center}.legal-welcome-card>img{width:150px;max-height:104px;object-fit:contain}.legal-welcome-card h2{margin:.2rem 0 .8rem;font-size:clamp(1.7rem,5vw,2.4rem)}.legal-welcome-card>p{line-height:1.6}.legal-welcome-attribution{margin:18px 0;padding:14px 16px;border:1px solid #ffffff17;border-radius:12px;background:#080c14;color:#aeb8ca;font-size:.8rem;line-height:1.55;text-align:left}.legal-welcome-attribution p{margin:7px 0}.legal-welcome-card form{margin-top:18px}.legal-welcome-card button{min-width:180px}@media(max-width:620px){.site-legal-footer{align-items:flex-start;flex-direction:column}.site-legal-footer>img{width:72px}.legal-welcome-card{padding:22px}}
.notification-welcome{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:#050711d9;backdrop-filter:blur(8px)}.notification-welcome-backdrop{position:absolute;inset:0}.notification-welcome-backdrop button{width:100%;height:100%;padding:0;border:0;background:transparent;cursor:default}.notification-welcome-card{position:relative;width:min(560px,100%);padding:30px;border:1px solid #735ca8;border-radius:20px;background:radial-gradient(circle at 15% 0,#332050 0,transparent 40%),linear-gradient(145deg,#171c2c,#0d111b);box-shadow:0 30px 100px #000b;text-align:center}.notification-welcome-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 14px;border:1px solid #d4aa5a66;border-radius:22px;background:#d4aa5a18;font-size:34px}.notification-welcome-card h2{margin:.2rem 0 .8rem;font-size:clamp(1.7rem,5vw,2.4rem)}.notification-welcome-card>p{line-height:1.6}.notification-welcome-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.notification-welcome-actions form{margin:0}.notification-welcome-close{position:absolute;right:12px;top:12px}.notification-welcome-close button{width:36px;height:36px;border:1px solid #ffffff22;border-radius:50%;background:#ffffff0c;color:#fff;font-size:22px;cursor:pointer}.notification-settings{max-width:1000px;margin:0 auto}.push-device-actions{display:flex;gap:9px;flex-wrap:wrap}.push-status{margin:-12px 0 24px;padding:12px 15px;border:1px solid #35415b;border-radius:10px;background:#0d121c;color:#b8c3d6}.push-status.success{border-color:#3b8065;background:#153126;color:#98edc2}.push-status.error{border-color:#874552;background:#351921;color:#ffb2b2}.notification-preference-form{display:grid;gap:20px}.notification-preference-card{display:grid;gap:16px;padding:22px;border:1px solid #303b50;border-radius:16px;background:linear-gradient(145deg,#141a28,#0e131e)}.notification-preference-card.global{border-color:#765eb066;background:radial-gradient(circle at 100% 0,#2c2145 0,transparent 38%),#101521}.notification-preference-card h2{margin:.2rem 0}.pretty-switch{display:flex;align-items:center;gap:10px;cursor:pointer}.pretty-switch input{position:absolute;opacity:0;pointer-events:none}.pretty-switch>span{position:relative;width:44px;height:24px;border:1px solid #526078;border-radius:99px;background:#20283a;transition:.16s}.pretty-switch>span::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#9da8ba;transition:.16s}.pretty-switch input:checked+span{border-color:#8b5cf6;background:#5b35ac}.pretty-switch input:checked+span::after{transform:translateX(20px);background:#fff}.notification-category-grid{display:flex;gap:8px;flex-wrap:wrap}.notification-category-grid label{cursor:pointer}.notification-category-grid input{position:absolute;opacity:0}.notification-category-grid span{display:block;padding:9px 13px;border:1px solid #35415b;border-radius:999px;background:#0b1019;color:#aeb8ca;font-weight:700}.notification-category-grid input:checked+span{border-color:#8b6bd1;background:#2d2247;color:#eee8ff}.notification-category-grid .admin-category input:checked+span{border-color:#d85f6d;background:#4a2028;color:#ffbec5}.campaign-notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.registered-devices{margin-top:20px;padding:16px;border:1px solid #293247;border-radius:12px;background:#0d121c}.registered-devices p{margin:5px 0 0}@media(max-width:760px){.campaign-notification-grid{grid-template-columns:1fr}.notification-welcome-actions,.push-device-actions{align-items:stretch;flex-direction:column}.notification-welcome-actions button,.push-device-actions button{width:100%}}
.mail-compose{margin-bottom:24px}.template-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.template-buttons button{padding:8px 11px;border:1px solid #516078;border-radius:7px;background:#151d2b;color:#dce4f1;cursor:pointer}.mail-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.mail-list{display:grid;gap:8px}.mail-row{padding:12px;border:1px solid #303b50;border-radius:8px;background:#0d121c}.mail-row summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.mail-row summary span{display:grid;gap:4px;min-width:0}.mail-row summary strong,.mail-row summary small{overflow-wrap:anywhere}.mail-row time,.mail-row small{color:var(--muted);font-size:.78rem}.mail-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.attachment-note{padding:9px;border-left:3px solid #e1b765;background:#211b10;color:#f0ca76}@media(max-width:900px){.mail-columns{grid-template-columns:1fr}}
.status-badge.invitation-manager{background:#15352f;color:#82dfc5}.status-badge.deleted{background:#4a2028;color:#ffb2bd}.managed-actions{gap:8px;flex-wrap:wrap}.rights-person-actions{display:flex;align-items:center;gap:7px;margin-top:10px}.rights-person-actions form{margin:0}.icon-toggle{width:36px;height:36px;border:1px solid #3d4962;border-radius:8px;background:#111827;color:#9da8ba;font-weight:800;cursor:pointer}.icon-toggle.active{border-color:#58caa4;background:#17362e;color:#91e5c7}.rights-empty{display:grid;place-items:center;min-width:130px;min-height:52px;padding:8px 10px;border:1px dashed #3a455a;border-radius:8px;color:#7f899b;font-size:.78rem}.quick-rights-picker{display:grid;grid-template-columns:1fr 1.4fr .7fr;gap:12px}.quick-rights-picker label{display:grid;gap:7px;color:#b9c3d4;font-size:.8rem}.quick-rights-picker select{width:100%;padding:11px;border:1px solid #35415b;border-radius:8px;background:#090d16;color:var(--text)}.quick-rights-picker select:disabled{opacity:.55}@media(max-width:760px){.quick-rights-picker{grid-template-columns:1fr}}
.account-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(2,minmax(150px,1fr)) auto auto;align-items:end;gap:12px;margin-bottom:18px;padding:18px;border:1px solid #ffffff1c;border-radius:14px;background:#0d121ccc}.account-filters label{display:grid;gap:7px;color:#b9c3d4;font-size:.8rem}.account-filters input,.account-filters select{width:100%;padding:11px;border:1px solid #35415b;border-radius:8px;background:#090d16;color:var(--text)}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}.pagination a,.pagination span{padding:8px 11px;border:1px solid #35415b;border-radius:8px;color:#cfc4ef;text-decoration:none}.pagination span{color:var(--muted)}@media(max-width:900px){.account-filters{grid-template-columns:1fr 1fr}}@media(max-width:620px){.account-filters{grid-template-columns:1fr}.pagination{justify-content:space-between}}
.storage-track{width:100%;height:9px;overflow:hidden;border-radius:99px;background:#ffffff12}.storage-fill{display:block;height:100%;min-width:1px;border-radius:inherit;background:linear-gradient(90deg,#7454b5,#b08aec)}.world-bars .storage-fill{background:linear-gradient(90deg,#2d8868,#67d8a2)}
.monitor-time-label{fill:#79869a;font:18px system-ui,sans-serif}
.backup-view-tabs{display:flex;gap:8px;margin:0 0 20px;padding:5px;border:1px solid #ffffff16;border-radius:12px;background:#090d16;width:max-content;max-width:100%}.backup-view-tabs a{padding:10px 14px;border-radius:8px;color:#9da8ba;text-decoration:none;font-size:.82rem;font-weight:800}.backup-view-tabs a:hover,.backup-view-tabs a.active{background:#2a2041;color:#f1ebff}.backup-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.backup-kpis article{display:grid;gap:7px;padding:18px;border:1px solid #ffffff17;border-radius:13px;background:#0d121d}.backup-kpis span,.backup-summary-grid span{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.backup-kpis strong{font:600 1.45rem Georgia,serif}.backup-kpis small{color:#8d99ac}.backup-kpis .has-error,.backup-summary-grid .has-error{border-color:#874552;background:#351921}.backup-error{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px;border:1px solid #87455266;border-radius:9px;background:#35192188;color:#ffb2b2}.backup-error span{font-size:.72rem}.backup-error p{grid-column:1/-1;margin:0;color:#dca2aa;font-size:.78rem}.backup-server-summary{margin-bottom:20px}.backup-server-summary .small-button{text-decoration:none}.backup-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #ffffff12;border-radius:11px;background:#ffffff12}.backup-summary-grid>div{display:grid;gap:7px;padding:17px;background:#0b1019}.backup-summary-grid strong{font-size:.95rem}.backup-action-notice{margin-bottom:20px;padding:15px 18px;border:1px solid #57c7d455;border-radius:12px;background:#102830;color:#bdeff3}.backup-action-notice p{margin:5px 0 0;color:#9dcbd0;font-size:.82rem}.backup-action-card{gap:18px}.backup-restore-form{display:grid;gap:10px;padding-top:16px;border-top:1px solid #ffffff15}.backup-restore-form>label:first-child{display:grid;gap:6px;color:var(--muted);font-size:.75rem}.backup-restore-form select{width:100%;padding:9px;border:1px solid #35415b;border-radius:8px;background:#090d16;color:var(--text)}.backup-confirm{display:flex;align-items:flex-start;gap:8px;color:#aab4c6;font-size:.75rem}.backup-confirm input{margin-top:2px}.backup-restore-form .secondary-button{padding:10px 13px;border:1px solid #57c7d466;border-radius:8px;background:#142d36;color:#bdeff3;font-weight:800;cursor:pointer}.backup-restore-form .secondary-button:disabled{cursor:not-allowed;opacity:.45}@media(max-width:1000px){.backup-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.backup-view-tabs{width:100%}.backup-view-tabs a{flex:1;text-align:center}.backup-kpis,.backup-summary-grid{grid-template-columns:1fr}}
.backup-health-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;margin:0 0 20px;border:1px solid #ffffff12;border-radius:12px;background:#ffffff12}.backup-health-strip>div{display:grid;gap:5px;padding:14px 17px;background:#101722}.backup-health-strip span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.backup-health-strip strong{font-size:.92rem}.backup-health-strip small{color:#8d99ac}.system-subnav{display:flex;gap:8px;margin:-18px 0 28px;padding-bottom:10px;border-bottom:1px solid #ffffff14}.system-subnav a{padding:8px 13px;border-radius:8px;color:#9da8ba;text-decoration:none;font-weight:700}.system-subnav a:hover,.system-subnav a.active{background:#221c34;color:#f1ebff}.backup-target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.backup-target-card{display:flex;flex-direction:column;gap:16px}.backup-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.backup-card-head h2{font-size:1.25rem}.backup-state{display:inline-flex;padding:5px 8px;border:1px solid #4b566b;border-radius:999px;background:#202737;color:#c3ccdc;font-size:.72rem;font-weight:800;white-space:nowrap}.backup-state.success{border-color:#3b8065;background:#153126;color:#98edc2}.backup-state.failed{border-color:#874552;background:#351921;color:#ffb2b2}.backup-state.running{border-color:#765eb0;background:#281f40;color:#d8c9ff}.backup-state.queued{border-color:#8b6d3d;background:#352817;color:#f0cb85}.backup-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.backup-facts>div{display:grid;gap:4px;padding:12px;border:1px solid #ffffff12;border-radius:9px;background:#0b1019}.backup-facts dt{color:var(--muted);font-size:.72rem}.backup-facts dd{margin:0;font-size:.88rem;font-weight:700}.backup-schedule-form{display:grid;grid-template-columns:minmax(150px,1fr) 115px auto;gap:10px;align-items:end}.backup-schedule-form label{display:grid;gap:6px;color:var(--muted);font-size:.75rem}.backup-schedule-form select,.backup-schedule-form input{width:100%;padding:9px;border:1px solid #35415b;border-radius:8px;background:#090d16;color:var(--text)}.backup-run-form{margin-top:auto}.backup-run-form button{width:100%}.backup-run-form button:disabled{cursor:not-allowed;opacity:.55}.backup-history{margin-top:20px}.backup-table-wrap{overflow:auto}.backup-table{width:100%;border-collapse:collapse;font-size:.82rem}.backup-table th,.backup-table td{padding:12px 10px;border-bottom:1px solid #ffffff12;text-align:left;vertical-align:top}.backup-table th{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.backup-table td small{display:block;margin-top:4px;color:var(--muted)}.backup-table td:last-child{max-width:280px;color:var(--muted)}@media(max-width:900px){.backup-target-grid{grid-template-columns:1fr}}@media(max-width:760px){.backup-health-strip{grid-template-columns:1fr}}@media(max-width:620px){.backup-schedule-form,.backup-facts{grid-template-columns:1fr}.backup-card-head{flex-direction:column}}
.world-storage-summary{display:grid;gap:6px;margin-top:10px;color:var(--muted);font-size:.76rem}.world-storage-summary b{color:var(--text)}.world-storage-summary progress,.world-storage-progress{width:100%;height:10px;overflow:hidden;border:0;border-radius:999px;background:#1a2230;accent-color:#7c65d8}.world-storage-summary.warning progress,.world-storage-panel.warning progress{accent-color:#d5a943}.world-storage-summary.critical progress,.world-storage-panel.critical progress{accent-color:#d85d69}.world-storage-panel{margin:20px 0}.world-storage-panel .panel-title{align-items:flex-start}.storage-kind-summary{display:flex;flex-wrap:wrap;gap:8px}.storage-kind-summary span{display:grid;gap:3px;padding:9px 12px;border:1px solid #ffffff14;border-radius:9px;background:#0c111a;color:var(--muted);font-size:.72rem}.storage-kind-summary strong{color:var(--text);font-size:.9rem}.world-storage-progress{margin:14px 0}.storage-alert{margin:12px 0}.storage-breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.storage-breakdown-grid>section{display:grid;gap:8px}.storage-breakdown-grid h3{margin:0 0 4px;font-size:.9rem}.storage-breakdown-row{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:10px 12px;border:1px solid #ffffff12;border-radius:9px;background:#0b1019}.storage-breakdown-row small{grid-column:1/-1;color:var(--muted)}.world-quota-admin-form{max-width:360px;margin-top:14px;padding-top:12px;border-top:1px solid #ffffff12}@media(max-width:760px){.storage-breakdown-grid{grid-template-columns:1fr}.world-storage-panel .panel-title{display:grid}.storage-kind-summary{margin-top:10px}}
.universe-list-toolbar{display:flex;align-items:end;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid #ffffff14;border-radius:12px;background:#0d121d}.universe-list-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:700}.universe-list-toolbar select{min-width:180px;padding:9px;border:1px solid #35415b;border-radius:8px;background:#090d16;color:var(--text)}.universe-list-toolbar>span{margin-left:auto;padding-bottom:8px}.universe-world-metrics{display:flex;gap:8px;margin:10px 0}.universe-world-metrics span{display:grid;gap:3px;min-width:120px;padding:9px 11px;border:1px solid #ffffff12;border-radius:9px;background:#0b1019}.universe-world-metrics small{color:var(--muted)}.universe-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:20px 0}.universe-pagination a{min-width:38px;padding:8px 10px;border:1px solid #ffffff18;border-radius:8px;background:#0d121d;color:var(--muted);text-align:center;text-decoration:none}.universe-pagination a:hover,.universe-pagination a.active{border-color:#7c65d8;background:#2a2041;color:#fff}@media(max-width:760px){.universe-list-toolbar{align-items:stretch;flex-direction:column}.universe-list-toolbar>span{margin-left:0;padding-bottom:0}.universe-list-toolbar select{width:100%}.universe-world-metrics{flex-direction:column}}

/* Calendrier partagé des mondes et campagnes. */
.campaign-card,.campaign-admin-card{border-left:3px solid var(--campaign-color,#8b5cf6)!important}
.campaign-detail-layout{grid-template-columns:minmax(248px,280px) minmax(430px,1fr) minmax(280px,320px)}
.campaign-calendar-column,.campaign-chat{position:sticky;top:92px}
.campaign-calendar{padding:16px;border:1px solid #ffffff1c;border-radius:18px;background:linear-gradient(150deg,#ffffff0d,#090d16e8);box-shadow:0 18px 44px #0004}
.campaign-calendar-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-bottom:12px;text-align:center}
.campaign-calendar-head h2{margin:2px 0;font-size:1.05rem}.campaign-calendar-head p{margin:0;font-size:.61rem}
.campaign-calendar-head>a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff1c;border-radius:10px;background:#ffffff08;color:#e9ddff;font-size:24px;text-decoration:none}
.campaign-calendar-weekdays,.campaign-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.campaign-calendar-weekdays{margin-bottom:5px;color:#8490a4;font-size:.58rem;font-weight:800;text-align:center;text-transform:uppercase}
.campaign-calendar-day{position:relative;min-width:0;min-height:47px;padding:4px;border:1px solid #ffffff10;border-radius:8px;background:#080c14b8;overflow:hidden}
.campaign-calendar-day.outside{opacity:.32}.campaign-calendar-day.today{border-color:var(--campaign-color,#8b5cf6);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--campaign-color,#8b5cf6) 35%,transparent)}
.calendar-day-open,.calendar-day-number{display:grid;place-items:center;width:20px;height:20px;margin:0 0 3px;border:0;border-radius:6px;background:transparent;color:#bec7d6;font-size:.66rem;font-weight:800}
.calendar-day-open{cursor:pointer}.calendar-day-open:hover{background:var(--campaign-color,#8b5cf6);color:#fff}
.calendar-day-events{display:grid;gap:2px}.calendar-event-chip{min-width:0;padding:3px 4px;border-left:2px solid var(--event-color);border-radius:4px;background:color-mix(in srgb,var(--event-color) 18%,#0b1019);color:#f3effb;font-size:.52rem;line-height:1.15;overflow:hidden}
.calendar-event-chip span,.calendar-event-chip strong,.calendar-event-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-chip span{color:#d5c9e5;font-size:.47rem}.calendar-event-chip small{color:#a99db7;font-size:.45rem}
.calendar-event-chip.is-private{border-left-color:var(--event-campaign-color);background:#9298a516;color:var(--event-campaign-color)}.calendar-event-chip.is-private span{color:#8f96a3}
.campaign-calendar-privacy{margin:10px 0 0;color:#7f899a;font-size:.62rem;line-height:1.4}.calendar-add-button{width:100%;margin-top:11px;padding:9px;font-size:.74rem}
.campaign-calendar-agenda{display:grid;gap:7px;max-height:230px;margin-top:11px;overflow:auto}.calendar-agenda-event{position:relative;display:grid;gap:5px;padding:9px 10px;border:1px solid #ffffff12;border-left:3px solid var(--event-color);border-radius:9px;background:color-mix(in srgb,var(--event-color) 10%,#0a0e17)}.calendar-agenda-event>div{display:grid;gap:2px}.calendar-agenda-event span,.calendar-agenda-event small{color:#9fa9ba;font-size:.58rem}.calendar-agenda-event strong{font-size:.72rem}.calendar-agenda-event p{margin:2px 0;color:#c5cbd6;font-size:.66rem;line-height:1.45;overflow-wrap:anywhere}.calendar-agenda-event form{position:absolute;right:6px;top:6px}.calendar-agenda-event form button{padding:3px 5px;border:0;background:transparent;color:#d98a93;font-size:.52rem;cursor:pointer}.calendar-agenda-event.is-private{border-left-color:var(--event-campaign-color);background:#9399a40c}.calendar-agenda-event.is-private strong{color:var(--event-campaign-color)}.calendar-agenda-empty{margin:4px 0;color:#818b9c;font-size:.68rem;text-align:center}
.world-calendar-panel{margin-bottom:24px}.world-calendar-panel .campaign-calendar{padding:20px}.world-calendar-panel .campaign-calendar-day{min-height:92px;padding:7px}.world-calendar-panel .calendar-event-chip{padding:5px 7px;font-size:.7rem}.world-calendar-panel .calendar-event-chip span{font-size:.6rem}.world-calendar-panel .calendar-event-chip small{font-size:.58rem}
.campaign-color-form{display:flex;align-items:center;gap:10px;margin:-5px 0 18px;padding:9px 11px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff07}.campaign-color-form label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.72rem}.campaign-color-form input{width:34px;height:28px;padding:0;border:0;background:transparent}.campaign-color-form .small-button{margin-left:auto}
.campaign-event-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:0;border:1px solid #8b5cf677;border-radius:22px;background:linear-gradient(145deg,#181426,#090d16);color:var(--text);box-shadow:0 32px 100px #000c;overflow:auto}.campaign-event-dialog::backdrop{background:#04050ac7;backdrop-filter:blur(8px)}
.campaign-event-form{display:grid;gap:14px;padding:22px}.campaign-event-form header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.campaign-event-form header p,.campaign-event-form header h2{margin:0}.campaign-event-form header button{width:34px;height:34px;border:1px solid #ffffff1d;border-radius:10px;background:#ffffff09;color:#fff;font-size:20px;cursor:pointer}
.campaign-event-form>label,.campaign-event-time-row label{display:grid;gap:6px;color:#b7c0d0;font-size:.75rem;font-weight:700}.campaign-event-form input,.campaign-event-form textarea{width:100%;padding:11px 12px;border:1px solid #35415b;border-radius:10px;background:#090d16;color:var(--text);font:inherit}.campaign-event-form textarea{resize:vertical}.campaign-event-time-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.campaign-event-color{grid-template-columns:1fr 52px!important;align-items:center}.campaign-event-color input{height:38px;padding:3px}.campaign-event-form footer{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}
@media(max-width:1160px){.campaign-detail-layout{grid-template-columns:minmax(235px,280px) minmax(0,1fr)}.campaign-chat{position:static;grid-column:1/-1}.quick-chat-messages{max-height:260px}}
@media(max-width:800px){.campaign-detail-layout{grid-template-columns:1fr}.campaign-calendar-column{position:static}.campaign-calendar-day{min-height:58px}.world-calendar-panel .campaign-calendar{padding:12px}.world-calendar-panel .campaign-calendar-day{min-height:66px;padding:4px}.calendar-event-chip small{display:none}}
@media(max-width:520px){.campaign-calendar{padding:10px}.campaign-calendar-weekdays,.campaign-calendar-grid{gap:2px}.campaign-calendar-day{min-height:45px;padding:2px;border-radius:6px}.calendar-day-open,.calendar-day-number{width:18px;height:18px}.calendar-event-chip{padding:2px;font-size:.46rem}.calendar-event-chip span{display:none}.campaign-event-time-row{grid-template-columns:1fr}.campaign-event-form footer{display:grid;grid-template-columns:1fr 1fr}.campaign-color-form{align-items:flex-start;flex-direction:column}.campaign-color-form .small-button{margin-left:0;width:100%}}

/* Profil unifié et calendrier enrichi. */
.profile-shell,.profile-calendar-page{max-width:1080px;margin:0 auto}.profile-account-card{max-width:760px}.profile-tabs{display:flex;gap:7px;margin:0 auto 28px;padding:7px;border:1px solid #ffffff1b;border-radius:15px;background:#0b1019b8;box-shadow:0 14px 40px #0004;backdrop-filter:blur(14px)}.profile-tabs a{flex:1;padding:12px 18px;border-radius:10px;color:#9faabc;text-align:center;text-decoration:none;font-weight:800}.profile-tabs a:hover{background:#ffffff09;color:#fff}.profile-tabs a.active{background:linear-gradient(135deg,#8b5cf6,#6540bd);color:#fff;box-shadow:0 8px 24px #6d3de055}.profile-calendar-heading{margin-bottom:22px}.profile-calendar-heading h1{margin-bottom:.5rem}.profile-calendar-filters{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:end;gap:12px;margin-bottom:20px;padding:16px;border:1px solid #ffffff18;border-radius:15px;background:#0d121dbd}.profile-calendar-filters label{display:grid;gap:6px;color:#aeb8ca;font-size:.75rem;font-weight:800}.profile-calendar-filters select{width:100%;padding:11px;border:1px solid #35415b;border-radius:10px;background:#090d16;color:#fff}.profile-calendar-surface{padding:4px}.profile-calendar{padding:24px}
.campaign-detail-layout{grid-template-columns:minmax(0,1fr) minmax(300px,350px)}.campaign-side-column{position:sticky;top:92px;display:grid;gap:16px}.campaign-calendar-column,.campaign-chat{position:static}.calendar-compact{position:relative;overflow:hidden;padding:20px;border:1px solid color-mix(in srgb,var(--campaign-color) 42%,#ffffff20);border-radius:20px;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--campaign-color) 25%,transparent),transparent 46%),linear-gradient(145deg,#171628,#0b101a);box-shadow:0 20px 55px #0005,inset 0 1px #ffffff14}.calendar-compact::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--campaign-color),transparent)}.calendar-compact>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.calendar-compact h2{margin:3px 0 0;font-size:1.25rem}.calendar-compact header p{margin:0}.calendar-expand-button{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #ffffff1d;border-radius:9px;background:#ffffff08;color:#d9cfeb;font-size:.68rem;font-weight:800;cursor:pointer}.calendar-expand-button:hover{border-color:var(--campaign-color);color:#fff}.calendar-compact-focus{display:grid;gap:8px;margin-top:15px}.calendar-compact-event{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:12px;border:1px solid color-mix(in srgb,var(--event-color) 34%,#ffffff13);border-radius:13px;background:linear-gradient(115deg,color-mix(in srgb,var(--event-color) 20%,#0a0e17),#0a0e17)}.calendar-compact-event>time{padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--event-color) 26%,#080b12);color:#fff;font-size:.72rem;font-weight:900}.calendar-compact-event>div{display:grid;gap:3px;min-width:0}.calendar-compact-event strong,.calendar-compact-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-compact-event small{color:#9da8ba;font-size:.65rem}.calendar-compact-event.is-private{border-color:#ffffff16;background:#ffffff05}.calendar-compact-event.is-private strong{color:var(--event-campaign-color)}.calendar-compact-empty{display:flex;align-items:center;gap:10px;padding:16px;border:1px dashed #ffffff1c;border-radius:13px;color:#8f99aa}.calendar-compact-empty span{color:var(--campaign-color);font-size:20px}.calendar-compact-empty p{margin:0;font-size:.76rem}.calendar-compact-next{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;margin-top:11px;padding:10px 2px;color:#9da8ba;font-size:.68rem}.calendar-compact-next span{grid-row:1/3;color:#737e91;font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.calendar-compact-next strong{color:#dfe5ef}.calendar-compact-next time{font-size:.62rem}.calendar-compact-actions{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:12px}.calendar-compact-actions button{padding:10px;font-size:.72rem}
.calendar-expanded-dialog{width:min(1180px,calc(100vw - 30px));height:min(880px,calc(100vh - 30px));max-width:none;max-height:none;padding:0;border:1px solid #8b5cf677;border-radius:26px;background:radial-gradient(circle at 88% 0,#31214e 0,transparent 35%),linear-gradient(145deg,#141827,#080b12);color:var(--text);box-shadow:0 40px 130px #000e;overflow:hidden}.calendar-expanded-dialog::backdrop{background:#03040ad9;backdrop-filter:blur(12px)}.calendar-expanded-dialog-inner{position:relative;height:100%;padding:26px;overflow:auto}.calendar-dialog-close{position:absolute;right:19px;top:19px;z-index:4;width:40px;height:40px;border:1px solid #ffffff20;border-radius:12px;background:#ffffff0b;color:#fff;font-size:24px;cursor:pointer}.calendar-expanded{display:grid;gap:18px}.calendar-expanded-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding-right:50px}.calendar-expanded-head h2{margin:3px 0;font-size:clamp(1.7rem,4vw,2.5rem)}.calendar-expanded-head p{margin:0;color:#9da8ba}.calendar-view-switch{display:flex;gap:4px;padding:5px;border:1px solid #ffffff18;border-radius:12px;background:#080c14}.calendar-view-switch button{padding:9px 15px;border:0;border-radius:8px;background:transparent;color:#8994a7;font-weight:850;cursor:pointer}.calendar-view-switch button.active{background:linear-gradient(135deg,var(--campaign-color,#8b5cf6),#5c3aae);color:#fff}.calendar-view-pane{animation:calendarPaneIn .18s ease}.calendar-view-pane[hidden]{display:none!important}@keyframes calendarPaneIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.calendar-expanded .campaign-calendar-head{grid-template-columns:40px 1fr 40px;margin-bottom:10px}.calendar-expanded .campaign-calendar-head h3{margin:0;text-align:center;font:600 1.2rem Georgia,serif}.calendar-expanded .campaign-calendar-day{min-height:105px;padding:7px}.calendar-expanded .calendar-event-chip{padding:5px 6px;font-size:.7rem}.calendar-expanded .calendar-event-chip span{font-size:.6rem}.calendar-expanded .calendar-event-chip small{font-size:.55rem}
.calendar-week-scroll{overflow:auto;border:1px solid #ffffff14;border-radius:15px;background:#080c14}.calendar-week-board{display:grid;grid-template-columns:58px repeat(7,minmax(112px,1fr));min-width:850px}.calendar-week-axis,.calendar-week-day{min-width:0}.calendar-week-axis{display:grid;grid-template-rows:52px repeat(17,60px);border-right:1px solid #ffffff14}.calendar-week-axis time{padding:5px 8px;color:#69758a;font-size:.62rem;text-align:right;transform:translateY(-8px)}.calendar-week-day{border-right:1px solid #ffffff10}.calendar-week-day:last-child{border-right:0}.calendar-week-day>header{display:grid;place-items:center;height:52px;border-bottom:1px solid #ffffff14;background:#0c111c;color:#8f9bad;font-size:.65rem;text-transform:uppercase}.calendar-week-day>header strong{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#fff;font-size:.78rem}.calendar-week-day.today>header strong{background:var(--campaign-color,#8b5cf6)}.calendar-week-track{position:relative;height:960px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#ffffff0d 59px,#ffffff0d 60px)}.calendar-week-event{position:absolute;z-index:1;top:var(--event-top);left:4px;right:4px;height:max(34px,var(--event-height));min-height:34px;padding:6px;border:1px solid color-mix(in srgb,var(--event-color) 60%,white);border-radius:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--event-color) 72%,#17131f),color-mix(in srgb,var(--event-color) 34%,#090d16));box-shadow:0 7px 18px #0006;overflow:hidden}.calendar-week-event time,.calendar-week-event strong,.calendar-week-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-week-event time,.calendar-week-event small{font-size:.55rem}.calendar-week-event strong{margin:2px 0;font-size:.65rem}.calendar-week-event.is-private{border-color:#ffffff20;background:#252a3588}.calendar-week-event.is-private strong{color:var(--event-campaign-color)}
.calendar-export-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px}.calendar-export-actions a{padding:6px 9px;border:1px solid color-mix(in srgb,var(--event-color) 45%,#ffffff1c);border-radius:8px;background:#ffffff07;color:#dfe6f1;font-size:.61rem;font-weight:800;text-decoration:none}.calendar-export-actions a:hover{background:color-mix(in srgb,var(--event-color) 20%,#ffffff08)}.calendar-expanded .campaign-calendar-agenda{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.calendar-expanded .calendar-agenda-event{min-height:90px;padding:13px 14px}.calendar-expanded .calendar-agenda-event strong{font-size:.88rem}.calendar-expanded .calendar-agenda-event span,.calendar-expanded .calendar-agenda-event small{font-size:.68rem}
.notification-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;overflow:hidden}.notification-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#59657a}.notification-card-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff1b;border-radius:12px;background:#ffffff09;font-size:17px}.notification-card em{color:#9ba6b8;font-size:.68rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.notification-card.notification-kind-campaign{--notification-color:#8b5cf6;border-color:color-mix(in srgb,var(--notification-color) 42%,#ffffff16);background:linear-gradient(115deg,color-mix(in srgb,var(--notification-color) 26%,#0e1420),#0e1420 72%)}.notification-card.notification-kind-campaign::before{background:linear-gradient(var(--notification-color),color-mix(in srgb,var(--notification-color) 45%,#fff))}.notification-card.notification-kind-campaign .notification-card-icon{color:color-mix(in srgb,var(--notification-color) 65%,#fff);background:color-mix(in srgb,var(--notification-color) 17%,transparent)}.notification-card.notification-kind-account-request{border-color:#4bb8dd66;background:radial-gradient(circle at 0 50%,#17799b38,transparent 38%),linear-gradient(120deg,#102432,#0e1420)}.notification-card.notification-kind-account-request::before{background:#4bc8ef}.notification-card.notification-kind-account-request .notification-card-icon{background:#1a769247;color:#8de6ff}.notification-card.notification-kind-work-proposal{border-color:#e6ad5e66;background:radial-gradient(circle at 0 50%,#9b661738,transparent 38%),linear-gradient(120deg,#2a2112,#0e1420)}.notification-card.notification-kind-work-proposal::before{background:#e6ad5e}.notification-card.notification-kind-work-proposal .notification-card-icon{background:#a56b2145;color:#ffd78c}.notification-preference-card[style*="--campaign-color"]{border-left:3px solid var(--campaign-color);background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--campaign-color) 15%,transparent),transparent 42%),linear-gradient(145deg,#141a28,#0e131e)}
@media(max-width:900px){.campaign-detail-layout{grid-template-columns:1fr}.campaign-side-column{position:static}.profile-calendar-filters{grid-template-columns:1fr 1fr}.calendar-expanded .campaign-calendar-agenda{grid-template-columns:1fr}}
@media(max-width:620px){.profile-tabs a{padding:10px 7px;font-size:.78rem}.profile-calendar-filters{grid-template-columns:1fr}.calendar-expanded-dialog{width:100vw;height:100vh;border:0;border-radius:0}.calendar-expanded-dialog-inner{padding:18px 12px}.calendar-dialog-close{right:12px;top:12px}.calendar-expanded-head{display:grid;padding-right:45px}.calendar-view-switch{width:max-content}.calendar-expanded .campaign-calendar-day{min-height:63px;padding:3px}.calendar-expanded .calendar-event-chip{padding:3px;font-size:.52rem}.calendar-expanded .calendar-event-chip span{display:none}.calendar-compact-actions{grid-template-columns:1fr}.notification-card{grid-template-columns:38px 1fr}.notification-card form{grid-column:1/-1}.calendar-expanded .campaign-calendar-agenda{grid-template-columns:1fr}}

/* Interactions tactiles et vues temporelles du calendrier. */
.campaign-calendar-day{cursor:pointer;touch-action:manipulation;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.campaign-calendar-day:hover{border-color:#ffffff35;background:#111725}.campaign-calendar-day:focus-visible{outline:2px solid #ffd95a;outline-offset:2px}.campaign-calendar-day.selected,.calendar-week-day.selected .calendar-week-day-head,.calendar-date-column.selected .calendar-date-column-head{border-color:#ffe16d;background:radial-gradient(circle at 85% 10%,#fff2a655,transparent 36%),linear-gradient(145deg,#4d3d12,#17150e);box-shadow:0 0 0 1px #ffd84c66,inset 0 1px #fff2a688,0 8px 24px #d7a91b22}.campaign-calendar-day.notification-target,.calendar-week-day.notification-target .calendar-week-day-head,.calendar-date-column.notification-target .calendar-date-column-head{animation:calendarGoldTarget 2s ease both}@keyframes calendarGoldTarget{0%,100%{box-shadow:0 0 0 1px #ffd84c66}25%{box-shadow:0 0 0 2px #fff1a8,0 0 34px #ffd84caa}55%{filter:brightness(1.32)}75%{filter:brightness(1)}}
.campaign-calendar-day.today::after,.calendar-date-column.today::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;animation:calendarTodayGlimmer 9s ease-in-out infinite}@keyframes calendarTodayGlimmer{0%,72%,100%{opacity:0;box-shadow:none}78%{opacity:.85;box-shadow:inset 18px 0 24px #9b5cff33,inset -12px 0 18px #cc8cff22}84%{opacity:.22}90%{opacity:.72;box-shadow:inset -20px 0 25px #8b5cf644}}
.calendar-event-chip{display:block;width:100%;border-top:0;border-right:0;border-bottom:0;text-align:left;cursor:pointer;touch-action:manipulation;background:linear-gradient(120deg,color-mix(in srgb,var(--event-color) 58%,#17131f),color-mix(in srgb,var(--event-color) 22%,#090d16))}.calendar-event-chip:hover{filter:brightness(1.18)}.calendar-event-chip.is-private{border-left-color:#7f8795;background:linear-gradient(120deg,#383d48,#171b24);color:#d8dce4}.calendar-event-chip.is-private strong{color:#b9c0cb}
.calendar-week-scroll{max-height:772px;overscroll-behavior:contain;scrollbar-color:#f0c83c #18130a;scrollbar-width:thin;touch-action:pan-x pan-y}.calendar-week-board{grid-template-columns:58px repeat(7,minmax(124px,1fr))}.calendar-week-axis{grid-template-rows:52px repeat(25,60px)}.calendar-week-axis span{position:sticky;top:0;z-index:5;background:#0c111c}.calendar-week-day-head{position:sticky;top:0;z-index:4;display:grid;place-items:center;width:100%;height:52px;padding:3px;border:0;border-bottom:1px solid #ffffff14;background:#0c111cf5;color:#8f9bad;font:inherit;text-transform:uppercase;cursor:pointer}.calendar-week-day-head strong{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#fff;font-size:.78rem}.calendar-week-day.today .calendar-week-day-head strong{background:var(--campaign-color,#8b5cf6)}.calendar-week-track{height:1440px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#ffffff10 59px,#ffffff10 60px)}.calendar-week-event{border-width:1px;text-align:left;cursor:pointer;touch-action:manipulation}.calendar-week-event.is-private{border-color:#5f6673;background:linear-gradient(145deg,#343945,#1a1f29);color:#d5dae2}
.calendar-dates-strip{display:flex;align-items:flex-start;gap:12px;padding:4px 4px 16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-color:#f2c935 #241c08;scrollbar-width:auto;touch-action:pan-x}.calendar-dates-strip::-webkit-scrollbar{height:12px}.calendar-dates-strip::-webkit-scrollbar-thumb{border:2px solid #241c08;border-radius:10px;background:linear-gradient(90deg,#dcae18,#ffe064)}.calendar-dates-strip::-webkit-scrollbar-track{border-radius:10px;background:#241c08}.calendar-date-column{position:relative;flex:0 0 clamp(180px,24vw,260px);overflow:hidden;border:1px solid #ffffff18;border-radius:15px;background:#080c14;scroll-snap-align:start}.calendar-date-column-head{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;width:100%;height:52px;padding:9px 13px;border:0;border-bottom:1px solid #ffffff18;background:#101622f2;color:#aeb8ca;cursor:pointer}.calendar-date-column-head strong{color:#fff;font-size:1rem}.calendar-date-column-scroll{height:min(720px,calc(100vh - 250px));overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#e9be35 #1d170a;scrollbar-width:thin;touch-action:pan-y}.calendar-date-mini-track{position:relative;height:1440px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#ffffff0e 59px,#ffffff0e 60px)}
.calendar-day-dialog{width:min(780px,calc(100vw - 24px));height:min(900px,calc(100vh - 24px));padding:0;border:1px solid #d6ae3977;border-radius:24px;background:radial-gradient(circle at 90% 0,#5b461b55,transparent 35%),linear-gradient(145deg,#151925,#090d15);color:var(--text);box-shadow:0 36px 110px #000d;overflow:hidden}.calendar-day-dialog::backdrop{background:#03040ad9;backdrop-filter:blur(10px)}.calendar-day-dialog-inner{height:100%;padding:22px;overflow:auto}.calendar-day-dialog-inner>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.calendar-day-dialog-inner h2,.calendar-day-dialog-inner p{margin:0}.calendar-day-dialog-inner>header button{width:38px;height:38px;border:1px solid #ffffff20;border-radius:11px;background:#ffffff0a;color:#fff;font-size:23px;cursor:pointer}.calendar-day-timeline{display:grid;grid-template-columns:60px 1fr;height:min(720px,calc(100vh - 190px));overflow-y:auto;overscroll-behavior:contain;border:1px solid #ffffff18;border-radius:15px;background:#080c14;scrollbar-color:#e9be35 #1d170a;scrollbar-width:thin;touch-action:pan-y}.calendar-day-axis{display:grid;grid-template-rows:repeat(25,60px);border-right:1px solid #ffffff16}.calendar-day-axis time{padding:4px 8px;color:#778398;font-size:.65rem;text-align:right;transform:translateY(-8px)}.calendar-day-track{position:relative;height:1440px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#ffffff10 59px,#ffffff10 60px)}.calendar-day-event{position:absolute;top:var(--event-top);left:7px;right:7px;height:max(34px,var(--event-height));min-height:34px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--event-color) 66%,white);border-radius:9px;background:linear-gradient(120deg,color-mix(in srgb,var(--event-color) 72%,#17131f),color-mix(in srgb,var(--event-color) 30%,#090d16));box-shadow:0 8px 20px #0006;color:#fff;text-align:left;cursor:pointer;touch-action:manipulation;overflow:hidden}.calendar-day-event time,.calendar-day-event strong,.calendar-day-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-event time,.calendar-day-event small{font-size:.62rem}.calendar-day-event.is-private{border-color:#626a77;background:linear-gradient(120deg,#393e49,#1a1f29)}.calendar-day-add{width:100%;margin-top:12px}.calendar-day-panel[hidden]{display:none!important}
.calendar-config-dialog{overflow:auto}.calendar-participants{min-width:0;margin:0;padding:12px;border:1px solid #ffffff18;border-radius:13px}.calendar-participants legend{padding:0 6px;color:#b7c0d0;font-size:.75rem;font-weight:800}.calendar-participants>input{margin-bottom:9px}.calendar-player-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:180px;overflow:auto}.calendar-player-option{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid #ffffff12;border-radius:9px;background:#ffffff05;cursor:pointer}.calendar-player-option[hidden]{display:none}.calendar-player-option input{width:18px;height:18px}.calendar-player-option span{display:grid;gap:2px;font-size:.72rem}.calendar-player-option small{color:#818da0;font-size:.58rem}.calendar-delete-form{padding:0 22px 20px}.calendar-delete-form button{width:100%;padding:10px;border:1px solid #d75b6866;border-radius:10px;background:#7d283222;color:#ff9aa4;font-weight:800;cursor:pointer}.notification-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin:20px 0}.notification-pagination a,.notification-pagination span{padding:9px 13px;border:1px solid #ffffff18;border-radius:10px;background:#0d121d;color:#d7deea;text-decoration:none}.notification-pagination span{color:#8f9bad}
.notification-card{cursor:pointer}.notification-card>*:not(.notification-card-action){pointer-events:none}.notification-card-action{position:absolute!important;z-index:5;inset:0!important}.notification-card-action button{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.notification-card:has(.notification-card-action):hover{filter:brightness(1.12);transform:translateY(-1px)}
@media(max-width:620px){.calendar-view-switch{max-width:100%;overflow:auto}.calendar-view-switch button{padding:8px 11px}.calendar-expanded .campaign-calendar-day{min-height:72px}.calendar-expanded .calendar-event-chip span{display:block;font-size:.48rem}.calendar-expanded .calendar-event-chip strong{font-size:.5rem}.calendar-week-scroll{max-height:calc(100vh - 260px)}.calendar-date-column-scroll{height:calc(100vh - 285px)}.calendar-day-dialog{width:100vw;height:100vh;border:0;border-radius:0}.calendar-day-dialog-inner{padding:15px 10px}.calendar-day-timeline{height:calc(100vh - 150px);grid-template-columns:48px 1fr}.calendar-player-list{grid-template-columns:1fr}.calendar-date-column{flex-basis:78vw}.notification-pagination{flex-wrap:wrap;font-size:.75rem}}

/* Tâches publiques et demandes d'aide */
.gateway-card.help-card{background:radial-gradient(circle at 92% 8%,#8b5cf644,transparent 42%),linear-gradient(145deg,#19162b,#0e1320)}.gateway-card.task-card{background:radial-gradient(circle at 92% 8%,#e7bd5240,transparent 42%),linear-gradient(145deg,#211b16,#0e1320)}
.public-work-tabs{display:flex;gap:8px;margin:0 0 20px;padding:6px;border:1px solid #ffffff18;border-radius:14px;background:#0c111b}.public-work-tabs a{flex:1;padding:12px;border-radius:9px;color:#9eabba;text-align:center;text-decoration:none;font-weight:850}.public-work-tabs a.active{background:linear-gradient(135deg,#563895,#8b6bd1);color:#fff;box-shadow:0 8px 24px #5d3aa644}
.public-work-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:10px;align-items:end;margin-bottom:18px;padding:16px;border:1px solid #ffffff18;border-radius:15px;background:#101621}.public-work-filters label,.proposal-form label,.public-work-compose label,.public-work-chat-form label,.help-offer-form label,.help-chat-form label,.help-admin-create label{display:grid;gap:6px;color:#aeb8c9;font-size:.75rem;font-weight:800}.public-work-filters select{width:100%}
.public-work-list{display:grid;gap:11px}.public-work-card{--task-hue:calc(270 - min(var(--vote-level),100) * 2.2);position:relative;display:grid;gap:9px;overflow:hidden;padding:18px 20px;border:1px solid hsl(var(--task-hue) 62% 62% / .36);border-radius:15px;background:radial-gradient(circle at 100% 0,hsl(var(--task-hue) 72% 58% / calc(.10 + min(var(--vote-level),100) * .0025)),transparent 45%),linear-gradient(145deg,#151b28,#0d121c);color:#eef2f8;text-decoration:none;box-shadow:0 12px 32px #0002,inset 0 1px #ffffff0c;transition:.16s}.public-work-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:hsl(var(--task-hue) 75% 62%)}.public-work-card:hover{transform:translateY(-2px);border-color:hsl(var(--task-hue) 75% 67% / .7);box-shadow:0 16px 36px #0005}.public-work-card strong{font-size:1.08rem}.public-work-card p,.public-work-card small{margin:0;color:#aeb8c8}.public-work-card p{line-height:1.5}.public-work-card small{font-size:.7rem}.public-work-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.public-work-votes{padding:6px 9px;border:1px solid hsl(var(--task-hue) 75% 67% / .45);border-radius:999px;color:hsl(var(--task-hue) 82% 78%);font-weight:900}.public-work-card.is-done{opacity:.68;filter:saturate(.72)}
.proposal-history .work-item{display:grid;color:inherit;text-decoration:none}.public-work-back{display:inline-flex;margin-bottom:16px;color:#cbbcff;text-decoration:none;font-weight:800}.public-work-hero{position:relative;padding:clamp(20px,4vw,34px);border:1px solid #8b6bd155;border-radius:20px;background:radial-gradient(circle at 100% 0,#8b5cf63b,transparent 45%),linear-gradient(145deg,#191629,#0e131e);box-shadow:0 22px 60px #0004}.public-work-hero h1{margin:14px 0 10px;font-size:clamp(1.7rem,4vw,2.8rem)}.public-work-hero>p{max-width:900px;color:#c0c8d6;line-height:1.7}.public-work-hero footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;color:#8e99aa;font-size:.72rem}.public-work-hero footer span{padding:6px 8px;border-radius:8px;background:#ffffff08}.public-work-hero>form{position:absolute;right:22px;top:22px}.work-plus-one{padding:10px 13px;border:1px solid #8b6bd166;border-radius:999px;background:#241b3c;color:#d9ceff;font-weight:900;cursor:pointer}.work-plus-one.active{border-color:#f1c95e;background:linear-gradient(135deg,#6d4a12,#9b7020);color:#fff3bd;box-shadow:0 0 22px #e9bd3d35}.work-plus-one.small{padding:7px 10px}
.public-work-detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.75fr);gap:18px;margin-top:18px}.public-work-precision-column,.public-work-chat{padding:20px;border:1px solid #ffffff18;border-radius:18px;background:#101621}.public-work-precision-column>header,.public-work-chat>header,.help-private-chat>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.public-work-precision-column h2,.public-work-chat h2{margin:.15rem 0}.public-work-compose{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:16px 0;padding:14px;border:1px solid #ffffff13;border-radius:13px;background:#ffffff05}.public-work-compose textarea{resize:vertical}.public-work-precisions{display:grid;gap:10px}.public-work-precision{display:flex;justify-content:space-between;gap:14px;padding:15px;border:1px solid #ffffff14;border-radius:13px;background:#ffffff04}.public-work-precision.is-done{border-color:#54bb7c45;background:#19372666;opacity:.62}.precision-body p{margin:5px 0 8px;line-height:1.55}.precision-body small{color:#8e99aa}.precision-check{color:#87e4aa;font-size:.72rem;font-weight:900}.precision-actions{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}.precision-actions form{margin:0}
.public-work-chat{align-self:start;position:sticky;top:90px}.public-work-messages,.help-chat-messages{display:grid;gap:9px;max-height:520px;overflow:auto;margin:15px 0;padding-right:5px;scrollbar-width:thin;scrollbar-color:#8b5cf6 #ffffff08}.public-work-messages>article,.help-chat-messages>article{padding:12px;border:1px solid #ffffff12;border-radius:12px;background:#0b1019}.public-work-messages p,.help-chat-messages p{margin:7px 0;line-height:1.5}.public-work-messages small{color:#7f8a9c}.public-work-messages blockquote{margin:6px 0;padding:8px;border-left:2px solid #8b6bd1;background:#8b5cf610;color:#9da8ba;font-size:.72rem}.message-actions{display:flex;gap:5px;margin-top:8px}.message-actions form{margin:0}.message-actions button{padding:5px 8px;border:1px solid #ffffff16;border-radius:7px;background:#ffffff07;color:#aeb8c8;cursor:pointer}.message-actions .active,.reaction-check.active{border-color:#55c98266;color:#8ff0b4}.reaction-cross.active{border-color:#e26b7866;color:#ff9eaa}.public-work-chat-form{display:grid;gap:8px}.reply-indicator{margin:0;padding:7px;border-radius:8px;background:#8b5cf619;color:#cfc2f5;font-size:.72rem}.work-message-toolbar{display:flex;align-items:center;gap:6px}.work-message-toolbar button,.work-message-toolbar label{display:flex;align-items:center;justify-content:center;min-width:34px;height:32px;padding:0 9px;border:1px solid #ffffff18;border-radius:8px;background:#ffffff07;color:#cbd3df;cursor:pointer}.work-message-toolbar label{gap:7px;font-size:.65rem}.work-message-toolbar input{width:20px;height:20px;padding:0;border:0;background:transparent}
.help-heading{max-width:850px;margin:0 auto 24px;text-align:center}.help-heading h1{font-size:clamp(2rem,6vw,3.5rem)}.help-heading>p:last-child{color:#aeb8c8;line-height:1.6}.help-request-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px}.help-request-card{position:relative;display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:24px;border:1px solid #8b6bd144;border-radius:20px;background:radial-gradient(circle at 100% 0,#8b5cf638,transparent 44%),linear-gradient(150deg,#181527,#0e131e);box-shadow:0 18px 45px #0003}.help-request-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#a980ff,#e6bd55)}.help-request-card>header{display:flex;justify-content:space-between;gap:10px;color:#8e99aa;font-size:.7rem}.help-request-card h2{margin:3px 0;font-size:1.45rem}.help-request-card>p{color:#bac3d1;line-height:1.6}.help-request-card.is-closed{opacity:.62;filter:saturate(.65)}.help-status{color:#d5c8ff;font-weight:900}.help-offer-form{margin-top:auto;padding-top:8px}.help-offer-form summary{padding:11px;border:1px solid #8b6bd14f;border-radius:10px;background:#8b5cf617;color:#e2d9ff;text-align:center;font-weight:900;cursor:pointer}.help-offer-form form{display:grid;gap:12px;margin-top:12px}.help-full,.help-chat-closed{padding:12px;border:1px solid #d0a84a40;border-radius:10px;background:#7b5b151d;color:#dec986}.help-detail-heading{padding:24px;border:1px solid #8b6bd13d;border-radius:18px;background:radial-gradient(circle at 100% 0,#8b5cf62d,transparent 45%),#101621}.help-detail-heading h1{margin:.2rem 0}.help-chat-layout{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:15px;margin-top:16px}.help-offer-tabs{display:grid;align-content:start;gap:7px}.help-offer-tabs a{display:grid;gap:3px;padding:12px;border:1px solid #ffffff15;border-radius:11px;background:#101621;color:#c7cfdb;text-decoration:none}.help-offer-tabs a.active{border-color:#8b6bd1;background:#2a2042;color:#fff}.help-offer-tabs small{color:#8994a6}.help-private-chat{padding:20px;border:1px solid #ffffff18;border-radius:18px;background:#101621}.help-initial-offer{margin:15px 0;padding:13px;border-left:3px solid #e1b85c;background:#e1b85c10;color:#c9d0dc}.help-chat-messages>article.mine{margin-left:12%;border-color:#8b6bd13f;background:#281f3f}.help-chat-form{display:grid;gap:10px}.help-admin-create{display:grid;grid-template-columns:1fr 1fr 180px auto;gap:12px;align-items:end}.help-admin-create label:nth-of-type(2){grid-column:1/3}.help-admin-list{display:grid;gap:14px;margin-top:16px}.help-admin-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.help-admin-card h2{margin:.3rem 0}.help-admin-card.is-closed{border-left:3px solid #d0a84a}.help-admin-card.is-archived{opacity:.55}.help-admin-actions,.help-admin-offers{display:flex;gap:8px;flex-wrap:wrap}.help-admin-actions form{margin:0}.help-admin-offers{margin-top:14px}.help-admin-offers a{display:grid;min-width:210px;gap:3px;padding:11px;border:1px solid #ffffff16;border-radius:10px;background:#ffffff05;color:#dce2eb;text-decoration:none}.help-admin-offers span,.help-admin-offers small{color:#8f9aab}.work-public-switch{align-self:center;white-space:nowrap}
@media(max-width:900px){.public-work-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.public-work-detail-layout{grid-template-columns:1fr}.public-work-chat{position:static}.help-admin-create{grid-template-columns:1fr 1fr}.help-admin-create label:nth-of-type(2){grid-column:1/-1}.help-chat-layout{grid-template-columns:1fr}.help-offer-tabs{display:flex;overflow-x:auto}.help-offer-tabs a{min-width:180px}}
@media(max-width:620px){.public-work-tabs,.public-work-precision,.public-work-precision-column>header,.public-work-chat>header,.help-request-card>header,.help-admin-card>header{align-items:stretch;flex-direction:column}.public-work-filters,.public-work-compose,.help-admin-create{grid-template-columns:1fr}.public-work-filters button,.public-work-compose button,.help-admin-create button{width:100%}.public-work-hero>form{position:static;margin-top:15px}.public-work-precision{display:grid}.precision-actions{justify-content:space-between}.public-work-precision-column,.public-work-chat,.help-private-chat{padding:14px}.help-chat-messages>article.mine{margin-left:5%}.help-admin-create label:nth-of-type(2){grid-column:auto}}

/* Emploi du temps précis : une minute de calendrier correspond à un pixel. */
.calendar-expanded{gap:12px}.calendar-expanded-head{align-items:center}.calendar-head-actions{display:flex;align-items:center;gap:8px}.calendar-quick-add{display:grid;place-items:center;width:42px;height:42px;border:1px solid #f0c94c77;border-radius:12px;background:linear-gradient(145deg,#6d5317,#2b220e);color:#ffe889;font-size:24px;font-weight:800;cursor:pointer;box-shadow:0 7px 22px #d7a91b22}.calendar-condensed-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-condensed-footer .campaign-calendar-privacy{margin:0}.calendar-export-menu{position:relative;color:#aeb8ca;font-size:.67rem}.calendar-export-menu summary{padding:7px 10px;border:1px solid #ffffff18;border-radius:9px;background:#ffffff07;cursor:pointer;font-weight:800}.calendar-export-menu[open]>div{position:absolute;z-index:20;right:0;bottom:calc(100% + 7px);display:grid;gap:6px;width:min(420px,80vw);max-height:240px;padding:10px;border:1px solid #ffffff20;border-radius:12px;background:#0c111c;box-shadow:0 18px 50px #000b;overflow:auto}.calendar-export-menu span{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;padding:6px;border-radius:8px;background:#ffffff05}.calendar-export-menu a{color:#f0d26f;text-decoration:none}
.calendar-week-event,.calendar-day-event{top:calc(var(--event-start) * 1px)!important;height:max(34px,calc(var(--event-duration) * 1px))!important;left:calc((100% / var(--event-lanes)) * var(--event-lane) + 4px)!important;right:auto!important;width:calc(100% / var(--event-lanes) - 8px)!important}.calendar-week-track,.calendar-date-mini-track,.calendar-day-track{height:1440px!important}
.calendar-dates-scroll{height:min(720px,calc(100vh - 250px));overflow:auto;border:1px solid #ffffff18;border-radius:15px;background:#080c14;overscroll-behavior:contain;touch-action:pan-x pan-y}.calendar-dates-board{display:grid;grid-template-columns:58px repeat(var(--date-count),minmax(190px,1fr));min-width:calc(58px + var(--date-count) * 190px);height:1492px}.calendar-dates-axis{position:sticky;left:0;z-index:7;display:grid;grid-template-rows:52px repeat(25,60px);border-right:1px solid #ffffff1c;background:#080c14}.calendar-dates-axis span{position:sticky;top:0;z-index:8;border-bottom:1px solid #ffffff18;background:#0c111c}.calendar-dates-axis time{padding:4px 8px;color:#7f8ba0;font-size:.62rem;text-align:right;transform:translateY(-8px)}.calendar-date-column{position:relative;min-width:0;border:0;border-right:1px solid #ffffff12;border-radius:0;background:#080c14;overflow:visible}.calendar-date-column-head{position:sticky;top:0;z-index:5}.calendar-date-mini-track{position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#ffffff10 59px,#ffffff10 60px)}
.calendar-day-dialog-inner>header>div:last-child{display:flex;gap:7px}.calendar-day-dialog-inner>header small{display:block;margin-top:4px;color:#7f8a9c;font-size:.66rem}.calendar-day-track[data-calendar-draw]{cursor:crosshair;touch-action:pan-y}.calendar-day-track.is-drawing{cursor:ns-resize;user-select:none;touch-action:none}.calendar-drag-preview{position:absolute;z-index:10;left:5px;right:5px;min-height:30px;padding:6px 9px;border:1px solid #ffe982;border-radius:8px;background:linear-gradient(135deg,#d8a91acc,#765417dd);box-shadow:0 0 24px #f0c52b55;color:#fff6c8;font-size:.65rem;font-weight:900;pointer-events:none}.calendar-drag-preview[hidden]{display:none}.calendar-day-event{z-index:3}
.calendar-pretty-scroll,.calendar-expanded-dialog-inner,.calendar-day-dialog-inner{scrollbar-color:#9f72e8 #11101a;scrollbar-width:thin}.calendar-pretty-scroll::-webkit-scrollbar,.calendar-expanded-dialog-inner::-webkit-scrollbar,.calendar-day-dialog-inner::-webkit-scrollbar{width:11px;height:11px}.calendar-pretty-scroll::-webkit-scrollbar-track,.calendar-expanded-dialog-inner::-webkit-scrollbar-track,.calendar-day-dialog-inner::-webkit-scrollbar-track{border-radius:12px;background:linear-gradient(#100d18,#191226)}.calendar-pretty-scroll::-webkit-scrollbar-thumb,.calendar-expanded-dialog-inner::-webkit-scrollbar-thumb,.calendar-day-dialog-inner::-webkit-scrollbar-thumb{border:2px solid #15101f;border-radius:12px;background:linear-gradient(180deg,#d4ad3f,#9362df)}.calendar-pretty-scroll::-webkit-scrollbar-thumb:hover,.calendar-expanded-dialog-inner::-webkit-scrollbar-thumb:hover,.calendar-day-dialog-inner::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffe071,#b481ff)}.calendar-dates-scroll::-webkit-scrollbar:horizontal{height:13px}.calendar-dates-scroll::-webkit-scrollbar-thumb:horizontal{background:linear-gradient(90deg,#b98613,#ffe36e)}
@media(min-width:1180px) and (min-height:850px){.calendar-expanded-dialog-inner{overflow:hidden}.calendar-expanded .campaign-calendar-day{min-height:86px}.calendar-expanded-dialog .calendar-expanded{height:100%;grid-template-rows:auto 1fr auto}.calendar-expanded-dialog .calendar-view-pane{min-height:0}.calendar-expanded-dialog .calendar-view-pane[data-calendar-pane="month"]{overflow:hidden}.calendar-expanded-dialog .campaign-calendar-grid{height:calc(100% - 68px);grid-template-rows:repeat(6,minmax(72px,1fr))}.calendar-week-scroll,.calendar-dates-scroll{height:calc(100vh - 245px);max-height:690px}}
@media(max-width:620px){.calendar-expanded-head{align-items:flex-start}.calendar-head-actions{align-items:flex-end;flex-direction:column-reverse}.calendar-quick-add{width:38px;height:38px}.calendar-condensed-footer{align-items:flex-start;flex-direction:column}.calendar-export-menu[open]>div{right:auto;left:0}.calendar-dates-scroll{height:calc(100vh - 270px)}.calendar-dates-board{grid-template-columns:48px repeat(var(--date-count),78vw);min-width:calc(48px + var(--date-count) * 78vw)}.calendar-dates-axis{grid-template-rows:52px repeat(25,60px)}}
.calendar-week-axis,.calendar-dates-axis{grid-template-rows:52px repeat(24,60px) auto}.calendar-day-axis{grid-template-rows:repeat(24,60px) auto}

/* Calendrier : placements temporels et couleurs communs aux trois vues. */
.calendar-event-chip{border:1px solid color-mix(in srgb,var(--event-color) 68%,white);border-left-width:3px;border-radius:8px;background:linear-gradient(125deg,color-mix(in srgb,var(--event-color) 78%,#191421),color-mix(in srgb,var(--event-color) 28%,#080c14));box-shadow:inset 0 1px 0 #ffffff22,0 4px 10px #0005;color:#fff}
.calendar-week-track>.calendar-week-event,.calendar-day-track>.calendar-day-event{top:calc(var(--event-start) * 1px)!important;height:max(34px,calc(var(--event-duration) * 1px))!important;border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--event-color) 84%,#211528),color-mix(in srgb,var(--event-color) 34%,#070b12));box-shadow:inset 0 1px 0 #ffffff2b,0 8px 20px #0007}
.calendar-date-mini-track>.calendar-week-event{top:calc(var(--event-start) * .36px)!important;height:max(27px,calc(var(--event-duration) * .36px))!important;border-radius:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--event-color) 84%,#211528),color-mix(in srgb,var(--event-color) 34%,#070b12));box-shadow:inset 0 1px 0 #ffffff2b,0 5px 13px #0007}
.calendar-week-event.is-private,.calendar-day-event.is-private,.calendar-event-chip.is-private{border-color:#626a77;background:linear-gradient(135deg,#3a404c,#181d26);box-shadow:none}
.calendar-week-track,.calendar-day-track{height:1440px!important}
.calendar-dates-scroll{height:auto!important;max-height:none!important;overflow-x:auto;overflow-y:hidden}
.calendar-dates-board{height:571px;grid-template-columns:58px repeat(var(--date-count),minmax(190px,1fr));min-width:calc(58px + var(--date-count) * 190px)}
.calendar-dates-axis{position:sticky;left:0;z-index:7;height:571px;display:grid;grid-template-rows:52px repeat(4,129.6px) auto;background:#080c14}
.calendar-dates-axis time{align-self:start;transform:translateY(-7px)}
.calendar-date-mini-track{height:519px!important;background:repeating-linear-gradient(to bottom,transparent 0,transparent 128.6px,#ffffff16 128.6px,#ffffff16 129.6px)}
[data-calendar-day-track][data-calendar-draw]{cursor:crosshair;touch-action:none}
[data-calendar-day-track].is-drawing{cursor:ns-resize;user-select:none;touch-action:none}
.calendar-config-actions{display:flex!important;align-items:flex-end;justify-content:space-between;gap:14px}
.calendar-config-actions>span{display:flex;justify-content:flex-end;gap:10px}
.calendar-modal-export{position:relative;text-align:left}.calendar-modal-export summary{list-style:none;padding:10px 15px;border:1px solid #d8b54666;border-radius:10px;background:linear-gradient(135deg,#493a16,#1a1510);color:#ffe58a;font-weight:850;cursor:pointer}.calendar-modal-export summary::-webkit-details-marker{display:none}.calendar-modal-export>div{position:absolute;bottom:calc(100% + 8px);left:0;z-index:10;display:grid;min-width:180px;padding:7px;border:1px solid #dab84455;border-radius:11px;background:#111620;box-shadow:0 15px 35px #000b}.calendar-modal-export a{padding:9px;border-radius:7px;color:#f5d66d;text-decoration:none}.calendar-modal-export a:hover{background:#ffffff0c}
.calendar-event-summary{padding:16px;border:1px solid color-mix(in srgb,var(--event-color) 55%,#ffffff);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--event-color) 32%,#111722),#0a0e16);box-shadow:inset 0 1px 0 #ffffff18}.calendar-event-summary time,.calendar-event-summary strong{display:block}.calendar-event-summary time{color:#e9cf7d}.calendar-event-summary strong{margin-top:4px}.calendar-event-summary p{margin:14px 0 0;color:#c4ccda}.calendar-event-readonly{min-width:min(520px,calc(100vw - 30px))}

/* Collaboration publique : filtres, cartes et éditeur riche sûr. */
.public-work-filters{grid-template-columns:minmax(330px,1fr) minmax(180px,.55fr) minmax(180px,.55fr) auto;align-items:center;padding:12px 14px;background:linear-gradient(145deg,#111827,#0b1019);box-shadow:inset 0 1px #ffffff0b}.public-status-pills{display:flex;gap:5px;padding:4px;border:1px solid #ffffff14;border-radius:12px;background:#080c14}.public-status-pills a{flex:1;padding:9px 11px;border-radius:8px;color:#98a4b6;text-align:center;text-decoration:none;font-size:.74rem;font-weight:850;white-space:nowrap}.public-status-pills a:hover{background:#ffffff09;color:#fff}.public-status-pills a.active{background:linear-gradient(135deg,#5c3b99,#8b6bd1);color:#fff;box-shadow:0 6px 16px #6c46ae44}.public-filter-count{justify-self:end;color:#8f9bad;font-size:.72rem;font-weight:800;white-space:nowrap}
.public-work-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-work-card{--task-hue:270;min-height:190px;padding:20px 22px}.public-work-card.status-proposed{--task-hue:42}.public-work-card.status-todo{--task-hue:267}.public-work-card.status-done{--task-hue:145}.public-work-card.vote-tone-1{box-shadow:0 12px 34px #8b5cf616,inset 0 1px #ffffff0c}.public-work-card.vote-tone-2,.public-work-card.vote-tone-3,.public-work-card.vote-tone-4,.public-work-card.vote-tone-5{border-color:hsl(var(--task-hue) 72% 68% / .62);box-shadow:0 14px 38px hsl(var(--task-hue) 65% 45% / .15),inset 0 1px #ffffff12}.public-work-card>strong{font-size:1.18rem;line-height:1.35}.public-work-votes{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 4px;min-width:74px;padding:7px 10px}.public-work-votes>span{grid-row:1/3;font-size:1.25rem}.public-work-votes>strong{font-size:.95rem}.public-work-votes>small{font-size:.53rem;letter-spacing:.04em;text-transform:uppercase}
.work-plus-one{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 6px;min-width:104px;padding:10px 14px;transition:.16s}.work-plus-one>span{grid-row:1/3;font-size:1.45rem}.work-plus-one>strong{font-size:1.05rem}.work-plus-one>small{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.work-plus-one:hover{transform:translateY(-1px);border-color:#c4a0ff;background:#30234d}.work-plus-one.small{display:flex;min-width:auto;gap:5px}.work-plus-one.small>span{font-size:1rem}
.public-work-detail-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.public-work-chat{position:static}.public-work-precision-column,.public-work-chat{min-width:0;box-shadow:0 15px 42px #0003}.public-work-compose{grid-template-columns:1fr}.public-work-compose>.primary{justify-self:end}.public-work-hero>.collab-rendered{max-width:900px;color:#c0c8d6;line-height:1.7}
.collab-editor{display:grid;gap:8px;min-width:0}.collab-editor-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:6px;border:1px solid #ffffff14;border-radius:10px 10px 0 0;background:#0b1019}.collab-editor-toolbar>button{height:32px;padding:0 10px;border:1px solid #ffffff18;border-radius:7px;background:#151c29;color:#cbd4e2;font-size:.7rem;font-weight:800;cursor:pointer}.collab-editor-toolbar>button:hover{border-color:#8b6bd1;background:#29203f;color:#fff}.collab-editor-colors{display:flex;gap:5px;margin-left:auto}.collab-editor-colors button{width:25px;height:25px;padding:0;border:2px solid #ffffff35;border-radius:50%;cursor:pointer}.collab-editor-colors .gold{background:#e8c766}.collab-editor-colors .violet{background:#b79aff}.collab-editor-colors .blue{background:#74b9ff}.collab-editor-colors .green{background:#72d6a0}.collab-editor-colors .red{background:#ff8f9b}.collab-editor textarea{width:100%;margin-top:-8px;padding:12px;border:1px solid #35415b;border-radius:0 0 10px 10px;background:#090d16;color:var(--text);font:inherit;line-height:1.55;resize:vertical}.collab-editor textarea:focus{outline:2px solid #8b5cf650;border-color:#8b6bd1}.collab-preview-shell{overflow:hidden;border:1px solid #ffffff14;border-radius:10px;background:#ffffff03}.collab-preview-shell summary{padding:8px 11px;color:#929eaf;font-size:.67rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.collab-preview-shell .collab-rendered{padding:4px 12px 12px}
.collab-rendered{overflow-wrap:anywhere;line-height:1.55}.collab-rendered p{margin:.45rem 0}.collab-rendered ul{margin:.6rem 0;padding-left:1.3rem}.collab-rendered li{margin:.25rem 0}.collab-title{margin:1rem 0 .45rem;color:#e8c766;font:600 1.18rem Georgia,serif}.collab-subtitle{margin:.85rem 0 .35rem;color:#c7b4f8;font:600 .94rem Georgia,serif;letter-spacing:.03em}.collab-color-gold{color:#e8c766}.collab-color-violet{color:#d7c9ff}.collab-color-blue{color:#74b9ff}.collab-color-green{color:#72d6a0}.collab-color-red{color:#ff8f9b}.collab-spacer{display:block;height:.5rem}.public-work-messages .collab-rendered,.help-chat-messages .collab-rendered{margin:7px 0}
.help-request-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.help-request-card{min-height:330px;padding:26px;background:radial-gradient(circle at 92% 4%,#8b5cf63d,transparent 37%),radial-gradient(circle at 4% 100%,#d4aa5a16,transparent 42%),linear-gradient(150deg,#19162a,#0d131e);box-shadow:0 18px 50px #0005,inset 0 1px #ffffff0d}.help-request-card:hover{border-color:#9d7ee166;box-shadow:0 22px 58px #0006,inset 0 1px #ffffff14}.help-request-card h2{font-size:1.55rem}.help-description{flex:1;color:#bac3d1}.help-status{display:flex;align-items:center;gap:6px}.help-status i{width:7px;height:7px;border-radius:50%;background:#72d6a0;box-shadow:0 0 10px #72d6a0}.help-capacity{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:0 4px;padding:7px 10px;border:1px solid #e6bd5540;border-radius:11px;background:#d4aa5a0d;color:#e9d58f}.help-capacity strong{font-size:1.08rem}.help-capacity small{grid-column:1/-1;color:#9d957c;font-size:.55rem;text-transform:uppercase;letter-spacing:.06em}.help-capacity.is-free{grid-template-columns:auto 1fr;align-items:center}.help-capacity.is-free small{grid-column:auto}.help-offer-form summary{display:flex;justify-content:space-between;align-items:center}.help-offer-form[open] summary{border-color:#a484e0;background:#2a2043}.help-offer-form .collab-editor{margin-top:2px}
.help-admin-create{grid-template-columns:minmax(220px,1fr) 190px auto}.help-admin-create>.collab-editor{grid-column:1/-1}.help-admin-create>label:first-of-type{grid-column:1/-1}.proposal-form>.collab-editor{margin-top:2px}
@media(max-width:980px){.public-work-filters{grid-template-columns:1fr 1fr}.public-status-pills{grid-column:1/-1}.public-filter-count{justify-self:start}.public-work-list{grid-template-columns:1fr}}
@media(max-width:900px){.public-work-detail-layout{grid-template-columns:1fr}}
@media(max-width:620px){.public-work-filters{grid-template-columns:1fr}.public-status-pills{overflow-x:auto}.public-status-pills a{min-width:90px}.public-filter-count{justify-self:start}.collab-editor-colors{width:100%;margin-left:0;padding-top:3px}.help-request-list{grid-template-columns:1fr}.help-request-card{min-height:0}.help-admin-create{grid-template-columns:1fr}}
@media(max-width:620px){.calendar-dates-board{grid-template-columns:48px repeat(var(--date-count),78vw);min-width:calc(48px + var(--date-count) * 78vw)}.calendar-config-actions{align-items:stretch;flex-direction:column-reverse}.calendar-config-actions>span,.calendar-config-actions>span button{width:100%}.calendar-modal-export summary{text-align:center}}

/* Les variables dynamiques sont hydratées par portal-calendar.js (CSP sans style inline). */
.calendar-compact-event{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--event-campaign-color,#8b5cf6) 62%,#ffffff55);background:radial-gradient(circle at 88% -20%,color-mix(in srgb,var(--event-color,#8b5cf6) 24%,transparent) 0,transparent 45%),linear-gradient(125deg,color-mix(in srgb,var(--event-color,#8b5cf6) 16%,#111722c9),#090d16bd);box-shadow:inset 0 1px 0 #ffffff22,0 7px 17px #0005;color:#fff;text-shadow:0 1px 2px #0009}
.calendar-compact-event>time{background:color-mix(in srgb,var(--event-color,#8b5cf6) 20%,#0d121dcc);box-shadow:inset 0 1px #ffffff24,0 3px 9px #0004}
.calendar-event-chip,.calendar-week-event,.calendar-day-event{border:1px solid color-mix(in srgb,var(--event-campaign-color,#8b5cf6) 66%,#ffffff55)!important;background:radial-gradient(circle at 86% -18%,color-mix(in srgb,var(--event-color,#8b5cf6) 25%,transparent) 0,transparent 46%),linear-gradient(125deg,color-mix(in srgb,var(--event-color,#8b5cf6) 17%,#111722d1),#090d16c7)!important;box-shadow:inset 0 1px 0 #ffffff24,0 5px 14px #0005!important;color:#fff;text-shadow:0 1px 2px #000b}
.calendar-event-chip{border-radius:9px}.calendar-week-event,.calendar-day-event{border-radius:11px}
.calendar-event-chip.is-private,.calendar-week-event.is-private,.calendar-day-event.is-private,.calendar-compact-event.is-private{border-color:#626a77!important;background:linear-gradient(135deg,#3a404c,#181d26)!important;box-shadow:none!important;color:#d5dae2;text-shadow:none}
.campaign-event-dialog{--event-color:#8b5cf6;border:1px solid color-mix(in srgb,var(--event-campaign-color,var(--event-color)) 62%,#ffffff55);background:radial-gradient(circle at 88% -5%,color-mix(in srgb,var(--event-color) 18%,transparent) 0,transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--event-color) 9%,#111722d9),#080c14d1 72%);box-shadow:inset 0 1px 0 #ffffff24,0 32px 100px #000c,0 0 28px color-mix(in srgb,var(--event-color) 10%,transparent);backdrop-filter:blur(18px);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.campaign-event-dialog .campaign-event-form{background:linear-gradient(145deg,color-mix(in srgb,var(--event-color) 5%,transparent),transparent 54%)}
.campaign-event-dialog .campaign-event-color input{border-color:color-mix(in srgb,var(--event-color) 75%,white);box-shadow:0 0 14px color-mix(in srgb,var(--event-color) 32%,transparent)}

/* Accueil personnel, couleurs de campagne et filtres instantanés. */
.campaign-card{position:relative;overflow:hidden;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--campaign-color,#8b5cf6) 18%,transparent),transparent 50%),linear-gradient(145deg,color-mix(in srgb,var(--campaign-color,#8b5cf6) 13%,#111725),#0d121d)}
.campaign-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 28%,color-mix(in srgb,var(--campaign-color,#8b5cf6) 10%,transparent) 50%,transparent 72%);transform:translateX(-100%);transition:transform .55s ease}.campaign-card:hover::after{transform:translateX(100%)}
.campaign-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:1rem}.campaign-title-row h1{margin:.25rem 0 0}.campaign-color-form{flex:0 0 auto;margin:0;padding:0;border:0;background:transparent}.campaign-color-form label{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #ffffff1c;border-radius:10px;background:#ffffff08;color:#abb5c7;font-size:.65rem;cursor:pointer}.campaign-color-form input{width:30px;height:25px;cursor:pointer}.campaign-color-form label:hover{border-color:var(--campaign-color);background:#ffffff0d}
.gateway-grid{max-width:980px}.gateway-card.account-card{background:radial-gradient(circle at 0 0,#315c6d42,transparent 55%),linear-gradient(145deg,#121c28,#0d121c)}.gateway-card.calendar-card{grid-column:1/-1;width:100%;min-height:155px;text-align:left;font:inherit;cursor:pointer;background:radial-gradient(circle at 100% 0,#8b5cf638,transparent 52%),linear-gradient(145deg,#17182b,#0c111b)}.gateway-card.calendar-card .gateway-icon{background:linear-gradient(145deg,#56417a,#271b3d);color:#f3d77b}
.personal-calendar-dialog .calendar-expanded-dialog-inner{display:flex;flex-direction:column}.personal-calendar-heading{padding-right:52px}.personal-calendar-heading h2{margin:.2rem 0 1rem;font-size:clamp(1.8rem,4vw,2.7rem)}.personal-calendar-dialog .profile-calendar-surface{min-height:0;flex:1}.personal-calendar-dialog .profile-calendar{height:100%}
.profile-calendar-filters{grid-template-columns:minmax(150px,1fr) minmax(190px,1.35fr) auto auto}.calendar-scope-filter{display:flex;align-items:center;gap:4px;margin:0;padding:4px;border:1px solid #35415b;border-radius:11px;background:#090d16}.calendar-scope-filter legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.calendar-scope-filter label{display:block}.calendar-scope-filter input{position:absolute;opacity:0;pointer-events:none}.calendar-scope-filter span{display:block;padding:8px 11px;border-radius:7px;color:#9da8ba;white-space:nowrap;cursor:pointer}.calendar-scope-filter input:checked+span{background:linear-gradient(135deg,#8b5cf6,#6540bd);color:#fff}.calendar-filter-reset{padding:11px 13px;border:1px solid #ffffff1c;border-radius:10px;background:#ffffff08;color:#c8d0dd;font-weight:750;cursor:pointer}.calendar-filter-empty{grid-column:2/-1;align-self:start;margin:18px;padding:20px;border:1px dashed #ffffff20;border-radius:12px;color:#9da8ba;text-align:center}
.calendar-compact-event{background:radial-gradient(circle at 88% -20%,color-mix(in srgb,var(--event-color,#8b5cf6) 32%,transparent) 0,transparent 45%),linear-gradient(125deg,color-mix(in srgb,var(--event-color,#8b5cf6) 24%,#111722c9),#090d16bd)}
.calendar-event-chip,.calendar-week-event,.calendar-day-event{background:radial-gradient(circle at 86% -18%,color-mix(in srgb,var(--event-color,#8b5cf6) 34%,transparent) 0,transparent 46%),linear-gradient(125deg,color-mix(in srgb,var(--event-color,#8b5cf6) 25%,#111722d1),#090d16c7)!important}
@media(max-width:760px){.profile-calendar-filters{grid-template-columns:1fr}.gateway-card.calendar-card{grid-column:auto}.campaign-title-row{align-items:flex-start}.campaign-color-form label span{display:none}.personal-calendar-dialog .calendar-expanded-dialog-inner{overflow:auto}}
.calendar-event-summary{border:1px solid color-mix(in srgb,var(--event-campaign-color,var(--event-color)) 62%,#ffffff55);background:radial-gradient(circle at 88% -10%,color-mix(in srgb,var(--event-color) 20%,transparent),transparent 46%),linear-gradient(135deg,color-mix(in srgb,var(--event-color) 12%,#111722cf),#090d16c7);box-shadow:inset 0 1px 0 #ffffff24,0 8px 22px #0005;color:#fff;text-shadow:0 1px 2px #000a}

/* Calendrier global contenu, zoomable et manipulable à la souris comme au doigt. */
.calendar-zoom-controls{display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #ffffff18;border-radius:11px;background:#080c14}.calendar-zoom-controls button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:7px;background:#ffffff08;color:#fff;font-size:18px;cursor:pointer}.calendar-zoom-controls output{min-width:48px;color:#aeb8ca;font-size:.66rem;font-weight:850;text-align:center}.calendar-view-pane{min-width:0;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.calendar-view-pane .campaign-calendar-weekdays,.calendar-view-pane .campaign-calendar-grid,.calendar-week-board,.calendar-dates-board{zoom:var(--calendar-zoom,1)}
.personal-calendar-dialog .calendar-expanded-dialog-inner{height:100%;overflow:hidden}.personal-calendar-dialog .personal-calendar-heading{flex:0 0 auto}.personal-calendar-dialog .personal-calendar-heading h2{margin-bottom:.45rem}.personal-calendar-dialog .profile-calendar-filters{flex:0 0 auto;margin-bottom:9px;padding:10px}.personal-calendar-dialog .profile-calendar-surface{display:flex;overflow:hidden}.personal-calendar-dialog .profile-calendar{width:100%;height:100%;padding:11px;overflow:hidden}.personal-calendar-dialog .calendar-expanded{height:100%;grid-template-rows:auto minmax(0,1fr) auto;gap:9px}.personal-calendar-dialog .calendar-expanded-head{padding-right:42px}.personal-calendar-dialog .calendar-expanded-head>div:first-child p:last-child{display:none}.personal-calendar-dialog .calendar-expanded-head h2{font-size:1.55rem}.personal-calendar-dialog .calendar-view-pane{min-height:0;overflow:auto}.personal-calendar-dialog .calendar-view-pane[data-calendar-pane="month"]{display:flex;flex-direction:column}.personal-calendar-dialog .campaign-calendar-head{flex:0 0 auto;margin-bottom:5px}.personal-calendar-dialog .campaign-calendar-weekdays{flex:0 0 auto;min-width:560px}.personal-calendar-dialog .campaign-calendar-grid{flex:1;min-width:560px;min-height:390px;grid-template-rows:repeat(6,minmax(58px,1fr))}.personal-calendar-dialog .campaign-calendar-day{min-height:0!important}.personal-calendar-dialog .calendar-week-scroll,.personal-calendar-dialog .calendar-dates-scroll{height:100%;max-height:none}.personal-calendar-dialog .calendar-condensed-footer{min-height:0}.personal-calendar-dialog .calendar-condensed-footer:empty{display:none}
@media(max-width:760px){.personal-calendar-dialog .calendar-expanded-dialog-inner{padding:12px 9px;overflow:hidden}.personal-calendar-dialog .personal-calendar-heading h2{font-size:1.45rem}.personal-calendar-dialog .profile-calendar-filters{display:flex;align-items:end;gap:7px;overflow-x:auto;scrollbar-width:thin;touch-action:pan-x pinch-zoom}.personal-calendar-dialog .profile-calendar-filters>label{flex:0 0 150px}.personal-calendar-dialog .calendar-scope-filter{flex:0 0 auto}.personal-calendar-dialog .calendar-filter-reset{flex:0 0 auto}.personal-calendar-dialog .calendar-expanded-head{gap:7px}.personal-calendar-dialog .calendar-head-actions{align-items:flex-end;gap:5px}.personal-calendar-dialog .calendar-view-switch button{padding:7px 9px}.personal-calendar-dialog .calendar-zoom-controls output{display:none}.personal-calendar-dialog .campaign-calendar-grid{min-height:350px}.calendar-view-pane .campaign-calendar-weekdays,.calendar-view-pane .campaign-calendar-grid,.calendar-week-board,.calendar-dates-board{transform-origin:top left}}
@media(max-width:520px){.personal-calendar-dialog .personal-calendar-heading{display:none}.personal-calendar-dialog .profile-calendar-filters{margin-top:34px}.personal-calendar-dialog .profile-calendar{padding:7px}.personal-calendar-dialog .calendar-expanded{gap:6px}.personal-calendar-dialog .calendar-expanded-head h2{font-size:1.25rem}.personal-calendar-dialog .calendar-expanded-head .eyebrow{display:none}.personal-calendar-dialog .campaign-calendar-weekdays,.personal-calendar-dialog .campaign-calendar-grid{min-width:490px}.personal-calendar-dialog .campaign-calendar-grid{min-height:320px;grid-template-rows:repeat(6,minmax(48px,1fr))}}
/* Identification des environnements et actualisation sans cache forcé. */
.deployment-ribbon{position:sticky;top:0;z-index:1200;display:flex;align-items:center;justify-content:center;gap:12px;min-height:34px;padding:6px 18px;color:#fff4cf;box-shadow:0 8px 28px rgba(8,4,14,.32);font-size:.82rem;letter-spacing:.02em}.deployment-ribbon.is-test{border-bottom:1px solid rgba(255,151,151,.55);background:linear-gradient(90deg,#4a1118,#8c2630 50%,#4a1118)}.deployment-ribbon.is-alpha{border-bottom:1px solid rgba(232,196,111,.42);background:linear-gradient(90deg,#39234f,#6d3e72 50%,#39234f)}.deployment-ribbon strong{text-transform:uppercase;letter-spacing:.12em}.deployment-ribbon code{padding:2px 7px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,0,0,.18);color:inherit}.site-update-notice{position:fixed;right:20px;bottom:20px;z-index:1500;display:flex;align-items:center;gap:14px;max-width:min(440px,calc(100vw - 40px));padding:14px 16px;border:1px solid rgba(232,196,111,.52);border-radius:14px;background:#21172d;color:#fff9e8;box-shadow:0 18px 55px rgba(0,0,0,.42)}.site-update-notice[hidden]{display:none}.site-update-notice button{border:0;border-radius:999px;padding:8px 13px;background:#e8c46f;color:#271b17;font-weight:800;cursor:pointer}.beta-access-card{width:min(680px,100%);margin:8vh auto;padding:clamp(24px,5vw,48px);border:1px solid rgba(232,196,111,.34);border-radius:22px;background:rgba(28,20,39,.92);box-shadow:0 24px 80px rgba(0,0,0,.35)}@media(max-width:680px){.deployment-ribbon{gap:7px;padding-inline:10px}.deployment-ribbon span{display:none}.site-update-notice{right:12px;bottom:12px;max-width:calc(100vw - 24px)}}
.release-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px}.release-status-card{display:grid;gap:7px;padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(27,20,38,.7)}.release-status-card.is-current{border-color:rgba(232,196,111,.58);box-shadow:inset 0 0 0 1px rgba(232,196,111,.14)}.release-status-card span{color:#c6b8d8;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.release-status-card strong{font-size:1.2rem;color:#fff4cf}.release-notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.release-notes-grid section{padding:18px;border-radius:15px;background:rgba(255,255,255,.035)}.release-notes-grid h3{margin-top:0;color:#e8c46f}.release-notes-grid ul{margin:0;padding-left:20px}.release-notes-grid li+li{margin-top:9px}.release-promotion-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 24px;margin-top:24px;padding:18px;border:1px solid rgba(232,196,111,.32);border-radius:15px;background:rgba(14,10,20,.24)}.release-promotion-box p{margin:.35rem 0 0;color:#ad9fbe}.release-promotion-box button[disabled]{cursor:not-allowed;opacity:.48}.promotion-configuration-note{display:block;margin-top:8px;color:#e6b3b3}.promotion-progress{grid-column:1/-1;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(0,0,0,.16)}.promotion-progress[hidden]{display:none}.promotion-progress header{display:flex;align-items:center;justify-content:space-between;gap:15px}.promotion-progress code{color:#fff1bd}.promotion-progress-track{height:8px;margin:14px 0;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}.promotion-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b73242,#e8c46f);transition:width .4s ease}.promotion-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0;padding:0;list-style:none;counter-reset:promotion}.promotion-steps li{position:relative;padding:10px 10px 10px 34px;border-radius:10px;background:rgba(255,255,255,.035);color:#91849f;font-size:.78rem}.promotion-steps li:before{counter-increment:promotion;content:counter(promotion);position:absolute;left:10px;top:9px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#43364f;color:#cdbfd8;font-size:.68rem;font-weight:800}.promotion-steps li.is-complete{color:#eff8e8;background:rgba(93,151,88,.14)}.promotion-steps li.is-complete:before{content:'✓';background:#5d9758;color:white}.promotion-error{color:#ffb8b8!important}.promotion-error[hidden]{display:none}@media(max-width:760px){.release-status-grid,.release-notes-grid{grid-template-columns:1fr}.release-promotion-box{grid-template-columns:1fr;align-items:stretch}.promotion-progress{grid-column:auto}.promotion-steps{grid-template-columns:1fr 1fr}}
.release-current-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding:18px 20px;border:1px solid #72d6a044;border-radius:16px;background:linear-gradient(120deg,#16312688,#171326)}.release-current-card h2{margin:.25rem 0 0;font-size:1.25rem}.release-form{display:grid;gap:22px}.release-basics{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(260px,1fr);gap:14px}.release-basics label{display:grid;gap:7px;color:#c8bed5;font-size:.78rem;font-weight:750}.release-basics input{width:100%;padding:12px 13px;border:1px solid #4a3d62;border-radius:10px;background:#090d16;color:#fff;font:inherit}.release-basics input:focus{outline:2px solid #8b5cf650;border-color:#a984ef}.release-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.release-editor-card{min-width:0;padding:15px;border:1px solid #ffffff16;border-radius:16px;background:linear-gradient(150deg,#151121,#0d121c)}.release-editor-card>header{display:flex;align-items:center;gap:10px;margin-bottom:13px}.release-editor-card>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-weight:900}.release-editor-card>header div{display:grid;gap:2px}.release-editor-card>header strong{font:600 1.05rem Georgia,serif}.release-editor-card>header small{color:#988fa6;font-size:.67rem}.release-editor-card.correction{border-color:#ff8f9b38}.release-editor-card.correction>header>span{background:#ff8f9b20;color:#ff9fac}.release-editor-card.improvement{border-color:#b79aff42}.release-editor-card.improvement>header>span{background:#8b5cf625;color:#c9b2ff}.release-editor-card.feature{border-color:#e8c76642}.release-editor-card.feature>header>span{background:#e8c76620;color:#f0d77c}.release-actions{display:flex;justify-content:flex-end;gap:10px}
.patch-menu{position:relative;flex:0 0 auto}.patch-trigger{display:flex;align-items:center;gap:7px;height:40px;padding:0 12px;border:1px solid #e8c7664d;border-radius:11px;background:linear-gradient(135deg,#2a203e,#171523);color:#f1dc92;cursor:pointer}.patch-trigger:hover,.patch-trigger[aria-expanded="true"]{border-color:#e8c76699;background:linear-gradient(135deg,#49346b,#241b36);box-shadow:0 0 18px #8b5cf62b}.patch-trigger strong{font-size:.72rem;white-space:nowrap}.patch-popover{position:absolute;top:calc(100% + 12px);right:0;z-index:80;width:min(430px,calc(100vw - 28px));overflow:hidden;border:1px solid #e8c76655;border-radius:18px;background:radial-gradient(circle at 90% 0,#8b5cf635,transparent 38%),linear-gradient(150deg,#21172e,#0d111a 72%);box-shadow:0 24px 80px #000b,inset 0 1px #ffffff12}.patch-popover[hidden]{display:none}.patch-popover>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:19px 20px 15px;border-bottom:1px solid #ffffff13;background:#ffffff04}.patch-popover>header p{margin:0;color:#e8c766;font-size:.65rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.patch-popover>header h2{margin:.3rem 0 0;font-size:1.3rem;color:#fff}.patch-popover>header time{padding:5px 8px;border:1px solid #ffffff18;border-radius:999px;color:#aaa0b7;font-size:.64rem;white-space:nowrap}.patch-scroll{display:grid;gap:12px;max-height:min(60vh,500px);padding:15px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#7658a5 #100e18}.patch-section{padding:14px 15px;border:1px solid #ffffff12;border-radius:13px;background:#ffffff05}.patch-section h3{display:flex;align-items:center;gap:8px;margin:0 0 9px;font:600 .96rem Georgia,serif}.patch-section h3 span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px}.patch-section .collab-rendered{color:#c8c0d0;font-size:.82rem}.patch-section .collab-rendered p:first-child,.patch-section .collab-rendered ul:first-child{margin-top:0}.patch-section .collab-rendered p:last-child,.patch-section .collab-rendered ul:last-child{margin-bottom:0}.patch-section.correction{border-color:#ff8f9b2e}.patch-section.correction h3{color:#ffabb4}.patch-section.correction h3 span{background:#ff8f9b1d}.patch-section.improvement{border-color:#b79aff35}.patch-section.improvement h3{color:#cdbaff}.patch-section.improvement h3 span{background:#8b5cf624}.patch-section.feature{border-color:#e8c76635}.patch-section.feature h3{color:#efd881}.patch-section.feature h3 span{background:#e8c7661d}
@media(max-width:1000px){.release-editor-grid{grid-template-columns:1fr}.patch-trigger strong{display:none}}@media(max-width:760px){.site-header{position:relative;z-index:1300}.release-current-card{align-items:flex-start;flex-direction:column}.release-basics{grid-template-columns:1fr}.release-actions{align-items:stretch;flex-direction:column-reverse}.patch-popover{position:fixed;top:76px;right:14px;left:14px;z-index:1400;width:auto}.patch-scroll{max-height:calc(100vh - 180px)}}

/* Fenêtres de patch, annonces uniques et votes communautaires. */
@property --patch-ring-angle{syntax:"<angle>";initial-value:0deg;inherits:false}@keyframes patch-ring-spin{to{--patch-ring-angle:360deg}}@keyframes patch-glow{50%{color:#fff5bd;box-shadow:0 0 24px #f3d86c88,0 0 52px #d8a92844}}@keyframes modal-rise{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.patch-trigger{position:relative;isolation:isolate}.patch-trigger.is-unread{border-color:#f4d76d;color:#fff1a8;animation:patch-glow 1.8s ease-in-out infinite}.patch-trigger.is-unread::before{content:"";position:absolute;z-index:-1;inset:-4px;border-radius:14px;padding:2px;background:conic-gradient(from var(--patch-ring-angle),transparent 0 42%,#fff3a6 48%,#e0ad35 54%,transparent 61%);animation:patch-ring-spin 2.2s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.patch-popover{position:fixed;inset:0;width:min(680px,calc(100vw - 32px));max-width:none;max-height:min(82vh,760px);margin:auto;padding:0;color:#fff;animation:modal-rise .22s ease-out}.patch-popover::backdrop,.help-announcement::backdrop{background:#05070dc4;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.patch-popover:not([open]){display:none}.patch-popover>header{position:sticky;top:0;z-index:2}.patch-dialog-meta{display:flex;align-items:center;gap:9px}.patch-dialog-meta button,.help-announcement>header button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #ffffff22;border-radius:50%;background:#ffffff09;color:#fff;font-size:1.25rem;cursor:pointer}.patch-scroll{max-height:calc(min(82vh,760px) - 86px)}
.patch-release{display:grid;gap:12px;padding:16px;border:1px solid #ffffff14;border-radius:16px;background:#0a0d15a8}.patch-release.is-current{border-color:#e8c76655;background:linear-gradient(145deg,#2a203c99,#0a0d15)}.patch-release-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.patch-release-heading p{margin:0;color:#e8c766;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.patch-release-heading p span{margin-left:6px;padding:3px 6px;border-radius:999px;background:#e8c76622;color:#ffe9a0}.patch-release-heading h3{margin:.35rem 0 0;color:#fff;font:600 1.12rem Georgia,serif}.patch-release-heading time{color:#9d93aa;font-size:.68rem;white-space:nowrap}.work-message-author{display:inline-block;margin-bottom:2px;font-size:.82rem}.work-message-author.is-player{color:#f0cd69}.work-message-author.is-admin{color:#c7a5ff}
.help-announcement{width:min(660px,calc(100vw - 32px));max-height:min(86vh,780px);padding:0;border:1px solid #d2ad5966;border-radius:22px;background:radial-gradient(circle at 90% 0,#8b5cf63d,transparent 40%),linear-gradient(150deg,#1e172d,#0b1019 75%);color:#eef1f6;box-shadow:0 30px 100px #000c;animation:modal-rise .24s ease-out}.help-announcement:not([open]){display:none}.help-announcement>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 25px 18px;border-bottom:1px solid #ffffff13}.help-announcement>header h2{margin:.25rem 0 0;font-size:clamp(1.45rem,4vw,2rem)}.help-announcement-scroll{display:grid;gap:18px;max-height:calc(min(86vh,780px) - 170px);padding:22px 25px;overflow:auto}.help-announcement>footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 25px;border-top:1px solid #ffffff12;background:#080c1385}
.help-poll{display:grid;gap:11px;padding:15px;border:1px solid #d8b75b35;border-radius:14px;background:#d2aa4f0b}.help-poll fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.help-poll legend{width:100%;margin-bottom:9px;color:#f0db94;font-weight:850}.help-poll legend small{float:right;color:#9d94a6;font-size:.65rem;font-weight:650;text-transform:uppercase}.help-poll-options{display:grid;gap:7px}.help-poll-options label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff05;color:#dce1e9;cursor:pointer}.help-poll-options label:has(input:checked){border-color:#e0bd605e;background:#d8af4d18}.help-poll-options input{accent-color:#d8b24f}.help-poll-options strong{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#ffffff0d;color:#d6c27e;font-size:.72rem}.help-poll>button{justify-self:start}.help-poll.is-compact{background:#0a0e176e}
.help-admin-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.help-admin-options label,.help-poll-editor{display:grid;gap:6px;color:#aeb8c9;font-size:.75rem;font-weight:800}.help-popup-option{grid-column:1/-1;grid-template-columns:auto 1fr!important;align-items:center;padding:11px 12px;border:1px solid #d0ad5835;border-radius:10px;background:#d0ad580c}.help-popup-option input{width:auto}.help-poll-editor{grid-column:1/-1}.help-poll-editor small{color:#7f8998;font-weight:500}.help-poll-editor textarea{min-height:120px}.help-admin-poll{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0;padding:12px;border:1px solid #d0ad5830;border-radius:11px;background:#d0ad5809}.help-admin-poll>strong{width:100%;color:#e7cf85}.help-admin-poll span{padding:6px 9px;border-radius:999px;background:#ffffff08;color:#bfc6d0}.help-admin-poll b{color:#efd67e}
@media(max-width:760px){.patch-popover{inset:0;width:calc(100vw - 24px);max-height:calc(100vh - 36px)}.patch-scroll{max-height:calc(100vh - 122px)}.help-announcement{width:calc(100vw - 24px)}.help-announcement-scroll{padding:18px}.help-announcement>header,.help-announcement>footer{padding-inline:18px}.help-admin-options{grid-template-columns:1fr}.help-popup-option{grid-column:auto}.help-poll legend small{float:none;display:block;margin-top:3px}}

.help-poll-progress{display:flex;align-items:baseline;gap:4px;color:#f2d77e}.help-poll-progress strong{font-size:1.35rem}.help-poll-progress small{margin-left:auto;color:#9da7b5;font-size:.68rem}.help-poll-navigation{display:flex;flex-wrap:wrap;gap:8px}.help-poll-navigation [data-question-submit]{margin-left:auto}.help-poll-results{display:grid;gap:14px;padding:16px;border:1px solid #d8b75b35;border-radius:14px;background:#080c14aa}.help-poll-results h3{margin:0;color:#f0d77f}.help-poll-results article{display:grid;gap:8px}.help-poll-results article>header,.help-result-row>div{display:flex;justify-content:space-between;gap:12px}.help-poll-results small{color:#8f9aaa}.help-result-row{display:grid;gap:4px;color:#cbd2dc;font-size:.82rem}.help-result-row i{display:block;height:7px;overflow:hidden;border-radius:999px;background:#ffffff0b}.help-result-row i::after{content:"";display:block;width:var(--result);height:100%;border-radius:inherit;background:linear-gradient(90deg,#b98931,#f1d576);box-shadow:0 0 12px #d8b34e66}.help-question-builder{display:grid;gap:14px;padding:16px;border:1px solid #c9a64b38;border-radius:14px;background:#080c1499}.help-question-builder[hidden]{display:none}.help-question-builder>[data-admin-questions]{display:grid;gap:12px}.help-question-editor{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.5fr);gap:12px;padding:15px;border:1px solid #ffffff12;border-radius:12px;background:#ffffff05}.help-question-editor>header,.help-answer-editors,.help-question-editor>[data-add-option]{grid-column:1/-1}.help-question-editor>header{display:flex;align-items:center;justify-content:space-between}.help-question-editor label{display:grid;gap:6px;color:#aeb8c9;font-size:.75rem;font-weight:800}.help-answer-editors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.help-answer-editors textarea{min-height:64px;resize:vertical}.help-admin-poll>div{display:flex;flex-wrap:wrap;gap:7px;width:100%;padding:9px;border-top:1px solid #ffffff0d}.help-admin-poll>div>b{width:100%;color:#e4e8ee}.help-admin-poll>div span{padding:6px 9px;border-radius:9px;background:#ffffff08}.help-admin-poll>div span b{color:#efd67e}
@media(max-width:760px){.help-question-editor,.help-answer-editors{grid-template-columns:1fr}.help-poll-navigation [data-question-submit]{margin-left:0}.help-poll-progress small{display:none}}
.public-work-heading{align-items:flex-start}.work-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.work-heading-actions .active{border-color:#e0bd6070;box-shadow:0 0 18px #d4ae4838}.public-work-card em{color:#c9b36e;font-style:normal}.work-edited-badge{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid #ffffff16;border-radius:999px;color:#abb4c1;font-size:.68rem}.work-owner-editor{margin-top:16px;padding:12px;border:1px solid #d4ad4d35;border-radius:12px;background:#080c14aa}.work-owner-editor>summary{cursor:pointer;color:#eed47f;font-weight:800}.work-owner-editor>form{display:grid;gap:12px;margin-top:14px}.work-owner-editor>form>label{display:grid;gap:6px;color:#b6bfcc;font-size:.78rem;font-weight:800}
@media(max-width:760px){.work-heading-actions{justify-content:flex-start;width:100%}.work-heading-actions .button{flex:1 1 auto;text-align:center}}
.help-card-meta{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px}.help-request-card .contribution-reward{padding:7px 11px;font-size:.82rem;box-shadow:0 0 18px #d7b34d20}.help-card-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:16px;align-items:start}.help-card-main>.help-description{min-width:0}.help-detail-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:20px}.help-detail-poll{min-width:0}.help-title-editor>div{display:flex;align-items:center;gap:5px}.help-title-editor>div button{display:grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid #ffffff18;border-radius:7px;background:#ffffff08;color:#e6e9ef;cursor:pointer}.help-title-editor>div button:not([data-title-wrap]){border-radius:999px}.help-title-editor>div .gold{background:#e8c766}.help-title-editor>div .violet{background:#d7c9ff}.help-title-editor>div .blue{background:#74b9ff}.help-title-editor>div .green{background:#72d6a0}.help-title-editor>div .red{background:#ff8f9b}.gateway-contribution-card>a{min-height:285px;align-content:start}.gateway-contribution-card li{padding:7px 0}.gateway-contribution-card .contribution-points-own strong{font-size:1.45rem}
@media(max-width:900px){.help-card-main,.help-detail-heading{grid-template-columns:1fr}.help-card-meta{justify-content:flex-start;flex-wrap:wrap}}

/* Contributions et récompenses */
.work-status-form input{display:block;width:100%;min-width:0;padding:9px 10px;border:1px solid #35415b;border-radius:7px;background:#090d16;color:#f1d578;font-weight:800}.help-admin-summary{display:grid;justify-items:end;gap:4px;color:#929cad;font-size:.75rem}.help-admin-summary strong,.contribution-reward{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #e4bf5d48;border-radius:999px;background:#e4b94d14;color:#f1d578;font-size:.72rem;font-weight:900}.help-points-form{display:flex;align-items:end;gap:9px;margin:14px 0}.help-points-form label{display:grid;gap:5px;color:#aeb8c9;font-size:.72rem;font-weight:800}.help-points-form input{width:150px}.help-award-form{display:grid;gap:11px;margin:14px 0}.help-award-form fieldset{display:grid;gap:7px;margin:0;padding:12px;border:1px solid #ffffff14;border-radius:12px}.help-award-form legend{padding:0 6px;color:#ead27f;font-size:.78rem;font-weight:850}.help-award-candidate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #ffffff12;border-radius:9px;background:#ffffff05}.help-award-candidate:has(input:checked){border-color:#e4bf5d55;background:#e4bf5d0f}.help-award-candidate input{accent-color:#d8b24f}.help-award-candidate span{display:grid;gap:2px}.help-award-candidate small{color:#8f9aab}.help-award-candidate a{color:#d6c4ff;font-size:.75rem}
.contribution-points-widget{position:fixed;z-index:25;bottom:14px;left:14px;filter:drop-shadow(0 14px 30px #0009)}.contribution-points-widget>a{display:grid;width:104px;overflow:hidden;padding:11px;border:1px solid #d9b75555;border-radius:15px;background:linear-gradient(145deg,#251d35f5,#0c111bf5);color:#eef1f6;text-decoration:none;transition:width .2s ease,border-color .2s ease}.contribution-points-own{display:flex;align-items:center;justify-content:space-between;gap:8px}.contribution-points-own small{color:#b7a9c7;font-size:.65rem;font-weight:800;text-transform:uppercase}.contribution-points-own strong{color:#f2d36d;font-size:1.25rem}.contribution-points-title,.contribution-points-widget ol,.contribution-points-more{display:none}.contribution-points-widget:hover>a,.contribution-points-widget:focus-within>a{width:270px;border-color:#e6c85b8a}.contribution-points-widget:hover .contribution-points-title,.contribution-points-widget:hover ol,.contribution-points-widget:hover .contribution-points-more,.contribution-points-widget:focus-within .contribution-points-title,.contribution-points-widget:focus-within ol,.contribution-points-widget:focus-within .contribution-points-more{display:block}.contribution-points-title{margin-top:9px;padding-top:9px;border-top:1px solid #ffffff13;color:#e5d5ff;font-size:.72rem;font-weight:900;text-transform:uppercase}.contribution-points-widget ol{margin:7px 0;padding:0;list-style:none}.contribution-points-widget li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;color:#bcc5d2;font-size:.72rem}.contribution-points-widget li strong{color:#f0d274}.contribution-points-widget li.is-empty{display:block}.contribution-points-more{color:#cbb5ff;font-size:.68rem;font-weight:800}
.contribution-heading{max-width:760px;margin:0 auto 24px;text-align:center}.contribution-heading h1{font-size:clamp(2rem,5vw,3.3rem)}.contribution-heading>p:last-child{color:#aeb8c8;line-height:1.6}.contribution-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.contribution-ranking ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.contribution-ranking li{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid #ffffff12;border-radius:12px;background:#ffffff04}.contribution-ranking li.is-me{border-color:#d8b54f66;background:#d8b54f0d}.contribution-ranking li>span:nth-child(2){display:grid;gap:2px}.contribution-ranking small{color:#8e99aa}.contribution-ranking b{color:#f0d274}.contribution-rank{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#8b6bd120;color:#d7c5ff;font-weight:900}.contribution-history{position:sticky;top:90px}.contribution-history>.panel-title>strong{color:#f0d274;font-size:1.5rem}.contribution-history article{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:11px 0;border-top:1px solid #ffffff10}.contribution-history article>span{color:#f0d274;font-weight:900}.contribution-history article div{display:grid;gap:3px}.contribution-history small{color:#8994a5}
@media(min-width:1540px){.contribution-points-widget{top:110px;bottom:auto}.contribution-points-widget>a{width:270px}.contribution-points-title,.contribution-points-widget ol,.contribution-points-more{display:block}}
@media(max-width:820px){.contribution-layout{grid-template-columns:1fr}.contribution-history{position:static}.help-award-candidate{grid-template-columns:auto minmax(0,1fr)}.help-award-candidate a{grid-column:2}.contribution-points-widget{bottom:8px;left:8px}.contribution-points-widget:hover>a,.contribution-points-widget:focus-within>a{width:104px}.contribution-points-widget:hover .contribution-points-title,.contribution-points-widget:hover ol,.contribution-points-widget:hover .contribution-points-more,.contribution-points-widget:focus-within .contribution-points-title,.contribution-points-widget:focus-within ol,.contribution-points-widget:focus-within .contribution-points-more{display:none}}

/* Le classement reste natif à l'accueil et ne recouvre jamais les autres pages. */
.gateway-home-layout{display:grid;grid-template-columns:260px minmax(0,980px);gap:24px;max-width:1264px;margin:0 auto;align-items:start}.gateway-home-layout>.gateway-grid{width:100%;max-width:none;margin:0}.gateway-contribution-card{position:sticky;top:90px}.gateway-contribution-card>a{display:grid;padding:18px;border:1px solid #d9b75555;border-radius:18px;background:linear-gradient(145deg,#251d35,#0c111b);color:#eef1f6;text-decoration:none;box-shadow:0 22px 60px #0005,inset 0 1px #ffffff13}.gateway-contribution-card .contribution-points-own{padding-bottom:12px;border-bottom:1px solid #ffffff13}.gateway-contribution-card .contribution-points-title,.gateway-contribution-card ol,.gateway-contribution-card .contribution-points-more{display:block}.gateway-contribution-card .contribution-points-title{margin-top:13px;padding:0;border:0}.gateway-contribution-card ol{margin:9px 0;padding:0;list-style:none}.gateway-contribution-card li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;color:#bcc5d2;font-size:.74rem}.gateway-contribution-card li strong{color:#f0d274}.gateway-contribution-card li.is-empty{display:block}.gateway-contribution-card .contribution-points-more{margin-top:5px;color:#cbb5ff;font-size:.7rem;font-weight:800}
@media(max-width:1100px){.gateway-home-layout{grid-template-columns:1fr;max-width:980px}.gateway-contribution-card{position:static}.gateway-contribution-card>a{max-width:none}.gateway-contribution-card ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.gateway-contribution-card li{display:grid;gap:2px;padding:8px;border-radius:8px;background:#ffffff05}}
@media(max-width:700px){.gateway-contribution-card ol{grid-template-columns:1fr 1fr}.gateway-contribution-card li:last-child:nth-child(odd){grid-column:1/-1}}
