:root{--bg:#f6f7fb;--card:#fff;--text:#172033;--muted:#667085;--line:#e7eaf0;--brand:#315efb;--brand2:#1d3fd1;--ok:#16794d;--danger:#b42318;--radius:18px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:16px max(24px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font-size:1.55rem;font-weight:900;letter-spacing:-.04em}.top nav{display:flex;gap:18px;flex:1}.top nav a{color:var(--muted);font-weight:650}.top-actions{display:flex;gap:10px;align-items:center}.btn,.ghost,.linkbtn,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:12px 18px;font-weight:750;cursor:pointer}.btn,button{background:var(--brand);color:#fff}.btn:hover,button:hover{background:var(--brand2)}.btn.small{padding:9px 14px}.ghost,.linkbtn{border:1px solid var(--line);background:#fff}.hero,.pagehero,.section{max-width:1180px;margin:auto;padding:72px 24px}.hero{display:grid;grid-template-columns:1.18fr .82fr;gap:52px;align-items:center;min-height:620px}.hero h1,.pagehero h1{font-size:clamp(2.5rem,5.3vw,5rem);line-height:.98;letter-spacing:-.055em;margin:14px 0 24px;max-width:900px}.hero p,.pagehero p{font-size:1.18rem;line-height:1.7;color:var(--muted);max-width:760px}.eyebrow{font-size:.78rem;font-weight:900;letter-spacing:.13em;color:var(--brand)}.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-card,.card,.authcard,.callout{background:var(--card);border:1px solid var(--line);box-shadow:0 18px 70px rgba(30,45,90,.08);border-radius:var(--radius);padding:26px}.space{font-weight:850}.taskline{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.taskline b{font-size:.78rem;color:#b54708}.taskline span,.muted{color:var(--muted)}.taskline.done{opacity:.65}.section{padding-top:56px;padding-bottom:56px}.section h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.045em;margin:0 0 28px}.section.alt{max-width:none;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2));background:#eef2ff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article,.cardlink{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:.2s}.cardlink:hover{transform:translateY(-3px);box-shadow:0 15px 50px rgba(20,35,80,.08)}.cards p{color:var(--muted);line-height:1.65}.bigicon{font-size:2rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:52px}.steps{list-style:none;margin:0;padding:0}.steps li{background:#fff;margin:10px 0;border-radius:14px;padding:16px 18px}.steps b{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;align-items:center;justify-content:center;margin-right:10px}.callout{text-align:center}.pagehero{padding-bottom:34px}.authwrap{min-height:70vh;display:grid;place-items:center;padding:50px 20px}.authcard{width:min(560px,100%)}label{display:block;font-weight:650;margin:14px 0}input,textarea,select{width:100%;margin-top:7px;border:1px solid #cfd5e2;background:#fff;border-radius:10px;padding:12px 13px;font:inherit}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{font-weight:500;color:var(--muted)}.check input{width:auto;margin-right:7px}.success{color:var(--ok);background:#ecfdf3;padding:12px;border-radius:10px}.error{color:var(--danger)}.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:10px 0}.faq summary{font-weight:800;cursor:pointer}.appShell{max-width:1280px;margin:28px auto;display:grid;grid-template-columns:230px 1fr;gap:18px;padding:0 20px}.appShell aside,.appView{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}.appShell aside button{width:100%;margin:6px 0;text-align:left;justify-content:flex-start}.appView .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.appTask{border:1px solid var(--line);border-radius:14px;padding:16px}.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef2ff;color:#3447a8;font-size:.75rem;font-weight:800}footer{max-width:1180px;margin:60px auto 0;padding:34px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted)}@media(max-width:850px){.top nav{display:none}.hero,.split{grid-template-columns:1fr}.hero{min-height:auto;padding-top:45px}.cards{grid-template-columns:1fr}.top{padding:13px 18px}.top-actions .linkbtn{display:none}.row{grid-template-columns:1fr}.appShell{grid-template-columns:1fr}.appShell aside{display:flex;flex-wrap:wrap;gap:6px}.appShell aside h2,.appShell aside select{width:100%}.appShell aside button{width:auto}.appView .grid{grid-template-columns:1fr}footer{display:block}}

.errorPage{min-height:72vh;display:grid;place-items:center;padding:64px 20px;background:radial-gradient(circle at 50% 0,#eef2ff 0,transparent 48%)}.errorPanel{width:min(760px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:42px;box-shadow:0 24px 90px rgba(30,45,90,.12);text-align:center}.errorPanel h1{font-size:clamp(2rem,5vw,3.7rem);letter-spacing:-.05em;margin:14px 0}.errorPanel>p{color:var(--muted);font-size:1.08rem;line-height:1.7}.errorMark{width:88px;height:88px;border-radius:24px;margin:0 auto 18px;display:grid;place-items:center;background:#eef2ff;color:var(--brand);font-weight:950;font-size:1.8rem}.errorReference{margin:28px auto 0;padding:18px;border:1px dashed #b8c2ff;background:#f8f9ff;border-radius:16px;display:grid;gap:8px;max-width:560px}.errorReference span{font-size:.8rem;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.06em}.errorReference strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.12rem}.errorReference button{justify-self:center;padding:8px 12px}.errorHint{font-size:.86rem!important}.monitorToolbar{display:grid;grid-template-columns:minmax(240px,1fr) 220px auto;gap:10px;align-items:end;margin:20px 0}.monitorToolbar input,.monitorToolbar select{margin:0}.monitorSummary{padding:12px 16px;background:#eef2ff;border-radius:12px;margin:12px 0}.monitorTable{display:grid;gap:10px}.monitorRow{display:flex;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.monitorRow h3{margin:9px 0 5px;font-size:1rem}.monitorRow p{margin:0 0 8px;color:var(--muted);max-width:820px}.monitorRow small{color:var(--muted)}.monitorMeta{min-width:110px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.monitorMeta span{font-size:.8rem}.emptyState{padding:30px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.log-error,.log-critical{background:#fff1f0;color:#b42318}.log-warning{background:#fffaeb;color:#b54708}.log-info,.log-notice{background:#ecfdf3;color:#067647}@media(max-width:700px){.errorPanel{padding:28px 18px}.monitorToolbar{grid-template-columns:1fr}.monitorRow{display:block}.monitorMeta{align-items:flex-start;margin-top:12px}}

/* v1.3.9 — configuration des tâches compacte et pilotée par permissions */
.taskComposer{padding:18px;margin-bottom:14px}.taskComposer h2,.compactCard h2{margin:0 0 4px}.compactHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.configBlock{border:1px solid var(--line);border-radius:12px;margin:10px 0;background:#fafbff}.configBlock summary{cursor:pointer;font-weight:800;padding:12px 14px}.configBody{padding:0 14px 14px}.compactChecks{display:flex;flex-wrap:wrap;gap:8px 16px;margin:6px 0}.compactChecks .check{margin:4px 0}.permissionHint{background:#f7f8fb;border:1px dashed var(--line);border-radius:10px;padding:9px 12px;color:var(--muted);font-size:.9rem}.compactNote{font-size:.84rem;margin:8px 0 0}.taskActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.taskActions button{padding:8px 12px}.taskGrid{margin-top:12px}.taskTitleLine{display:flex;justify-content:space-between;gap:8px;align-items:center}.miniMeta{font-size:.75rem;color:var(--muted)}.categoryForm{display:grid;grid-template-columns:minmax(220px,1fr) 72px minmax(130px,.45fr) auto;gap:8px;align-items:end}.categoryForm input{margin-top:0}.categoryList{display:grid;gap:7px;margin-top:10px}.categoryRow{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px}.categoryDot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.categorySpacer{flex:1}.smallBtn{padding:7px 10px}.dangerBtn{color:var(--danger)}.permissionCard{padding:18px}.permissionCard h2{margin-top:0}@media(max-width:760px){.categoryForm{grid-template-columns:1fr 68px}.categoryForm input[name="icon"],.categoryForm button{grid-column:1/-1}.compactHeader{display:block}}
.roleList{display:grid;gap:12px;margin-top:12px}.roleCard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.roleCard h3{margin:0}.permissionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.permissionCheck{display:flex;align-items:flex-start;gap:8px;margin:0;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:500}.permissionCheck input{width:auto;margin:3px 0 0}.permissionCheck span{display:grid;gap:2px}.permissionCheck small{color:var(--muted);font-size:.72rem}.roleCard>button{margin-top:10px}@media(max-width:760px){.permissionGrid{grid-template-columns:1fr}}
.memberInvite{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.45fr) 110px auto;gap:8px;align-items:end}.memberInvite input,.memberInvite select{margin-top:0}.memberRoleEditor{display:grid;gap:7px;margin-top:10px}.memberRoleEditor select{margin:0}@media(max-width:760px){.memberInvite{grid-template-columns:1fr}.memberInvite>*{grid-column:1/-1}}

/* v1.4.1 — Administration compacte + navigation complète */
.siteBrand{display:inline-flex;align-items:center;gap:10px;font-size:1.45rem;font-weight:900;letter-spacing:-.04em}
.siteBrand img{width:38px;height:38px;border-radius:10px;object-fit:cover;box-shadow:0 5px 18px rgba(49,94,251,.22)}
.adminBody{background:#f4f6fa;min-height:100vh;overflow-x:hidden}
.adminShell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.adminSidebar{position:sticky;top:0;height:100vh;background:#111827;color:#e5e7eb;border-right:1px solid #202938;display:flex;flex-direction:column;overflow-y:auto;z-index:40}
.adminBrand{display:flex;align-items:center;gap:11px;padding:16px 15px;border-bottom:1px solid #253047}
.adminBrand img{width:42px;height:42px;border-radius:12px;object-fit:cover;box-shadow:0 6px 22px rgba(0,0,0,.25)}
.adminBrand div{display:grid;line-height:1.05}.adminBrand strong{font-size:1.12rem;color:#fff}.adminBrand span{font-size:.72rem;color:#8fa1bc;margin-top:5px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.adminNav{padding:8px 9px 12px;flex:1}.adminNavGroup{padding:13px 10px 5px;color:#73839c;font-size:.67rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.adminNavToggle{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;font-family:inherit}.adminNavToggle:hover{color:#a7b5ca}.adminNavChevron{font-size:.9rem;line-height:1;transition:transform .18s ease}.adminNavToggle.collapsed .adminNavChevron{transform:rotate(-90deg)}.adminNavItems[hidden]{display:none!important}
.adminNavLink{width:100%;display:flex;align-items:center;gap:10px;border-radius:10px;padding:9px 10px;margin:2px 0;color:#cbd5e1;font-weight:700;font-size:.9rem;border:0;background:transparent;text-align:left;cursor:pointer}
.adminNavLink:hover{background:#1b2639;color:#fff}.adminNavLink.active{background:#315efb;color:#fff;box-shadow:0 5px 18px rgba(49,94,251,.28)}
.adminNavIcon{width:28px;height:28px;flex:0 0 28px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:1rem}.adminNavLink.active .adminNavIcon{background:rgba(255,255,255,.18)}
.adminSidebarBottom{padding:9px;border-top:1px solid #253047}.adminLogout{font-family:inherit}.adminMain{min-width:0}.adminTopbar{height:62px;position:sticky;top:0;z-index:25;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #e5e8ef;display:flex;justify-content:space-between;align-items:center;padding:0 20px}.adminTopTitle{font-weight:850}.adminAccount{display:grid;text-align:right;font-size:.77rem;color:#667085}.adminAccount b{color:#172033;font-size:.83rem}.adminMobileMenu{display:none;padding:6px 9px;margin-right:8px}.adminContent{padding:18px 20px 36px;max-width:1600px;width:100%;margin:0 auto}
.adminPageHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.adminPageHead h1{font-size:1.55rem;letter-spacing:-.035em;margin:0 0 3px}.adminPageHead p{margin:0;color:#667085;font-size:.9rem}.compactBtn,.tableBtn{background:#fff;color:#172033;border:1px solid #dfe4ec;border-radius:9px;padding:8px 11px;font-size:.8rem;font-weight:800;box-shadow:none}.compactBtn:hover,.tableBtn:hover{background:#f5f7fb}.dangerLite{color:#b42318;border-color:#f4c7c3}
.adminStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 14px}.adminStat{background:#fff;border:1px solid #e1e5ec;border-radius:13px;padding:12px;display:flex;align-items:center;gap:11px;min-height:76px;transition:.15s}.adminStat:hover{border-color:#aebcff;box-shadow:0 8px 24px rgba(31,49,92,.07);transform:translateY(-1px)}.adminStatIcon{width:38px;height:38px;border-radius:11px;background:#eef2ff;display:grid;place-items:center;font-size:1.2rem}.adminStat div{display:grid}.adminStat small{color:#667085;font-weight:700}.adminStat strong{font-size:1.3rem;margin-top:2px}
.adminTwoCols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.adminPanel{background:#fff;border:1px solid #e1e5ec;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 7px 28px rgba(35,47,76,.035)}.adminPanelHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.adminPanelHead h2{margin:0;font-size:1rem}.adminPanel h3{font-size:.9rem;margin:6px 0 10px}.adminQuickLinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.adminQuickLinks a{border:1px solid #e6e9ef;border-radius:11px;padding:10px;display:flex;align-items:center;gap:10px;min-height:66px}.adminQuickLinks a:hover{background:#f8f9fd;border-color:#bdc7fd}.adminQuickLinks a>span{width:34px;height:34px;border-radius:9px;background:#eef2ff;display:grid;place-items:center}.adminQuickLinks div{display:grid}.adminQuickLinks b{font-size:.88rem}.adminQuickLinks small{color:#667085;font-size:.72rem;margin-top:2px}
.adminMiniStats{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}.adminMiniStats span{display:inline-flex;gap:5px;align-items:center;background:#eef2ff;border:1px solid #dde4ff;border-radius:999px;padding:6px 10px;font-size:.76rem;color:#405073}.adminMiniStats b{color:#172033}.adminToolbar{display:grid;grid-template-columns:minmax(220px,1fr) 210px;gap:8px;margin-bottom:10px}.adminToolbar input,.adminToolbar select{margin:0;padding:9px 11px;font-size:.86rem}
.adminTableWrap{overflow:auto;max-width:100%}.adminTable{border-collapse:collapse;width:100%;font-size:.82rem}.adminTable th{position:sticky;top:0;background:#f8f9fb;color:#556176;text-align:left;padding:9px 10px;border-bottom:1px solid #e3e7ee;white-space:nowrap;font-size:.72rem;text-transform:uppercase;letter-spacing:.035em}.adminTable td{padding:9px 10px;border-bottom:1px solid #edf0f4;vertical-align:middle}.adminTable tr:hover td{background:#fafbfe}.adminTable td b{display:block}.adminTable td small{display:block;color:#7a8699;margin-top:2px;max-width:460px;white-space:normal}.adminLoading{padding:22px;text-align:center;color:#667085}.statusPill{display:inline-flex;border-radius:999px;padding:4px 7px;background:#eef2ff;font-size:.7rem;font-weight:800}.statusPill.active{background:#ecfdf3;color:#087443}.statusPill.blocked,.statusPill.deleted{background:#fff1f0;color:#b42318}.colorDot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.adminSecurityGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.securityTile{background:#fff;border:1px solid #e3e7ed;border-radius:12px;padding:12px}.securityTile span{font-size:.74rem;color:#667085}.securityTile strong{display:block;font-size:1.35rem;margin-top:4px}
.accountCompact{max-width:1080px;margin:26px auto;padding:0 18px}.accountCompactHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.accountCompactHead h1{font-size:1.65rem;margin:0}.accountCompactHead p{margin:3px 0 0;color:#667085}.accountSecurityGrid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px}.accountSideNav,.accountCompactCard{background:#fff;border:1px solid #e1e5ec;border-radius:14px;padding:14px}.accountSideNav a{display:flex;align-items:center;gap:9px;padding:9px;border-radius:9px;font-weight:700;font-size:.88rem}.accountSideNav a.active{background:#eef2ff;color:#294aca}.accountCompactCard h2{font-size:1.05rem;margin:0 0 10px}.securityStatus{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e5e8ef;border-radius:10px;background:#fafbfe}.sessionRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border-top:1px solid #edf0f4;padding:10px 0}.sessionRow:first-child{border-top:0}.sessionRow p{margin:2px 0;color:#667085;font-size:.8rem}
@media(max-width:1100px){.adminStats{grid-template-columns:repeat(2,minmax(0,1fr))}.adminSecurityGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.adminShell{display:block}.adminSidebar{position:fixed;left:-260px;width:248px;transition:left .2s}.adminSidebar.open{left:0;box-shadow:18px 0 60px rgba(15,23,42,.25)}.adminMobileMenu{display:inline-flex}.adminContent{padding:14px}.adminTwoCols,.accountSecurityGrid{grid-template-columns:1fr}.adminQuickLinks{grid-template-columns:1fr 1fr}.adminTopbar{padding:0 12px}.accountSideNav{display:flex;gap:5px;overflow:auto}.accountSideNav a{white-space:nowrap}}
@media(max-width:560px){.adminStats,.adminSecurityGrid{grid-template-columns:1fr 1fr}.adminQuickLinks{grid-template-columns:1fr}.adminToolbar{grid-template-columns:1fr}.adminAccount{display:none}.adminPageHead{align-items:flex-start}.accountCompactHead{align-items:flex-start}.sessionRow{grid-template-columns:1fr}}

/* v1.4.2 — menu contextuel selon espace + permissions */
.workspaceSidebar{display:flex;flex-direction:column;gap:8px}
.workspaceSidebarHead{display:flex;align-items:center;gap:10px;padding:2px 2px 10px;border-bottom:1px solid var(--line)}
.workspaceSidebarHead h2{margin:0;font-size:1.05rem}.workspaceSidebarHead small{color:var(--muted);font-size:.72rem;font-weight:700}
.workspaceMiniLogo{width:38px;height:38px;border-radius:10px;object-fit:cover}
.workspacePickerLabel{font-size:.75rem;color:var(--muted);font-weight:800;margin:2px 0 5px}.workspacePickerLabel select{margin-top:5px}
.workspaceNavGroup{display:grid;gap:3px;padding-top:8px;border-top:1px solid var(--line)}
.workspaceNavGroup>span{padding:2px 8px 4px;color:var(--muted);font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.workspaceNavGroup button,.workspaceNavGroup .sideLink{width:100%;display:flex;align-items:center;gap:8px;justify-content:flex-start;margin:0;padding:9px 10px;border-radius:10px;font-size:.86rem;font-weight:650}
.workspaceNavGroup .sideLink{border:1px solid transparent}.workspaceNavGroup .sideLink:hover{background:#f4f6fb}
.workspaceNavGroup button[hidden],.workspaceNavGroup a[hidden],.workspaceNavGroup[hidden]{display:none!important}
.adminEntry{background:#eef2ff;border-color:#dce4ff!important;color:#294aca;font-weight:800!important}
.workspaceLogout{margin-top:auto!important;background:#fff!important;color:#667085!important;border:1px solid var(--line)!important}

/* v1.4.4 — détail avancé erreurs/logs */
.adminHeadActions{display:flex;gap:8px;flex-wrap:wrap}.adminToolbar3{grid-template-columns:minmax(260px,1fr) 210px 210px}.adminClickableTable tbody tr{cursor:pointer}.adminClickableTable tbody tr:hover td{background:#f4f7ff}.modalOpen{overflow:hidden}.adminModal[hidden]{display:none!important}.adminModal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}.adminModalBackdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(3px)}.adminModalPanel{position:relative;z-index:1;width:min(880px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto;background:#fff;border-radius:18px;border:1px solid #dce2ea;box-shadow:0 26px 90px rgba(15,23,42,.28)}.adminModalWide{width:min(1180px,calc(100vw - 30px))}.adminModalNested{width:min(1050px,calc(100vw - 56px));max-height:calc(100vh - 56px)}.adminModalHead{position:sticky;top:0;z-index:3;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #e7eaf0}.adminModalHead small{color:#667085;font-weight:700}.adminModalHead h2{margin:2px 0 0;font-size:1.18rem}.iconClose{width:34px;height:34px;padding:0;border-radius:9px;background:#f3f5f8;color:#172033}.adminModalActions{position:sticky;top:63px;z-index:2;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 16px;background:#fbfcfe;border-bottom:1px solid #e7eaf0}.adminModalActions select{width:auto;min-width:155px;margin:0;padding:8px 10px}.adminModalBody{padding:16px}.errorHero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:#f8faff;border:1px solid #dfe6ff;border-radius:14px;padding:14px;margin-bottom:12px}.errorHero h3{margin:8px 0 4px;font-size:1rem}.errorHero p{margin:0;color:#667085}.errorCount{min-width:100px;text-align:center;background:#fff;border:1px solid #e2e7f0;border-radius:12px;padding:10px}.errorCount strong{display:block;font-size:1.55rem}.errorCount span{font-size:.72rem;color:#667085}.techGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.techKv{border:1px solid #e5e9ef;border-radius:10px;padding:9px 10px;background:#fff;min-width:0}.techKv.wide{grid-column:span 2}.techKv span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#7a8699;font-weight:800;margin-bottom:3px}.techKv b{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;overflow-wrap:anywhere}.techBlock{border:1px solid #e2e7ee;border-radius:12px;margin:10px 0;background:#fbfcfe}.techBlock summary{padding:10px 12px;cursor:pointer;font-weight:800}.techBlock pre{margin:0;border-top:1px solid #e7ebf0;padding:12px;background:#0f172a;color:#dbeafe;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem;line-height:1.5;max-height:420px;overflow:auto}.techTools{display:flex;justify-content:flex-end;padding:7px 10px;border-top:1px solid #e7ebf0;background:#fff}.detailSection{margin-top:16px}.detailSection h3{font-size:.92rem;margin:0 0 8px}@media(max-width:850px){.adminToolbar3{grid-template-columns:1fr}.techGrid{grid-template-columns:1fr 1fr}.techKv.wide{grid-column:1/-1}.adminModal{padding:6px}.adminModalPanel,.adminModalWide,.adminModalNested{width:calc(100vw - 12px);max-height:calc(100vh - 12px)}.adminModalActions{top:63px}.errorHero{display:block}.errorCount{margin-top:10px;text-align:left}}@media(max-width:560px){.techGrid{grid-template-columns:1fr}.techKv.wide{grid-column:auto}}

/* v1.4.5 — attribution conditionnelle + planification simple */
[hidden]{display:none!important}
.scheduleGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;margin-top:10px}.scheduleBox{border:1px solid var(--line);border-radius:12px;background:#fafbfe;padding:12px}.scheduleBox>label:first-child{margin-top:0}.scheduleFields{margin-top:8px;padding-top:8px;border-top:1px solid #e7eaf0}.inlineUnit{display:grid;grid-template-columns:auto 90px auto;gap:8px;align-items:center}.inlineUnit input{margin:0}.fieldHelp{display:block;color:var(--muted);font-size:.72rem;margin-top:4px}.fieldTitle{font-weight:800;margin-bottom:9px}.weekdayChecks,.reminderPresets{display:flex;gap:7px;flex-wrap:wrap}.weekdayChecks label,.reminderPresets label{margin:0;padding:7px 9px;border:1px solid #dfe4ec;border-radius:9px;background:#fff;font-size:.8rem;font-weight:650}.weekdayChecks input,.reminderPresets input{width:auto;margin:0 5px 0 0}.customReminder{display:grid;grid-template-columns:auto 90px 130px auto;gap:7px;align-items:center;margin-top:10px}.customReminder input,.customReminder select{margin:0}.configBody label[hidden]{display:none!important}.configBody select[multiple]{min-height:110px;max-height:180px}
@media(max-width:760px){.scheduleGrid{grid-template-columns:1fr}.customReminder{grid-template-columns:auto 1fr 1fr}.customReminder span:last-child{display:none}.inlineUnit{grid-template-columns:auto 80px auto}}

/* v1.4.6 — Mon Taklio harmonisé avec l'administration */
.workspaceAdminShell{grid-template-columns:248px minmax(0,1fr)}
.workspaceAdminSidebar{background:#111827;color:#e5e7eb;border-right:1px solid #202938}
.workspacePickerDark{padding:11px 13px 7px;border-bottom:1px solid #253047}
.workspacePickerDark label{display:block;margin:0;color:#8fa1bc;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.workspacePickerDark select{margin:7px 0 0;background:#1b2639;color:#fff;border:1px solid #334155;border-radius:9px;padding:9px 10px;font-size:.82rem}
.workspacePickerDark option{background:#fff;color:#172033}
.workspaceIsolationHint{display:block;margin-top:7px;color:#9fb0c8;font-size:.67rem;line-height:1.35}
.workspaceIsolationNotice{display:flex;gap:12px;align-items:flex-start;background:#f8fafc;border:1px solid #dbe4f0;border-left:4px solid #64748b;border-radius:12px;padding:11px 13px;margin-bottom:12px;color:#334155}.workspaceIsolationNotice b{white-space:nowrap}.workspaceIsolationNotice span{font-size:.78rem;line-height:1.45}.workspaceIsolationNotice.compact{padding:9px 11px}
.workspaceTypeSections{display:grid;gap:14px}.workspaceTypeSection{background:#fff;border:1px solid #e1e5ec;border-radius:14px;padding:13px}.workspaceTypeHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.workspaceTypeHead>div{display:flex;align-items:center;gap:10px}.workspaceTypeIcon{width:38px;height:38px;border-radius:11px;background:#f2f4f7;display:grid;place-items:center;font-size:1.15rem}.workspaceTypeHead h2{margin:0;font-size:1rem}.workspaceTypeHead p{margin:2px 0 0;color:#667085;font-size:.72rem}.workspaceTypeCount{display:grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:#f2f4f7;font-weight:900;font-size:.78rem}.workspaceTypeSection-personal{border-left:4px solid #94a3b8}.workspaceTypeSection-family{border-left:4px solid #a78bfa}.workspaceTypeSection-company{border-left:4px solid #60a5fa}.workspaceTypeSection-association{border-left:4px solid #34d399}
.spaceCardTitleLine{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.spaceCardTitleLine h3{margin:0}
.spaceCard-personal .spaceCardIcon{background:#f1f5f9}.spaceCard-family .spaceCardIcon{background:#f5f3ff}.spaceCard-company .spaceCardIcon{background:#eff6ff}.spaceCard-association .spaceCardIcon{background:#ecfdf5}
.workspaceAdminNav button.adminNavLink{font-family:inherit;color:#cbd5e1;background:transparent;padding:9px 10px;margin:2px 0;border-radius:10px}
.workspaceAdminNav button.adminNavLink:hover{background:#1b2639;color:#fff}
.workspaceAdminNav button.adminNavLink.active{background:var(--brand);color:#fff;box-shadow:0 5px 18px rgba(49,94,251,.28)}
.workspaceAdminNav button.adminNavLink.active .adminNavIcon{background:rgba(255,255,255,.18)}
.workspaceAdminNav [hidden]{display:none!important}
.adminPlatformEntry{border:1px solid rgba(96,165,250,.35);background:rgba(49,94,251,.12)!important;color:#dbeafe!important}
.workspaceTopLeft,.workspaceTopRight{display:flex;align-items:center;gap:10px}.workspaceTopRight{margin-left:auto}
.workspaceTopBadge{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;color:#3347a8;border:1px solid #dce4ff;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workspaceAdminContent{max-width:1600px;width:100%;margin:0 auto;background:#f4f6fa;min-height:calc(100vh - 62px)}
.workspaceAdminContent .card,.workspaceAdminContent .compactCard{border:1px solid #e1e5ec;border-radius:14px;box-shadow:0 7px 28px rgba(35,47,76,.035);padding:14px}
.workspaceAdminContent .appTask{background:#fff;border:1px solid #e1e5ec;border-radius:13px;padding:12px;box-shadow:none}
.workspaceAdminContent .appTask h3{margin:0 0 6px;font-size:.92rem}.workspaceAdminContent .appTask p{margin:5px 0;color:#667085;font-size:.82rem}
.workspaceAdminContent .taskGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.workspaceAdminContent .compactHeader h2,.workspaceAdminContent .card h2{font-size:1rem;margin:0 0 5px}
.workspacePageHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.workspacePageHead h1{font-size:1.45rem;margin:0 0 3px;letter-spacing:-.03em}.workspacePageHead p{margin:0;color:#667085;font-size:.86rem}
.workspaceStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.workspaceStat{background:#fff;border:1px solid #e1e5ec;border-radius:12px;padding:11px;display:flex;gap:10px;align-items:center}.workspaceStatIcon{width:36px;height:36px;border-radius:10px;background:#eef2ff;display:grid;place-items:center}.workspaceStat small{display:block;color:#667085;font-size:.7rem;font-weight:700}.workspaceStat strong{display:block;font-size:1.15rem;margin-top:2px}
.spaceCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.spaceCard{background:#fff;border:1px solid #e1e5ec;border-radius:13px;padding:13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center}.spaceCard.active{border-color:#aebcff;background:#fbfcff}.spaceCardIcon{width:42px;height:42px;border-radius:11px;background:#eef2ff;display:grid;place-items:center;font-size:1.25rem}.spaceCard h3{margin:0 0 3px;font-size:.92rem}.spaceCard p{margin:0;color:#667085;font-size:.76rem}.spaceCardActions{display:flex;align-items:center;gap:7px}.spaceTypePill{display:inline-flex;border-radius:999px;background:#f2f4f7;color:#475467;padding:4px 7px;font-size:.66rem;font-weight:800;text-transform:capitalize}.spaceCreateGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.spaceFormPanel{background:#fff;border:1px solid #e1e5ec;border-radius:13px;padding:13px}.spaceFormPanel h2{font-size:.95rem;margin:0 0 3px}.spaceFormPanel p{color:#667085;font-size:.76rem;margin:0 0 9px}.spaceFormPanel .spaceInlineForm{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:8px;align-items:end}.spaceFormPanel .joinInlineForm{grid-template-columns:minmax(0,1fr) auto}.spaceFormPanel input,.spaceFormPanel select{margin:0;padding:9px 10px;font-size:.82rem}.spaceFormPanel button{padding:9px 12px;font-size:.8rem}
@media(max-width:1050px){.workspaceStats{grid-template-columns:repeat(2,minmax(0,1fr))}.spaceCreateGrid,.spaceCards{grid-template-columns:1fr}.workspaceAdminContent .taskGrid{grid-template-columns:1fr}}
@media(max-width:820px){.workspaceAdminShell{display:block}.workspaceAdminSidebar{position:fixed;left:-260px;width:248px;transition:left .2s}.workspaceAdminSidebar.open{left:0;box-shadow:18px 0 60px rgba(15,23,42,.25)}.workspaceTopBadge{display:none}}
@media(max-width:580px){.workspaceIsolationNotice{display:block}.workspaceIsolationNotice b{display:block;margin-bottom:4px}.workspaceStats{grid-template-columns:1fr 1fr}.spaceCard{grid-template-columns:auto 1fr}.spaceCardActions{grid-column:1/-1;justify-content:flex-end}.spaceFormPanel .spaceInlineForm,.spaceFormPanel .joinInlineForm{grid-template-columns:1fr}.workspaceTopRight .adminAccount{display:none}}

/* ===== Smart Cache V3 ===== */
.smartCacheHead{align-items:flex-start}.smartCacheHeadActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cacheSelect,.cacheTableInput{background:#fff;border:1px solid #d8dee8;border-radius:9px;padding:8px 10px;color:#172033;font-weight:700}.cacheTableInput{padding:6px 8px;font-size:.78rem}.cacheTableInput.tiny{width:76px}.cacheAlert{margin-bottom:12px;padding:10px 12px;border:1px solid #bbebce;background:#ecfdf3;color:#087443;border-radius:11px;font-weight:800;font-size:.82rem}.cacheAlert.bad{background:#fff1f0;border-color:#f1b6b0;color:#b42318}.cacheHero{background:linear-gradient(135deg,#101a2f,#17294b);border-radius:16px;color:#fff;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 12px 35px rgba(26,38,70,.14);margin-bottom:12px}.cacheHeroStatus{display:flex;gap:13px;align-items:center}.cacheHeroLight{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.09);font-size:1.45rem}.cacheHeroStatus div{display:grid}.cacheHeroStatus small{font-size:.66rem;letter-spacing:.12em;color:#9eb2d2;font-weight:900}.cacheHeroStatus strong{font-size:1.3rem;margin:1px 0}.cacheHeroStatus span:not(.cacheHeroLight){font-size:.77rem;color:#c8d3e6}.cacheHeroRight{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:9px}.cacheHeroRight>div{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:9px 11px;display:grid}.cacheHeroRight small{font-size:.65rem;color:#9fb0cd}.cacheHeroRight b{font-size:.78rem;margin-top:2px}.cacheKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:12px}.cacheKpi{background:#fff;border:1px solid #e1e5ec;border-radius:13px;padding:11px;display:flex;gap:9px;min-height:88px}.cacheKpi>span{width:34px;height:34px;border-radius:10px;background:#f0f3f9;display:grid;place-items:center;flex:0 0 auto}.cacheKpi div{display:grid;min-width:0}.cacheKpi small{color:#667085;font-weight:800;font-size:.69rem}.cacheKpi strong{font-size:1.2rem;margin-top:1px;white-space:nowrap}.cacheKpi em{font-size:.63rem;color:#7a8699;font-style:normal;margin-top:2px;line-height:1.25}.cacheKpi.good{border-top:3px solid #20a56b}.cacheKpi.warn{border-top:3px solid #e4a11b}.cacheKpi.bad{border-top:3px solid #dc5048}.cacheTabs{display:flex;gap:6px;margin:5px 0 12px;border-bottom:1px solid #dde3ec;padding-bottom:7px;overflow:auto}.cacheTab{border:0;background:transparent;padding:8px 11px;border-radius:9px;font-weight:850;color:#667085;white-space:nowrap}.cacheTab.active{background:#eaf0ff;color:#2c55df}.cacheTabPage{display:none}.cacheTabPage.active{display:block}.cacheGrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cacheSubtle{color:#7a8699;font-size:.72rem;margin:3px 0 0}.cacheTimeline{display:grid;gap:8px}.cacheTimelineRow{display:grid;grid-template-columns:82px minmax(0,1fr) 54px;gap:8px;align-items:center;font-size:.7rem}.cacheTimelineRow>span{color:#667085}.cacheTimelineRow>b{text-align:right}.cacheTimelineTrack{height:11px;border-radius:999px;background:#edf1f6;overflow:hidden;display:flex}.cacheTimelineTrack i{height:100%;display:block}.cacheTimelineTrack .hit{background:#2f6fed}.cacheTimelineTrack .miss{background:#e6a126}.cacheLegend{display:flex;gap:15px;margin-top:12px;font-size:.68rem;color:#667085}.cacheLegend i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px}.legendHit{background:#2f6fed}.legendMiss{background:#e6a126}.cacheProtectionState,.cacheStatusLine{display:flex;gap:10px;align-items:flex-start;padding:10px;background:#f8f9fb;border-radius:11px;margin-bottom:10px}.cacheProtectionState>span,.cacheStatusLine>span{font-size:1.3rem}.cacheProtectionState div,.cacheStatusLine div{display:grid}.cacheProtectionState strong,.cacheStatusLine b{font-size:.88rem}.cacheProtectionState small,.cacheStatusLine small{font-size:.7rem;color:#667085;margin-top:2px;line-height:1.35}.cacheStatusLine.good{background:#f0fbf5}.cacheStatusLine.warn{background:#fff9eb}.cacheStatusLine.bad{background:#fff2f1}.cacheMiniGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.cacheMiniGrid>div{border:1px solid #e5e9ef;border-radius:9px;padding:8px;display:grid}.cacheMiniGrid small{font-size:.62rem;color:#7a8699}.cacheMiniGrid b{font-size:.86rem;margin-top:2px}.cacheField{display:grid;gap:4px;margin:8px 0}.cacheField span{font-size:.68rem;color:#667085;font-weight:800}.cacheKv{display:flex;justify-content:space-between;align-items:center;padding:8px 2px;border-bottom:1px solid #edf0f4;font-size:.75rem}.cacheKv:last-child{border-bottom:0}.cacheKv span{color:#667085}.cacheActivityList{display:grid;gap:0}.cacheActivityRow{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:8px 2px;border-bottom:1px solid #edf0f4}.cacheActivityRow:last-child{border-bottom:0}.cacheActivityRow time{font-size:.7rem;color:#7a8699;font-weight:800}.cacheActivityRow>div{display:flex;gap:6px;flex-wrap:wrap}.cacheEvent{font-size:.68rem;background:#f7f8fb;border:1px solid #e7eaf0;border-radius:8px;padding:4px 6px}.cacheEvent b{margin-right:4px}.cacheEvent i{font-style:normal;margin-left:3px;color:#667085}.cacheEvent .eventHit{color:#087443}.cacheEvent .eventMiss{color:#9b6500}.cacheEvent .eventStale{color:#6f42c1}.cacheEvent .eventError{color:#b42318}.cacheRate{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.68rem;font-weight:900;background:#eef2f7}.cacheRate.good{background:#ecfdf3;color:#087443}.cacheRate.warn{background:#fff7e6;color:#9b6500}.cacheRate.bad{background:#fff1f0;color:#b42318}.cacheRecommendation{max-width:280px!important}.cacheConfigTable input[type=checkbox]{width:17px;height:17px}.cacheInfoBanner{background:#eef4ff;border:1px solid #cbd8ff;border-radius:10px;padding:9px 11px;font-size:.73rem;color:#345092;margin:4px 0 12px}.cacheInfoBanner code{background:#fff;padding:2px 4px;border-radius:5px}.cacheDangerActions{display:flex;gap:8px;flex-wrap:wrap}.cacheEmptyGood{padding:25px;text-align:center;background:#f0fbf5;border:1px solid #cdebdc;border-radius:11px;color:#087443;font-weight:850}
@media(max-width:1350px){.cacheKpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.cacheGrid2{grid-template-columns:1fr}.cacheHero{align-items:flex-start;flex-direction:column}.cacheHeroRight{width:100%}}
@media(max-width:700px){.cacheKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cacheHeroRight{grid-template-columns:1fr}.cacheMiniGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.smartCacheHeadActions{width:100%}.cacheTimelineRow{grid-template-columns:64px minmax(0,1fr) 45px}}

/* ===== Administration des formules d'abonnement ===== */
.formulaPageHead{align-items:flex-start}.formulaBack{display:inline-flex;margin-bottom:6px;color:#516078;font-size:.78rem;font-weight:800}.formulaHeadActions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.formulaSaveState{font-size:.72rem;color:#667085;font-weight:800}.formulaSaveState.dirty{color:#b54708}.formulaAlert{margin-bottom:12px;padding:11px 13px;border:1px solid #b9e8cf;background:#ecfdf3;color:#087443;border-radius:11px;font-weight:800;font-size:.8rem}.formulaAlert.bad{border-color:#f0b9b4;background:#fff1f0;color:#b42318}.formulaTabs{display:flex;gap:6px;border-bottom:1px solid #dfe4ec;margin:4px 0 13px;padding-bottom:7px;overflow:auto}.formulaTab{background:transparent;color:#667085;border:0;padding:9px 12px;border-radius:9px;font-size:.8rem;white-space:nowrap}.formulaTab:hover{background:#f1f4f9;color:#25324a}.formulaTab.active{background:#eaf0ff;color:#2c55df}.formulaTabPage{display:none}.formulaTabPage.active{display:block}.formulaGrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.formulaPanel{box-shadow:none}.formulaPanel .adminPanelHead p{margin:3px 0 0;color:#7a8699;font-size:.72rem}.formulaFields{display:grid;gap:12px}.formulaPriceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.formulaField{display:grid;gap:5px}.formulaField>span{font-size:.72rem;color:#667085;font-weight:850}.formulaField>small{font-size:.66rem;color:#8a94a5;line-height:1.35}.formulaField input,.formulaField select,.formulaLimitMode,.formulaLimitValue input{width:100%;border:1px solid #d8dee8;border-radius:9px;background:#fff;padding:9px 10px;color:#172033;font:inherit;font-size:.82rem}.formulaField input[readonly]{background:#f6f7f9;color:#697386}.formulaSwitchLine{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #edf0f4}.formulaSwitchLine span{display:grid}.formulaSwitchLine b{font-size:.8rem}.formulaSwitchLine small{font-size:.67rem;color:#7a8699;margin-top:2px}.formulaSwitchLine input,.formulaFeatureCard input{width:20px;height:20px;accent-color:#315efb}.formulaInputSuffix{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #d8dee8;border-radius:9px;background:#fff;overflow:hidden}.formulaInputSuffix input{border:0;border-radius:0}.formulaInputSuffix em{padding:0 10px;color:#667085;font-size:.7rem;font-style:normal;font-weight:800}.formulaInfoBox,.formulaInfoBanner{margin-top:12px;padding:10px 12px;background:#eef4ff;border:1px solid #ccdaff;border-radius:10px;color:#345092;font-size:.73rem;line-height:1.45}.formulaInfoBox{display:grid}.formulaInfoBox span{margin-top:2px}.formulaUsageGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.formulaUsage{display:flex;gap:9px;align-items:center;border:1px solid #e4e8ee;border-radius:11px;padding:10px;background:#fbfcfe}.formulaUsage>span{font-size:1.2rem}.formulaUsage div{display:grid}.formulaUsage small{font-size:.65rem;color:#7a8699}.formulaUsage strong{font-size:.95rem;margin-top:2px}.formulaSectionStack{display:grid;gap:12px}.formulaLimitList{display:grid}.formulaLimitRow{display:grid;grid-template-columns:minmax(260px,1fr) 135px minmax(170px,220px);gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f4}.formulaLimitRow:last-child{border-bottom:0}.formulaParamInfo{display:grid;min-width:0}.formulaParamInfo b{font-size:.8rem}.formulaParamInfo small{font-size:.67rem;color:#7a8699;margin-top:2px;line-height:1.35}.formulaParamInfo code,.formulaFeatureCard code{font-size:.59rem;color:#8b95a5;margin-top:4px;background:#f5f6f8;border-radius:5px;padding:2px 5px;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis}.formulaLimitMode{margin:0}.formulaLimitValue{display:grid;grid-template-columns:minmax(80px,1fr) auto;align-items:center;gap:7px}.formulaLimitValue.hidden{visibility:hidden;pointer-events:none}.formulaLimitValue span{font-size:.68rem;color:#667085;font-weight:800}.formulaFeatureGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.formulaFeatureCard{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px;border:1px solid #e4e8ee;border-radius:11px;background:#fbfcfe;cursor:pointer}.formulaFeatureCard:hover{border-color:#c8d3e7;background:#fff}.formulaFeatureCard>span{display:grid;min-width:0}.formulaFeatureCard b{font-size:.78rem}.formulaFeatureCard small{font-size:.66rem;color:#7a8699;margin-top:2px;line-height:1.35}.formulaSaveBar{position:sticky;bottom:12px;z-index:9;margin-top:16px;background:rgba(20,31,54,.96);color:#fff;border-radius:13px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 14px 40px rgba(20,31,54,.2);backdrop-filter:blur(10px)}.formulaSaveBar>div{display:grid}.formulaSaveBar b{font-size:.8rem}.formulaSaveBar span{font-size:.65rem;color:#bcc8dc;margin-top:2px}.formulaSaveBar button{padding:9px 12px;font-size:.78rem}.detailSectionHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.detailSectionHead h3{margin-bottom:3px}.detailSectionHead p{margin:0 0 10px;color:#7a8699;font-size:.72rem}
@media(max-width:1050px){.formulaGrid2{grid-template-columns:1fr}.formulaUsageGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.formulaFeatureGrid{grid-template-columns:1fr}.formulaLimitRow{grid-template-columns:minmax(220px,1fr) 125px minmax(150px,190px)}}
@media(max-width:720px){.formulaPageHead{display:grid}.formulaHeadActions{width:100%;justify-content:space-between}.formulaPriceGrid{grid-template-columns:1fr}.formulaUsageGrid{grid-template-columns:1fr 1fr}.formulaLimitRow{grid-template-columns:1fr}.formulaLimitValue.hidden{display:none}.formulaSaveBar{bottom:6px}.formulaSaveBar>div{display:none}}
@media(max-width:480px){.formulaUsageGrid{grid-template-columns:1fr}.formulaSaveBar button{width:100%}}

/* ===== Catalogue collaboratif des modules ===== */
.adminListRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.adminListRow:last-child{border-bottom:0}.adminListRow>div:first-child{display:grid;gap:3px;min-width:0}.adminListRow b{font-size:.86rem}.adminListRow small,.adminListRow .muted{font-size:.69rem;color:var(--muted)}.rowActions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.rowActions .danger{background:#fff1f0;color:#b42318;border:1px solid #f0b9b4}.rowActions .danger:hover{background:#fee4e2}.adminGrid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.adminCard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.adminCard h2{margin:0 0 10px;font-size:1rem}@media(max-width:800px){.adminGrid.two{grid-template-columns:1fr}.adminListRow{align-items:flex-start;flex-direction:column}.rowActions{width:100%}.rowActions button{flex:1}}

/* ===== Administration détaillée : utilisateurs / espaces / familles / entreprises / modules ===== */
.adminDetailHead{align-items:flex-start}.adminHelp{margin:3px 0 0;color:#7a8699;font-size:.72rem;line-height:1.45}.adminDetailGrid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:12px}.adminFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.adminFormGrid4{grid-template-columns:repeat(4,minmax(0,1fr))}.adminFieldWide{grid-column:1/-1}.adminFieldWide2{grid-column:span 2}.adminFormActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.adminAlignEnd{align-self:end}.adminInlineChecks{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:8px 0}.adminInfoList{display:grid;gap:0}.adminInfoList>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf0f4}.adminInfoList>div:last-child{border-bottom:0}.adminInfoList span{color:#667085;font-size:.74rem}.adminInfoList b{font-size:.78rem;text-align:right}.adminCardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adminManageCard{background:#fbfcfe;border:1px solid #e3e7ed;border-radius:13px;padding:13px}.adminManageCardHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}.adminManageCardHead h3{margin:3px 0;font-size:.94rem}.adminManageCardHead small{color:#7a8699;font-size:.69rem}.adminTypeBadge{display:inline-flex;border-radius:999px;background:#eef2ff;color:#3454b4;padding:3px 6px;font-size:.62rem;font-weight:850;text-transform:uppercase}.adminMiniLine{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #edf0f4;font-size:.72rem}.adminMiniLine span{color:#667085}.adminMiniLine b{text-align:right}.adminSubscriptionInline{margin-top:9px;padding-top:9px;border-top:1px solid #edf0f4}.adminDetailTabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid #dfe4ec;padding-bottom:7px;margin-bottom:12px}.adminDetailTab{background:transparent;color:#667085;padding:9px 12px;border:0;border-radius:9px;font-size:.8rem;white-space:nowrap}.adminDetailTab:hover{background:#f1f4f9;color:#25324a}.adminDetailTab.active{background:#eaf0ff;color:#2c55df}.adminDetailPane{display:none}.adminDetailPane.active{display:block}.adminMemberAdd{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr) auto;gap:12px;align-items:end}.adminRoleChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:7px}.adminRoleChoice{display:flex;gap:7px;align-items:flex-start;margin:0;padding:8px;border:1px solid #e3e7ed;border-radius:9px;background:#fff;font-weight:500}.adminRoleChoice input{width:auto;margin:2px 0 0}.adminRoleChoice span{display:grid}.adminRoleChoice b{font-size:.72rem}.adminRoleChoice small{font-size:.62rem;color:#7a8699}.adminModuleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adminModuleCard{border:1px solid #e2e7ef;border-radius:14px;background:#fbfcfe;padding:13px;min-width:0}.adminModuleCard.locked{background:#f7f7f8;opacity:.78}.adminModuleHead{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px}.adminModuleHead h3{margin:0;font-size:.86rem}.adminModuleHead small{color:#7a8699;font-size:.65rem}.adminModuleIcon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eef2ff;font-size:1.2rem}.adminModuleCard>p{color:#667085;font-size:.7rem;line-height:1.45;margin:9px 0}.adminModuleLock{padding:8px 9px;border-radius:9px;background:#f1f2f4;color:#667085;font-size:.69rem}.adminModuleEditor{border-top:1px solid #e6e9ef;padding-top:8px;margin-top:8px}.adminModuleEditor summary{cursor:pointer;font-size:.72rem;font-weight:850;color:#3454b4}.adminModuleEditor>.adminFormGrid{margin-top:10px}.adminModuleEditor textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.dangerLite{background:#fff1f0!important;color:#b42318!important;border:1px solid #f0b9b4!important}.dangerLite:hover{background:#fee4e2!important}.adminManageCard .formulaField,.adminModuleCard .formulaField{margin:7px 0}.adminManageCard .formulaField>span,.adminModuleCard .formulaField>span{font-size:.68rem}.adminManageCard select,.adminManageCard input,.adminModuleCard input,.adminModuleCard select,.adminModuleCard textarea{margin-top:4px}
@media(max-width:1100px){.adminDetailGrid{grid-template-columns:1fr}.adminFormGrid4{grid-template-columns:repeat(2,minmax(0,1fr))}.adminCardGrid,.adminModuleGrid{grid-template-columns:1fr}.adminMemberAdd{grid-template-columns:1fr 1fr}.adminMemberAdd .adminFormActions{grid-column:1/-1}}
@media(max-width:720px){.adminFormGrid,.adminFormGrid4{grid-template-columns:1fr}.adminFieldWide,.adminFieldWide2{grid-column:auto}.adminMemberAdd{grid-template-columns:1fr}.adminRoleChoices{grid-template-columns:1fr}.adminManageCardHead{flex-direction:column}.adminModuleHead{grid-template-columns:38px minmax(0,1fr)}.adminModuleHead .statusPill{grid-column:1/-1;width:max-content}.adminInlineChecks{display:grid}.adminFormActions button,.adminFormActions .compactBtn{width:100%}}


/* ===== Administration thèmes/logos + bibliothèque modules v2026-09-04 ===== */
.catalogChips{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.catalogChip{display:inline-flex;align-items:center;border:1px solid #dce4f5;background:#f3f6ff;color:#3d56a6;border-radius:999px;padding:4px 8px;font-size:.64rem;font-weight:800}.catalogJson{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#101827;color:#dce7ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;line-height:1.45;white-space:pre-wrap;overflow:auto;max-height:280px}.adminAdvancedDetails{border:1px solid #e3e7ed;border-radius:10px;padding:9px 10px;background:#fbfcfe}.adminAdvancedDetails summary{cursor:pointer;font-size:.72rem;font-weight:850;color:#3454b4}
.adminThemeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adminThemeCard{border:1px solid #e2e7ef;border-radius:14px;background:#fbfcfe;padding:13px}.adminThemeHead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px}.adminThemeHead h3{margin:0;font-size:.9rem}.adminThemeHead small{display:block;color:#7a8699;font-size:.65rem;margin-top:2px}.adminThemeSwatches{display:flex;gap:3px}.adminThemeSwatches i{display:block;width:17px;height:36px;border-radius:5px;border:1px solid rgba(15,23,42,.08)}.adminBrandAssetList{display:grid;gap:8px;margin-top:12px}.adminBrandAsset{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e3e7ed;border-radius:11px;background:#fbfcfe;padding:9px}.adminBrandAsset b{display:block;font-size:.78rem}.adminBrandAsset small{display:block;color:#7a8699;font-size:.64rem;margin-top:2px}.adminBrandLogoPreview{width:48px;height:48px;border-radius:10px;background:#fff;border:1px solid #e3e7ed;display:grid;place-items:center;overflow:hidden}.adminBrandLogoPreview img{width:100%;height:100%;object-fit:contain}
@media(max-width:900px){.adminThemeGrid{grid-template-columns:1fr}}@media(max-width:560px){.adminThemeHead{grid-template-columns:auto minmax(0,1fr)}.adminThemeHead .statusPill{grid-column:1/-1;width:max-content}.adminBrandAsset{grid-template-columns:42px minmax(0,1fr)}.adminBrandAsset button{grid-column:1/-1;width:100%}.adminBrandLogoPreview{width:42px;height:42px}}


/* --- Correctif affichage couleurs Administration (04/09/2026) --- */
.adminColorField{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:center;width:100%}
.formulaField .adminColorField input[type=color],.adminColorField input[type=color]{display:block;width:64px!important;height:44px!important;min-height:44px;padding:3px!important;border:1px solid #d8dee8!important;border-radius:10px!important;background:#fff!important;cursor:pointer;overflow:hidden}
.formulaField .adminColorField input[type=color]::-webkit-color-swatch-wrapper,.adminColorField input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.formulaField .adminColorField input[type=color]::-webkit-color-swatch,.adminColorField input[type=color]::-webkit-color-swatch{border:0;border-radius:7px}
.formulaField .adminColorField input[type=color]::-moz-color-swatch,.adminColorField input[type=color]::-moz-color-swatch{border:0;border-radius:7px}
.formulaField .adminColorHex,.adminColorHex{width:100%;height:44px;padding:9px 10px;border:1px solid #d8dee8;border-radius:9px;background:#fff;color:#172033;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;font-weight:750;text-transform:uppercase;letter-spacing:.02em}
.adminColorHex:focus,.adminColorField input[type=color]:focus{outline:2px solid rgba(49,94,251,.18);outline-offset:1px;border-color:#91a8ff!important}
.adminRecordIntro{margin:0 0 12px;padding:12px 14px;border:1px solid #d9e3fb;border-radius:12px;background:#f7f9ff;color:#25324a}
.adminRecordIntro b{display:block;font-size:.82rem;margin-bottom:3px}.adminRecordIntro p{margin:0;color:#667085;font-size:.72rem;line-height:1.5}
@media(max-width:560px){.adminColorField{grid-template-columns:58px minmax(0,1fr)}.formulaField .adminColorField input[type=color],.adminColorField input[type=color]{width:58px!important}}


/* --- Correctif couleur v2 : aperçu indépendant du champ natif --- */
.adminColorField{grid-template-columns:78px minmax(0,1fr)!important}
.adminColorPreview{
  position:relative;
  width:78px;
  height:44px;
  min-height:44px;
  border:1px solid #cfd7e6;
  border-radius:10px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.45),0 1px 2px rgba(15,23,42,.08);
  overflow:hidden;
  cursor:pointer;
  background-color:#315efb;
}
.adminColorPreview::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:9px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 45%);
}
.formulaField .adminColorPreview input[type=color],
.adminColorPreview input[type=color]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  opacity:0!important;
  cursor:pointer!important;
  z-index:2;
}
.adminColorPreview:focus-within{
  outline:3px solid rgba(49,94,251,.18);
  outline-offset:2px;
  border-color:#6f8cff;
}
.adminColorHex{font-size:.86rem!important}
@media(max-width:560px){
  .adminColorField{grid-template-columns:68px minmax(0,1fr)!important}
  .adminColorPreview{width:68px}
}

/* --- Administration moteurs + modules officiels (04/09/2026) --- */
.adminBackLink{display:inline-flex;margin-bottom:7px;color:#516078;font-size:.76rem;font-weight:800;text-decoration:none}.adminBackLink:hover{color:#315efb}.adminChoiceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.formulaSwitch{display:flex;align-items:flex-start;gap:9px;border:1px solid #e2e7ef;border-radius:11px;padding:11px;background:#fbfcfe;cursor:pointer}.formulaSwitch input{width:19px;height:19px;margin:1px 0 0;accent-color:#315efb}.formulaSwitch>span{display:grid;min-width:0}.formulaSwitch b{font-size:.77rem}.formulaSwitch small{font-size:.65rem;color:#7a8699;margin-top:2px;line-height:1.35}.adminParamEditor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 14px}.adminParamRow{margin:0!important}.adminJsonTextarea{width:100%;max-height:none!important;resize:vertical;white-space:pre!important}.adminStickyActions{position:sticky;bottom:10px;z-index:8;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border:1px solid #dfe4ec;border-radius:13px;padding:10px 12px;justify-content:flex-end;box-shadow:0 12px 34px rgba(15,23,42,.12);margin-top:14px}.adminHeadActions .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.adminPanel textarea.formulaField,.formulaField textarea{width:100%;border:1px solid #d8dee8;border-radius:9px;background:#fff;padding:9px 10px;color:#172033;font:inherit;font-size:.82rem;resize:vertical}.formulaField select{min-height:40px}.adminParamEditor .formulaField,.adminParamEditor .formulaSwitch{background:#fff}.adminParamEditor .adminFieldWide{grid-column:1/-1}
@media(max-width:900px){.adminChoiceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.adminParamEditor{grid-template-columns:1fr}}
@media(max-width:600px){.adminChoiceGrid{grid-template-columns:1fr}.adminStickyActions{bottom:4px}.adminStickyActions .btn,.adminStickyActions button{width:100%}}

/* Constructeur visuel form_fields — Taklio 2026-09-04 */
.adminFormFieldsBuilder{border:1px solid #dfe5ef;border-radius:14px;background:#fbfcfe;padding:13px}
.adminFormFieldsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.adminFormFieldsHead>div{display:grid;gap:3px}
.adminFormFieldsHead b{font-size:.84rem}
.adminFormFieldsHead small{font-size:.68rem;color:#7a8699;line-height:1.4}
.adminFormFieldList{display:grid;gap:10px}
.adminFormFieldCard{border:1px solid #e1e6ee;border-radius:13px;background:#fff;padding:12px}
.adminFormFieldCardHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #edf0f4}
.adminFormFieldCardHead>div:first-child{display:grid;gap:2px}
.adminFormFieldCardHead b{font-size:.8rem}
.adminFormFieldCardHead small{font-size:.65rem;color:#7a8699}
.adminFormFieldActions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.adminFormFieldActions .compactBtn:disabled{opacity:.38;cursor:not-allowed}
.adminFormFieldGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.adminFormFieldRequired{min-height:70px;align-self:end}
.adminFormFieldOptions{grid-column:1/-1}
.adminFormFieldOptions.is-hidden{display:none}
.adminFormFieldPreview{grid-column:1/-1;border:1px dashed #cfd8e7;border-radius:11px;padding:10px;background:#f8faff}
.adminFormFieldPreviewTitle{display:block;font-size:.65rem;font-weight:850;color:#667085;margin-bottom:7px;text-transform:uppercase;letter-spacing:.03em}
.adminFormFieldPreview .formulaField,.adminFormFieldPreview .formulaSwitch{max-width:560px;margin:0}
.adminFormFieldPreview .formulaField>span{color:#344054}
.adminFormFieldPreview select[multiple]{min-height:72px}
.adminFormFieldPreviewSwitch{background:#fff}
.adminFormFieldsEmpty{margin:0}
@media(max-width:760px){
  .adminFormFieldsHead,.adminFormFieldCardHead{display:grid}
  .adminFormFieldGrid{grid-template-columns:1fr}
  .adminFormFieldOptions,.adminFormFieldPreview{grid-column:1}
  .adminFormFieldActions{justify-content:flex-start}
}

/* Taklio 2026-09-04 — aide visuelle catalogue des modules */
.adminCatalogParamInfo{display:flex;gap:12px;align-items:flex-start;border:1px solid #dce5f5;border-radius:14px;background:#f8fbff;padding:13px 14px}
.adminCatalogParamInfoIcon{font-size:1.35rem;line-height:1}
.adminCatalogParamInfo>div:last-child{display:grid;gap:5px;min-width:0}
.adminCatalogParamInfo b{font-size:.83rem}
.adminCatalogParamInfo p{margin:0;color:#59677d;font-size:.72rem;line-height:1.45}
.adminCatalogFlow{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:3px!important}
.adminCatalogFlow span{display:inline-flex;align-items:center;border:1px solid #dfe6f2;background:#fff;border-radius:999px;padding:4px 8px;color:#27364e;font-weight:700;font-size:.68rem}
.adminCatalogFlow b{color:#8290a5;font-size:.72rem}
.adminParamEditor code{font-size:.64rem;background:#f0f3f8;border-radius:4px;padding:1px 4px}
@media(max-width:700px){.adminCatalogParamInfo{display:grid}.adminCatalogFlow b{display:none}.adminCatalogFlow span{width:100%;justify-content:center}}

/* Moteurs catalogue : catégories et formulaires d'articles */
.adminCatalogFlowHelp{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 14px;padding:10px 12px;border:1px solid #e2e7ef;border-radius:12px;background:#fbfcfe;font-size:.72rem;font-weight:750}
.adminCatalogFlowHelp span{padding:6px 9px;border:1px solid #dfe5ef;border-radius:999px;background:#fff}.adminCatalogFlowHelp b{color:#7a8699}
.adminEngineCategoryList{display:grid;gap:12px}.adminEngineCategoryCard{border:1px solid #dde4ee;border-radius:15px;background:#fbfcfe;padding:13px}
.adminEngineCategoryHead,.adminEngineCategoryFieldsHead,.adminEngineArticleFieldHead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.adminEngineCategoryHead{padding-bottom:11px;margin-bottom:12px;border-bottom:1px solid #e8ecf2}.adminEngineCategoryHead>div{display:flex;align-items:center;gap:10px}.adminEngineCategoryHead>div>div{display:grid;gap:2px}
.adminEngineCategoryHead b{font-size:.84rem}.adminEngineCategoryHead small,.adminEngineCategoryFieldsHead small{font-size:.66rem;color:#7a8699}.adminEngineCategoryIcon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #dfe5ef;border-radius:11px;background:#fff;font-size:1.25rem}
.adminEngineCategoryFieldsHead{margin:14px 0 9px}.adminEngineCategoryFieldsHead>div{display:grid;gap:2px}.adminEngineArticleFieldList{display:grid;gap:9px}.adminEngineArticleField{border:1px solid #e2e7ef;border-radius:12px;background:#fff;padding:11px}.adminEngineArticleFieldHead{margin-bottom:9px}.adminEngineArticleFieldHead>div{display:flex;gap:5px;flex-wrap:wrap}.adminEngineArticleFieldHead b{font-size:.75rem}
.adminEngineOwnedInfo{border:1px solid #dfe5ef;border-radius:13px;background:#f8faff;padding:12px}.adminEngineOwnedInfo b{font-size:.8rem}.adminEngineOwnedInfo p{font-size:.68rem;color:#667085;margin:4px 0 8px;line-height:1.45}.adminEngineOwnedPills{display:flex;gap:6px;flex-wrap:wrap}.adminEngineOwnedPills span{font-size:.65rem;font-weight:750;border:1px solid #dce3ee;border-radius:999px;background:#fff;padding:5px 8px}
@media(max-width:760px){.adminEngineCategoryHead,.adminEngineCategoryFieldsHead,.adminEngineArticleFieldHead{align-items:flex-start;display:grid}.adminEngineCategoryHead>div{align-items:flex-start}}

/* 2026-09-05 — séparation visuelle stricte des espaces dans l'administration */
.adminWorkspaceGroup{margin:0 0 16px}.adminWorkspaceGroup:last-child{margin-bottom:0}.adminWorkspaceGroupHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 9px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.adminWorkspaceGroupHead h3{margin:0;font-size:.92rem}.adminWorkspaceGroupHead span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#eef2f7;font-size:.72rem;font-weight:900}.adminWorkspaceCard{position:relative}.adminWorkspaceCard-personal{border-left:4px solid #94a3b8}.adminWorkspaceCard-family{border-left:4px solid #a78bfa}.adminWorkspaceCard-company{border-left:4px solid #60a5fa}.adminWorkspaceCard-association{border-left:4px solid #34d399}


/* ==========================================================
   Administration utilisateur — lisibilité multi-espaces
   05/09/2026
   Les groupes et fiches d'espaces occupent toute la largeur.
   ========================================================== */
.adminWorkspaceGroupsStack{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  min-width:0;
}
.adminWorkspaceGroupsStack .adminWorkspaceGroup{
  margin:0;
  min-width:0;
}
.adminWorkspaceCards{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  min-width:0;
}
.adminWorkspaceCard{
  width:100%;
  min-width:0;
  padding:18px;
  border-radius:15px;
}
.adminWorkspaceCard .adminManageCardHead{
  align-items:center;
  margin-bottom:14px;
}
.adminWorkspaceCard .adminManageCardHead h3{
  margin:5px 0 3px;
  font-size:1.04rem;
  line-height:1.3;
}
.adminWorkspaceCard .adminManageCardHead small{
  font-size:.72rem;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.adminWorkspaceCard .adminManageCardHead .tableBtn{
  flex:0 0 auto;
  white-space:nowrap;
}
.adminWorkspaceCard .adminHelpBox{
  margin:12px 0;
  padding:12px 14px;
}
.adminWorkspaceCard .adminHelpBox b{
  display:block;
  margin-bottom:4px;
  font-size:.8rem;
}
.adminWorkspaceCard .adminHelpBox p{
  margin:0;
  line-height:1.5;
  max-width:1050px;
}
.adminWorkspaceCard .adminFormGrid{
  grid-template-columns:minmax(280px,1fr) minmax(220px,.55fr);
  align-items:end;
}
.adminWorkspaceCard .adminRoleChoices{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:8px;
}
.adminWorkspaceCard .adminRoleChoice{
  min-height:54px;
}
.adminWorkspaceCard .uSubscriptions{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:10px;
}
.adminWorkspaceCard .uSubEditor{
  padding:15px;
  background:#fff;
}
.adminWorkspaceCard .uSubEditor .adminFormGrid{
  grid-template-columns:repeat(2,minmax(240px,1fr));
  align-items:end;
}
.adminWorkspaceCard-personal{background:#fbfcfe}
.adminWorkspaceCard-family{background:#fcfaff}
.adminWorkspaceCard-company{background:#f9fcff}
.adminWorkspaceCard-association{background:#f9fffc}
.adminWorkspaceCard-family .adminTypeBadge{background:#f1eafe;color:#6d42b8}
.adminWorkspaceCard-company .adminTypeBadge{background:#e8f2ff;color:#2864a8}
.adminWorkspaceCard-association .adminTypeBadge{background:#e8f8f0;color:#247253}
@media(max-width:900px){
  .adminWorkspaceCard .adminFormGrid,
  .adminWorkspaceCard .uSubEditor .adminFormGrid{grid-template-columns:1fr}
  .adminWorkspaceCard .adminManageCardHead{align-items:flex-start;flex-direction:column}
  .adminWorkspaceCard .adminManageCardHead .tableBtn{white-space:normal;width:100%;text-align:center}
}
@media(max-width:520px){
  .adminWorkspaceCard{padding:12px}
  .adminWorkspaceCard .adminRoleChoices{grid-template-columns:1fr}
}


/* ===== 2026-09-05 — espaces visibles directement + sous-menus repliables ===== */
.workspaceDirectPanel{padding:10px 9px 8px;border-bottom:1px solid #253047;background:#0f1725}
.workspaceDirectPanelHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 7px 8px;color:#8fa1bc;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.workspaceCountBadge{display:grid;place-items:center;min-width:25px;height:22px;padding:0 7px;border-radius:999px;background:#26344a;color:#dce6f5;font-size:.68rem;letter-spacing:0}
.workspaceTree{display:grid;gap:6px}
.workspaceTreeLoading,.workspaceTreeEmpty,.workspaceTreeNoRights{padding:10px;color:#8fa1bc;font-size:.72rem;line-height:1.4}
.workspaceTreeItem{border:1px solid #2b384d;border-radius:11px;background:#151f30;overflow:hidden}
.workspaceTreeItem>summary{list-style:none;display:grid;grid-template-columns:30px minmax(0,1fr) 18px;gap:8px;align-items:center;padding:9px 9px;cursor:pointer;user-select:none}
.workspaceTreeItem>summary::-webkit-details-marker{display:none}
.workspaceTreeItem>summary:hover{background:#1a273a}
.workspaceTreeItem.is-active{border-color:#4d6ff0;box-shadow:0 0 0 1px rgba(77,111,240,.14)}
.workspaceTreeItem.is-active>summary{background:#192b52}
.workspaceTreeIcon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.07);font-size:1rem}
.workspaceTreeIdentity{display:grid;min-width:0;line-height:1.15}
.workspaceTreeIdentity b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f8fafc;font-size:.79rem}
.workspaceTreeIdentity small{margin-top:3px;color:#8fa1bc;font-size:.62rem;font-weight:700}
.workspaceTreeChevron{color:#8fa1bc;font-size:.8rem;transition:transform .18s ease;text-align:center}
.workspaceTreeItem[open] .workspaceTreeChevron{transform:rotate(180deg)}
.workspaceTreeSubmenu{display:grid;gap:2px;padding:4px 6px 7px;border-top:1px solid #263247;background:#101827}
.workspaceTreeLink{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;justify-content:stretch;gap:7px;margin:0;padding:7px 8px;border:0;border-radius:8px;background:transparent;color:#c8d3e2;text-align:left;font:inherit;font-size:.76rem;font-weight:700;box-shadow:none}
.workspaceTreeLink:hover{background:#1b2a40;color:#fff}
.workspaceTreeLink.active{background:var(--brand);color:#fff;box-shadow:0 4px 14px rgba(49,94,251,.24)}
.workspaceTreeLinkIcon{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:rgba(255,255,255,.06);font-size:.86rem}
.workspaceTreeLink.active .workspaceTreeLinkIcon{background:rgba(255,255,255,.16)}
.workspaceTreeItem-personal{border-left:3px solid #94a3b8}
.workspaceTreeItem-family{border-left:3px solid #a78bfa}
.workspaceTreeItem-company{border-left:3px solid #60a5fa}
.workspaceTreeItem-association{border-left:3px solid #34d399}
.workspaceGlobalNav{flex:0 0 auto;padding-top:5px}
.workspaceSidebarSection{margin:4px 0;border-top:1px solid #253047;padding-top:4px}
.workspaceSidebarSection>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 6px;color:#73839c;font-size:.67rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;user-select:none}
.workspaceSidebarSection>summary::-webkit-details-marker{display:none}
.workspaceSidebarSection>summary:hover{color:#a7b5ca}
.workspaceSectionChevron{font-size:.76rem;transition:transform .18s ease}
.workspaceSidebarSection[open] .workspaceSectionChevron{transform:rotate(180deg)}
.workspaceSidebarSectionBody{padding:0 0 3px}
.workspaceSidebarSection[hidden]{display:none!important}
@media(max-width:820px){.workspaceDirectPanel{padding-top:8px}.workspaceTreeItem>summary{padding:9px 8px}.workspaceTreeLink{padding:8px}}


/* ===== 2026-09-05 — lisibilité globale des boutons ===== */
/* Le sélecteur button global donne du texte blanc aux boutons primaires.
   Tout bouton clair / secondaire doit donc redéfinir explicitement sa couleur. */
.ghost,.linkbtn,button.ghost,a.ghost,a.linkbtn,
.compactBtn,.tableBtn,button.compactBtn,button.tableBtn,
.enginePick,.calendarTaskBtn{
  color:#172033!important;
}
.ghost,.linkbtn,button.ghost,a.ghost,a.linkbtn{
  background:#fff!important;
  border:1px solid #dfe4ec!important;
  box-shadow:none;
}
.ghost:hover,.linkbtn:hover,button.ghost:hover,a.ghost:hover,a.linkbtn:hover,
.compactBtn:hover,.tableBtn:hover,button.compactBtn:hover,button.tableBtn:hover{
  background:#f2f5fa!important;
  color:#172033!important;
  border-color:#cfd7e5!important;
}
button.ghost.dangerBtn,.ghost.dangerBtn{color:#b42318!important;background:#fff!important;border-color:#f0c5c1!important}
button.ghost.dangerBtn:hover,.ghost.dangerBtn:hover{color:#b42318!important;background:#fff1f0!important;border-color:#e9aaa4!important}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}

/* ===== 2026-09-05 — page Modules simplifiée ===== */
.moduleSection{margin:0 0 18px;padding:18px;background:#fff;border:1px solid #dce3f0;border-radius:16px}
.moduleSectionPrimary{border-color:#cfd9ff;background:#fbfcff}
.moduleSectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}
.moduleSectionHead h2{margin:0 0 4px;font-size:1.12rem}
.moduleSectionHead p{margin:0;color:#667085;font-size:.84rem;line-height:1.45;max-width:850px}
.moduleSectionCount{display:grid;place-items:center;min-width:34px;height:30px;padding:0 9px;border-radius:999px;background:#eef2ff;color:#3150b8;font-size:.78rem;font-weight:900}
.moduleCardConfigured{border-left:4px solid #315efb}
.moduleMetaLine{display:flex;gap:8px 16px;flex-wrap:wrap;margin:9px 0;color:#667085;font-size:.76rem}
.moduleMetaLine b{color:#25324a}.moduleUpdateFlag{color:#8b5e00;font-weight:800}
.moduleGenericList{display:grid;gap:9px}
.moduleGenericCard{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #dce3f0;border-radius:13px;background:#fff}
.moduleGenericCard.locked{background:#f8f9fb;opacity:.8}
.moduleGenericIcon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:#eef2ff;font-size:1.35rem}
.moduleGenericBody{min-width:0}.moduleGenericTitle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.moduleGenericBody p{margin:4px 0;color:#4f5d73;font-size:.82rem}.moduleGenericBody small{color:#7a8699;font-size:.7rem}
.moduleGenericActions{display:flex;align-items:center;justify-content:flex-end;min-width:135px}.moduleGenericActions button{white-space:nowrap}
.moduleLockedLabel{color:#8a6b22;font-size:.72rem;font-weight:800;text-align:right}.moduleReadyLabel{color:#16794d;font-size:.72rem;font-weight:800}
.moduleSectionDetails{margin:0 0 14px;border:1px solid #dce3f0;border-radius:14px;background:#fff;overflow:hidden}
.moduleSectionDetails>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;font-weight:850}
.moduleSectionDetails>summary::-webkit-details-marker{display:none}.moduleSectionDetails>summary:hover{background:#f7f9fc}.moduleSectionDetails>summary small{color:#667085;font-weight:650;font-size:.72rem}
.moduleSectionDetailsBody{padding:0 16px 16px;border-top:1px solid #edf0f6}.moduleSectionDetailsBody>p{margin-top:13px}
@media(max-width:760px){.moduleGenericCard{grid-template-columns:40px minmax(0,1fr)}.moduleGenericActions{grid-column:1/-1;justify-content:flex-start;min-width:0}.moduleSectionHead{align-items:center}.moduleSectionDetails>summary{align-items:flex-start;flex-direction:column}.engineGrid{grid-template-columns:1fr}}


/* ===== Vitrine Famille + Association — 2026-09-05 ===== */
.marketingHeroFamily{min-height:660px}.heroTrust{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:22px;color:var(--muted);font-size:.88rem;font-weight:700}.marketingAppPreview{background:#fff;border:1px solid #dfe5ef;border-radius:24px;padding:18px;box-shadow:0 24px 80px rgba(32,55,110,.13);overflow:hidden}.previewTop{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 6px 17px;border-bottom:1px solid var(--line);font-size:.9rem}.previewTop span{font-weight:900}.previewTop b{font-size:.72rem;color:var(--muted)}.previewTask{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:17px 8px;border-bottom:1px solid var(--line);font-weight:750}.previewTask em{font-style:normal;font-size:.7rem;font-weight:850;color:#4f5f78;background:#f1f4f9;padding:6px 9px;border-radius:999px}.previewTask.done{opacity:.62}.previewSwitch{margin:16px 0 0;padding:13px;border-radius:13px;background:#eef2ff;color:#45558f;font-size:.76rem}.previewSwitch b{display:block;margin-top:4px;color:#1f2f50}.marketingIntro{text-align:center}.marketingIntro .sectionLead{margin-left:auto;margin-right:auto}.sectionLead{max-width:830px;color:var(--muted);font-size:1.08rem;line-height:1.75}.spacePills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}.spacePills span{display:inline-flex;padding:10px 14px;border-radius:999px;border:1px solid #dfe5ef;background:#fff;font-weight:800;font-size:.84rem;box-shadow:0 6px 20px rgba(40,60,100,.04)}.marketingFeatureBlock{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}.marketingFeatureCopy h2,.associationFeature h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.045em;margin:12px 0 20px}.marketingFeatureCopy>p,.associationFeature .split>div>p{color:var(--muted);line-height:1.75;font-size:1.05rem}.marketingBulletGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:24px 0}.marketingBulletGrid span{background:#fff;border:1px solid #e1e6ef;border-radius:12px;padding:11px 12px;font-size:.82rem;font-weight:750}.exampleBoard{background:#fff;border:1px solid #dde4ef;border-radius:22px;padding:18px;box-shadow:0 20px 70px rgba(25,45,90,.09)}.exampleBoardHead{display:flex;justify-content:space-between;gap:12px;padding:5px 5px 14px;border-bottom:1px solid var(--line)}.exampleBoardHead b{font-size:.96rem}.exampleBoardHead span{font-size:.7rem;color:var(--muted);font-weight:750}.exampleBoardHead.second{margin-top:16px}.exampleGroup{padding:14px 5px 0}.exampleGroup small{display:block;color:#8690a1;font-size:.64rem;font-weight:900;letter-spacing:.08em;margin-bottom:6px}.exampleRow{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #eef1f5;font-size:.84rem}.exampleRow:last-child{border-bottom:0}.exampleRow span{color:var(--muted);text-align:right}.associationFeature{max-width:none;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2))}.associationBoard{transform:rotate(-1deg)}.marketingUseCases{grid-template-columns:repeat(3,1fr)}.marketingUseCases article{min-height:200px}.moduleMiniGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.moduleMiniGrid span{background:#fff;border:1px solid #dfe5ef;border-radius:13px;padding:16px;font-weight:800}.marketingFinalCta{padding:38px}.marketingFinalCta .cta{justify-content:center}.marketingPageHero{position:relative}.marketingBenefits article{min-height:210px}.scenarioList{display:grid;gap:10px}.scenarioList>div{display:grid;gap:4px;background:#fff;border:1px solid #e0e5ee;border-radius:14px;padding:15px}.scenarioList span{color:var(--muted);line-height:1.5}.familyLargePreview{margin-top:8px}.associationExamples{display:grid;grid-template-columns:1fr 1fr;gap:16px}.associationExamples article{display:flex;gap:16px;background:#fff;border:1px solid #dfe5ef;border-radius:18px;padding:20px}.associationExamples h3{margin:0 0 8px}.associationExamples p{margin:0;color:var(--muted);line-height:1.6}.associationExampleIcon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:14px;background:#eef2ff;font-size:1.45rem}.associationSolo{padding-top:72px;padding-bottom:72px}.verticalPills{justify-content:flex-start}.marketingAssocSplit{align-items:center}
@media(max-width:850px){.marketingFeatureBlock{grid-template-columns:1fr}.marketingBulletGrid{grid-template-columns:1fr}.marketingUseCases,.associationExamples{grid-template-columns:1fr}.moduleMiniGrid{grid-template-columns:1fr 1fr}.associationBoard{transform:none}.marketingHeroFamily{min-height:auto}.marketingFinalCta{padding:28px 20px}}
@media(max-width:520px){.moduleMiniGrid{grid-template-columns:1fr}.previewTask,.exampleRow{align-items:flex-start;flex-direction:column}.exampleRow span{text-align:left}.heroTrust{display:grid}.marketingPageHero h1{font-size:2.35rem}}

/* Supervision erreurs : selection et suppression en masse */
.adminBulkBar{margin:10px 0;padding:10px 12px;border:1px solid #f0c5c1;border-radius:10px;background:#fff7f6;color:#8f2018;font-size:.78rem}.adminTable .checkCol{width:42px;text-align:center}.adminTable .checkCol input{width:16px;height:16px;margin:0;vertical-align:middle}

/* Erreurs supervision : liste compacte, heure et action visibles en premier */
.adminErrorCompactTable .errorTimeCol{width:108px;min-width:108px;white-space:nowrap}
.adminErrorCompactTable .errorActionCol{width:76px;min-width:76px;white-space:nowrap}
.adminErrorCompactTable .errorMessageCol{min-width:260px;width:100%}
.adminErrorCompactTable .errorMessageCol small{max-width:680px;overflow-wrap:anywhere}
.adminErrorCompactTable td.errorTimeCol b{font-size:.78rem;line-height:1.1}
.adminErrorCompactTable td.errorTimeCol small{margin-top:2px;font-size:.72rem;color:#596579}
@media(max-width:900px){
  .adminErrorCompactTable{font-size:.78rem}
  .adminErrorCompactTable th,.adminErrorCompactTable td{padding:7px 7px}
  .adminErrorCompactTable .errorMessageCol{min-width:220px}
}

/* Règles de confidentialité / Google Play */
.legalHero{padding-bottom:34px}.legalHero>div{max-width:860px}.legalPage{max-width:1040px;margin:0 auto;display:grid;gap:16px}.legalMeta{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:16px 18px;border:1px solid #e3e8f2;border-radius:16px;background:#f7f9ff;color:#526076}.legalMeta strong{color:#172033}.legalMeta a,.legalCard a{color:#315efb}.legalCard{background:#fff;border:1px solid #e4e8f0;border-radius:18px;padding:22px;box-shadow:0 4px 16px rgba(20,32,60,.04)}.legalCard h2{margin:0 0 12px;font-size:22px}.legalCard h3{margin:0 0 6px;font-size:16px}.legalCard p,.legalCard li{color:#515d70;line-height:1.65}.legalCard ul,.legalCard ol{margin:8px 0 0;padding-left:22px}.legalGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.legalGrid>div{background:#f8f9fc;border:1px solid #e8ebf1;border-radius:14px;padding:15px}.legalGrid p{margin:0;font-size:14px}.legalActions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.legalNote{font-size:13px}.legalSteps li{margin:8px 0}@media(max-width:720px){.legalGrid{grid-template-columns:1fr}.legalCard{padding:17px}.legalMeta{align-items:flex-start;flex-direction:column}}
/* Taklio 0.1.57 — éditeur visuel des moteurs/scénarios */
.tvSectionLead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.tvSectionLead p{margin:3px 0 0;color:#667085;font-size:.72rem;line-height:1.45}.tvCards{display:grid;gap:10px;margin-bottom:10px}.tvConfigCard{border:1px solid #dfe5ee;border-radius:13px;background:#fbfcfe;padding:12px}.tvConfigCardHead{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.tvConfigCardHead b{font-size:.82rem}.tvEmpty{color:#7a8699;font-size:.72rem;margin-bottom:8px}.tvScenarioBar{display:flex;align-items:end;gap:7px;flex-wrap:wrap;margin-bottom:10px}.tvScenarioBar label{display:grid;gap:4px;min-width:240px}.tvScenarioBar label span{font-size:.67rem;color:#667085;font-weight:850}.tvScenarioBar select{border:1px solid #d8dee8;border-radius:9px;padding:8px 9px;background:#fff}.tvBuilder{display:grid;grid-template-columns:185px minmax(440px,1fr) 320px;gap:10px;min-height:610px}.tvPalette,.tvInspector{border:1px solid #e1e5ec;border-radius:12px;background:#fbfcfe;padding:10px;min-width:0}.tvPalette>b{font-size:.78rem}.tvPalette>small{display:block;color:#7a8699;font-size:.64rem;line-height:1.35;margin:3px 0 9px}.tvPaletteGroup{display:grid;gap:5px;margin:10px 0}.tvPaletteGroup>span{font-size:.61rem;text-transform:uppercase;color:#8490a3;font-weight:900;letter-spacing:.04em}.tvPaletteGroup button{display:grid;grid-template-columns:25px 1fr;align-items:center;text-align:left;gap:6px;border:1px solid #dde3ec;background:#fff;color:#172033;border-radius:8px;padding:7px 8px;cursor:grab;font-size:.75rem}.tvPaletteGroup button:hover{border-color:#9fb0e3;background:#f4f7ff}.tvPaletteGroup button b{font-size:.69rem}.tvCanvasWrap{border:1px solid #dfe5ee;border-radius:12px;background:#fff;overflow:hidden;min-width:0}.tvCanvasToolbar{height:42px;padding:6px 8px;display:flex;gap:6px;align-items:center;border-bottom:1px solid #e5e9f0;background:#f8faff}.tvCanvasToolbar span{font-size:.65rem;color:#3454b4;font-weight:800;margin-left:5px}.tvCanvas{height:565px;overflow:auto;background-color:#f7f9fc;background-image:radial-gradient(#cfd8e7 1px,transparent 1px);background-size:20px 20px;position:relative}.tvSurface{position:relative;width:2400px;height:1500px;transform-origin:0 0}.tvWires{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:visible}.tvNode{position:absolute;width:215px;min-height:82px;border:1px solid #ccd5e3;border-radius:11px;background:#fff;box-shadow:0 7px 18px rgba(33,45,74,.08);z-index:2;user-select:none}.tvNode.selected{border-color:#315efb;box-shadow:0 0 0 2px rgba(49,94,251,.12),0 8px 24px rgba(33,45,74,.12)}.tvNode.trigger{background:#eef4ff;border-color:#9eb5ff}.tvNodeHead{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:8px 9px;border-bottom:1px solid #edf0f4;cursor:move}.tvNodeHead b{font-size:.69rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.tvNodeHead span{color:#98a2b3;font-size:.72rem}.tvNodeBody{padding:8px 10px 11px;color:#667085;font-size:.62rem;line-height:1.35;min-height:30px;overflow:hidden;text-overflow:ellipsis}.tvNodeOutputs{position:absolute;right:-8px;top:39px;display:grid;gap:11px}.tvPort{border:2px solid #fff;box-shadow:0 0 0 1px #8995a8;background:#667085;width:16px;height:16px;border-radius:50%;padding:0;cursor:crosshair;display:grid;place-items:center}.tvPort span{position:absolute;right:20px;font-size:.5rem;font-weight:900;color:#667085;white-space:nowrap}.tvPortIn{position:absolute;left:-8px;top:46px;background:#315efb}.tvPortOut.yes{background:#16a34a}.tvPortOut.no{background:#dc2626}.tvPortOut.linking{box-shadow:0 0 0 4px rgba(49,94,251,.2)}.tvInspector{overflow:auto;max-height:610px}.tvInspectorHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid #e5e9ef}.tvInspectorHead>div{display:flex;align-items:center;gap:7px}.tvInspectorHead b{font-size:.78rem}.tvInspector .formulaField{margin-bottom:9px}.tvInspector textarea{width:100%;border:1px solid #d8dee8;border-radius:9px;padding:8px;font:inherit;font-size:.73rem;resize:vertical}.tvInspectorSection{border:1px solid #e1e6ee;border-radius:10px;background:#fff;padding:9px;margin:9px 0}.tvInspectorSection>b{display:block;font-size:.7rem}.tvInspectorSection>small{display:block;font-size:.62rem;color:#7a8699;margin:2px 0 7px}.tvInspectorActions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.tvEmptyState,.tvMiniEmpty{color:#8a94a5;font-size:.69rem;line-height:1.45;padding:8px}.tvFieldRow{display:grid;grid-template-columns:1.1fr .85fr 1fr 34px 34px;gap:5px;align-items:center;margin:6px 0}.tvFieldRow input,.tvFieldRow select,.tvMapRow input{min-width:0;width:100%;border:1px solid #d9dfe8;border-radius:7px;padding:6px 7px;font-size:.66rem;background:#fff}.tvFieldRow label{display:flex;align-items:center;justify-content:center;font-size:.67rem}.tvMapRow{display:grid;grid-template-columns:1fr 20px 1.1fr 34px;gap:5px;align-items:center;margin:6px 0}.tvMapRow>span{text-align:center;color:#8490a3}.tvBranchLegend{display:flex;gap:6px;margin-top:8px}.tvBranchLegend span{padding:5px 7px;border-radius:7px;font-size:.61rem;font-weight:900}.tvBranchLegend .yes{background:#ecfdf3;color:#087443}.tvBranchLegend .no{background:#fff1f0;color:#b42318}.tvSwitch{margin:7px 0}.tvAdvancedJson{margin-top:12px;border-top:1px solid #e5e9ef;padding-top:9px}.tvAdvancedJson summary{font-size:.7rem;color:#667085;cursor:pointer;font-weight:850}.tvAdvancedJson textarea{width:100%;margin-top:8px}.tvDynamicGrid{display:grid;gap:13px}.tvDynamicBlock{border:1px solid #e4e8ef;border-radius:13px;padding:12px;background:#fff}.tvDynamicBlock>h3{font-size:.82rem;margin:0 0 3px}.tvDynamicBlock>p{font-size:.67rem;color:#7a8699;margin:0 0 10px}.tvFlowHelp{padding:9px 10px;background:#eef4ff;border:1px solid #cbd8ff;border-radius:9px;font-size:.68rem;color:#345092;margin-bottom:10px;line-height:1.4}
@media(max-width:1150px){.tvBuilder{grid-template-columns:155px minmax(390px,1fr) 270px}.tvNode{width:200px}}
@media(max-width:900px){.tvBuilder{grid-template-columns:1fr}.tvPalette{order:1}.tvCanvasWrap{order:2}.tvInspector{order:3;max-height:none}.tvPalette>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tvPaletteGroup{margin:0}.tvCanvas{height:500px}.tvScenarioBar label{min-width:100%;}.tvFieldRow{grid-template-columns:1fr 1fr}.tvFieldRow select{grid-column:1/-1}.tvMapRow{grid-template-columns:1fr 18px 1fr 34px}}
.tvNoScenario{position:absolute;left:260px;top:220px;width:360px;text-align:center;padding:24px;border:1px dashed #b9c4d6;border-radius:12px;background:rgba(255,255,255,.9);color:#7a8699;font-size:.75rem;line-height:1.6}.tvNoScenario b{color:#3454b4}

/* Taklio 0.1.58 — lisibilité palette éditeur visuel */
.tvBuilder{grid-template-columns:240px minmax(440px,1fr) 320px}
.tvPalette{overflow:visible}
.tvPaletteGroup button{display:flex!important;align-items:center!important;width:100%!important;min-height:42px!important;gap:10px!important;padding:8px 10px!important;overflow:visible!important;white-space:normal!important}
.tvPaletteIcon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 28px!important;width:28px!important;min-width:28px!important;font-size:1rem!important;line-height:1!important;color:#172033!important;opacity:1!important;visibility:visible!important}
.tvPaletteLabel{display:block!important;flex:1 1 auto!important;min-width:0!important;color:#172033!important;background:transparent!important;opacity:1!important;visibility:visible!important;font-size:.73rem!important;font-weight:800!important;line-height:1.25!important;text-align:left!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.tvPaletteGroup button:hover .tvPaletteLabel{color:#17398f!important}
@media(max-width:1180px){.tvBuilder{grid-template-columns:220px minmax(400px,1fr) 280px}}

/* Taklio moteur visuel v6 — palette complète, versions et branches avancées */
.tvBuilder{grid-template-columns:265px minmax(520px,1fr) 350px!important;min-height:680px}
.tvPalette{max-height:680px;overflow:auto!important}
.tvPaletteGroup{margin:12px 0!important}
.tvPaletteGroup>span{position:sticky;top:-10px;z-index:2;background:#fbfcfe;padding:7px 0 4px;display:block}
.tvPaletteGroup button{min-height:44px!important}
.tvCanvas{height:635px!important}
.tvInspector{max-height:680px!important}
.tvNodeOutputs{right:-8px;top:0!important;display:block!important}
.tvPortOut{position:absolute!important;right:0}
.tvWire{stroke:#7d8da7;stroke-width:2.2;opacity:.8}
.tvWire.yes{stroke:#16a34a}.tvWire.no{stroke:#dc2626}
.tvWireDot{fill:#7d8da7}.tvWireDot.yes{fill:#16a34a}.tvWireDot.no{fill:#dc2626}
.tvStatusPill{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em;background:#eef2f7;color:#667085}
.tvStatusPill.published{background:#ecfdf3;color:#087443}.tvStatusPill.draft{background:#fff7e6;color:#a15c00}
.tvHint{margin:8px 0;padding:8px 9px;border-radius:8px;background:#f2f6ff;border:1px solid #d8e2ff;color:#425b91;font-size:.64rem;line-height:1.45}
.tvDangerHint{background:#fff4f2;border-color:#ffd5cf;color:#9d2f24}
.tvFieldRowWide{grid-template-columns:1fr 1.2fr 1fr 1.2fr 34px 34px!important}
.tvBranchLegend{flex-wrap:wrap;align-items:center}.tvBranchLegend>span:not(.yes):not(.no){font-size:.59rem;color:#667085;line-height:1.35}
.tvScenarioBar [data-tv-publish]{background:#eef9f1;border-color:#b7dfc1;color:#176b35}
.tvScenarioBar [data-tv-rollback]{background:#f4f6fb}
@media(max-width:1250px){.tvBuilder{grid-template-columns:235px minmax(450px,1fr) 310px!important}.tvFieldRowWide{grid-template-columns:1fr 1fr!important}}
@media(max-width:900px){.tvBuilder{grid-template-columns:1fr!important}.tvPalette,.tvInspector{max-height:none!important}.tvCanvas{height:520px!important}}

/* Champs techniques : masqués par défaut, visibles uniquement après activation du mode expert Super Admin. */
.technicalOnly{display:none!important}
body.technicalFieldsEnabled details.technicalOnly{display:block!important}
body.technicalFieldsEnabled label.technicalOnly{display:flex!important}
body.technicalFieldsEnabled .technicalOnly:not(details):not(label){display:block!important}

/* Taklio 0.1.60 — permissions fines, héritage et simulateur */
.roleTemplateLink{margin:10px 0 12px;padding:12px;border:1px solid #d9e2f1;border-radius:12px;background:#f8faff}.roleTemplateLink label{display:grid;gap:6px;font-weight:800}.roleTemplateLink select{width:100%;max-width:560px}.roleTemplateLink p{margin:7px 0 0}.roleFinePermission{padding:8px 9px;border:1px solid #e3e8f0;border-radius:10px;background:#fff}.roleFinePermission>span{font-size:.74rem;font-weight:800}.roleFinePermission select{margin-top:5px}.permissionOrigin{display:inline-flex;align-items:center;width:max-content;margin-top:4px;padding:3px 7px;border-radius:999px;font-size:.6rem!important;font-weight:850!important;line-height:1.2}.permissionOrigin.inherited{background:#eef2ff;color:#4051a8}.permissionOrigin.override{background:#fff3df;color:#9a5a00}.permissionOrigin.local{background:#edf9f2;color:#16734b}.roleScopeBlock>summary{font-weight:850}.roleScopeBlock .adminFormGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dangerBox{background:#fff3f1!important;border-color:#f4c4be!important;color:#8f241b!important}.permissionGrid .permissionCheck span{min-width:0}.permissionCheck small{display:block;color:#758197;font-size:.62rem;margin-top:3px}.tableScroll{overflow:auto}.detailLine{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #eef1f5}.detailLine:last-child{border-bottom:0}
@media(max-width:760px){.roleScopeBlock .adminFormGrid{grid-template-columns:1fr}.roleTemplateLink{padding:10px}.permissionOrigin{white-space:normal}}

/* Taklio 0.1.65 - centre incidents / supervision séparée type RoadCache */
.incidentNav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}
.incidentNavItem{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid var(--border,#dfe4ea);border-radius:12px;background:var(--surface,#fff);color:inherit;text-decoration:none;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.incidentNavItem>span{font-size:20px;line-height:1}.incidentNavItem>b{font-size:13px;white-space:nowrap}.incidentNavItem>small{margin-left:auto;color:var(--muted,#667085);font-size:11px;white-space:nowrap}
.incidentNavItem:hover{border-color:#9cb4ff;transform:translateY(-1px)}.incidentNavItem.active{border-color:#5b7cfa;background:rgba(91,124,250,.08);box-shadow:inset 0 0 0 1px rgba(91,124,250,.15)}
.incidentCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 16px}
.incidentCard{display:block;min-height:165px;padding:17px;border:1px solid var(--border,#e1e5eb);border-radius:16px;background:var(--surface,#fff);color:inherit;text-decoration:none;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.incidentCard:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,42,.08)}.incidentCardTop{display:flex;justify-content:space-between;align-items:center}.incidentCardIcon{font-size:25px}.incidentState{width:10px;height:10px;border-radius:50%;background:#98a2b3}.incidentState.ok{background:#12b76a}.incidentState.warn{background:#f79009}.incidentState.bad{background:#f04438}.incidentState.neutral{background:#667085}
.incidentCard>strong{display:block;margin-top:12px;font-size:29px;line-height:1.05}.incidentCard h3{margin:7px 0 4px;font-size:15px}.incidentCard p{margin:0;color:var(--muted,#667085);font-size:12px;line-height:1.45}
.incidentCard.warn{border-color:rgba(247,144,9,.35)}.incidentCard.bad{border-color:rgba(240,68,56,.4)}.incidentCard.ok{border-color:rgba(18,183,106,.25)}
.incidentTwoCols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.incidentFeed{padding:4px 0}.incidentFeedRow{display:flex;gap:11px;align-items:flex-start;padding:11px 14px;border-top:1px solid var(--border,#eef1f4);text-decoration:none;color:inherit}.incidentFeedRow:first-child{border-top:0}.incidentFeedRow>span{font-size:18px}.incidentFeedRow>div{min-width:0}.incidentFeedRow b{display:block;font-size:13px}.incidentFeedRow small{display:block;color:var(--muted,#667085);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incidentFeedRow:hover{background:rgba(91,124,250,.045)}.incidentFeedRow.muted{opacity:.83}
.incidentBanner{margin:0 0 15px;padding:12px 15px;border-radius:12px;border:1px solid #d0d5dd;background:#f8fafc}.incidentBanner.ok{border-color:#a6f4c5;background:#ecfdf3}.incidentBanner.warn{border-color:#fedf89;background:#fffaeb}
.noiseInfo{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:0 0 14px;border:1px solid #d0d5dd;border-radius:13px;background:#f8fafc}.noiseInfo>span{font-size:21px}.noiseInfo b{display:block}.noiseInfo p{margin:3px 0 0;color:var(--muted,#667085);font-size:12px;line-height:1.5}.noiseKind{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700;background:#eef2f6}.noiseKind.legacy_error{background:#fff4e5;color:#b54708}.noiseKind.log{background:#eef4ff;color:#3538cd}.pathCode{display:inline-block;max-width:460px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.emptyState.compact{padding:18px}
@media(max-width:1180px){.incidentNav{grid-template-columns:repeat(3,minmax(0,1fr))}.incidentCards{grid-template-columns:repeat(2,minmax(0,1fr))}.incidentNavItem>small{display:none}}
@media(max-width:760px){.incidentNav{display:flex;overflow-x:auto;padding-bottom:4px}.incidentNavItem{min-width:155px}.incidentCards{grid-template-columns:1fr}.incidentTwoCols{grid-template-columns:1fr}.pathCode{max-width:240px}}

/* Taklio 0.1.65 - statistiques de visites supervision */
.visitPrivacy{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:0 0 14px;border:1px solid #cddcf8;border-radius:13px;background:#f5f8ff}.visitPrivacy>span{font-size:21px}.visitPrivacy b{display:block}.visitPrivacy p{margin:3px 0 0;color:var(--muted,#667085);font-size:12px;line-height:1.5}
.visitFilters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}.visitFilters label{display:grid;gap:5px;min-width:180px;font-size:11px;font-weight:800;color:#667085}.visitFilters select{margin:0;border:1px solid #d8dee8;border-radius:9px;padding:9px 10px;background:#fff;color:#172033}
.visitStatGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin:0 0 16px}.visitStatCard{display:flex;gap:11px;align-items:flex-start;min-height:108px;padding:14px;border:1px solid #e1e5eb;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.04)}.visitStatCard>span{font-size:22px}.visitStatCard>div{display:grid;min-width:0}.visitStatCard strong{font-size:23px;line-height:1.1}.visitStatCard b{font-size:12px;margin-top:5px}.visitStatCard small{color:#667085;font-size:10px;margin-top:3px;line-height:1.35}.visitStatCard.softOk{border-color:#abefc6;background:#f6fef9}.visitStatCard.softWarn{border-color:#fedf89;background:#fffcf5}.visitStatCard.softNeutral{background:#f8fafc}
.visitTwoCols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px}.visitChart{overflow:auto;padding:4px 0 2px}.visitBars{display:flex;align-items:flex-end;gap:5px;min-width:max-content;height:250px;padding:10px 4px 0}.visitBarCol{width:30px;height:100%;display:grid;grid-template-rows:24px minmax(0,1fr) 20px;align-items:end;text-align:center}.visitBarValue{font-size:9px;color:#667085;overflow:hidden}.visitBarTrack{height:100%;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to top,#f4f6fa,#fff);border-radius:7px 7px 3px 3px;overflow:hidden;width:18px;margin:auto}.visitBarTrack i{display:block;width:100%;min-height:2px;background:#5b7cfa;border-radius:6px 6px 2px 2px}.visitBarCol small{font-size:9px;color:#667085;white-space:nowrap}.visitLegend{display:flex;gap:14px;justify-content:space-between;color:#667085;font-size:10px;margin-top:7px}.visitLegend span{display:flex;align-items:center;gap:5px}.visitLegend i{width:9px;height:9px;border-radius:2px;background:#5b7cfa}
.visitHours{display:grid;gap:6px}.visitHour{display:grid;grid-template-columns:36px minmax(0,1fr) 55px;align-items:center;gap:8px;font-size:10px}.visitHour>span{color:#667085}.visitHour>div{height:8px;background:#eef1f5;border-radius:99px;overflow:hidden}.visitHour i{display:block;height:100%;background:#7f56d9;border-radius:99px}.visitHour b{text-align:right;font-size:10px}
.visitAreaList{display:grid;gap:12px}.visitAreaRow>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px}.visitAreaRow b{font-size:12px}.visitAreaRow span{font-size:10px;color:#667085}.visitAreaTrack{height:9px;background:#eef1f5;border-radius:99px;overflow:hidden}.visitAreaTrack i{display:block;height:100%;background:#12b76a;border-radius:99px}.visitCollection{margin:2px 0 16px;padding:10px 12px;border:1px dashed #d0d5dd;border-radius:10px;color:#667085;font-size:11px}
@media(max-width:1250px){.visitStatGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.visitTwoCols{grid-template-columns:1fr}.visitStatGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.visitStatGrid{grid-template-columns:1fr}.visitFilters{display:grid;grid-template-columns:1fr}.visitFilters label{min-width:0}.visitBars{height:210px}}

/* Taklio 0.1.66 - horaires avancés des récurrences */
.recurrenceTimeBox{margin-top:12px;padding:12px;border:1px solid #dfe5ef;border-radius:14px;background:#fbfcff}.recurrenceTimeList{display:grid;gap:7px;margin:7px 0}.recurrenceTimeInput{display:flex;align-items:center;gap:7px}.recurrenceTimeInput input[type=time]{min-width:132px;max-width:180px}.recurrenceDayTimeGrid{display:grid;gap:10px;margin-top:8px}.recurrenceDayTimeRow{display:grid;grid-template-columns:90px minmax(150px,1fr) auto;gap:10px;align-items:start;padding:10px;border:1px solid #e6eaf1;border-radius:12px;background:#fff}.recurrenceDayTimeRow>b{padding-top:8px}.miniBtn{padding:7px 10px!important;min-height:34px!important}.recurrenceTimeInput .miniBtn{font-size:18px;line-height:1;padding:4px 9px!important}.recurrenceScheduleSummary{font-size:.72rem;color:#59667b}@media(max-width:720px){.recurrenceDayTimeRow{grid-template-columns:1fr}.recurrenceDayTimeRow>b{padding-top:0}.recurrenceTimeInput input[type=time]{max-width:none;width:100%}}
