:root{--ink:#17243a;--muted:#637086;--paper:#f6f8fc;--white:#fff;--blue:#4169e1;--blue-dark:#284ebc;--aqua:#63d8ca;--line:#dfe5ef;--shadow:0 24px 70px rgba(30,50,90,.14)}
.personal-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.personal-heading h1{margin:0}.personal-quota{flex:0 0 auto;font-size:14px}.system-section{margin-top:38px}.system-list article{grid-template-columns:1fr}.personal-toolbar{padding:0;background:transparent;border:0;border-radius:0}.personal-toolbar #upload-form{flex:1}.personal-toolbar #upload-status{margin-left:auto}@media(max-width:650px){.personal-heading{align-items:flex-start;flex-direction:column}.personal-toolbar>form{width:100%}.personal-toolbar #upload-form{align-items:stretch;flex-direction:column}.selection-control,.selection-control>button,#upload-button{width:100%}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,select,input,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{height:82px;padding:0 clamp(24px,8vw,130px);display:flex;align-items:center;gap:42px;background:rgba(246,248,252,.88);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(223,229,239,.8)}.brand{display:flex;align-items:center;gap:11px;font-size:20px;letter-spacing:-.4px;white-space:nowrap}.brand strong{color:var(--blue);font-weight:650}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,var(--blue),#7b91ee);color:#fff;font-weight:800;box-shadow:0 7px 18px rgba(65,105,225,.28)}.main-nav{display:flex;gap:30px;margin:auto;font-size:14px;color:#4e5b70}.main-nav a:hover,.main-nav .active{color:var(--blue)}.main-nav .active{font-weight:750}.header-actions{display:flex;align-items:center;gap:12px;margin-inline-start:auto}.language select{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:700;width:max-content;min-width:0;max-width:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 20px;border-radius:12px;font-size:14px;font-weight:700}.button-ghost{border:1px solid var(--line);background:var(--white)}.button-primary{background:var(--blue);color:#fff;box-shadow:0 12px 26px rgba(65,105,225,.25)}.button-primary:hover{background:var(--blue-dark);transform:translateY(-1px)}
.hero{min-height:680px;padding:92px clamp(24px,7vw,112px) 105px;display:grid;grid-template-columns:minmax(340px,.95fr) minmax(430px,1.05fr);align-items:center;gap:8vw;overflow:hidden;background:radial-gradient(circle at 80% 40%,rgba(99,216,202,.12),transparent 28%),linear-gradient(180deg,#fafbfe 0%,#f2f5fa 100%)}.hero-copy{max-width:640px}.eyebrow{text-transform:uppercase;letter-spacing:2.2px;color:var(--blue);font-size:12px;font-weight:800;margin:0 0 20px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(34px,4vw,52px);line-height:1.06;letter-spacing:-1.5px;margin:0;max-width:750px}.lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:630px;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:26px}.text-link{font-size:14px;font-weight:750;color:var(--blue)}.trust-list{display:flex;flex-wrap:wrap;gap:13px 24px;list-style:none;padding:0;margin:35px 0 0;color:#526078;font-size:17px}.trust-list li{display:flex;align-items:center;gap:7px}.trust-list span{color:#119889;font-weight:900}
.product-preview{position:relative;padding:55px 0}.preview-glow{position:absolute;inset:0;background:linear-gradient(135deg,rgba(65,105,225,.18),rgba(99,216,202,.25));filter:blur(55px);border-radius:50%;transform:scale(.82)}.space-card{position:relative;max-width:570px;margin:auto;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:var(--shadow);overflow:hidden;transform:rotate(1deg)}.space-card[data-rotate]{display:grid}.space-card[data-rotate] .space-slide{grid-area:1/1;opacity:0;transition:opacity .55s ease;pointer-events:none}.space-card[data-rotate] .space-slide.active{opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.space-card[data-rotate] .space-slide{transition:none}}.space-card-header{padding:20px 22px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.space-icon{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:#e9edff;color:var(--blue);font-weight:800}.space-title{display:flex;flex-direction:column;gap:4px}.space-title strong{font-size:15px}.space-title span{font-size:11px;color:var(--muted)}.badge{margin-inline-start:auto;padding:6px 9px;border-radius:20px;background:#edf9f7;color:#168779;font-size:10px;font-weight:800}.chevron{border:0;background:transparent;color:var(--muted);cursor:pointer}.space-content{padding:22px}.space-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;color:#4c5970}.space-toolbar button,.space-toolbar a{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer;text-decoration:none}.file-list{list-style:none;padding:10px 0;margin:0}.file-list li{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #edf0f5;font-size:13px}.file-list small{color:#8b95a7}.file-icon{height:33px;border-radius:8px;display:grid;place-items:center;font-size:8px;font-weight:900}.pdf{background:#fff0f0;color:#d85454}.image{background:#eef8ff;color:#4d9ac8;font-size:17px}.folder{background:#fff7dc;color:#c9951d;font-size:18px}.quota{margin-top:17px;display:flex;align-items:center;gap:12px}.quota>span{height:6px;flex:1;background:#e9edf3;border-radius:9px;overflow:hidden}.quota i{display:block;width:24%;height:100%;background:linear-gradient(90deg,var(--blue),var(--aqua));border-radius:9px}.quota small{font-size:10px;color:#7f899b}
.features{padding:110px clamp(24px,8vw,130px);background:#fff}.features>h2,.security h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,52px);font-weight:500;letter-spacing:-1.5px;max-width:760px;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:65px;border:1px solid var(--line);border-radius:20px;overflow:hidden}.feature-grid article{background:#fff;padding:40px 35px;min-height:245px}.feature-number{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:1px}.feature-grid h3{margin:44px 0 13px;font-size:18px}.feature-grid p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.security{margin:0;padding:90px clamp(24px,8vw,130px);background:var(--ink);color:#fff;display:grid;grid-template-columns:120px 1fr auto;gap:45px;align-items:center}.security-symbol{width:105px;height:105px;border:1px solid rgba(99,216,202,.45);border-radius:50%;display:grid;place-items:center;color:var(--aqua);font-size:52px}.security p:last-child{color:#b8c1d0;line-height:1.7;max-width:710px}.status-pill{padding:10px 14px;border:1px solid rgba(255,255,255,.18);border-radius:30px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#cbd3df}footer{padding:35px clamp(24px,8vw,130px);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;background:#fff}.brand.compact{font-size:14px}.compact .brand-mark{width:28px;height:28px;border-radius:9px}
.dashboard-page{min-height:calc(100vh - 160px);padding:75px clamp(24px,8vw,130px) 100px}.dashboard-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;padding-bottom:36px;border-bottom:1px solid var(--line)}.dashboard-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,6vw,70px);font-weight:500;letter-spacing:-2.5px;margin:0 0 14px}.dashboard-heading p:last-child{color:var(--muted);font-size:16px;margin:0;max-width:680px;line-height:1.6}.spaces-count{padding:9px 13px;background:#e9edff;color:var(--blue);border-radius:30px;font-size:12px;font-weight:800;white-space:nowrap}.login-notice{margin:25px 0 45px;padding:14px 18px;border:1px solid #d9e4fb;background:#f4f7ff;color:#49607e;border-radius:12px;font-size:13px}.spaces-section{margin-top:44px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:17px}.section-heading h2{font-size:19px;margin:0}.section-heading span{min-width:24px;height:24px;padding:0 7px;display:grid;place-items:center;border-radius:20px;background:#e9edf3;color:var(--muted);font-size:11px;font-weight:800}.spaces-grid{display:grid;gap:15px}.dashboard-space-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 32px rgba(30,50,90,.06)}.dashboard-card-copy h3{margin:0 0 6px;font-size:16px}.dashboard-card-copy p{margin:0 0 9px;color:var(--muted);font-size:13px}.dashboard-card-copy small{color:#8a94a6;font-size:10px}.empty-spaces{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px;border:1px dashed #cbd4e3;border-radius:18px;background:rgba(255,255,255,.55)}.empty-spaces p{margin:0;color:var(--muted);font-size:13px}.empty-spaces>div{display:flex;align-items:center;gap:20px}
@media(max-width:900px){.site-header{padding:10px 22px}.header-actions{margin-inline-start:auto}.hero{grid-template-columns:1fr;padding-top:65px}.hero-copy{margin:auto;text-align:center}.hero h1{letter-spacing:-2.5px}.lead{margin-left:auto;margin-right:auto}.hero-actions,.trust-list{justify-content:center}.product-preview{width:100%;max-width:640px;margin:auto}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:auto}.security{grid-template-columns:1fr;text-align:center}.security-symbol{margin:auto}.security h2,.security p{margin-left:auto;margin-right:auto}.status-pill{justify-self:center}footer{gap:30px;align-items:flex-start}}
@media(max-width:560px){.site-header{height:70px}.hero{padding:56px 18px 72px}.hero h1{font-size:48px;letter-spacing:-2px}.lead{font-size:16px}.hero-actions{flex-direction:column;gap:17px}.trust-list{display:grid;text-align:left}.space-card{transform:none}.badge{display:none}.features{padding:75px 20px}.feature-grid{margin-top:40px}.security{padding:70px 24px}.security-symbol{width:82px;height:82px}footer{flex-direction:column}.space-content{padding:17px}.file-list li{font-size:12px}}
@media(max-width:560px){.dashboard-page{padding:50px 18px 70px}.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-space-card{grid-template-columns:auto 1fr}.dashboard-space-card .button{grid-column:1/-1}.empty-spaces{align-items:flex-start;flex-direction:column}.empty-spaces>div{align-items:flex-start;flex-direction:column}}
.auth-page{min-height:calc(100vh - 82px);padding:70px clamp(24px,8vw,130px);display:grid;grid-template-columns:0.8fr 1.2fr;gap:5vw;align-items:start}.auth-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6vw,76px);font-weight:500;letter-spacing:-3px;margin:0 0 20px}.auth-intro>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.65;max-width:570px}.auth-security{display:flex;align-items:center;gap:15px;margin-top:35px;padding:17px;border:1px solid #dbe4f2;border-radius:14px;color:#526078}.auth-security>span{font-size:28px;color:var(--blue)}.auth-security p{font-size:12px;line-height:1.5;margin:0}.auth-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:var(--shadow)}.form-field{display:grid;gap:8px;margin-bottom:20px}.form-field>span{font-size:12px;font-weight:800}.form-field input{width:100%;height:48px;border:1px solid #d8deea;border-radius:11px;padding:0 14px;background:#fbfcfe;color:var(--ink);outline:none}.form-field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(65,105,225,.1)}.form-field small{color:var(--muted);font-size:10px}.terms-field{display:flex;align-items:flex-start;gap:10px;margin:8px 0 22px;color:var(--muted);font-size:11px;line-height:1.5}.terms-field input{margin-top:2px}.submit-button{width:100%;border:0;cursor:pointer}.submit-button:disabled{opacity:.65;cursor:wait}.form-message{padding:12px;margin-bottom:17px;border-radius:10px;font-size:12px}.form-message.error{background:#fff1f1;color:#a63b3b}.auth-switch{text-align:center;color:var(--muted);font-size:12px;margin:22px 0 0}.auth-switch a{color:var(--blue);font-weight:750}@media(max-width:900px){.header-register{display:none}.auth-page{grid-template-columns:1fr;max-width:680px;margin:auto;gap:45px}.auth-intro{text-align:center}.auth-intro>p,.auth-security{margin-left:auto;margin-right:auto}}@media(max-width:560px){.auth-page{padding:45px 18px}.auth-card{padding:25px 20px}.auth-intro h1{font-size:48px}}
@media(max-width:900px){.header-register{display:inline-flex;padding-inline:14px}}

/* Charte graphique REDA Cloud v1 */
:root{--ink:#0b2239;--muted:#667085;--paper:#f7f9fb;--white:#fff;--blue:#12b5cb;--blue-dark:#0e94a7;--aqua:#6be4f2;--line:#d0d5dd;--shadow:0 20px 55px rgba(11,34,57,.10)}
.site-header{background:rgba(247,249,251,.92);border-bottom-color:rgba(208,213,221,.8)}
.brand{gap:0}
.brand-logo{display:block;width:76px;height:76px;object-fit:contain}
.brand.compact .brand-logo{width:62px;height:62px}
.button{border-radius:10px}
.button-ghost{border-color:var(--blue);color:var(--blue-dark)}
.header-actions .button-ghost{display:inline-flex}
.personal-page{padding:60px clamp(20px,8vw,130px) 100px}.personal-heading{padding-bottom:30px;border-bottom:1px solid var(--line)}.personal-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,68px);font-weight:500;margin:0 0 12px}.personal-heading p:last-child{color:var(--muted)}.personal-actions{display:flex;flex-wrap:wrap;gap:16px;margin:30px 0}.personal-actions form{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);padding:12px;border-radius:14px}.personal-actions input{min-height:42px;border:1px solid var(--line);border-radius:9px;padding:8px 12px}.browser-list{background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 22px}.browser-list article{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #edf0f5}.browser-list article:last-child{border-bottom:0}.browser-list small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.back-link{display:block;padding:14px 0;color:var(--blue);font-weight:700}
.button-primary{box-shadow:0 10px 24px rgba(18,181,203,.20)}
.hero{background:radial-gradient(circle at 80% 40%,rgba(107,228,242,.16),transparent 28%),linear-gradient(180deg,#fff 0%,#f7f9fb 100%)}
.preview-glow{background:linear-gradient(135deg,rgba(14,148,167,.18),rgba(107,228,242,.25))}
.space-icon{background:#e8fafc}
.quota i{background:linear-gradient(90deg,#0e94a7,#12b5cb,#6be4f2)}
.feature-grid,.dashboard-space-card,.auth-card{box-shadow:0 8px 28px rgba(11,34,57,.06)}
/* Fermeture engagee : voile grise sur la carte, date effective en pastille bien visible */
.dashboard-space-card.space-closing{position:relative;border-color:#e6c9c9}
.dashboard-space-card.space-closing::after{content:'';position:absolute;inset:0;border-radius:inherit;background:rgba(238,240,246,.55);pointer-events:none;z-index:1}
.dashboard-space-card.space-closing .card-closing,.dashboard-space-card.space-closing .card-actions{position:relative;z-index:2}
.card-closing{margin:4px 0 0;font-size:12px;font-weight:700;color:#a55555;background:#f6e3e3;display:inline-block;padding:2px 8px;border-radius:8px}
/* Menus deroulants a la charte : fleche custom sur TOUS les selects (override le background inline de $inp) + boite pour les selects nus */
select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b7a90' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 12px center !important;background-size:12px 8px !important;padding-right:32px !important}
select:not([class]):not([style]){height:42px;border:1px solid #d8deea;border-radius:9px;background-color:#fbfcfe;color:var(--ink);font:inherit;cursor:pointer;min-width:160px}
.language select,.note-toolbar select{-webkit-appearance:auto !important;-moz-appearance:auto !important;appearance:auto !important;background-image:none !important;padding-right:8px !important}
.note-lock-badge{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;color:#8a5a00;background:#fff4e0;border:1px solid #f0d090;border-radius:7px;padding:1px 7px;vertical-align:middle}
@media(max-width:560px){.brand-logo{width:64px;height:64px}.brand.compact .brand-logo{width:56px;height:56px}}
.personal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:28px 0}.personal-toolbar>form{display:flex;align-items:center;gap:10px}.personal-toolbar input[name="name"]{height:43px;border:1px solid var(--line);border-radius:10px;padding:0 12px}.selection-control{position:relative}.selection-menu{position:absolute;top:50px;left:0;z-index:5;min-width:170px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.selection-menu label{display:block;padding:10px;border-radius:7px;cursor:pointer;font-size:13px}.selection-menu label:hover{background:#e8fafc}.selection-summary,#upload-status{font-size:12px;color:var(--muted)}.items-section{margin-top:30px}.items-section h2{font-size:19px;margin:0 0 12px}.data-list-head,.data-list article{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(90px,.6fr) minmax(145px,.8fr) minmax(145px,.8fr) minmax(150px,.8fr);align-items:center;gap:14px}.data-list-head{padding:12px 0;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.data-list article{padding:14px 0;font-size:12px}.item-name{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:650}.item-name i{font-style:normal;flex:0 0 33px}.state-form{margin:0}.state-form button{border:0;background:none;padding:0;cursor:pointer}.empty-list{padding:20px 0;color:var(--muted);font-size:12px}.item-actions{justify-content:flex-end}@media(max-width:850px){.data-list{overflow-x:auto}.data-list-head,.data-list article{min-width:850px}.personal-toolbar{align-items:flex-start;flex-direction:column}.personal-toolbar>form{flex-wrap:wrap}}
.personal-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;margin:28px 0 18px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar-left form{display:flex;align-items:center;gap:10px;margin:0}.toolbar-left input[name="name"]{height:43px;border:1px solid var(--line);border-radius:10px;padding:0 12px}.toolbar-pill{display:inline-flex;align-items:center;gap:7px;padding:11px 15px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-size:13px;font-weight:750;cursor:pointer}.toolbar-pill.active{border-color:var(--blue);color:var(--blue-dark);background:#e8fafc}.folder-tree{margin:0 0 22px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:14px}.folder-tree ul{list-style:none;margin:0;padding:0}.folder-tree ul ul{padding-inline-start:20px;border-inline-start:1px solid var(--line);margin-inline-start:9px}.folder-tree li{padding:1px 0}.folder-tree a{display:inline-block;padding:5px 9px;border-radius:7px;font-size:13px}.folder-tree a:hover{background:#e8fafc}.folder-tree a.active{color:var(--blue-dark);font-weight:750;background:#e8fafc}.items-section .empty-list{padding:14px 0}.file-icon.folder{font-size:16px}.file-icon.document{font-size:16px;background:#eef4ff}.browser-list article{position:relative}.meta-tip{position:absolute;inset-inline-start:50px;top:calc(100% - 10px);z-index:6;display:none;flex-direction:column;gap:5px;min-width:250px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);font-size:11px;color:var(--ink);pointer-events:none}.meta-tip>span{display:flex;justify-content:space-between;gap:18px}.meta-tip em{font-style:normal;color:var(--muted);font-weight:750}.browser-list article>.file-icon:hover~.meta-tip,.browser-list article>a:hover~.meta-tip,.browser-list article>span:hover~.meta-tip{display:flex}.list-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}.list-controls h2{margin:0}.pill-groups{display:flex;gap:14px;flex-wrap:wrap}.pill-group{display:flex;gap:6px}.mini-pill{padding:7px 11px;font-size:12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:750}.mini-pill.active{border-color:var(--blue);color:var(--blue-dark);background:#e8fafc}.preview-grid{display:flex;flex-wrap:wrap;gap:16px;padding:6px 0}.preview-tile{width:128px;margin:0}.tile-thumb{position:relative;display:block;width:128px;height:128px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f2f5f9}.tile-thumb img{width:100%;height:100%;object-fit:cover;display:block}.tile-thumb .tile-icon{position:absolute;inset:0;display:none;place-items:center;font-size:34px}.tile-thumb.fallback img{display:none}.tile-thumb.fallback .tile-icon{display:grid}.preview-tile figcaption{margin:6px 0 3px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-actions{display:flex;gap:9px;align-items:center}.tile-actions form{margin:0}.tile-actions a,.tile-actions button{border:0;background:none;padding:0;cursor:pointer;font-size:13px;color:var(--blue-dark)}.item-actions .move-button{border:0;background:none;padding:0;cursor:pointer}.move-dialog{border:1px solid var(--line);border-radius:16px;padding:22px;max-width:420px;width:90vw;max-height:70vh;overflow:auto;box-shadow:var(--shadow)}.move-dialog::backdrop{background:rgba(11,34,57,.35)}.move-dialog h3{margin:0 0 12px;font-size:16px}.move-dialog .folder-tree{margin:0;border:0;padding:0}.tree-target{border:0;background:none;padding:5px 9px;border-radius:7px;cursor:pointer;font-size:13px;text-align:start}.tree-target:hover{background:#e8fafc}.tree-target.selected{background:#e8fafc;color:var(--blue-dark);font-weight:750;outline:1px solid var(--blue)}.move-dialog-actions{display:flex;gap:10px;margin-top:16px}.personal-page .letter-button{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--blue);border-radius:9px;background:#fff;color:var(--blue-dark);font-size:15px;font-weight:800;line-height:1;cursor:pointer;text-decoration:none}.personal-page .letter-button:hover{background:var(--blue);color:#fff}.tile-actions{width:128px;justify-content:space-between;gap:0}.preview-tile figcaption{font-size:16px;font-weight:400;margin:8px 0 6px}.personal-page .personal-quota{font-size:clamp(18px,2.4vw,24px);font-weight:750;white-space:nowrap;align-self:center}.create-folder-row{margin:16px 0 0}.create-folder-row form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.create-folder-row input[name="name"]{height:43px;border:1px solid var(--line);border-radius:10px;padding:0 12px;flex:0 1 280px}.tree-target:disabled{opacity:.35;cursor:not-allowed;background:none}.tree-target:disabled:hover{background:none}.browser-list article{grid-template-columns:32px 1fr auto}.browser-list .file-icon.folder{width:32px;height:32px;font-size:15px}.file-icon.list-thumb{position:relative;width:32px;height:32px;padding:0;overflow:hidden;border-radius:7px}.list-thumb img{width:100%;height:100%;object-fit:cover;display:block}.list-thumb i{position:absolute;inset:0;display:none;place-items:center;font-style:normal;font-size:16px}.list-thumb.fallback img{display:none}.list-thumb.fallback i{display:grid}.ext-badge{font-weight:800;letter-spacing:.5px;text-align:center}.tile-thumb .tile-icon.ext-badge{font-size:22px}.tile-icon.ext-badge small{display:block;font-size:11px;margin-top:3px;letter-spacing:1px}.list-thumb i.ext-badge{font-size:9px;letter-spacing:.2px}.list-thumb i.ext-badge small{display:block;font-size:7px;margin-top:1px}.badge-code{background:#efe9fd;color:#6b46c1}.badge-video{background:#e8f1ff;color:#2b6cb0}.badge-audio{background:#e6fffa;color:#2c7a7b}.badge-archive{background:#f4f0e6;color:#8a6d1a}.badge-pdf{background:#fdecec;color:#c53030}.badge-doc{background:#e8f0fe;color:#1a56db}.badge-sheet{background:#e9f9ef;color:#217a3c}.badge-slides{background:#fff1e6;color:#c05621}.badge-image{background:#eef8ff;color:#4d9ac8}.badge-file{background:#eef1f5;color:#5b6b80}
.personal-page .personal-quota{color:var(--blue)}
.security-punchline{margin:24px 0 10px;font-size:18px;line-height:1.5;color:#fff;max-width:710px}.security-punchline b{color:var(--aqua)}
.note-page .personal-heading{margin-bottom:8px}.note-form{max-width:900px}.note-editor{width:100%;min-height:55vh;margin:0 0 16px;padding:18px 20px;border:1px solid var(--line);border-radius:0 0 12px 12px;background:#fff;color:var(--ink);font-size:15px;line-height:1.65;overflow:auto}.note-editor:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,181,203,.12)}
.note-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:14px 0 0;padding:8px;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:#fbfcfe}.note-toolbar button{min-width:36px;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:14px;cursor:pointer;display:inline-grid;place-items:center}.note-toolbar button:hover{background:#e8fafc;border-color:var(--blue)}
.note-toolbar select{height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px;font-size:13px;cursor:pointer}
.note-swatches{display:inline-flex;gap:5px;align-items:center;padding:0 4px}.note-toolbar .note-swatch{min-width:0;width:21px;height:21px;padding:0;border-radius:6px;border:1px solid rgba(11,34,57,.25)}.note-toolbar .note-swatch:hover{transform:scale(1.15);border-color:var(--blue)}
.note-toolbar .sw-ink{background:#0B2239}.note-toolbar .sw-turquoise{background:#12B5CB}.note-toolbar .sw-teal{background:#0E94A7}.note-toolbar .sw-red{background:#C53030}.note-toolbar .sw-green{background:#217A3C}.note-toolbar .sw-orange{background:#C05621}.note-toolbar .sw-purple{background:#6B46C1}.note-toolbar .sw-grey{background:#5B6B80}
.note-toolbar input[type=color]{width:30px;height:30px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
.note-rich h1,.viewer-md h1{font-size:26px;margin:16px 0 8px}.note-rich h2,.viewer-md h2{font-size:20px;margin:14px 0 7px}.note-rich h3,.viewer-md h3{font-size:17px;margin:12px 0 6px}.viewer-md p{margin:0 0 10px}.note-rich ul,.note-rich ol,.viewer-md ul,.viewer-md ol{margin:0 0 10px;padding-inline-start:24px}.note-rich a,.viewer-md a{color:var(--blue-dark);text-decoration:underline}
.note-rich li>h1,.note-rich li>h2,.note-rich li>h3,.viewer-md li>h1,.viewer-md li>h2,.viewer-md li>h3{margin:0;display:inline-block;vertical-align:baseline}
.note-rich li:has(>h1),.viewer-md li:has(>h1){font-size:26px;font-weight:800;margin:16px 0 8px}
.note-rich li:has(>h2),.viewer-md li:has(>h2){font-size:20px;font-weight:750;margin:14px 0 7px}
.note-rich li:has(>h3),.viewer-md li:has(>h3){font-size:17px;font-weight:750;margin:12px 0 6px}
.note-rich,.viewer-rich{line-height:1.35}.note-rich div,.note-rich p,.viewer-rich div,.viewer-rich p{margin:0}
.viewer-rich{font-size:15px;overflow-wrap:anywhere}
.viewer-media{position:relative}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow);font-size:28px;line-height:1;color:var(--blue-dark);text-decoration:none;padding-bottom:4px}.viewer-nav:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.viewer-prev{inset-inline-start:-16px}.viewer-next{inset-inline-end:-16px}
.viewer-page .personal-heading{margin-bottom:6px}.viewer-title{overflow-wrap:anywhere}.viewer-actions{margin:0 0 18px}.viewer-media{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;max-width:1000px}.viewer-media img{display:block;max-width:100%;max-height:75vh;margin:0 auto;border-radius:8px}.viewer-media iframe{width:100%;height:75vh;border:0;border-radius:8px}.viewer-media audio{width:100%}.viewer-media video{display:block;max-width:100%;max-height:75vh;margin:0 auto;border-radius:8px}.viewer-text{white-space:pre-wrap;font:14px/1.6 ui-monospace,Menlo,Consolas,monospace;overflow:auto;max-height:75vh;margin:0}.viewer-md{font-size:15px;line-height:1.65;max-height:none}.note-new-row{margin:16px 0 0}
.family-create{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.family-create input[name="name"]{height:43px;min-width:230px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff}@media(max-width:560px){.family-create{width:100%}.family-create input[name="name"]{flex:1;min-width:0}}
.crumb-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:-6px 0 18px}
/* Fil d'ariane des groupes (racine → groupe courant) à gauche, actions admin/quitter à droite. */
.group-crumb{justify-content:space-between;margin:0 0 8px}
/* Badge « admin du groupe » sur la liste des membres. */
.role-badge{font-style:normal;font-size:11px;font-weight:750;color:#217a3c;background:#e9f9ef;padding:2px 8px;border-radius:999px;margin-left:8px;white-space:nowrap}
/* Alertes du bandeau collaboration : un picto par type de nouveauté (salon / mail / forum). */
.collab-alerts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.alert-picto{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#fff5e6;border:1px solid #f0c987;color:#8a5a00;font-size:15px;font-weight:750;text-decoration:none}
.alert-picto span{background:#e8892b;color:#fff;border-radius:999px;min-width:20px;height:20px;display:inline-grid;place-items:center;font-size:12px;padding:0 5px}
.alert-picto:hover{background:#ffe9c7}
/* Entête d'un sujet de forum : titre à gauche, bouton supprimer à droite. */
.forum-thread-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.forum-thread-head .forum-thread-title{margin:0}
.topic-del-form{margin:0}
.zone-title{font-size:25px;font-weight:700;margin:30px 0 0}.items-section .zone-title{font-size:25px;font-weight:700;margin:0 0 12px}.items-section .zone-title.zt-sub{font-size:19px;font-weight:750}.zone-title+.personal-toolbar-row{margin-top:12px}
/* Trait de séparation pleine largeur entre sections. */
.section-sep{border:0;border-top:1px solid var(--line);width:100%;margin:22px 0 0}
.section-sep.sep-search{margin-top:48px}.zone-title+.crumb-row{margin-top:12px}.zone-title+.list-controls{margin-top:12px}.zone-title.zone-upload{margin:44px 0 14px}
/* Sélection multiple (Tout sélectionner / désélectionner / ⋯) : sous la liste, alignée à droite (ordre flex, sans toucher au HTML). */
.items-section{display:flex;flex-direction:column}
.items-section>.zone-title{order:0}
.items-section>.legend-row{order:1}
.items-section>.browser-list,.items-section>.preview-grid{order:2}
.items-section>.list-controls{order:3;justify-content:flex-end;margin:10px 0 0}
.items-section>.create-folder-row,.items-section>.note-new-row{order:4}
.note-actions .note-cancel{margin-inline-start:auto}
.bulk-bar{flex-direction:column;align-items:stretch;gap:10px;min-width:290px}.bulk-bar-top{display:flex;align-items:center;justify-content:space-between;gap:22px}.bulk-bar .bulk-track{flex:0 0 auto;width:100%;height:9px;margin:0}
[hidden]{display:none!important}
.form-message.success{background:#e9f9ef;color:#217a3c}
.trusted-card{grid-column:2;margin-top:24px}.trusted-intro{grid-column:1;margin-top:24px}.auth-intro h1{font-size:clamp(34px,4vw,52px);letter-spacing:-1.5px}.trusted-intro p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.65;max-width:520px}.trusted-title{margin:0 0 8px;font-size:18px}.trusted-desc{margin:0 0 16px;font-size:17px;color:var(--muted);line-height:1.6}.trusted-subtitle{margin:26px 0 12px;font-size:19px;font-weight:750;color:var(--ink)}
.security-option{display:flex;align-items:center;gap:12px;padding:13px 14px;margin-bottom:10px;border:1px solid var(--line);border-radius:11px;cursor:pointer;font-size:14px}.security-option:hover{background:#e8fafc}.security-option input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--blue);margin:0}.security-option span{flex:1}.security-option:has(input:checked){border-color:var(--blue);background:#e8fafc}
.level-badge{flex:0 0 auto;padding:5px 11px;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:.5px}.level-badge.weak{background:#d9f8fd;color:#0e94a7}.level-badge.medium{background:#12b5cb;color:#fff}.level-badge.strong{background:#0e94a7;color:#fff}
.totp-secret{padding:13px 15px;background:#f2f5f9;border:1px dashed var(--line);border-radius:10px;font-family:ui-monospace,Menlo,monospace;font-size:15px;letter-spacing:1px;color:var(--blue-dark);word-break:break-all}
.totp-qr{display:block;margin:0 auto 14px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}
.recovery-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:0 0 16px}.recovery-codes span{padding:10px 12px;background:#f2f5f9;border:1px dashed var(--line);border-radius:9px;font-family:ui-monospace,Menlo,monospace;font-size:14px;letter-spacing:1px;color:var(--blue-dark);text-align:center}
/* En-tête responsive (smartphone) */
@media(max-width:760px){
.site-header{height:auto;min-height:60px;padding:10px 14px;flex-wrap:wrap;gap:8px 12px}
.brand-logo,.brand.compact .brand-logo{width:48px;height:48px}
.site-header .main-nav{display:flex;order:3;flex-basis:100%;margin:0;gap:24px;justify-content:flex-start;align-items:center;flex-wrap:wrap;font-size:13px;padding-top:4px}
.header-actions{margin-inline-start:auto;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.site-header .button{display:inline-flex;min-height:34px;padding:0 11px;font-size:12px;border-radius:9px}
.site-header .button-ghost{display:inline-flex}
.header-register{display:inline-flex}
.language select{font-size:11px;width:max-content;min-width:0;max-width:none}
.trusted-line{flex-wrap:wrap}
}
/* Les noms/emails longs ne doivent jamais pousser les boutons hors écran */
.trusted-line>span:first-child{flex:1;min-width:min(100%,200px);overflow-wrap:break-word}
.trusted-line .button{flex:0 0 auto}.trusted-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #edf0f5}.trusted-line small{color:var(--muted)}.trusted-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.trusted-manage{width:100%;margin-top:12px}.trusted-subtitle.trusted-first{margin-top:0}.exclusion-details{margin:0 0 16px;border:1px solid var(--line);border-radius:11px;padding:0 14px;background:#fbfcfe}.exclusion-details summary{cursor:pointer;padding:12px 0;font-size:13px;font-weight:750;color:var(--blue-dark)}.exclusion-details form{padding:2px 0 14px}.exclusion-details .folder-tree{margin:10px 0 14px;background:#fff}
.news-compose>summary{list-style:none;display:flex;align-items:center;gap:10px}
.news-compose>summary::-webkit-details-marker{display:none}
.news-compose>summary::after{content:"";margin-left:auto;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:11px solid currentColor;transition:transform .15s ease}
.news-compose[open]>summary::after{transform:rotate(180deg)}
/* Fenêtre de sélection de dossier (Déplacer / Dupliquer) — charte REDA */
.move-dialog{max-width:470px;padding:28px 28px 22px;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow)}
.move-dialog h3{font-size:19px;color:var(--ink);margin:0 0 16px;letter-spacing:-.2px}
.move-dialog .form-field{margin-bottom:16px}
.move-dialog select{width:100%;height:46px;border:1px solid #d8deea;border-radius:12px;padding:0 14px;background:#fbfcfe;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}
.move-dialog select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(65,105,225,.12)}
.folder-tree{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:10px 12px;max-height:46vh;overflow:auto}
.move-dialog .folder-tree{margin:0}
.folder-tree ul ul{padding-inline-start:15px;border-inline-start:1px dashed #cdd8e8;margin-inline-start:15px}
.folder-tree li{padding:1px 0}
.tree-target{display:flex;align-items:center;gap:8px;width:100%;padding:9px 11px;border-radius:11px;font-size:13.5px;font-weight:600;color:var(--ink);border:1px solid transparent;transition:background .12s,color .12s,border-color .12s}
.tree-target:hover{background:#e8fafc}
.tree-target.selected{background:var(--blue);color:#fff;border-color:var(--blue);outline:none}
.tree-target:disabled{opacity:.4;background:none;cursor:not-allowed}
.tree-target:disabled:hover{background:none}
.move-dialog-actions{margin-top:20px;gap:12px}
.exclusion-tree{max-height:420px;overflow:auto}.exclusion-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:8px;cursor:pointer;font-size:14px;line-height:1.3}.exclusion-item:hover{background:#e8fafc}.exclusion-item input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--blue);cursor:pointer;margin:0}.exclusion-item:has(input:checked){background:#e8fafc;outline:1px solid var(--blue);color:var(--blue-dark);font-weight:700}.trusted-hint{margin:0 0 14px;font-size:14px;color:var(--ink);line-height:1.55}.admin-grid .auth-intro>p:not(.eyebrow),.personal-page .auth-intro>p:not(.eyebrow){color:var(--ink);font-size:14px;line-height:1.55}#trusted-code[readonly]{background:#f2f5f9;color:var(--blue-dark);font-weight:750;letter-spacing:1px}
@media(max-width:900px){.trusted-card{grid-column:auto}}
.drop-zone .selection-control{margin-top:8px}.drop-actions{display:flex;flex-direction:column;align-items:center;gap:9px}.folder-link{font-size:12px;cursor:pointer}.drop-zone .selection-menu{top:52px;left:50%;transform:translateX(-50%);min-width:230px;text-align:start}.drop-zone .selection-menu label{display:flex;align-items:center;gap:9px;padding:12px 13px;font-size:14px;font-weight:650}.upload-cancel{min-height:36px;padding:0 13px;font-size:12px}
.lang-flags{display:flex;flex-wrap:wrap;gap:5px}.lang-flags-profile{padding:4px 0}.flag-option{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;font-size:18px;line-height:1;cursor:pointer;opacity:.55;background:#fbfcfe}.flag-option input{display:none}.flag-option:hover{opacity:1;background:#e8fafc}.flag-option:has(input:checked){opacity:1;background:#e8fafc;border-color:var(--blue);outline:1px solid var(--blue)}
.legend-row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px}.legend-row .tda-legend{margin:0}.legend-row.legend-right{justify-content:flex-end}
.level-badge.verystrong{background:#0B2239;color:#6BE4F2}
.seclevel-current{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line);font-weight:750}
.seclevel-guide{margin-top:32px;display:grid;gap:14px;max-width:570px}.seclevel-guide h3{margin:0 0 2px;font-size:15px}.seclevel-guide p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.seclevel-guide .level-badge{display:inline-block;margin-right:8px;vertical-align:1px}
.codes-confirm{margin-top:14px;background:#C53030;color:#fff;box-shadow:none}.codes-confirm:hover{background:#9b2424;transform:none}.codes-confirm.confirmed{background:#217A3C;pointer-events:none}.codes-confirm.confirmed::before{content:'✓ '}
.page-top-actions{grid-column:1/-1;display:flex;justify-content:flex-end;margin:0 0 4px}
.bulk-menu .action-panel{top:auto;bottom:calc(100% + 8px)}
.note-export{display:inline-block}.note-export summary{display:inline-flex;align-items:center;justify-content:center}
.login-register{display:flex;justify-content:center;margin-top:12px}
/* Fil d'actualité : liste sobre des derniers événements de l'espace. */
.feed-list{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 18px}
.feed-line{display:flex;gap:16px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line)}
.feed-line:last-child{border-bottom:0}
.feed-time{flex:0 0 auto;font-size:11px;color:var(--muted);white-space:nowrap}
.feed-text{font-size:14px}.feed-text b{color:var(--blue-dark)}
/* Conversation familiale : fil compact à défilement interne, quel que soit l'historique. */
.conversation-page{max-width:900px}
.chat-box{height:min(55vh,560px);overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px}
.chat-box #chat-older{align-self:center;margin:0 0 10px}
#chat-list{display:flex;flex-direction:column;gap:10px}
.msg{max-width:75%;align-self:flex-start;background:#f2f5f9;border-radius:12px 12px 12px 4px;padding:9px 13px}
.msg.mine{align-self:flex-end;background:#e8fafc;border-radius:12px 12px 4px 12px}
.msg-meta{font-size:11px;color:var(--muted);margin-bottom:3px}.msg-meta b{color:var(--blue-dark)}
.msg-body{font-size:14px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}
.msg-delete{border:0;background:none;color:var(--muted);cursor:pointer;font-size:11px;padding:0 2px}.msg-delete:hover{color:#C53030}
.chat-form{display:flex;gap:10px;margin-top:14px;align-items:flex-end}
.chat-form textarea{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:14px;line-height:1.4;resize:none;background:#fff}
.chat-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,181,203,.12)}
.notify-check{display:flex;align-items:center;gap:9px;margin:4px 0 14px;font-size:13px;cursor:pointer}.notify-check input{width:18px;height:18px;accent-color:var(--blue)}
/* Les ancres (#security, #account…) atterrissent sous l'en-tête collant, section entière visible. */
html{scroll-padding-top:180px}@media(max-width:900px){html{scroll-padding-top:168px}}@media(max-width:560px){html{scroll-padding-top:205px}}
.invite-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 26px;padding:14px 18px;background:#e8fafc;border:1px solid var(--blue);border-radius:14px;font-size:14px;font-weight:700;color:var(--blue-dark)}.invite-banner span{flex:1;min-width:200px}
.unread-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#C53030;margin-inline-start:5px;vertical-align:super}
.unread-badge{margin-inline-start:8px;font-size:15px;text-decoration:none}
.search-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.search-row input[name=q]{min-height:40px;border:1px solid var(--line);border-radius:9px;padding:8px 12px;min-width:230px;background:#fff}
.search-row input[name=q]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(65,105,225,.1)}
.search-scope{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);cursor:pointer}
.heading-members{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.5;font-weight:600}
.card-actions{display:flex;align-items:center;gap:14px}
.quota-disc{--pct:0;flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:conic-gradient(var(--blue) calc(var(--pct)*1%),#e5eaf3 0);display:grid;place-items:center}
.quota-disc>span{width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:10px;font-weight:800;color:var(--blue-dark)}
.personal-heading.has-tools{border-bottom:none;padding-bottom:0}
.family-tools{margin:18px 0 26px;padding-bottom:24px;border-bottom:1px solid var(--line)}
/* Bloc outils d'un espace partagé : Administration/Conversation/Fil puis les groupes indentés dessous, le trait FERME le bloc (après les groupes). */
.space-toolset{margin:18px 0 18px}
.space-toolset .family-tools{margin:0 0 10px;padding-bottom:0;border-bottom:0}
.space-toolset .group-nav{margin:0 0 8px;padding-inline-start:calc(var(--depth,1) * 18px)}
.zone-title + .group-nav{margin-top:12px} /* accueil réseau/structure : même espace sous « Groupes » que sur une page de groupe */
.space-toolset>:last-child{margin-bottom:0}
.family-tools .leave-form{margin:0}.family-tools .leave-form .toolbar-pill{cursor:pointer;color:var(--muted)}
/* Bouton Administration : toujours poussé à droite de sa rangée (tous les espaces). */
.family-tools .admin-pill{order:99;margin-inline-start:auto}
/* Entête espace communauté/groupe : bouton Gérer/Administration (ou Quitter) à la place du quota, à droite du titre. */
.heading-manage{flex:0 0 auto;display:flex;align-items:center;gap:8px}
.heading-manage .leave-form{margin:0}.heading-manage .leave-form .toolbar-pill{cursor:pointer;color:var(--muted)}
/* « Calendrier général » aligné à droite de la rangée du haut (Conversations / Fil / Calendrier). */
.family-tools .cal-general-pill{margin-inline-start:auto}
/* Tableau de bord d'un espace (haut de l'Administration) : bande pleine largeur, ne casse pas la grille intro/carte. */
.dashboard-stats{grid-column:1/-1}
.dashboard-stats .dash-title{font-size:19px;margin:0 0 16px}
.dash-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:18px}
.dash-tile{background:#fbfcfe;border:1px solid var(--line);border-radius:12px;padding:14px}
.dash-tile .dash-k{display:block;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.dash-tile strong{font-size:20px;font-weight:750}
.dash-tile small{margin-left:6px;color:var(--muted);font-size:12px;font-weight:700}
.dash-quota{margin:0 0 22px}
.dash-quota-bar{height:8px;background:#e9edf3;border-radius:9px;overflow:hidden}
.dash-quota-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--aqua));border-radius:9px}
.dash-sub{font-size:14px;margin:0 0 10px}
.dash-split-bar{display:flex;height:14px;border-radius:8px;overflow:hidden;background:#e9edf3;margin-bottom:12px}
.dash-split-bar span{display:block;height:100%}
.seg-folders{background:var(--blue)}
.seg-root{background:var(--aqua)}
.dash-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 26px}
.dash-legend li{display:flex;align-items:center;gap:8px;font-size:13px}
.dash-legend .dot{width:11px;height:11px;border-radius:3px;display:inline-block}
.dash-legend strong{font-weight:750}
.dash-legend small{color:var(--muted);font-weight:700}
.admin-page-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin:0 0 10px}.admin-page-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4.5vw,58px);font-weight:500;letter-spacing:-2px;margin:6px 0 12px}.admin-page-heading~.auth-intro h1{font-size:clamp(21px,2.4vw,28px);letter-spacing:-.5px}.admin-page-heading p{color:var(--muted)}
/* Modificateur « grand » : même en-tête que l'accueil/vue groupe (grand titre serif + filet). Opt-in, ne touche pas les autres pages d'admin. */
.admin-page-heading.heading-big{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:0;align-items:center}
.admin-page-heading.heading-big h1{font-size:clamp(42px,6vw,68px);letter-spacing:0}
.admin-page-heading.heading-big>div{min-width:0}
/* Pages projet (grille 2 colonnes) : rythme vertical serré comme l'accueil (le gap:5vw de la grille ne se réduit pas
   avec des marges → on baisse le row-gap), barre d'outils SANS trait et collée au titre. */
.auth-page.profile-page{row-gap:34px;padding-top:26px}
.auth-page>.personal-heading{grid-column:1/-1} /* l'en-tete « accueil » (personal-heading) s'etend sur toute la largeur de la grille */
.auth-page.profile-page>.space-tools-top{grid-column:1/-1;border-bottom:none;margin:0}
.auth-page.profile-page>.space-tools-top + .personal-heading{margin-top:-20px} /* barre d'outils collee au titre comme l'accueil (uniquement si une barre precede) */
.auth-page.profile-page .auth-intro h1{font-size:clamp(21px,2.4vw,28px);letter-spacing:-.5px} /* garde les titres de section petits (avant assure par admin-page-heading~) */
/* Grille interne des pages d'admin projet : la barre + l'en-tete sont en FLUX (personal-page, comme l'accueil),
   seuls les formulaires (intro | carte) sont dans cette grille -> espacement du haut identique a l'accueil. */
.admin-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:5vw;align-items:start;margin-top:10px}
.admin-grid .auth-intro h1{font-size:clamp(21px,2.4vw,28px);letter-spacing:-.5px}
@media(max-width:900px){.admin-grid{grid-template-columns:1fr;gap:45px}}
.admin-flash{display:inline-block;margin:14px 0 0}
@media(min-width:901px){body:has(.personal-page) .site-header,body:has(.dashboard-page) .site-header{padding:0 clamp(24px,8vw,130px)}}
.tile-actions{width:128px;justify-content:space-between;gap:0}.tile-actions .letter-button{width:29px;height:29px;font-size:13px;border-radius:8px}
.select-slot .item-select{display:none}.select-slot::after{content:'✓';opacity:.3}.select-slot:has(.item-select:checked){background:var(--blue);border-color:var(--blue)}.select-slot:has(.item-select:checked)::after{opacity:1;color:#fff}
.meta-tip .tip-name{font-size:15px;font-weight:800}
.preview-tile{position:relative}.preview-tile .tile-thumb:hover~.meta-tip,.preview-tile figcaption:hover~.meta-tip{display:flex}.preview-tile .meta-tip{inset-inline-start:0;top:132px}
.tile-select{position:absolute;top:5px;inset-inline-end:5px;z-index:5}.tile-select .select-slot{width:29px;height:29px;font-size:13px;border-radius:8px;background:rgba(255,255,255,.95)}
.tile-menu{position:absolute;top:94px;inset-inline-end:5px;z-index:5}.tile-menu summary.letter-button{width:29px;height:29px;font-size:15px;border-radius:8px;background:rgba(255,255,255,.95)}.tile-menu .action-panel{inset-inline-start:auto;inset-inline-end:0}
.letter-button.letter-off{border-color:var(--line);color:var(--muted);opacity:.4;cursor:default;pointer-events:none}
.action-menu{position:relative;display:inline-block}.action-menu summary{list-style:none;cursor:pointer}.action-menu summary::-webkit-details-marker{display:none}.action-menu summary::marker{content:''}
.item-actions .letter-button,.item-actions .select-slot{width:32px;height:32px;border-radius:7px;font-size:15px}.item-actions .action-menu summary.letter-button{font-size:17px;line-height:1}
.action-panel{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:25;min-width:200px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px}
.action-panel form{margin:0;padding:0;display:block;width:100%}
.personal-page .action-panel .menu-item{display:block;width:100%;box-sizing:border-box;margin:0;padding:9px 12px;border:0;background:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--ink);cursor:pointer;text-decoration:none;text-align:start;white-space:nowrap}
.personal-page .action-panel .menu-item:hover{background:#e8fafc;color:var(--blue-dark)}
.personal-page .action-panel .menu-item.danger-link{color:#c53030}.personal-page .action-panel .menu-item.danger-link:hover{background:#fff1f1;color:#c53030}
.preview-tile .action-panel{inset-inline-start:0;inset-inline-end:auto}.browser-list article{overflow:visible}
/* Mobile (≤560px) : en vue Liste le bouton « … » passe à gauche → le menu doit s'ouvrir vers la DROITE (sinon il sort de l'écran à gauche). */
@media(max-width:560px){.browser-list .action-panel{inset-inline-start:0;inset-inline-end:auto;min-width:0;max-width:calc(100vw - 24px)}}
.tda-legend{display:flex;align-items:center;gap:16px 22px;flex-wrap:wrap;margin:0 0 16px;font-size:12px;color:var(--muted)}.tda-legend span{display:inline-flex;align-items:center;gap:7px}.tda-legend b{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--blue);border-radius:6px;background:#fff;color:var(--blue-dark);font-size:12px}
.item-select{width:20px;height:20px;accent-color:var(--blue);cursor:pointer;margin:0}.select-box{display:inline-flex;align-items:center;cursor:pointer}.select-slot{cursor:pointer}.select-slot .item-select{width:20px;height:20px}
.bulk-bar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:20px;padding:12px 18px;background:#fff;border:1px solid var(--blue);border-radius:14px;box-shadow:var(--shadow);font-size:13px;font-weight:750}.bulk-actions{display:flex;gap:10px}.bulk-track{width:130px;margin:0}#bulk-progress{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue-dark),var(--aqua));border-radius:7px;transition:width .15s}.quota-dialog-body{margin:0 0 6px;font-size:13px;color:var(--muted);line-height:1.6}.personal-page .letter-button.danger{border-color:#c53030;color:#c53030}.personal-page .letter-button.danger:hover{background:#c53030;color:#fff}.danger-link{color:#c53030}.button.danger{background:#c53030;box-shadow:none}.button.danger:hover{background:#9b2424;transform:none}
.upload-progress{display:flex;align-items:center;gap:12px;width:100%;max-width:440px;margin:14px auto 0}.upload-track{flex:1;height:9px;background:#e9edf3;border-radius:7px;overflow:hidden}#upload-bar{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue-dark),var(--aqua));border-radius:7px;transition:width .15s}#upload-status{font-size:11px;color:var(--muted);white-space:nowrap}
.meta-tip .tip-name{display:block;font-size:14px;font-weight:750;white-space:normal;word-break:break-word}.meta-tip .tip-type{display:block;color:var(--muted);font-weight:800;font-size:10px;letter-spacing:1.5px;margin-bottom:4px}@media(max-width:650px){.create-folder-row input[name="name"]{flex:1;min-width:0}}@media(max-width:650px){.personal-toolbar-row{align-items:stretch;flex-direction:column}.toolbar-left form{flex:1}.toolbar-left input[name="name"]{flex:1;min-width:0}}
.system-folders{display:flex;gap:10px;margin:28px 0 18px}.system-folders a{padding:11px 15px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:13px;font-weight:750}.system-folders a.active{border-color:var(--blue);color:var(--blue-dark);background:#e8fafc}.drop-zone{display:grid;place-items:center;text-align:center;gap:10px;padding:34px 20px;margin:0 0 24px;border:2px dashed #b9c6d5;border-radius:18px;background:rgba(255,255,255,.65);transition:.2s}.drop-zone.dragging{border-color:var(--blue);background:#e8fafc;transform:scale(1.005)}.drop-zone>span{color:var(--muted);font-size:12px}.drop-zone>div{display:flex;gap:10px;margin-top:8px}.item-actions{display:flex;align-items:center;gap:14px}.item-actions form,.browser-list article>form{margin:0}.item-actions button,.browser-list article>form button{border:0;background:none;padding:0;cursor:pointer}.browser-list article>a[href="#"]{pointer-events:none}@media(max-width:560px){.system-folders{overflow-x:auto}.drop-zone>div{flex-direction:column}.personal-actions form{width:100%;flex-direction:column;align-items:stretch}.browser-list article{grid-template-columns:32px 1fr}.item-actions,.browser-list article>form{grid-column:2;justify-content:flex-start}}

.auth-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:16px 0 0}.auth-links a{padding:8px 6px;font-size:13px;color:var(--blue);font-weight:700}

/* Boutons d’action des cartes admin alignés à droite (primaires ET danger) ; pas les boutons pleine largeur (.submit-button) ni les boutons d’offre (imbriqués). */
.auth-card>form>.button:not(.submit-button){display:block;width:fit-content;max-width:100%;margin-left:auto}

/* --- Univers Collaboration / Recherche : chips « inclus » vs « bientôt », et canaux de discussion. --- */
.collab-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 1rem}
.collab-chip{display:inline-block;padding:.28rem .7rem;border-radius:999px;font-size:.82rem;line-height:1.2;border:1px solid transparent;white-space:nowrap}
.collab-chip.on{background:rgba(38,166,154,.14);border-color:rgba(38,166,154,.35);color:#1b8a80}
.collab-chip.soon{background:rgba(120,120,120,.10);border-color:rgba(120,120,120,.28);color:#666}
.collab-chip.soon::after{content:" · bientôt";opacity:.7;font-size:.74em}
/* Canaux (fils de discussion) d'un espace Collaboration. */
.channel-bar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.2rem 0 1rem}
.channel-tab{display:inline-block;padding:.3rem .8rem;border-radius:999px;border:1px solid var(--border,#d9d9e3);background:transparent;color:inherit;text-decoration:none;font-size:.9rem;cursor:pointer}
.channel-tab.active{background:rgba(38,166,154,.16);border-color:rgba(38,166,154,.45);color:#1b8a80;font-weight:600}
.channel-add{display:inline-flex;gap:.35rem;align-items:center}
.channel-add input{width:9rem;padding:.25rem .5rem;font-size:.85rem}
/* Gestion des membres d'un salon privé (créateur uniquement). */
.salon-manage{margin:-.4rem 0 1rem}
.salon-manage>summary{display:inline-block;font-size:.85rem;list-style:none;cursor:pointer}
.salon-manage>summary::-webkit-details-marker{display:none}
.salon-invite{display:flex;gap:.4rem;align-items:center;margin:.6rem 0}
.salon-invite input{flex:1;padding:.3rem .5rem;font-size:.85rem}
.salon-hint{font-size:.82rem;margin:.2rem 0}
.salon-hint.ok{color:#1b8a80}
.salon-hint.err{color:#c0392b}
.salon-members{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}
.salon-members li{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;padding:.15rem .1rem;border-bottom:1px solid var(--border,#eee)}
.salon-members form{margin:0}

/* Lien « REDA Cloud Pro » / « REDA Cloud » (bascule d'univers) dans le menu. */
.site-header .mode-switch{font-weight:600;color:#1b8a80;border:1px solid rgba(38,166,154,.45);border-radius:999px;padding:.15rem .7rem;margin-left:.2rem}
.site-header .mode-switch:hover{background:rgba(38,166,154,.12)}

/* Libellé d'univers à côté du logo (REDA Cloud Pro / Perso). */
.site-header .brand{display:inline-flex;align-items:center;gap:.5rem}
.brand-mode{font-weight:700;font-size:.95rem;color:var(--text,#1b8a80);white-space:nowrap}

/* Univers : libellé + bouton de bascule alignés (même hauteur, centrés) et à LARGEUR FIXE
   pour éviter tout décalage horizontal quand le texte change (Perso <-> Pro). */
.site-header .brand{display:inline-flex;align-items:center;gap:.55rem}
.brand-mode,.site-header .mode-switch{display:inline-flex;align-items:center;box-sizing:border-box;height:34px;line-height:1;font-size:.95rem;white-space:nowrap}
.brand-mode{width:150px;font-weight:700;color:#1b8a80}
.site-header .mode-switch{width:162px;justify-content:center;font-weight:600;color:#1b8a80;border:1px solid rgba(38,166,154,.45);border-radius:999px;padding:0 .6rem;margin:0}
.site-header .mode-switch:hover{background:rgba(38,166,154,.12)}
.site-header .main-nav .mode-switch{width:auto;height:auto;font-size:13px;padding:.22rem .7rem;margin:0}
/* Nav alignée à gauche sur sa propre ligne : « Accueil » ne bouge jamais, les libellés gardent leur taille naturelle. */
.site-header .main-nav .nav-spaces{white-space:nowrap}

/* Textarea des formulaires (ex. adresse de facturation) : MÊME style que les <input> .form-field
   (bordure, fond, rayon, police héritée) — juste multi-lignes. */
.form-field textarea{width:100%;min-height:92px;border:1px solid #d8deea;border-radius:11px;padding:11px 14px;background:#fbfcfe;color:var(--ink);font:inherit;line-height:1.45;resize:vertical;outline:none;box-sizing:border-box}
.form-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(65,105,225,.1)}

/* Menu « actions groupées » (…) à côté de « Tout désélectionner » : MÊME arrondi que les mini-pilules (9px). */
.bulk-actions-inline{display:inline-flex;align-items:center}
.bulk-actions-inline .letter-button{width:auto;min-width:34px;height:30px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:15px;padding:0 11px}
.bulk-actions-inline.is-disabled{opacity:.4;pointer-events:none}

/* Module Forum : 2 volets (Sujets à gauche, messages à droite). */
.forum-layout{display:grid;grid-template-columns:2fr 3fr;gap:24px;align-items:start;margin-top:10px}
.forum-topics{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.forum-topics .zone-title{margin:0 0 12px;font-size:16px}
.forum-newtopic{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap}
.forum-newtopic input{flex:1 1 140px;min-height:38px;border:1px solid var(--line);border-radius:9px;padding:0 12px}
.forum-topic-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.forum-topic-list li a{display:block;padding:9px 11px;border-radius:9px;text-decoration:none;color:var(--ink)}
.forum-topic-list li a:hover{background:#e8fafc}
.forum-topic-list li.active a{background:#e8fafc;color:var(--blue-dark)}
.forum-topic-list .ft-title{display:block;font-weight:700;font-size:14px}
.forum-topic-list small{color:var(--muted);font-size:11px}
.forum-topic-list .ft-empty{color:var(--muted);font-size:13px;padding:8px 4px}
.forum-thread{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;min-height:420px}
.forum-thread-title{margin:0 0 16px;font-size:19px}
.forum-messages{flex:1;display:flex;flex-direction:column;gap:14px;margin-bottom:16px}
.forum-msg{max-width:80%;padding:10px 14px;border-radius:12px;background:#f2f5f9}
.forum-msg.mine{align-self:flex-end;background:#e8fafc}
.fm-head{display:flex;gap:10px;align-items:baseline;margin-bottom:4px}
.fm-head b{font-size:13px}
.fm-head small{color:var(--muted);font-size:11px}
.fm-body{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.forum-reply{display:flex;flex-direction:column;gap:10px}
.forum-reply textarea{border:1px solid var(--line);border-radius:11px;padding:12px;font:inherit;resize:vertical}
.forum-reply button{align-self:flex-end}
.forum-pick{padding:40px 0;text-align:center}
@media(max-width:760px){.forum-layout{grid-template-columns:1fr}}

/* Module Salons : formulaire "nouveau salon" avec sélecteur de participants. */
.chat-new{margin:0 0 14px}
.chat-new>summary{cursor:pointer;list-style:none;width:100%;text-align:center}
.chat-new>summary::-webkit-details-marker{display:none}
.chat-new-form{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.chat-new-form input[name="name"]{min-height:38px;border:1px solid var(--line);border-radius:9px;padding:0 12px}
.chat-members-label{margin:2px 0 0;font-size:12px;font-weight:800;color:var(--muted)}
.chat-members{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;border:1px solid var(--line);border-radius:9px;padding:8px}
.chat-member{display:flex;align-items:center;gap:8px;font-size:13px}

/* Module Messagerie : en-tête destinataires d'un mail. */
.mail-recipients{margin:-8px 0 16px;font-size:12px;color:var(--muted)}
.mail-list .ft-title{font-weight:700}

/* Badge non-lus (3 modules de messagerie) sur les cartes Collaboration de spaces.php. */
.unread-badge.unread-count{font-size:12px;font-weight:800;color:#1b8a80;background:#e8fafc;border:1px solid rgba(38,166,154,.4);border-radius:999px;padding:1px 9px;text-decoration:none;vertical-align:middle;white-space:nowrap}
.unread-badge.unread-count:hover{background:#d5f4f0}

/* Écran Profil : Mes adresses e-mail. */
.email-list{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:2px}
.email-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #edf0f5}
.email-row:last-child{border-bottom:0}
.email-addr{font-weight:700;flex:1 1 200px;overflow-wrap:anywhere}
.email-badges{display:flex;gap:6px;flex-wrap:wrap}
.email-badge{font-size:11px;font-weight:800;padding:2px 9px;border-radius:999px}
.email-badge.primary{background:#e9edff;color:var(--blue)}
.email-badge.comm{background:#e6fffa;color:#2c7a7b}
.email-badge.ok{background:#e9f9ef;color:#217a3c}
.email-badge.pending{background:#fff4e6;color:#b5651d}
.email-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.email-actions form{margin:0}
.email-actions .text-link{border:0;background:none;padding:0;cursor:pointer;font-size:13px;color:var(--blue-dark);font-weight:700}
.email-actions .danger-link{color:#c0392b}
.email-add{display:flex;gap:10px;flex-wrap:wrap}
.email-add input{flex:1 1 220px;min-height:44px;border:1px solid #d8deea;border-radius:11px;padding:0 14px;background:#fbfcfe}

/* Forum inline (sous le trait) : sujets 2 par ligne + nouveau sujet. */
/* Espace sous le titre « Forum ». */
.forum-inline-title{margin-bottom:14px}
/* Sujets de forum repliables (2 colonnes), lisibles en entier inline. */
.forum-inline{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 12px;align-items:start}
/* Sous les groupes : forums (gauche) + événements à venir (droite) en deux moitiés égales. */
.space-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,44px);align-items:start;margin:6px 0 4px}
.section-sep + .space-split{margin-top:30px} /* « Événements à venir » : même espace sous le trait que les autres sections */
.space-split-col>.zone-title:first-child{margin-top:0}
.space-split-col .cal-upcoming{margin-bottom:0}
@media(max-width:760px){.space-split{grid-template-columns:1fr;gap:10px}}
/* Collaboration : boîte à idées */
.collab-new{display:flex;flex-direction:column;gap:8px;margin:4px 0 14px}
.collab-new input,.collab-new textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff;color:var(--ink);font:inherit}
.collab-new textarea{resize:vertical;min-height:48px}
.collab-new button{align-self:flex-start}
.collab-empty{margin:4px 0 0}
.collab-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.collab-idea{border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#fff}
.collab-idea.st-rejected{opacity:.62}
.collab-idea.is-struck{opacity:.55}
.collab-idea.is-struck .collab-idea-title{text-decoration:line-through}
.collab-idea-by{font-size:12px;color:var(--muted);margin-top:2px}
.collab-idea-head{display:flex;align-items:flex-start;gap:11px}
.collab-vote-btn{border:1px solid var(--line);border-radius:10px;background:#fbfcfe;padding:7px 11px;cursor:pointer;font-weight:600;line-height:1.1;color:var(--ink);white-space:nowrap}
.collab-vote-btn.voted{background:#12B5CB;border-color:#12B5CB;color:#fff}
.collab-vote-btn.is-static{cursor:default;opacity:.85}
.collab-idea-main{flex:1;min-width:0}
.collab-idea-title{font-weight:600;word-break:break-word}
.collab-idea-body{color:var(--muted);font-size:14px;margin-top:2px;white-space:pre-wrap;word-break:break-word}
.collab-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}
.collab-badge{font-size:12px;padding:2px 9px;border-radius:999px;background:#eef2f8;color:var(--muted)}
.collab-badge.st-kept{background:#e3f6ea;color:#217A3C}
.collab-badge.st-rejected{background:#f0eef0;color:#8a8a8a}
.collab-status-btns{display:flex;gap:6px;flex-wrap:wrap}
.collab-status-btns form{margin:0}
.collab-st-pill{font-size:12px;border:1px solid var(--line);background:#fbfcfe;border-radius:999px;padding:2px 10px;cursor:pointer;color:var(--muted)}
.collab-st-pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.collab-idea-actions{display:flex;gap:10px;align-items:center;margin-left:auto}
.collab-idea-actions form{margin:0}
.collab-edit-panel{margin-top:8px}
.collab-edit-panel .collab-new{margin:0}
.collab-comments{margin-top:9px}
.collab-comments>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);list-style:none;user-select:none;display:inline-flex;align-items:center;gap:6px;padding:3px 0}
.collab-comments>summary::-webkit-details-marker{display:none}
.collab-comments>summary::before{content:'▸';font-size:10px;color:var(--muted);transition:transform .15s}
.collab-comments[open]>summary::before{transform:rotate(90deg)}
.collab-comment-list{margin-top:8px;display:flex;flex-direction:column;gap:10px;border-left:2px solid var(--line);padding-left:11px}
.collab-comment-head{display:flex;align-items:baseline;gap:10px}
.collab-comment-by{font-size:12px;color:var(--muted);flex:1;min-width:0;word-break:break-word}
.collab-comment-del{margin-left:auto;flex:0 0 auto}
.collab-comment-del button{white-space:nowrap}
.collab-comment-body{font-size:14px;white-space:pre-wrap;word-break:break-word;margin-top:1px}
.collab-comment-new{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.collab-comment-new textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 11px;background:#fff;color:var(--ink);font:inherit;resize:vertical;min-height:42px}
.collab-comment-new button{align-self:flex-start}
/* Sondages internes */
.collab-poll-new-wrap{margin:4px 0 14px}
.collab-poll-new-wrap>summary{display:inline-flex;cursor:pointer;list-style:none}
.collab-poll-new-wrap>summary::-webkit-details-marker{display:none}
.collab-poll-new{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.collab-poll-new>input{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff;color:var(--ink);font:inherit}
.collab-poll-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.collab-poll-closefield{margin:0}
.collab-poll-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.collab-poll{border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff}
.collab-poll.is-closed{opacity:.72}
.collab-poll-q{font-weight:600;word-break:break-word}
.collab-poll-sub{font-size:12px;color:var(--muted);margin-top:2px}
.collab-poll-options{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.collab-poll-optform{margin:0}
.collab-poll-opt-btn{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;padding:8px 11px;background:#fbfcfe;color:var(--ink);cursor:pointer;position:relative;overflow:hidden;font:inherit}
.collab-poll-opt-btn::before{content:'';position:absolute;inset:0;width:var(--pct,0);background:#e3f6fa;z-index:0;transition:width .2s}
.collab-poll-opt-btn.voted{border-color:#12B5CB}
.collab-poll-opt-btn.voted::before{background:#c7ecf3}
.collab-poll-opt-btn.is-static{cursor:default}
.collab-poll-opt-btn>span{position:relative;z-index:1}
.collab-poll-opt-btn .cpo-mark{flex:0 0 auto}
.collab-poll-opt-btn .cpo-label{flex:1;min-width:0;word-break:break-word}
.collab-poll-opt-btn .cpo-count{flex:0 0 auto;color:var(--muted);font-size:12px;white-space:nowrap}
.collab-poll-voters{font-size:11px;color:var(--muted);margin:1px 0 0 11px}
/* Sondage = collapsible : en-tête (question + méta) cliquable, corps dessous */
.collab-poll-item>summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:2px;position:relative;padding-right:26px}
.collab-poll-item>summary::-webkit-details-marker{display:none}
.collab-poll-item>summary::marker{content:''}
.collab-poll-item>summary::after{content:'▼';position:absolute;right:2px;top:0;color:var(--muted);font-size:17px;line-height:1.1}
.collab-poll-item[open]>summary::after{content:'▲'}
.collab-poll-body{margin-top:11px}
/* Barre d'actions : boutons de gestion à gauche (inchangés), « Voir les résultats » poussé à droite sur la même ligne */
.collab-poll-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px}
.collab-poll-foot form{margin:0}
.collab-poll-res-btn{margin-left:auto}
/* Question : tronquée dans l'en-tête, en entier dans le corps avant les réponses */
.collab-poll-item>summary .collab-poll-q{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.collab-poll-fullq{font-weight:600;word-break:break-word;margin:0 0 2px}
/* Résultats : simples lignes de texte, votants sur la ligne du dessous, espace entre options */
.collab-poll-results{margin:10px 0 2px;display:flex;flex-direction:column;font-size:13px;color:var(--ink)}
.cpr-opt{margin-bottom:9px}
.cpr-line{word-break:break-word}
.cpr-l{font-weight:600}
.cpr-who{color:var(--muted);font-size:12px;margin:1px 0 0 4px;word-break:break-word}
.collab-poll-reshint{margin-left:auto;font-style:italic}
/* Sous-option « résultats à la clôture » : visible seulement si « visibles par tout le monde » est coché */
.poll-resclose{margin-left:20px}
.collab-poll-check:has(.poll-respublic:not(:checked)) ~ .poll-resclose{display:none}
.collab-poll-actions{display:flex;gap:12px;margin-top:10px}
.collab-poll-actions form{margin:0}
/* Tableau de post-its (onglets + colonnes) */
.collab-board-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:16px 0 8px}
.collab-board-head .zone-title{margin:0}
.collab-cat-form{display:flex;flex-direction:column;gap:8px;margin:0}
.collab-cat-form input,.collab-cat-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff;color:var(--ink);font:inherit}
.collab-cat-form textarea{resize:vertical;min-height:44px}
.collab-cat-form button{align-self:flex-start}
.collab-cat-form.collab-inline{flex-direction:row;align-items:center;flex-wrap:wrap;max-width:520px}
.collab-cat-form.collab-inline input{flex:1;min-width:180px;width:auto}
.collab-cat-form.collab-inline button{align-self:auto;flex:0 0 auto}
.collab-board-tabs{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.collab-tab{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}
.collab-tab.active{background:#12B5CB;border-color:#12B5CB;color:#fff}
.collab-tab-add{color:var(--blue-dark);border-style:dashed;list-style:none}
.collab-tab-add::-webkit-details-marker{display:none}
.collab-board-newtab,.collab-board-manage details{position:relative}
.collab-board-manage{margin:0 0 10px}
.collab-board-manage>details>summary{cursor:pointer;list-style:none;font-size:13px;font-weight:700;color:var(--muted)}
.collab-board-manage>details>summary::-webkit-details-marker{display:none}
.collab-board-cols{display:flex;gap:14px;flex-wrap:wrap;padding:4px 2px 12px;align-items:flex-start}
.collab-cat{flex:0 0 260px;max-width:300px;background:#f4f6fa;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}
.collab-cat-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.collab-cat-title{font-size:14px;font-weight:800;margin:0;color:var(--ink)}
.collab-cat-n{font-weight:600;color:var(--muted);font-size:12px}
.collab-cat-body{display:flex;flex-direction:column;gap:8px;min-height:44px;border-radius:8px;transition:background .12s,outline-color .12s}
.collab-cat-body.drop-over{background:#e3f6fa;outline:2px dashed #12B5CB;outline-offset:2px}
.collab-note{background:#fffbe6;border:1px solid #ece6c0;border-radius:10px;padding:9px 10px;cursor:grab;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.collab-note.dragging{opacity:.5}
.collab-note-title{font-weight:700;font-size:13px;word-break:break-word}
.collab-note-body{font-size:12px;color:#5a5533;margin-top:3px;white-space:pre-wrap;word-break:break-word}
.collab-note-foot{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}
.collab-note-vote{border:1px solid #e0d9b0;border-radius:8px;background:#fff;padding:3px 8px;cursor:pointer;font-size:12px;font-weight:600;color:var(--ink)}
.collab-note-vote.voted{background:#12B5CB;border-color:#12B5CB;color:#fff}
.collab-note-vote.is-static{cursor:default}
.collab-note-by{margin-left:auto;font-size:11px;color:var(--muted)}
.collab-note>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:8px;justify-content:space-between}
.collab-note>summary::-webkit-details-marker{display:none}
.collab-note-sum .collab-note-title{flex:1;min-width:0}
.collab-note-sumfoot{display:flex;align-items:center;gap:6px;flex:0 0 auto;font-size:11px}
.collab-note-votecount{color:var(--muted);white-space:nowrap}
.collab-note-votecount.voted{color:#12B5CB;font-weight:700}
.collab-note-cbadge{color:var(--muted);white-space:nowrap}
.collab-note-open{margin-top:8px}
.collab-note-comments{margin-top:8px;border-top:1px solid #ece6c0;padding-top:8px;display:flex;flex-direction:column;gap:7px}
.collab-ncomment-head{display:flex;align-items:baseline;gap:8px}
.collab-ncomment-by{font-size:11px;color:var(--muted);flex:1;min-width:0;word-break:break-word}
.collab-ncomment-head form{margin-left:auto;flex:0 0 auto}
.collab-ncomment-body{font-size:12px;white-space:pre-wrap;word-break:break-word}
.collab-ncomment-new{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.collab-ncomment-new textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;color:var(--ink);font:inherit;resize:vertical;min-height:40px}
.collab-ncomment-new button{align-self:flex-start}
/* Mur de discussion */
.collab-wall-new{display:flex;flex-direction:column;gap:8px;margin:4px 0 14px}
.collab-wall-new textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff;color:var(--ink);font:inherit;resize:vertical;min-height:48px}
.collab-wall-new button{align-self:flex-start}
.collab-wall-empty{margin:4px 0 0}
.collab-wall-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.collab-wall-msg{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.collab-wall-head{display:flex;align-items:baseline;gap:8px}
.collab-wall-by{font-size:12px;color:var(--muted);flex:1;min-width:0;word-break:break-word}
.collab-wall-head form{margin-left:auto;flex:0 0 auto}
.collab-wall-body{font-size:14px;white-space:pre-wrap;word-break:break-word;margin-top:3px}
.collab-note-menu>summary,.collab-cat-menu>summary{cursor:pointer;font-size:13px}
.collab-move-label{font-size:11px;color:var(--muted);padding:2px 4px 4px}
.collab-note-add>summary,.collab-cat-add-btn{cursor:pointer;list-style:none;font-size:12px;font-weight:700;color:var(--blue-dark);padding:6px 4px;border:1px dashed var(--line);border-radius:8px;text-align:center}
.collab-note-add>summary::-webkit-details-marker,.collab-cat-add-btn::-webkit-details-marker{display:none}
.collab-note-add form,.collab-cat-new form{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.collab-note-add input,.collab-note-add textarea,.collab-cat-new input,.collab-note-menu .action-panel input,.collab-note-menu .action-panel textarea,.collab-cat-menu .action-panel input{width:100%;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;color:var(--ink);font:inherit}
.collab-cat-new{flex:0 0 210px;background:transparent;border:1px dashed var(--line)}
.collab-note-menu .action-panel form,.collab-cat-menu .action-panel form{margin:0 0 6px}
@media(max-width:620px){.collab-cat{flex-basis:82vw}}
/* Navigateur de fichiers en 2 colonnes : dossiers (col. gauche, ligne 1) + dossiers partagés (col. gauche, ligne 2) ; fichiers (col. droite). Placement explicite : l'ordre du DOM (fichiers d'abord) n'impose pas la colonne. */
.browser-split,.browser-split2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,44px);align-items:start;margin:6px 0 4px}
.browser-split>.folders-col{grid-column:1;grid-row:1}
.browser-split>.shared-col{grid-column:1;grid-row:2}
.browser-split>.files-col{grid-column:2;grid-row:1/span 2}
.browser-split2{margin-top:28px}
.browser-split2>.upload-col{grid-column:1;grid-row:1}
.browser-split2>.notes-col{grid-column:2;grid-row:1;margin-top:0}
/* Alignement des deux en-têtes en haut de cellule : on neutralise le margin-top de la section Notes (30px) et du titre Upload (44px). */
.browser-split2>.upload-col>.zone-upload{margin:0 0 12px}
@media(max-width:760px){.browser-split,.browser-split2{grid-template-columns:1fr;gap:10px}.browser-split>.folders-col,.browser-split>.shared-col,.browser-split>.files-col,.browser-split2>.upload-col,.browser-split2>.notes-col{grid-column:1;grid-row:auto}}
.forum-inline .ft-empty{grid-column:1/-1;color:var(--muted);font-size:13px}
.forum-fold>summary{cursor:pointer;list-style:none;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:600;font-size:14px;display:flex;align-items:center;gap:6px}
.forum-fold>summary::-webkit-details-marker{display:none}
.forum-fold>summary::after{content:'';margin-left:auto;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid var(--muted);transition:transform .15s}
.forum-fold[open]>summary::after{transform:rotate(180deg)}
.forum-fold[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}
.forum-fold-body{border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;padding:12px;display:flex;flex-direction:column;gap:10px}
.forum-inline-actions{margin:0 0 14px}
@media(max-width:560px){.forum-inline{grid-template-columns:1fr}}
/* Page Conversations : 2 colonnes (Salons | Messages), responsive. */
.conv-2col{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;margin-top:10px}
.conv-pane{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column}
.conv-pane .zone-title{margin:0 0 12px;font-size:17px}
.conv-list{display:flex;flex-direction:column;gap:3px;margin:10px 0}
.conv-item{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 11px;border-radius:9px;text-decoration:none;color:var(--ink)}
.conv-item:hover{background:#e8fafc}
.conv-item.active{background:#e8fafc;color:var(--blue-dark)}
.conv-item .ci-title{font-weight:700;font-size:14px;overflow-wrap:anywhere}
.conv-item small{color:var(--muted);font-size:11px;white-space:nowrap}
.conv-thread-title{font-weight:750;font-size:16px;margin:8px 0 6px;border-top:1px solid var(--line);padding-top:12px}
@media(max-width:820px){.conv-2col{grid-template-columns:1fr}}

/* Supprimer son propre message (forum / salons). */
.msg-del-form{display:inline;margin:0}
.fm-head .msg-del,.msg-meta .msg-del{border:0;background:none;color:var(--muted);cursor:pointer;font-size:12px;margin-left:8px;padding:0;line-height:1}
.fm-head .msg-del:hover{color:#c0392b}
/* Page Calendrier. */
.calendar-page .zone-title{margin-bottom:14px}
.cal-2col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,32px);align-items:start}
.cal-2col .zone-title{margin-top:0}
@media(max-width:760px){.cal-2col{grid-template-columns:1fr}}
.cal-head{display:flex;align-items:center;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.cal-month{font-size:17px;text-transform:capitalize;min-width:150px;text-align:center}
.cal-tz{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:13px;color:#5a6472}
.cal-tz .cal-select{max-width:200px}
@media(max-width:620px){.cal-tz{margin-left:0;width:100%}.cal-tz-lbl{display:none}}
.save-note{margin-left:10px;font-size:13px;font-weight:600;white-space:nowrap}
.save-note.ok{color:#2e7d5b}
.save-note.err{color:#a63b3b}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-dow{font-size:11px;font-weight:800;color:var(--muted);text-align:center;padding:2px 0;text-transform:uppercase;letter-spacing:.5px}
.cal-cell{min-height:78px;border:1px solid var(--line);border-radius:9px;padding:5px 6px;background:#fbfcfe;display:flex;flex-direction:column;gap:3px;overflow:hidden}
.cal-cell.cal-blank{background:transparent;border:0}
.cal-cell.today{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
a.cal-cell-add{text-decoration:none;color:inherit;cursor:pointer;transition:background .12s,border-color .12s}
a.cal-cell-add:hover{border-color:var(--blue);background:#f2f8ff}
a.cal-day.cal-cell-add{display:block}
.cal-num{font-size:12px;font-weight:750;color:var(--muted)}
.cal-cell.today .cal-num{color:var(--blue-dark)}
.cal-evt{font-size:11px;line-height:1.25;background:var(--cal-color,#e8f0fe);color:#20303f;border-radius:6px;padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-evt b{font-weight:800}
@media(max-width:560px){.cal-cell{min-height:52px}.cal-evt{font-size:10px;padding:1px 4px}}
/* Sections « titre à gauche, carte à droite » (comme la page Compte). */
.cal-section{display:grid;grid-template-columns:0.8fr 1.2fr;gap:clamp(16px,4vw,48px);align-items:start;margin:28px 0 0}
.cal-section-head .zone-title{margin:4px 0 0}
@media(max-width:760px){.cal-section{grid-template-columns:1fr;gap:8px}}
/* Case « journée entière » propre. */
.cal-check{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:750;margin:2px 0 18px;cursor:pointer}
.cal-check input{width:18px;height:18px;flex:0 0 auto;margin:0}
/* Formulaire événement : Début/Fin à gauche, Portée + Journée entière à droite. */
.cal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(18px,4vw,44px);align-items:start}
.cal-form-grid.cal-when{grid-template-columns:1.2fr 1.2fr 0.6fr;gap:0 16px}
.cal-when .cal-dt{width:100%;min-width:0;box-sizing:border-box}
.cal-form-grid>.cal-check{align-self:center;margin:0}
.cal-recur-until[hidden]{display:none}
@media(max-width:620px){.cal-form-grid,.cal-form-grid.cal-when{grid-template-columns:1fr;gap:0}.cal-form-grid>.cal-check{align-self:start;margin:2px 0 18px}}
/* Menu déroulant « Portée » aux couleurs du site (flèche SVG en data-URI, autorisée par img-src data:). */
.cal-select{width:100%;height:48px;border:1px solid #d8deea;border-radius:11px;padding:0 40px 0 14px;color:var(--ink);font:inherit;cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fbfcfe url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b7a90' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;background-size:12px 8px}
.cal-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(65,105,225,.1)}
/* Couleur du calendrier (variable --cal-color posée sur .calendar-page). */
.cal-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--cal-color,#8fb4f2);margin-right:7px;vertical-align:middle}
.cal-colors{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 14px}
.cal-colors-label{font-size:11px;font-weight:800;color:var(--muted);margin-right:2px}
.cal-swatch{width:24px;height:24px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}
.cal-swatch:hover{transform:scale(1.08)}
.cal-swatch.active{box-shadow:0 0 0 2px var(--blue-dark,#1b8a80)}
/* Choix de couleur en pastilles-radio (formulaire d'agenda externe). */
.cal-color-choices{display:flex;gap:8px;flex-wrap:wrap}
.cal-swatch-radio{display:inline-flex;cursor:pointer}
.cal-swatch-radio input{position:absolute;opacity:0;width:0;height:0}
.cal-swatch-radio input:checked + .cal-swatch{box-shadow:0 0 0 2px var(--blue-dark,#1b8a80)}
.cal-ext-err{color:#b45309}
/* Pop-over couleur natif : une pastille qui déplie la palette (sans encombrer la ligne). */
.cal-color-pop{position:relative;display:inline-block}
.cal-color-pop>summary{list-style:none;display:inline-block}
.cal-color-pop>summary::-webkit-details-marker{display:none}
.cal-color-pop>summary::marker{content:""}
.cal-color-pop .mycal-colors{position:absolute;right:0;top:30px;z-index:6;display:flex;gap:6px;background:var(--white,#fff);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 8px 24px rgba(20,30,50,.14)}
/* Bascule mode super-admin (sudo) : ambre quand le rôle SA est endossé. */
.sa-toggle-form{margin:0;display:inline-flex}
.sa-pill{cursor:pointer}
.sa-pill.active{background:#f6c94b;border-color:#e0a800;color:#3a2e00;font-weight:800}
.home-pill.is-home{background:#12B5CB;border-color:#12B5CB;color:#fff;font-weight:700} /* accueil courant : fond turquoise REDA Cloud */
/* Badge « public » + légende de la vue générale. */
.cal-badge{font-style:normal;font-size:12px}
.cal-legend{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 12px}
.cal-legend-item{display:inline-flex;align-items:center;font-size:12px;color:var(--muted);font-weight:750}
/* Sélecteur de vue + vues jour / semaine / année. */
.cal-views{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.cal-day{display:flex;flex-direction:column;gap:8px}
.cal-day-evt{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe;font-size:14px}
.cal-day-evt .cal-dot{margin-right:8px}
.cal-week .cal-cell{min-height:130px}
.cal-year{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:760px){.cal-year{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.cal-year{grid-template-columns:1fr}}
.cal-mini{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:10px;padding:8px}
.cal-mini:hover{background:#f2f5f9}
.cal-mini-title{font-size:12px;font-weight:800;text-transform:capitalize;margin:0 0 6px;text-align:center}
.cal-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-mini-day{font-size:9px;text-align:center;color:var(--muted);border-radius:3px;padding:1px 0;min-height:12px}
.cal-mini-day.has{color:#20303f;font-weight:800}
.cal-mini-day.today{outline:1px solid var(--blue)}
/* Aperçu « prochains événements » sur la page communauté (sous les boutons, avant le trait Groupes). */
.cal-upcoming{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:2px}
.cal-upcoming li a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:13px}
.cal-upcoming li a:hover{background:#f2f5f9}
.cal-upcoming b{font-variant-numeric:tabular-nums;white-space:nowrap}
.cal-upcoming small{color:var(--muted)}
/* Photo de profil (ronde) des membres */
.reda-avatar{width:38px;height:38px;flex:0 0 auto;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:#eef1f6;display:inline-block;vertical-align:middle}
.reda-avatar-empty{display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;color:var(--muted);font-size:15px}
.reda-avatar-lg{width:96px;height:96px;font-size:34px}
.trusted-line>span{flex:1;min-width:0}
.avatar-edit{display:flex;align-items:center;gap:14px;margin:2px 0 6px}
.avatar-edit input[type=file]{font-size:12px}
/* Logo de la Structure : largeur imposée, hauteur adaptée (contain), image centrée */
.brand-struct-logo{width:120px;height:46px;object-fit:contain;object-position:center;margin-left:16px;padding-left:16px;border-left:1px solid var(--line);flex:0 0 auto}
.struct-logo-preview{width:160px;height:64px;object-fit:contain;object-position:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px}
@media(max-width:900px){.brand-struct-logo{width:84px;height:38px;margin-left:10px;padding-left:10px}}
/* Champ fichier « joli » : bouton stylé + nom du fichier ; l'aperçu s'affiche dans une section séparée en dessous */
.file-pretty{display:block;margin:2px 0 4px}
.file-pretty-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 10px}
.file-pretty-head .zone-title{margin:0}
.file-pretty-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.file-pretty-row>.button{cursor:pointer;margin:0}
.file-pretty-name{color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.file-pretty-box{margin-top:14px}
/* Fiche d'identité de Structure : card affichée AU SURVOL du logo dans le header */
.struct-badge{position:relative;display:flex;align-items:center}
.brand-struct-initial{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;font-weight:800;color:var(--blue);background:#e9edff;border-radius:12px;margin-left:16px;border-left:0;padding-left:0}
.struct-card{position:absolute;top:100%;left:8px;margin-top:8px;width:320px;max-width:86vw;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;z-index:60;display:none;text-align:left}
.struct-badge:hover .struct-card,.struct-card:hover{display:block}
.struct-card::before{content:"";position:absolute;top:-10px;left:0;right:0;height:12px}
.struct-card-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.struct-card-head img{width:44px;height:44px;object-fit:contain;border-radius:8px}
.struct-card-head strong{font-size:15px;overflow-wrap:anywhere}
.struct-card-dl{margin:0}
.struct-card-dl>div{display:flex;gap:12px;padding:6px 0;border-top:1px solid #eef1f6;font-size:12px}
.struct-card-dl dt{color:var(--muted);min-width:92px;margin:0}
.struct-card-dl dd{margin:0;overflow-wrap:anywhere}
.struct-card-note{color:var(--muted);font-size:12px;margin:12px 0 10px}
.struct-card-btn{width:100%;margin-top:6px}
/* Sélecteur de compte Perso / Pro (haut à droite) */
.account-switch{display:inline-flex;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--white)}
.account-pill{padding:8px 15px;font-size:12px;font-weight:750;color:var(--muted);white-space:nowrap;text-decoration:none}
.account-pill.active{background:var(--blue);color:#fff}
.account-pill:not(.active):hover{background:#eef1f6}
@media(max-width:560px){.account-pill{padding:7px 10px;font-size:11px}}
/* Fiche d'identité de Structure dans l'admin : affichage CARD (pas un formulaire) ; le formulaire n'apparaît qu'en mode édition */
.identity-view-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.identity-logo{width:72px;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:14px;background:#fff;flex:0 0 auto}
.identity-logo-empty{display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:28px;color:var(--blue);background:#e9edff}
.identity-view-head h2{margin:0;font-size:20px;overflow-wrap:anywhere}
.identity-dl{margin:0 0 18px}
.identity-dl>div{display:flex;gap:14px;padding:9px 0;border-top:1px solid #eef1f6;font-size:14px}
.identity-dl dt{color:var(--muted);min-width:150px;margin:0}
.identity-dl dd{margin:0;overflow-wrap:anywhere}
.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.form-actions-split{justify-content:space-between}
.struct-home-2col{margin-top:28px}
.struct-cols{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-auto-flow:column;column-gap:clamp(14px,3vw,32px);align-items:start;margin-top:6px}
.struct-cols .struct-col-h{margin:0 0 12px}
.struct-col-body{min-width:0}
.struct-col-body>.crumb-row:first-child{margin-top:0}
@media(max-width:760px){.struct-cols{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}}
/* Administration projet : les sections se répartissent sur 2 colonnes (multi-colonnes, sections gardées entières). */
.admin-2col{columns:2;column-gap:clamp(20px,4vw,44px)}
.admin-2col>section{break-inside:avoid;margin-bottom:18px}
.admin-2col>.auth-intro,.admin-2col>h2{break-after:avoid}
@media(max-width:820px){.admin-2col{columns:1}}
.struct-top-2col{margin-top:6px}
.tv-create-pop{margin:0}
.tv-create-pop>summary{list-style:none;cursor:pointer}
.tv-create-pop>summary::-webkit-details-marker{display:none}
.tv-create-pop[open]{flex-basis:100%}
.tv-create-form{margin-top:10px;max-width:340px}
.tv-row1{min-height:44px}
.tv-none{color:var(--muted);font-size:13px}
.tv-flash-ok{color:#127a4b;font-weight:600;font-size:12.5px}
.tv-flash-err{color:#b02a37;font-weight:600;font-size:12.5px}
.org-prev-line{padding:6px 0;border-top:1px solid #edf0f5;font-size:13px;font-weight:600;color:var(--ink);white-space:pre-wrap}
.org-prev-line:first-child{border-top:0}
.readonly-value{width:100%;min-height:48px;display:flex;align-items:center;border:1px solid #e6e9f0;border-radius:11px;padding:0 14px;background:#f2f4f8;color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.identity-locked{margin:2px 0 20px}
.identity-locked .button{margin-top:10px}
.member-id-card{display:flex;align-items:center;gap:22px;margin-bottom:18px;flex-wrap:wrap}
.member-id-photo{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0}
.member-id-info h2{margin:0 0 6px;font-size:22px;overflow-wrap:anywhere}
.member-id-info .muted{margin:0 0 2px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.avatar-uploader{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:16px}
.avatar-uploader-actions{display:flex;gap:12px;flex-wrap:wrap}
.avatar-uploader-status{color:var(--muted);font-size:13px;min-height:1em}
/* Page de gestion des membres (Structure) */
.member-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.member-search input[name=q]{flex:1;min-width:180px;height:44px;border:1px solid var(--line);border-radius:11px;padding:0 14px;background:#fbfcfe}
.member-row{flex-wrap:wrap;gap:12px}
.member-id{flex:1;min-width:160px;overflow-wrap:anywhere}
.member-edit{display:flex;gap:8px;align-items:center}
.member-edit input[name=position]{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 10px;min-width:140px;background:#fbfcfe}
.member-actions{display:flex;gap:8px;flex-wrap:wrap}
.member-pagination{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:18px}
.member-page-info{color:var(--muted);font-size:13px}
/* Organigramme de Structure */
.org-tree{display:flex;flex-direction:column;gap:6px}
.org-node{padding:4px 0}
.org-head{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;padding:9px 13px;background:#fbfcfe;border:1px solid var(--line);border-radius:11px}
.org-name{font-weight:650}
.org-acr{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.05em;background:var(--blue);color:#fff;border-radius:6px;padding:1px 7px;margin-right:4px}
.org-meta{color:var(--muted);font-size:13px}
.org-tools{margin:5px 0 2px}
.org-tools>summary{cursor:pointer;color:var(--blue);font-size:13px;font-weight:700;padding:2px 0;list-style:none}
.org-tools>summary::-webkit-details-marker{display:none}
.org-tools-body{display:flex;flex-direction:column;gap:8px;padding:11px;border:1px dashed var(--line);border-radius:10px;margin-top:6px;background:#fff}
.org-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.org-form input,.org-form select{height:38px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff}
.org-create{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.org-create .form-field{margin:0}
.member-edit select{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 8px;background:#fbfcfe;max-width:220px}
/* Fiche membre repliable (gestion des membres d'une structure) */
.member-card{border:1px solid var(--line);border-radius:12px;background:#fff;margin:0 0 12px;overflow:hidden}
.member-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:1px 14px;align-items:center;padding:12px 16px}
.member-card>summary::-webkit-details-marker{display:none}
.member-card .mc-avatar{grid-column:1;grid-row:1 / span 2;width:46px;height:46px;font-size:18px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:#eef1f6}
.member-card .mc-l1{grid-column:2;display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}
.member-card .mc-l2{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.member-card .mc-name{font-weight:700;font-size:15px;overflow-wrap:anywhere}
.member-card .mc-pos{flex:0 0 auto;font-weight:600;font-size:13px;color:var(--blue-dark);text-align:right}
.member-card .mc-unit{color:var(--muted);font-size:12.5px;font-weight:600;overflow-wrap:anywhere}
.member-card .mc-tri{flex:0 0 auto;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid var(--muted);transition:transform .15s ease}
.member-card[open] .mc-tri{transform:rotate(180deg)}
.member-card .mc-body{padding:12px 16px 16px;border-top:1px solid var(--line)}
.member-card .mc-meta{margin:0 0 12px;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}
.member-card .mc-fields{display:flex;flex-direction:column;gap:12px}
.member-card .mc-fields .member-edit{flex-wrap:wrap;gap:8px}
.member-card .mc-flabel{flex:0 0 100%;font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted);margin:0 0 -4px}
.member-card .mc-tv-title{font-size:13px;margin:16px 0 8px}
.member-card .mc-tv-list{display:flex;flex-wrap:wrap;gap:8px}
.member-card .mc-tv{margin:0}
.member-card .mc-tv-btn{cursor:pointer;border:1px solid var(--line);background:#fbfcfe;color:var(--ink);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600}
.member-card .mc-tv-btn.on{border-color:var(--blue);background:#e8fafc;color:var(--blue-dark)}
.member-card .mc-danger{margin-top:16px}
/* Ligne titre + lien aligné à droite (ex. Membres … / Gérer →) */
.subtitle-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}
.subtitle-row .trusted-subtitle{margin-bottom:0}
/* Header : boutons (Compte, Déconnexion…) alignés en hauteur sur le switch d'espace */
.header-actions .button{min-height:31px;height:31px;padding:0 14px;border-radius:9px;font-size:12px;box-shadow:none}
.header-actions .button-primary{box-shadow:none}
.header-actions .button-primary:hover{transform:none}
/* Logo de structure dans la carte spaces (remplace la lettre) */
.space-icon-logo{background:#fff;overflow:hidden;padding:4px}
.space-icon-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
/* ===== HEADER : 2 GROUPES INSÉCABLES ===== */
/* Groupe GAUCHE = [brand][nav] toujours sur la même ligne ; Groupe DROIT = [switch][compte] toujours sur la même ligne. */
/* Le header ne peut wrapper QU'ENTRE les deux groupes : quand l'espace du milieu tombe à 0, le groupe droit descend, aligné à droite. */
.site-header{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:flex-start;gap:4px 16px;height:auto;min-height:82px}
.site-header .brand-logo{width:56px!important;height:56px!important}
.site-header .header-left{flex:0 0 auto;display:flex;align-items:center;gap:22px;flex-wrap:nowrap}
.site-header .header-right{flex:0 0 auto;margin-left:auto;display:flex;align-items:center;gap:16px;flex-wrap:nowrap}
.site-header .brand{flex:0 0 auto}
.site-header .main-nav{margin:0;justify-content:flex-start;gap:26px;flex-wrap:nowrap}
.site-header .account-switch{flex:0 0 250px;justify-content:center;flex-wrap:nowrap}
.site-header .account-switch .account-pill{flex:1 1 0;text-align:center}
.site-header .header-actions{margin:0;justify-content:flex-end;flex-wrap:nowrap;gap:12px}
/* Le texte de chaque bloc reste sur une seule ligne (jamais de retour) */
.site-header .brand,.site-header .brand-mode,.site-header .main-nav a,.site-header .account-pill,.site-header .header-actions .button{white-space:nowrap!important}
/* Très étroit : le groupe droit prend toute la largeur sous le gauche (chaque paire reste soudée) */
@media(max-width:600px){.site-header .header-right{flex:1 1 100%;margin-left:0;justify-content:flex-start}}

/* Confirmation de suppression d’un événement (2 temps) */
.cal-delconfirm{color:#b3261e;font-weight:700;font-size:13px;align-self:center}

/* Ligne d’actions du formulaire d’événement en édition : Annuler à gauche, Enregistrer à droite */
.cal-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}
/* Bouton « Confirmer la suppression » : rouge atténué, texte blanc */
.button.cal-del-yes{background:#c15b5b;color:#fff;border:1px solid #c15b5b}
.button.cal-del-yes:hover{background:#a94a4a;border-color:#a94a4a}
/* Gérer les calendriers : ligne propre (nom à gauche, actions à droite, retour à la ligne si étroit) */
.cal-manage-row{align-items:center;gap:10px 14px;flex-wrap:wrap}
.cal-manage-row .cal-manage-name{flex:1 1 200px;min-width:0}
.cal-manage-row .trusted-actions{gap:8px;flex-wrap:wrap}
.cal-rename{display:flex;gap:8px;align-items:center}
.cal-rename input[name=name]{height:38px;border:1px solid var(--line);border-radius:9px;padding:0 10px;min-width:150px;background:#fbfcfe}
/* Mes calendriers */
.mycal-layer{flex-wrap:wrap;gap:10px 14px}
.mycal-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1 1 220px;min-width:0}
.mycal-colors{display:flex;gap:5px;flex-wrap:wrap}
.mycal-event .cal-dot{vertical-align:middle}

.dashboard-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* Barre de superposition (intégrateur) */
.cal-overlay-bar{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 18px}
.cal-ov-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--white);border-radius:20px;padding:6px 14px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;position:relative}
.cal-ov-chip::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ovc,#c4d9f7)}
.cal-ov-chip.active{color:var(--ink);border-color:var(--ovc,#c4d9f7);box-shadow:inset 0 0 0 1px var(--ovc,#c4d9f7)}
/* Barre d'activation : puces dont la couleur s'inverse quand actives (pleine = affiché). */
.cal-activate-title{margin-top:26px}
.cal-activate-bar{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 20px}
.cal-act-form{margin:0}
.cal-act-chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--ovc,#c4d9f7);background:var(--white);border-radius:20px;padding:6px 14px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer}
.cal-act-chip.active{background:var(--ovc,#c4d9f7);border-color:var(--ovc,#c4d9f7);color:var(--ink)}
.cal-act-chip.locked{cursor:default}
/* « À venir » en 2 colonnes égales : gauche = calendrier officiel local, droite = autres activés. */
.cal-up-2col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,3vw,32px);align-items:start}
.cal-up-col-title{font-size:15px;font-weight:800;margin:0 0 12px;color:var(--ink)}
@media(max-width:760px){.cal-up-2col{grid-template-columns:1fr;gap:10px}}
.cal-past-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.cal-past-head .cal-up-col-title{margin:0}
.cal-past-win{display:flex;gap:6px}
/* Événement repliable (liste À venir / Passés) — classe DISTINCTE de .cal-evt (pastille grille du mois) */
.cal-agenda{border-top:1px solid var(--line)}
.cal-agenda:first-of-type{border-top:0}
.cal-agenda>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 2px}
.cal-agenda>summary::-webkit-details-marker{display:none}
.cal-agenda>summary::before{content:'';flex:0 0 auto;width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--muted);transition:transform .15s}
.cal-agenda[open]>summary::before{transform:rotate(90deg)}
.cal-agenda-date{color:var(--muted);font-size:14px;white-space:nowrap}
.cal-agenda-title{font-weight:500;font-size:15px;color:var(--ink);word-break:break-word}
.cal-agenda-body{padding:0 0 14px 27px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.cal-agenda-meta,.cal-agenda-desc{color:var(--muted)}
.cal-agenda-body .trusted-actions{margin-top:2px}
.cal-agenda-live>summary .cal-agenda-title{color:#217a3c}
.cal-live-badge{background:#e9f9ef;color:#217a3c;font-style:normal;font-weight:750}
/* Calendrier : sections en 2 colonnes (titre + aide à gauche, contenu à droite) comme l'admin */
.calendar-page .cal-section-help{color:var(--muted);font-size:14px;line-height:1.6;margin:8px 0 0}
@media(min-width:900px){
.calendar-page .cal-section{display:grid;grid-template-columns:0.8fr 1.2fr;gap:5vw;align-items:start}
.calendar-page .cal-section>.cal-section-head{grid-column:1;grid-row:1}
.calendar-page .cal-section>*:not(.cal-section-head){grid-column:2}
}
/* Boutons généraux remontés en haut : proche du header (petit espace), sans trait avant le titre */
.personal-page .space-tools-top{margin:-38px 0 14px;padding-bottom:0;border-bottom:none}
@media(max-width:900px){.personal-page .space-tools-top{margin-top:-6px}}
/* Pages en grille 2 colonnes (admin = .auth-page) : la barre d'outils occupe toute la largeur, sinon la pastille Calendrier reste coincée dans la colonne gauche. */
.auth-page>.space-tools-top{grid-column:1/-1;margin:0 0 14px}
/* Centrer verticalement les pastilles de couleur avec le bouton Masquer/Afficher */
.cal-manage-row .trusted-actions{align-items:center}
.cal-manage-row .mycal-colors{align-items:center}

.cal-local-tag{color:var(--muted);font-size:12px;font-weight:700;align-self:center}

/* ===== Groupes = identité CORAIL (vs dossiers turquoise/neutre). Le plein reste réservé à l'élément « courant », mais dans la teinte du type. ===== */
.toolbar-pill.tp-group{border-color:#e9c7dc;color:#8a2c61;background:#fff}
.toolbar-pill.tp-group:hover{background:#fbf0f6;border-color:#c0468b}
.toolbar-pill.tp-group.active{background:#f9eaf2;border-color:#c0468b;color:#8a2c61}
.toolbar-pill .pill-ico{width:15px;height:15px;flex:0 0 auto}

/* ===== Menu hamburger (mobile ≤760px) : replie main-nav + header-right derrière un bouton ☰ ===== */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--white);cursor:pointer}
.nav-burger span{display:block;height:2px;width:20px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.site-header.nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header.nav-open .nav-burger span:nth-child(2){opacity:0}
.site-header.nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:760px){
.site-header .nav-burger{display:inline-flex;margin-left:auto;order:2}
.site-header .header-left{order:1}
.site-header .main-nav,.site-header .header-right{display:none;flex:1 1 100%;order:5;margin:0}
.site-header.nav-open{padding-bottom:12px}
.site-header.nav-open .main-nav{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:10px 2px 4px;border-top:1px solid rgba(208,213,221,.6);margin-top:6px}
.site-header.nav-open .header-right{display:flex;flex-direction:column;align-items:stretch;gap:12px;flex-wrap:nowrap;padding-top:2px}
.site-header.nav-open .header-right .account-switch{flex:0 0 auto;justify-content:center}
.site-header.nav-open .header-right .header-actions{flex-wrap:wrap;justify-content:flex-start;gap:10px;margin:0}
}

/* Aperçu de conversation sur l'accueil (colonne droite, à côté des événements). Accent neutre/bleu. */
.conv-preview{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column}
@media(min-width:761px){.space-split-col>.conv-preview{margin-top:-14px}} /* aligne le titre « Conversation » sur « Événements à venir » (compense le padding haut de la carte) */
.conv-preview-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}
.conv-preview-title{font-size:16px;font-weight:750;display:inline-flex;align-items:center;gap:7px}
.conv-preview-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px;border-bottom:1px solid #eef1f6;padding-bottom:8px}
.conv-tab{font-size:12px;padding:4px 10px;border-radius:8px;color:var(--muted);white-space:nowrap}
.conv-tab.active{background:#e8fafc;color:var(--blue-dark);font-weight:700}
.conv-preview-body{display:flex;flex-direction:column;gap:9px;flex:1}
.conv-preview-msg{font-size:13px;line-height:1.4}
.conv-preview-msg b{color:var(--blue-dark)}
.conv-preview-msg small{color:var(--muted)}
.conv-preview-empty{color:var(--muted);font-size:13px;margin:6px 0}
.conv-preview-open{margin-top:12px;text-align:center;padding:9px;border:1px solid var(--blue);border-radius:10px;color:var(--blue-dark);font-size:13px;font-weight:700;text-decoration:none}
.conv-count-list{display:flex;flex-direction:column;gap:2px;flex:1}
.conv-count-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:14px}
.conv-count-row:hover{background:#f2f5f9}
.conv-count-name{display:inline-flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conv-count-badge{flex:0 0 auto;min-width:24px;text-align:center;padding:2px 8px;border-radius:999px;background:#e8fafc;color:var(--blue-dark);font-weight:750;font-size:12px;font-variant-numeric:tabular-nums}
.conv-count-badge.zero{background:#eef1f5;color:var(--muted)}
.conv-count-badge.neutral{background:#eef1f5;color:var(--ink)}
/* WBS (organigramme des taches : lots > taches > activites) */
.wbs-tree{margin:24px 0 60px;display:flex;flex-direction:column;gap:16px}
.wbs-wp{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px}
.wbs-wp-title{font-size:18px;font-weight:750;margin:0}
.wbs-wp-title a,.wbs-task-head a,.wbs-acts a{color:var(--ink);text-decoration:none}
.wbs-wp-title a:hover,.wbs-task-head a:hover,.wbs-acts a:hover{color:var(--blue-dark)}
.wbs-code{font-weight:800;color:var(--blue-dark);font-variant-numeric:tabular-nums;margin-inline-end:5px}
.wbs-task{margin:10px 0 0;padding:8px 0 4px 14px;border-inline-start:2px solid #eef1f6}
.wbs-task-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}
.wbs-acts{list-style:none;margin:6px 0 2px;padding:0 0 0 24px}
.wbs-acts li{padding:3px 0;font-size:13px}
.wbs-empty{color:var(--muted);font-size:13px;margin:8px 0 0}
.conv-preview-open:hover{background:#e8fafc}

/* --- Rubriques locales vides : titre estompé seul (option choisie) --- */
.items-section.is-empty{margin-top:30px}
.items-section.is-empty>.zone-title{opacity:.4;font-weight:600;margin:0}
.zt-empty-tag{font-size:.6em;font-weight:500;color:var(--muted);letter-spacing:.02em;white-space:nowrap}
/* --- Actualité supprimée : tombstone --- */
.news-item.news-deleted{opacity:.7}
.news-item.news-deleted .news-meta{font-style:italic}
.news-list .news-edit{margin:4px 0 10px}
.news-list .news-edit>summary{cursor:pointer;font-size:13px;color:var(--blue-dark)}
/* --- Confirmation de suppression d'une actu (dépliant HTML, sans JS) --- */
.news-del{display:inline-block}
.news-del>summary{list-style:none;cursor:pointer}
.news-del>summary::-webkit-details-marker{display:none}
.news-del>summary::marker{content:""}
.news-del-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;padding:8px 12px;background:#fdecec;border:1px solid #f3c6c6;border-radius:10px;font-size:12px;color:#8a2b2b}
.news-del-confirm form{margin:0}
/* Messages externes (messagerie directe) */
.direct-new{display:flex;gap:8px;margin:0 0 14px}
.direct-new input{flex:1;min-width:0;height:40px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff;color:var(--ink)}
.direct-group{margin:16px 0 0}
.direct-group-label{font-size:12px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px}
.direct-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.direct-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none;color:var(--ink)}
.direct-item:hover{border-color:var(--blue)}
.direct-item-who{font-weight:650}
.direct-item-date{font-size:12px;color:var(--muted)}
.direct-item-muted{opacity:.7;background:transparent}
.direct-req{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid #f0d090;background:#fff9ec;border-radius:10px;margin:0 0 8px}
.direct-req-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.button-slim{min-height:34px;padding:0 14px;font-size:13px}
.direct-empty{margin:0}
.direct-thread{max-width:760px}
.direct-thread-block{margin-top:16px}
.direct-thread-block>summary{cursor:pointer;list-style:none}
/* Salons unifiés */
.salon-new-wrap{margin:0 0 14px}
.salon-new-toggle{display:inline-flex;cursor:pointer;list-style:none}
.salon-new{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.salon-new input{height:40px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff;color:var(--ink)}.salon-new select{width:100%;height:40px;border:1px solid var(--line);border-radius:10px;padding:0 34px 0 12px;background:#fff;color:var(--ink);font-size:14px;cursor:pointer}.salon-invite select{flex:1;min-width:0;height:38px;border:1px solid var(--line);border-radius:10px;padding:0 34px 0 12px;background:#fff;color:var(--ink);font-size:14px;cursor:pointer}
.salon-members-panel{margin-top:16px}
.salon-members-panel>summary{cursor:pointer}
.salon-members-list{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:4px}
.salon-invite{display:flex;gap:8px;margin-top:8px}
.salon-invite input{flex:1;min-width:0;height:38px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff;color:var(--ink)}
/* Page Discussions : liste de salons en boutons (taille du texte), fil + membres à gauche */
.salon-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.salon-pill{text-decoration:none}
.salon-pill.is-active{border-color:var(--blue);color:var(--blue-dark);background:#e8fafc}
/* Groupes : couleur-convention magenta (comme la pastille d'outils tp-group). Les salons privés restent bleus. */
.salon-pill-group{border-color:#e9c7dc;color:#8a2c61}
.salon-pill-group:hover{background:#fbf0f6;border-color:#c0468b}
.salon-pill-group.is-active{background:#f9eaf2;border-color:#c0468b;color:#8a2c61}
.salon-people-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 4px}
.salon-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;color:var(--ink)}
.salon-chip small{color:var(--muted)}
.salon-chip form{display:inline;margin:0}
.chip-x{border:none;background:none;color:var(--muted);cursor:pointer;font-size:12px;line-height:1;padding:0}
.chip-x:hover{color:#c0392b}
.salon-add{display:inline-block}
.salon-add>summary{cursor:pointer;list-style:none}
.salon-add>.salon-invite{margin-top:8px}
.salon-leave{display:inline;margin-left:auto}
.forum-sys{text-align:center;color:var(--muted);font-size:12.5px;margin:8px 0}
/* Switch « e-mail à chaque message » (par salon, off par défaut) */
.salon-notify-form{margin:10px 0 2px}
.salon-switch{display:inline-flex;align-items:center;gap:10px;border:none;background:none;cursor:pointer;padding:4px 0;color:var(--muted);font-size:13px}
.salon-switch-track{position:relative;width:38px;height:22px;border-radius:999px;background:var(--line);transition:background .15s;flex:none}
.salon-switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.salon-switch.is-on .salon-switch-track{background:var(--blue)}
.salon-switch.is-on .salon-switch-knob{left:18px}
.salon-switch.is-on .salon-switch-label{color:var(--ink)}
/* Affiliations d'un réseau */
.affil-line{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.affil-line:last-child{border-bottom:0}
.affil-logo{width:40px;height:40px;border-radius:9px;object-fit:cover;flex:none;background:#f2f5f9}
.affil-logo-empty{display:inline-grid;place-items:center;font-size:20px}
.affil-main{flex:1;min-width:0}
.affil-group{margin:10px 0;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:#fff}
.affil-group>summary{cursor:pointer;list-style:none;font-weight:750}
.affil-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:10px}
.affil-preview{width:40px;height:40px;border-radius:8px;object-fit:cover;flex:none}
.affil-item{border-bottom:1px solid var(--line)}
.affil-item:last-child{border-bottom:0}
.affil-item>summary{list-style:none;cursor:pointer}
.affil-item>summary::-webkit-details-marker{display:none}
.affil-item>summary.affil-line{border-bottom:0}
.affil-item>summary:hover .affil-edit-hint{text-decoration:underline}
.affil-edit-hint{margin-left:auto;color:var(--blue-dark);font-weight:650;font-size:13px;white-space:nowrap}
.affil-edit-body{padding:4px 2px 20px}
.affil-edit-body .affil-delete{margin-top:12px}
/* Salons v2 : onglets de canaux + chat embarqué */
.salon-tabs{margin:0 0 10px}
.salon-chat-box{max-height:360px;overflow-y:auto;margin:0 0 10px;display:flex;flex-direction:column;gap:8px}
.salon-chat-form{margin-top:0}
.search-notes-split{align-items:start}
/* Sondages : bascule texte/date, options dynamiques, demi-page */
.is-hidden{display:none !important}
.poll-kind-toggle{display:flex;gap:16px;margin:0 0 8px;font-size:13px}
.poll-kind-toggle label{display:flex;align-items:center;gap:6px;cursor:pointer}
.poll-opts{display:flex;flex-direction:column;gap:6px}
.poll-opts input{height:38px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff;color:var(--ink)}
.poll-add-opt{align-self:flex-start;margin-top:2px}
.collab-polls-split{align-items:start}
/* Sondage date : proposition début → fin sur une ligne + case Journée */
.poll-date-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.poll-day-check{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}
.poll-date-row input{flex:1;min-width:150px}
.poll-date-arrow{color:var(--muted)}
/* Kanban : couleurs de carte (palette REDA) + pastilles de choix */
.collab-note.c-teal{background:#d6f0f2;border-color:#b6e2e6}
.collab-note.c-blue{background:#dde6fb;border-color:#c3d3f5}
.collab-note.c-green{background:#ddf3e2;border-color:#bfe6cb}
.collab-note.c-yellow{background:#fdf3cf;border-color:#efe3a8}
.collab-note.c-orange{background:#fde6d3;border-color:#f3cfae}
.collab-note.c-pink{background:#fbe0ea;border-color:#f3c2d5}
.collab-note.c-purple{background:#ece0fb;border-color:#d6c2f2}
.collab-color-swatches{display:flex;flex-wrap:wrap;gap:6px;max-width:172px}
.collab-swatch{width:24px;height:24px;border-radius:6px;border:1px solid rgba(0,0,0,.18);cursor:pointer;font-size:12px;line-height:1;color:#2b3a4a;display:flex;align-items:center;justify-content:center;padding:0}
.collab-swatch.c-none{background:#fffbe6}
.collab-swatch.c-teal{background:#d6f0f2}
.collab-swatch.c-blue{background:#dde6fb}
.collab-swatch.c-green{background:#ddf3e2}
.collab-swatch.c-yellow{background:#fdf3cf}
.collab-swatch.c-orange{background:#fde6d3}
.collab-swatch.c-pink{background:#fbe0ea}
.collab-swatch.c-purple{background:#ece0fb}
.collab-swatch.is-current{border-color:var(--blue);border-width:2px}
/* WBS : niveau sous-tâche (entre tâche et activités) */
.wbs-subtask{margin:8px 0 6px 20px;padding-left:10px;border-left:2px solid #e3e8f0}
.wbs-subtask-head{font-size:14px;font-weight:600}
.wbs-subtask .wbs-acts{margin-left:6px}
/* Calendrier : pastille de repère projet cliquable */
.cal-evt-link{cursor:pointer}
.cal-evt-link:hover{filter:brightness(.95);text-decoration:underline}
