/* Reseefy Cloud Portal 0.4.32 — isolated premium interface */
.rsfy-portal{--rs-black:#111;--rs-white:#fff;--rs-bg:#f5f5f3;--rs-soft:#fafaf8;--rs-line:#e5e5e1;--rs-muted:#6d6d68;--rs-success-bg:#eafbf1;--rs-success:#087a43;position:relative;left:50%;width:100vw;margin-left:-50vw;display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh;background:var(--rs-bg)!important;color:var(--rs-black)!important;font-family:Arial,sans-serif!important;font-size:15px;line-height:1.45}
.rsfy-portal *{box-sizing:border-box}.rsfy-portal h1,.rsfy-portal h2,.rsfy-portal h3,.rsfy-portal h4,.rsfy-portal strong{font-family:Arial,sans-serif!important;color:inherit}.rsfy-portal a{box-shadow:none!important}.rsfy-portal button{font-family:Arial,sans-serif!important}
.rsfy-sidebar{position:sticky;top:0;height:100vh;background:#fff!important;border-right:1px solid var(--rs-line);padding:18px 16px;display:flex;flex-direction:column;z-index:5}.rsfy-brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;margin-bottom:31px}.rsfy-brand strong{font-family:Arial,sans-serif!important;font-weight:700!important;color:#000!important;line-height:1.1}.rsfy-logo{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:transparent!important;overflow:hidden;flex:0 0 auto}.rsfy-logo img{display:block!important;width:30px!important;height:30px!important;max-width:none!important;object-fit:contain!important;border:0!important;margin:0!important;padding:0!important}.rsfy-sidebar nav{display:flex;flex-direction:column;gap:6px}.rsfy-sidebar nav a{display:flex;align-items:center;min-height:44px;color:#111!important;background:transparent!important;text-decoration:none!important;padding:0 14px;border-radius:12px;font-family:Arial,sans-serif!important;font-size:15px;font-weight:400!important;transition:background .18s ease}.rsfy-sidebar nav a:hover,.rsfy-sidebar nav a.active{background:#eeeeeb!important;color:#000!important}.rsfy-user{margin-top:auto;border-top:1px solid var(--rs-line);padding:18px 4px 2px;display:flex;gap:10px;align-items:center;min-width:0}.rsfy-user>span{width:34px;height:34px;border-radius:50%;background:#111!important;color:#fff!important;display:flex;align-items:center;justify-content:center;font-weight:700}.rsfy-user>div{min-width:0}.rsfy-user strong,.rsfy-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rsfy-user strong{font-size:13px}.rsfy-user small{color:var(--rs-muted)!important;font-size:11px;margin-top:2px}
.rsfy-main{width:100%;max-width:1550px;padding:28px 34px 70px}.rsfy-page-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;min-height:105px}.rsfy-page-header h1{font-size:36px!important;line-height:1.08!important;letter-spacing:-1.2px!important;font-weight:700!important;color:#111!important;margin:10px 0 7px!important}.rsfy-page-header p:not(.eyebrow){margin:0!important;color:var(--rs-muted)!important;font-size:15px}.eyebrow{font-family:Arial,sans-serif!important;font-size:10px!important;letter-spacing:1.8px!important;font-weight:700!important;color:#70706b!important;margin:0!important}.rsfy-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#111!important;color:#fff!important;text-decoration:none!important;border:1px solid #111!important;padding:0 19px;border-radius:13px!important;font-size:14px;font-weight:700!important;white-space:nowrap}.rsfy-btn:hover{background:#2d2d2d!important;color:#fff!important}.rsfy-btn.secondary{background:#fff!important;color:#111!important;border-color:var(--rs-line)!important}.rsfy-btn.secondary:hover{background:#f0f0ed!important;color:#111!important}
.rsfy-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:19px 0}.rsfy-metrics>a,.rsfy-metrics>div{display:block;background:#fff!important;border:1px solid var(--rs-line);border-radius:21px!important;padding:23px;text-decoration:none!important;color:#111!important;min-height:142px;transition:transform .18s ease,border-color .18s ease}.rsfy-metrics>a:hover{transform:translateY(-2px);border-color:#cfcfca}.rsfy-metrics span,.rsfy-metrics small{display:block;color:var(--rs-muted)!important}.rsfy-metrics span{font-size:14px}.rsfy-metrics strong{display:block;font-size:37px!important;line-height:1!important;margin:17px 0 11px;color:#111!important}.rsfy-metrics small{font-size:12px}.rsfy-metrics .dark{background:#050505!important;border-color:#050505!important;color:#fff!important}.rsfy-metrics .dark span,.rsfy-metrics .dark small{color:#9d9d98!important}.rsfy-metrics .dark strong{color:#fff!important}
.rsfy-section{background:#fff!important;border:1px solid var(--rs-line)!important;border-radius:22px!important;padding:23px;margin-top:17px}.rsfy-section-page{min-height:500px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.section-head h2{font-size:25px!important;line-height:1.15!important;letter-spacing:-.5px!important;font-weight:700!important;color:#111!important;margin:7px 0 0!important}.badge,.online{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px!important;background:var(--rs-success-bg)!important;color:var(--rs-success)!important;font-size:11px!important;font-weight:700!important;white-space:nowrap}
.rsfy-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rsfy-overview-grid article{position:relative;border:1px solid var(--rs-line);border-radius:18px;padding:22px;min-height:180px}.rsfy-card-index{display:block;color:#9b9b96;font-size:11px;font-weight:700;letter-spacing:1px}.rsfy-overview-grid h3{font-size:20px!important;margin:28px 0 8px!important}.rsfy-overview-grid p{color:var(--rs-muted)!important;margin:0 0 18px!important;max-width:520px}.rsfy-overview-grid a{color:#111!important;font-weight:700;text-decoration:none!important}.rsfy-inline-license{display:flex;align-items:center;gap:12px;border-radius:14px;background:#f3f3f0;padding:11px 12px}.rsfy-inline-license code{flex:1;color:#111;font-size:14px;overflow-wrap:anywhere}.rsfy-inline-license .rsfy-copy-license{background:#111!important;color:#fff!important;border-color:#111!important}
.site-grid,.license-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.site-card,.empty{border:1px solid var(--rs-line)!important;border-radius:18px!important;padding:20px;background:#fff!important}.site-top{display:flex;justify-content:space-between;align-items:center}.site-icon{width:38px;height:38px;border-radius:11px;background:#111!important;color:#fff!important;display:flex;align-items:center;justify-content:center;font-weight:700}.site-card h3{font-size:21px!important;line-height:1.2!important;margin:24px 0 5px!important}.rsfy-domain{display:block;color:var(--rs-muted)!important;text-decoration:none!important;word-break:break-all;font-size:13px;margin-bottom:20px}.rsfy-domain:hover{text-decoration:underline!important}.rsfy-details{margin:0}.rsfy-details>div{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-top:1px solid var(--rs-line);padding:13px 0}.rsfy-details dt{color:var(--rs-muted)!important;font-size:12px}.rsfy-details dd{margin:0;text-align:right;font-size:12px;font-weight:700;color:#111}.empty{grid-column:1/-1;max-width:680px;min-height:190px;display:flex;flex-direction:column;justify-content:center}.empty h3{font-size:22px!important;margin:12px 0 7px!important}.empty p{margin:0!important;color:var(--rs-muted)!important;max-width:540px}.rsfy-empty-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#111;color:#fff;font-size:21px}
.license-card.dark{background:#050505!important;color:#fff!important;border-radius:20px!important;padding:21px;min-width:0}.rsfy-license-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.rsfy-license-head h3{font-size:23px!important;color:#fff!important;margin:8px 0 0!important}.license-card .eyebrow{color:#9b9b96!important}.rsfy-key-label{color:#9b9b96!important;font-size:11px;margin:30px 0 7px!important}.rsfy-license-key{display:flex;align-items:center;gap:9px;margin:0 0 22px}.rsfy-license-key code{flex:1;min-width:0;overflow-wrap:anywhere;background:#181818!important;color:#fff!important;padding:11px 12px;border-radius:10px;font-size:13px}.rsfy-copy-license{border:1px solid #d8d8d4!important;border-radius:10px!important;background:#fff!important;color:#111!important;padding:10px 15px!important;font-size:12px!important;font-weight:700!important;cursor:pointer;white-space:nowrap}.rsfy-copy-license:hover{background:#e8e8e5!important}.rsfy-license-details{margin:0}.rsfy-license-details>div{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #2c2c2c;padding:13px 0}.rsfy-license-details dt{color:#999!important;font-size:12px}.rsfy-license-details dd{margin:0;color:#fff;text-align:right;font-size:12px;font-weight:700}.rsfy-connected-domains{border-top:1px solid #2c2c2c;padding-top:13px;margin-top:1px}.rsfy-connected-domains>span{display:block;color:#999;font-size:12px;margin-bottom:7px}.rsfy-connected-domains a{display:block;color:#fff!important;text-decoration:none!important;font-size:12px;overflow-wrap:anywhere;margin-top:5px}
.rsfy-billing-card{border:1px solid var(--rs-line);border-radius:20px;overflow:hidden}.rsfy-billing-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px;background:#111;color:#fff}.rsfy-billing-top h3{font-size:25px!important;color:#fff!important;margin:8px 0 0!important}.rsfy-billing-top .eyebrow{color:#a5a5a0!important}.rsfy-billing-details{padding:6px 22px}.rsfy-billing-details>div:last-child{border-bottom:0}.rsfy-billing-details code{font-size:11px;overflow-wrap:anywhere}
.rsfy-modules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.rsfy-modules-grid article{border:1px solid var(--rs-line);border-radius:17px;padding:19px;min-height:160px}.rsfy-modules-grid article>span{font-size:10px;color:#999;letter-spacing:1px;font-weight:700}.rsfy-modules-grid h3{font-size:18px!important;margin:29px 0 6px!important}.rsfy-modules-grid p{font-size:12px;color:var(--rs-muted)!important;margin:0 0 13px!important}.rsfy-modules-grid strong{display:inline-flex;font-size:10px;color:var(--rs-success)!important;background:var(--rs-success-bg);border-radius:999px;padding:6px 9px}
.rsfy-cloud-login{max-width:520px;margin:80px auto;padding:42px;border:1px solid #e5e5e1;border-radius:24px;text-align:center;font-family:Arial,sans-serif!important;background:#fff}.rsfy-cloud-login .rsfy-logo{margin:auto}.rsfy-cloud-login h2{font-family:Arial,sans-serif!important;font-size:31px!important;font-weight:700!important;color:#111!important}.rsfy-cloud-login p{color:#6d6d68}
@media(max-width:980px){.rsfy-portal{grid-template-columns:1fr}.rsfy-sidebar{position:relative;height:auto;padding:13px 16px;border-right:0;border-bottom:1px solid var(--rs-line)}.rsfy-brand{margin-bottom:13px}.rsfy-sidebar nav{flex-direction:row;overflow-x:auto;padding-bottom:3px}.rsfy-sidebar nav a{flex:0 0 auto;min-height:39px}.rsfy-user{display:none}.rsfy-main{padding:24px 18px 60px}.rsfy-modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.rsfy-page-header{min-height:0;margin-bottom:20px}.rsfy-page-header h1{font-size:29px!important}.rsfy-page-header .secondary{display:none}.rsfy-metrics,.site-grid,.license-grid,.rsfy-overview-grid,.rsfy-modules-grid{grid-template-columns:1fr}.rsfy-section{padding:18px;border-radius:19px!important}.section-head{align-items:flex-start}.rsfy-license-key{align-items:stretch;flex-direction:column}.rsfy-license-key button{width:100%}.rsfy-details>div,.rsfy-license-details>div{gap:10px}.rsfy-main{padding-left:11px;padding-right:11px}.rsfy-sidebar{padding-left:11px;padding-right:11px}}

/* Marketplace 0.4.26 */
.rsfy-marketplace-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:25px;border-radius:19px;background:#111!important;color:#fff!important;margin-bottom:15px}.rsfy-marketplace-intro h3{font-size:27px!important;line-height:1.12!important;letter-spacing:-.6px!important;color:#fff!important;margin:17px 0 8px!important}.rsfy-marketplace-intro p{max-width:650px;color:#adada8!important;margin:0!important}.rsfy-marketplace-intro .rsfy-btn{background:#fff!important;color:#111!important;border-color:#fff!important}.rsfy-marketplace-intro .rsfy-btn:hover{background:#ededeb!important;color:#111!important}.rsfy-marketplace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.rsfy-marketplace-grid article{display:flex;flex-direction:column;min-height:245px;border:1px solid var(--rs-line);border-radius:18px;padding:19px;background:#fff!important}.rsfy-marketplace-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.rsfy-marketplace-top>span{font-size:10px;color:#999;letter-spacing:1px;font-weight:700}.rsfy-marketplace-top>strong{font-size:10px!important;padding:6px 9px;border-radius:999px;background:#f1f1ef!important;color:#70706b!important}.rsfy-marketplace-grid h3{font-size:20px!important;margin:32px 0 8px!important}.rsfy-marketplace-grid p{color:var(--rs-muted)!important;font-size:12px;margin:0 0 24px!important}.rsfy-marketplace-grid button{margin-top:auto;width:100%;min-height:40px;border:1px solid var(--rs-line)!important;border-radius:11px!important;background:#f4f4f1!important;color:#8a8a85!important;font-size:12px!important;font-weight:700!important;cursor:not-allowed}.rsfy-sidebar nav a:focus-visible,.rsfy-btn:focus-visible,.rsfy-copy-license:focus-visible{outline:2px solid #111!important;outline-offset:2px}
@media(max-width:980px){.rsfy-marketplace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.rsfy-marketplace-intro{align-items:flex-start;flex-direction:column}.rsfy-marketplace-grid{grid-template-columns:1fr}.rsfy-marketplace-intro .rsfy-btn{width:100%}}

/* Billing upgrade 0.4.27 */
.rsfy-billing-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:15px}.rsfy-evolve-card{display:flex;flex-direction:column;justify-content:flex-end;min-height:330px;padding:25px;border-radius:20px;background:#111!important;color:#fff!important}.rsfy-evolve-card .eyebrow{color:#9f9f9a!important}.rsfy-evolve-card h3{font-size:29px!important;line-height:1.08!important;letter-spacing:-.7px!important;color:#fff!important;margin:20px 0 10px!important}.rsfy-evolve-card p:not(.eyebrow){color:#aaa!important;margin:0 0 26px!important}.rsfy-evolve-card .rsfy-btn{align-self:flex-start;background:#fff!important;color:#111!important;border-color:#fff!important}.rsfy-evolve-card .rsfy-btn:hover{background:#e9e9e6!important;color:#111!important}.rsfy-modal-open{overflow:hidden!important}.rsfy-plans-modal{position:fixed;inset:0;z-index:999999;background:#f6f6f3;display:none;overflow:auto;padding:38px 24px}.rsfy-plans-modal[aria-hidden="false"]{display:block}.rsfy-plans-shell{position:relative;max-width:1240px;margin:0 auto}.rsfy-plans-close{position:fixed;top:22px;right:25px;width:46px;height:46px;border:1px solid #ddd!important;border-radius:50%!important;background:#fff!important;color:#111!important;font-size:30px!important;line-height:1!important;cursor:pointer;z-index:3}.rsfy-plans-heading{text-align:center;max-width:700px;margin:20px auto 35px}.rsfy-plans-heading h2{font-size:38px!important;line-height:1.05!important;letter-spacing:-1px!important;margin:12px 0 10px!important}.rsfy-plans-heading>p:last-child{color:#6d6d68!important;margin:0!important}.rsfy-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.rsfy-plan-card{display:flex;flex-direction:column;min-height:650px;padding:27px;border:1px solid #deded9;border-radius:24px;background:#fff!important;color:#111!important}.rsfy-plan-card.is-featured{background:#111!important;color:#fff!important;border-color:#111}.rsfy-plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.rsfy-plan-head h3{font-size:25px!important;margin:0!important}.rsfy-plan-head span{padding:7px 10px;border-radius:999px;background:#fff;color:#111;font-size:10px;font-weight:700}.rsfy-plan-price{display:flex;align-items:baseline;gap:8px;margin:25px 0 20px}.rsfy-plan-price strong{font-size:38px!important;letter-spacing:-1px}.rsfy-plan-price small{color:#777}.rsfy-plan-card.is-featured .rsfy-plan-price small{color:#aaa}.rsfy-plan-users{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid #e7e7e3;border-bottom:1px solid #e7e7e3;font-size:13px}.rsfy-plan-card.is-featured .rsfy-plan-users{border-color:#303030}.rsfy-plan-card ul{list-style:none!important;margin:18px 0 25px!important;padding:0!important}.rsfy-plan-card li{display:flex;align-items:flex-start;gap:9px;padding:8px 0;font-size:13px}.rsfy-plan-card li span{display:inline-flex;width:17px;height:17px;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:4px;font-size:10px;flex:0 0 auto}.rsfy-plan-card>a,.rsfy-plan-card>button{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px!important;border:1px solid #111!important;background:#111!important;color:#fff!important;text-decoration:none!important;font-weight:700!important}.rsfy-plan-card.is-featured>a{background:#fff!important;color:#111!important;border-color:#fff!important}.rsfy-plan-card>button[disabled]{background:#efefec!important;color:#8a8a85!important;border-color:#efefec!important;cursor:not-allowed}.rsfy-upgrade-checkout{max-width:760px;margin:25px auto;padding:30px;border:1px solid var(--rs-line);border-radius:22px;background:#fff}.rsfy-upgrade-checkout h3{font-size:32px!important;margin:18px 0 9px!important}.rsfy-upgrade-checkout p{color:var(--rs-muted)!important}.rsfy-upgrade-summary{display:grid;grid-template-columns:1fr auto;gap:14px;padding:18px 0;margin:25px 0;border-top:1px solid var(--rs-line);border-bottom:1px solid var(--rs-line)}.rsfy-upgrade-summary span{color:var(--rs-muted)}.rsfy-upgrade-summary strong{text-align:right;overflow-wrap:anywhere}.rsfy-confirm-plan{width:100%}.rsfy-upgrade-message{text-align:center;font-size:13px;margin:14px 0 0!important}
@media(max-width:980px){.rsfy-billing-grid,.rsfy-plan-grid{grid-template-columns:1fr}.rsfy-plan-card{min-height:0}.rsfy-plans-heading h2{font-size:31px!important}}
@media(max-width:720px){.rsfy-plans-modal{padding:70px 12px 25px}.rsfy-plans-close{top:14px;right:14px}.rsfy-evolve-card{min-height:260px}.rsfy-upgrade-checkout{padding:21px}.rsfy-upgrade-summary{grid-template-columns:1fr}.rsfy-upgrade-summary strong{text-align:left}}

/* Ajustements premium abonnement et changement d’offre — 0.4.31 */
.rsfy-billing-grid{align-items:stretch}
.rsfy-billing-card,.rsfy-evolve-card{height:100%}
.rsfy-evolve-card{justify-content:center;min-height:100%;padding:34px}
.rsfy-evolve-content{max-width:520px}
.rsfy-upgrade-page{display:flex;flex-direction:column;align-items:center}
.rsfy-upgrade-heading{width:min(100%,760px);align-self:center}
.rsfy-upgrade-checkout{width:min(100%,760px);margin:18px auto 0}
.rsfy-plans-close{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;font-size:0!important;line-height:0!important;box-shadow:0 8px 24px rgba(17,17,17,.08)!important}
.rsfy-plans-close span{position:relative;display:block;width:18px;height:18px}
.rsfy-plans-close span:before,.rsfy-plans-close span:after{content:"";position:absolute;left:8px;top:0;width:2px;height:18px;border-radius:2px;background:#111}
.rsfy-plans-close span:before{transform:rotate(45deg)}
.rsfy-plans-close span:after{transform:rotate(-45deg)}
.rsfy-plans-close:hover{background:#111!important;border-color:#111!important}
.rsfy-plans-close:hover span:before,.rsfy-plans-close:hover span:after{background:#fff}
@media(max-width:980px){.rsfy-evolve-card{min-height:280px}.rsfy-upgrade-page{min-height:auto}}
@media(max-width:720px){.rsfy-evolve-card{padding:24px;min-height:250px}.rsfy-upgrade-heading{width:100%}.rsfy-upgrade-checkout{width:100%;margin-top:8px}.rsfy-plans-close{width:44px;height:44px}}


/* Téléchargements — 0.4.33 */
.rsfy-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.rsfy-download-card{display:flex;flex-direction:column;min-height:390px;padding:26px;border:1px solid var(--rs-line);border-radius:22px;background:#fff!important;color:#111!important}
.rsfy-download-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.rsfy-download-icon{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid var(--rs-line);border-radius:14px;background:#111}
.rsfy-download-icon img{display:block!important;width:28px!important;height:28px!important;max-width:none!important;object-fit:contain!important}
.rsfy-download-copy{margin:30px 0 22px}.rsfy-download-copy h3{margin:8px 0 10px!important;font-size:25px!important;line-height:1.15!important}.rsfy-download-copy>p:last-child{margin:0!important;color:var(--rs-muted)!important;line-height:1.55!important}
.rsfy-download-meta{display:flex;justify-content:space-between;gap:18px;padding:15px 0;margin-top:auto;border-top:1px solid var(--rs-line);font-size:13px}.rsfy-download-meta span{color:var(--rs-muted)}
.rsfy-download-button{width:100%;margin-top:18px;justify-content:center}.rsfy-download-button[disabled]{background:#efefec!important;color:#8b8b86!important;border-color:#efefec!important;cursor:not-allowed!important}
.rsfy-download-help{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:18px;padding:26px;border:1px solid var(--rs-line);border-radius:22px;background:#f3f3f0}.rsfy-download-help h3{margin:7px 0 6px!important;font-size:22px!important}.rsfy-download-help p:last-child{margin:0!important;color:var(--rs-muted)!important}.rsfy-download-help .rsfy-btn{flex:0 0 auto}
@media(max-width:900px){.rsfy-download-grid{grid-template-columns:1fr}}
@media(max-width:720px){.rsfy-download-card{min-height:0;padding:22px}.rsfy-download-help{align-items:flex-start;flex-direction:column}.rsfy-download-help .rsfy-btn{width:100%;justify-content:center}}

/* v0.4.34 — parcours intégré de changement d'offre */
.rsfy-upgrade-flow{width:min(760px,100%);margin:0 auto;overflow:hidden}.rsfy-upgrade-slide[aria-hidden="true"]{display:none!important}.rsfy-upgrade-checkout,.rsfy-payment-card,.rsfy-success-card{width:100%;box-sizing:border-box}.rsfy-order-total{font-size:24px!important}.rsfy-payment-card,.rsfy-success-card{border:1px solid #e5e5e2;border-radius:22px;background:#fff;padding:28px}.rsfy-payment-head{margin-bottom:24px}.rsfy-payment-head h3,.rsfy-success-card h3{font:700 28px/1.15 Arial,sans-serif;color:#000;margin:10px 0}.rsfy-payment-head p,.rsfy-success-card p{color:#666}.rsfy-link-btn{display:block;margin:14px auto 0;border:0;background:transparent;color:#111;text-decoration:underline;cursor:pointer}.rsfy-success-card{text-align:center;padding:48px 28px}.rsfy-success-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#111;color:#fff;font-size:28px;margin:0 auto 18px}.rsfy-new-license{display:block;width:max-content;max-width:100%;margin:20px auto;padding:12px 16px;background:#f2f2f0;border-radius:10px;overflow-wrap:anywhere}.rsfy-upgrade-payment-message,.rsfy-upgrade-message{text-align:center;margin-top:12px}.rsfy-payment-card #rsfy-upgrade-pay{width:100%;margin-top:22px}@media(max-width:767px){.rsfy-upgrade-page{padding:16px!important}.rsfy-upgrade-checkout,.rsfy-payment-card,.rsfy-success-card{padding:20px!important;border-radius:16px}.rsfy-upgrade-summary{grid-template-columns:1fr!important}.rsfy-order-total{font-size:20px!important}}

/* Profil client et gestion Stripe — 0.4.35 */
.rsfy-user.rsfy-profile-trigger{width:100%;margin-top:auto;border:0;border-top:1px solid var(--rs-line);border-radius:0;background:transparent!important;padding:18px 4px 2px;display:flex;gap:10px;align-items:center;min-width:0;text-align:left;cursor:pointer;color:#111!important}
.rsfy-user.rsfy-profile-trigger:hover{background:#f7f7f5!important}.rsfy-profile-trigger i{margin-left:auto;font-style:normal;letter-spacing:1px;color:#8a8a85;font-size:13px}.rsfy-profile-trigger:focus-visible{outline:2px solid #111;outline-offset:3px}
.rsfy-profile-overlay{position:fixed;inset:0;z-index:1000000;background:rgba(17,17,17,.3);display:none;align-items:stretch;justify-content:flex-end;backdrop-filter:blur(5px)}.rsfy-profile-overlay[aria-hidden="false"]{display:flex}.rsfy-profile-panel{width:min(940px,calc(100vw - 24px));height:100vh;background:#f6f6f3;border-left:1px solid #deded9;box-shadow:-24px 0 70px rgba(0,0,0,.12);overflow:auto;animation:rsfyProfileIn .24s ease both}@keyframes rsfyProfileIn{from{transform:translateX(28px);opacity:.3}to{transform:none;opacity:1}}
.rsfy-profile-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;background:rgba(246,246,243,.96);border-bottom:1px solid #deded9;backdrop-filter:blur(12px)}.rsfy-profile-head h2{font:700 30px/1.08 Arial,sans-serif!important;letter-spacing:-.8px;margin:7px 0 0!important;color:#111!important}.rsfy-profile-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #ddd!important;border-radius:50%!important;background:#fff!important;cursor:pointer}.rsfy-profile-close span{position:relative;width:17px;height:17px}.rsfy-profile-close span:before,.rsfy-profile-close span:after{content:"";position:absolute;left:7.5px;top:0;width:2px;height:17px;background:#111;border-radius:2px}.rsfy-profile-close span:before{transform:rotate(45deg)}.rsfy-profile-close span:after{transform:rotate(-45deg)}.rsfy-profile-close:hover{background:#111!important}.rsfy-profile-close:hover span:before,.rsfy-profile-close:hover span:after{background:#fff}
.rsfy-profile-layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 94px)}.rsfy-profile-nav{position:sticky;top:94px;align-self:start;display:flex;flex-direction:column;gap:6px;padding:22px 14px}.rsfy-profile-nav button{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 14px;border:0;border-radius:12px;background:transparent!important;color:#111!important;font-size:14px;font-weight:400!important;text-align:left;cursor:pointer}.rsfy-profile-nav button:hover,.rsfy-profile-nav button.active{background:#e9e9e5!important}.rsfy-profile-alert{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#111;color:#fff;font-size:11px;font-weight:700}.rsfy-profile-content{position:relative;padding:22px 28px 60px;border-left:1px solid #e1e1dd}.rsfy-profile-loading{padding:18px;border:1px solid #e3e3df;border-radius:14px;background:#fff;color:#666}.rsfy-profile-tab{display:none}.rsfy-profile-tab.active{display:block}.rsfy-profile-title{margin-bottom:22px}.rsfy-profile-title h3{font:700 25px/1.15 Arial,sans-serif!important;letter-spacing:-.4px;margin:0 0 7px!important;color:#111!important}.rsfy-profile-title p{margin:0!important;color:#6d6d68!important}.rsfy-profile-form{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid #dfdfda;border-radius:20px;background:#fff}.rsfy-profile-form label,.rsfy-regularization>label{display:flex;flex-direction:column;gap:8px;color:#111;font-size:13px;font-weight:700}.rsfy-profile-form input,.rsfy-regularization select{width:100%;height:48px;border:1px solid #dcdcd7!important;border-radius:12px!important;background:#fff!important;color:#111!important;padding:0 14px!important;font:400 14px Arial,sans-serif!important;box-shadow:none!important}.rsfy-profile-form input:focus,.rsfy-regularization select:focus{border-color:#111!important;outline:0!important}.rsfy-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rsfy-profile-form .rsfy-btn{align-self:flex-start;margin-top:4px}.rsfy-form-message,.rsfy-profile-payment-message,.rsfy-regularize-message{min-height:20px;margin:0!important;color:#555;font-size:13px}
.rsfy-payment-methods{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.rsfy-payment-method{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #dfdfda;border-radius:17px;background:#fff}.rsfy-payment-method>div{display:flex;align-items:center;gap:10px;min-width:0}.rsfy-payment-method>div:first-child{flex-wrap:wrap}.rsfy-payment-method strong{font-size:14px}.rsfy-payment-method small{color:#777}.rsfy-card-chip{display:inline-flex;align-items:center;justify-content:center;min-width:70px;height:30px;padding:0 10px;border-radius:8px;background:#111;color:#fff;font-size:11px;font-weight:700}.rsfy-small-action{border:0!important;background:transparent!important;color:#111!important;text-decoration:underline;font-size:12px!important;cursor:pointer;padding:4px!important}.rsfy-small-action.danger{color:#8d2323!important}.rsfy-add-payment-box{margin-top:18px;padding:20px;border:1px solid #dfdfda;border-radius:18px;background:#fff}.rsfy-add-payment-box[hidden]{display:none!important}.rsfy-add-payment-box #rsfy-save-payment{width:100%;margin-top:20px}.rsfy-profile-empty{padding:28px;border:1px dashed #d4d4cf;border-radius:18px;background:#fbfbf9;text-align:center}.rsfy-profile-empty strong{display:block;font-size:18px}.rsfy-profile-empty p{margin:7px 0 0!important;color:#777!important}
.rsfy-invoices-list{display:flex;flex-direction:column;gap:11px}.rsfy-invoice-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:17px 18px;border:1px solid #dfdfda;border-radius:16px;background:#fff}.rsfy-invoice-row>div{display:flex;flex-direction:column;gap:4px}.rsfy-invoice-row small{color:#777}.rsfy-invoice-status{display:inline-flex;align-self:flex-end;padding:5px 9px;border-radius:999px;background:#ededeb;color:#555;font-size:10px;font-weight:700;text-transform:capitalize}.rsfy-invoice-status.paid{background:#eafbf1;color:#087a43}.rsfy-invoice-status.open,.rsfy-invoice-status.uncollectible{background:#fff0df;color:#985400}.rsfy-invoice-links{align-items:flex-end}.rsfy-invoice-links a{color:#111!important;font-size:12px;font-weight:700;text-decoration:underline!important;white-space:nowrap}
.rsfy-regularization{display:flex;flex-direction:column;gap:17px;padding:24px;border:1px solid #dfdfda;border-radius:20px;background:#fff}.rsfy-unpaid-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:5px;padding:21px;border-radius:16px;background:#111;color:#fff}.rsfy-unpaid-card span,.rsfy-unpaid-card small{color:#aaa;font-size:10px;letter-spacing:1px}.rsfy-unpaid-card strong{grid-column:2;grid-row:1/3;font-size:30px!important;color:#fff!important}.rsfy-unpaid-card small{grid-column:1}.rsfy-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:400!important}.rsfy-check input{margin-top:3px}.rsfy-regularization-ok{text-align:center;padding:35px 15px}.rsfy-regularization-ok span{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 14px;border-radius:50%;background:#111;color:#fff;font-size:22px}.rsfy-regularization-ok h4{font:700 21px Arial,sans-serif!important;margin:0 0 7px!important}.rsfy-regularization-ok p{margin:0!important;color:#777!important}
@media(max-width:780px){.rsfy-profile-panel{width:100vw}.rsfy-profile-layout{grid-template-columns:1fr}.rsfy-profile-nav{position:sticky;top:93px;z-index:2;flex-direction:row;overflow-x:auto;padding:12px;background:#f6f6f3;border-bottom:1px solid #deded9}.rsfy-profile-nav button{flex:0 0 auto;white-space:nowrap}.rsfy-profile-content{border-left:0;padding:20px 14px 45px}.rsfy-profile-head{padding:20px 16px}.rsfy-profile-head h2{font-size:26px!important}.rsfy-form-grid{grid-template-columns:1fr}.rsfy-payment-method{align-items:flex-start;flex-direction:column}.rsfy-payment-method>div:last-child{width:100%;justify-content:flex-end}.rsfy-invoice-row{grid-template-columns:1fr auto}.rsfy-invoice-links{grid-column:1/-1;flex-direction:row!important;align-items:center}.rsfy-profile-form{padding:18px}}


/* Control Pack */
.rsfy-pack-control .section-head p:not(.eyebrow){max-width:760px;margin:8px 0 0;color:#686868}
.rsfy-control-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin:24px 0;background:#f4f4f2;border-radius:16px}.rsfy-control-toolbar strong,.rsfy-control-toolbar small{display:block}.rsfy-control-toolbar small{margin-top:5px;color:#777}.rsfy-control-toolbar>div:last-child{display:flex;gap:8px}
.rsfy-control-list{display:grid;gap:14px}.rsfy-control-tab{border:1px solid #e4e4e1;border-radius:18px;overflow:hidden;background:#fff;transition:.18s ease}.rsfy-control-tab.is-disabled{opacity:.62;background:#f7f7f5}.rsfy-control-tab header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 22px;border-bottom:1px solid #eeeeeb}.rsfy-control-tab header>div{display:flex;align-items:center;gap:14px}.rsfy-control-tab h3{font:700 18px/1.2 Arial,sans-serif;margin:0;color:#090909}.rsfy-control-tab header p{margin:4px 0 0;color:#777;font-size:13px}.rsfy-control-index{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#0d0d0d;color:#fff;font-weight:700;font-size:12px}.rsfy-control-functions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:8px 22px 16px}.rsfy-control-functions label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 12px;border-bottom:1px solid #efefec;font-size:14px}.rsfy-control-functions input{width:18px;height:18px;accent-color:#111}.rsfy-switch input{position:absolute;opacity:0}.rsfy-switch span{display:block;width:48px;height:28px;border-radius:999px;background:#d7d7d3;position:relative;cursor:pointer;transition:.18s}.rsfy-switch span:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s}.rsfy-switch input:checked+span{background:#111}.rsfy-switch input:checked+span:after{transform:translateX(20px)}.rsfy-control-savebar{position:sticky;bottom:18px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:16px 18px;border:1px solid #ddd;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 12px 36px rgba(0,0,0,.08);backdrop-filter:blur(12px)}.rsfy-control-savebar p{margin:0;color:#555}
@media(max-width:1000px){.rsfy-control-functions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.rsfy-control-toolbar,.rsfy-control-savebar{align-items:stretch;flex-direction:column}.rsfy-control-toolbar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.rsfy-control-functions{grid-template-columns:1fr;padding:6px 14px 14px}.rsfy-control-tab header{padding:16px}.rsfy-control-savebar .rsfy-btn{width:100%}}

/* Synchronisation Plugin client — 0.4.37 */
.rsfy-download-meta-secondary{margin-top:-1px;padding-top:12px;padding-bottom:12px}.rsfy-download-notes{margin:12px 0 0!important;padding:12px 14px;border-radius:12px;background:#f5f5f2!important;color:#5f5f5a!important;font-size:13px!important;line-height:1.45!important}.rsfy-download-button{min-height:46px}

/* Mobile experience — 0.4.38 */
@media (max-width:980px){
  html,body{overflow-x:hidden!important}
  .rsfy-portal{left:auto!important;width:100%!important;margin-left:0!important;display:block!important;min-width:0!important;overflow-x:hidden!important}
  .rsfy-sidebar{position:relative!important;top:auto!important;width:100%!important;height:auto!important;padding:18px 16px 14px!important;border-right:0!important;border-bottom:1px solid var(--rs-line)!important;overflow:hidden!important}
  .rsfy-brand{margin:0 0 17px!important;gap:11px!important;font-size:18px!important}
  .rsfy-logo,.rsfy-logo img{width:30px!important;height:30px!important}
  .rsfy-sidebar nav{width:100%!important;display:flex!important;flex-direction:row!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0 0 8px!important;margin:0!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}
  .rsfy-sidebar nav::-webkit-scrollbar{display:none}
  .rsfy-sidebar nav a{flex:0 0 auto!important;min-height:42px!important;padding:0 15px!important;border-radius:12px!important;white-space:nowrap!important;font-size:14px!important;scroll-snap-align:start}
  .rsfy-sidebar nav a.active{background:#ededeb!important}
  .rsfy-user{display:flex!important;position:relative!important;margin:8px 0 0!important;padding:14px 0 0!important;border-top:1px solid var(--rs-line)!important;min-width:0!important}
  .rsfy-user>span{width:38px!important;height:38px!important;flex:0 0 38px!important}
  .rsfy-user strong{font-size:14px!important}.rsfy-user small{font-size:12px!important}
  .rsfy-main{width:100%!important;max-width:none!important;padding:22px 16px 56px!important;overflow:hidden!important}
  .rsfy-page-header{min-height:0!important;display:flex!important;align-items:flex-start!important;gap:14px!important;margin-bottom:18px!important}
  .rsfy-page-header>div:first-child{min-width:0!important;flex:1!important}
  .rsfy-page-header h1{font-size:31px!important;line-height:1.06!important;letter-spacing:-.8px!important;margin:8px 0 8px!important;overflow-wrap:anywhere}
  .rsfy-page-header p:not(.eyebrow){font-size:14px!important;line-height:1.45!important;max-width:100%!important;overflow-wrap:anywhere}
  .rsfy-page-header>.rsfy-btn{min-height:40px!important;padding:0 14px!important;font-size:12px!important;border-radius:12px!important}
  .rsfy-section{width:100%!important;min-width:0!important;padding:18px!important;margin-top:14px!important;border-radius:20px!important;overflow:hidden!important}
  .rsfy-section-page{min-height:0!important}
  .section-head{align-items:flex-start!important;gap:12px!important;margin-bottom:18px!important}
  .section-head h2{font-size:23px!important;overflow-wrap:anywhere}
  .rsfy-metrics{grid-template-columns:1fr!important;gap:11px!important;margin:14px 0!important}
  .rsfy-metrics>a,.rsfy-metrics>div{min-height:112px!important;padding:19px!important;border-radius:18px!important}
  .rsfy-metrics strong{font-size:32px!important;margin:12px 0 8px!important}
  .rsfy-overview-grid,.site-grid,.license-grid,.rsfy-billing-grid,.rsfy-subscription-grid,.rsfy-market-grid,.rsfy-download-grid,.rsfy-modules-grid{grid-template-columns:1fr!important;gap:12px!important}
  .rsfy-overview-grid article{min-height:0!important;padding:18px!important}
  .rsfy-overview-grid h3{margin:20px 0 8px!important}
  .site-card,.empty,.license-card.dark,.rsfy-billing-card,.rsfy-download-card{min-width:0!important;width:100%!important}
  .rsfy-details>div,.rsfy-license-details>div,.rsfy-billing-details>div{gap:12px!important}
  .rsfy-details dd,.rsfy-license-details dd,.rsfy-billing-details dd{max-width:58%!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .rsfy-inline-license,.rsfy-license-key{align-items:stretch!important;flex-direction:column!important}
  .rsfy-inline-license .rsfy-btn,.rsfy-license-key .rsfy-copy-license{width:100%!important}
  .rsfy-billing-top{padding:20px!important}.rsfy-billing-details{padding:5px 18px!important}
  .rsfy-upgrade-grid,.rsfy-upgrade-layout{grid-template-columns:1fr!important}
  .rsfy-upgrade-card,.rsfy-current-plan,.rsfy-upgrade-cta{height:auto!important;min-height:0!important}
  .rsfy-plans-modal-inner,.rsfy-pack-modal-inner{width:100%!important;max-width:none!important;padding:74px 14px 28px!important;overflow-y:auto!important}
  .rsfy-plan-grid,.rsfy-pack-grid{grid-template-columns:1fr!important;max-width:520px!important;margin-left:auto!important;margin-right:auto!important}
  .rsfy-plan-card,.rsfy-pack-card{min-height:0!important}
  .rsfy-upgrade-checkout,.rsfy-upgrade-stage,.rsfy-checkout-card{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .rsfy-download-card{padding:20px!important}
  .rsfy-download-card h3{font-size:28px!important;line-height:1.1!important}
  .rsfy-download-card p,.rsfy-download-notes{overflow-wrap:anywhere!important}
  .rsfy-download-button{width:100%!important}
  .rsfy-control-toolbar,.rsfy-control-savebar{width:100%!important}
}

@media (max-width:640px){
  .rsfy-sidebar{padding:16px 14px 12px!important}
  .rsfy-brand{font-size:17px!important;margin-bottom:14px!important}
  .rsfy-sidebar nav{margin-right:-14px!important;width:calc(100% + 14px)!important;padding-right:14px!important}
  .rsfy-sidebar nav a{font-size:13px!important;min-height:40px!important;padding:0 13px!important}
  .rsfy-main{padding:20px 13px 48px!important}
  .rsfy-page-header{display:block!important}
  .rsfy-page-header h1{font-size:29px!important}
  .rsfy-page-header>.rsfy-btn{margin-top:14px!important;width:100%!important}
  .eyebrow{font-size:9px!important;letter-spacing:1.6px!important}
  .rsfy-section{padding:15px!important;border-radius:18px!important}
  .section-head{flex-direction:column!important}.section-head .badge{align-self:flex-start!important}
  .section-head h2{font-size:22px!important}
  .rsfy-license-head,.site-top,.rsfy-billing-top{gap:10px!important}
  .rsfy-license-head h3,.rsfy-billing-top h3{font-size:22px!important}
  .rsfy-details>div,.rsfy-license-details>div,.rsfy-billing-details>div{align-items:flex-start!important}
  .rsfy-details dt,.rsfy-license-details dt,.rsfy-billing-details dt{max-width:40%!important}
  .rsfy-details dd,.rsfy-license-details dd,.rsfy-billing-details dd{max-width:60%!important}
  .rsfy-profile-panel{width:100%!important}
  .rsfy-profile-layout{grid-template-columns:1fr!important}
  .rsfy-profile-nav{width:100%!important;overflow-x:auto!important;scrollbar-width:none!important}
  .rsfy-profile-nav::-webkit-scrollbar{display:none}
  .rsfy-form-grid{grid-template-columns:1fr!important}
  .rsfy-invoice-row{grid-template-columns:1fr!important;gap:10px!important}
  .rsfy-invoice-links{grid-column:auto!important;align-items:flex-start!important}
  .rsfy-payment-method{align-items:flex-start!important;flex-direction:column!important}
  .rsfy-control-tab header{align-items:flex-start!important}
  .rsfy-control-tab header>div{align-items:flex-start!important}
}


/* Boutons de fermeture unifiés — 0.4.39 */
.rsfy-portal .rsfy-close-button,
.rsfy-profile-overlay .rsfy-close-button,
.rsfy-plans-modal .rsfy-close-button{
  -webkit-appearance:none!important;
  appearance:none!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d9d9d5!important;
  border-radius:999px!important;
  background:#fff!important;
  background-image:none!important;
  color:#111!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:0!important;
  box-shadow:0 8px 24px rgba(17,17,17,.08)!important;
  transform:none!important;
  cursor:pointer!important;
  overflow:hidden!important;
  touch-action:manipulation!important;
}
.rsfy-portal .rsfy-close-button svg,
.rsfy-profile-overlay .rsfy-close-button svg,
.rsfy-plans-modal .rsfy-close-button svg{
  display:block!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  pointer-events:none!important;
}
.rsfy-portal .rsfy-close-button path,
.rsfy-profile-overlay .rsfy-close-button path,
.rsfy-plans-modal .rsfy-close-button path{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.25!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
.rsfy-portal .rsfy-close-button:hover,
.rsfy-profile-overlay .rsfy-close-button:hover,
.rsfy-plans-modal .rsfy-close-button:hover{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}
.rsfy-portal .rsfy-close-button:focus-visible,
.rsfy-profile-overlay .rsfy-close-button:focus-visible,
.rsfy-plans-modal .rsfy-close-button:focus-visible{
  outline:3px solid rgba(17,17,17,.22)!important;
  outline-offset:3px!important;
}
.rsfy-plans-modal .rsfy-plans-close{
  position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;
  right:max(14px,env(safe-area-inset-right))!important;
  left:auto!important;
  bottom:auto!important;
  z-index:1000002!important;
}
.rsfy-profile-overlay .rsfy-profile-close{
  position:relative!important;
  inset:auto!important;
  z-index:4!important;
}
@media(max-width:640px){
  .rsfy-portal .rsfy-close-button,
  .rsfy-profile-overlay .rsfy-close-button,
  .rsfy-plans-modal .rsfy-close-button{
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
  }
  .rsfy-plans-modal .rsfy-plans-close{
    top:max(12px,env(safe-area-inset-top))!important;
    right:max(12px,env(safe-area-inset-right))!important;
  }
}

.rsfy-secret{display:flex;gap:8px;align-items:center}.rsfy-secret code{min-width:0;overflow-wrap:anywhere}.rsfy-toggle-secret{border:1px solid #ddd;background:#fff;color:#111;border-radius:10px;padding:10px 14px;font-weight:700}.online.is-inactive{background:#efefed!important;color:#666!important}.site-card:has(.is-inactive){opacity:.72}

/* Control Pack v0.4.44 */
.rsfy-control-pack-home .section-head p:not(.eyebrow),
.rsfy-control-editor-head .section-head p:not(.eyebrow){max-width:820px;margin:8px 0 0;color:#666}
.rsfy-control-pack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.rsfy-control-pack-card{display:flex;flex-direction:column;min-height:430px;padding:26px;border:1px solid #e2e2df;border-radius:22px;background:#fff}
.rsfy-control-pack-card.is-featured{background:#111;color:#fff;border-color:#111}
.rsfy-control-pack-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.rsfy-control-pack-card h3{margin:4px 0 0;font:700 30px/1.1 Arial,sans-serif;color:inherit}
.rsfy-control-pack-card>p{min-height:58px;margin:24px 0;color:#666;line-height:1.55}
.rsfy-control-pack-card.is-featured>p{color:#cfcfcf}
.rsfy-control-pack-card dl{margin:0 0 22px}
.rsfy-control-pack-card dl div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid #ecece9}
.rsfy-control-pack-card.is-featured dl div{border-color:#303030}
.rsfy-control-pack-card dt{color:#6e6e6e}.rsfy-control-pack-card.is-featured dt{color:#bdbdbd}
.rsfy-control-pack-card dd{margin:0;font-weight:700;color:inherit;text-align:right}
.rsfy-control-pack-card .rsfy-btn{margin-top:auto;width:100%;text-align:center;justify-content:center}
.rsfy-control-pack-card.is-featured .rsfy-btn.secondary{background:#fff!important;color:#111!important;border-color:#fff!important}
.rsfy-pack-note{margin:0 0 18px;padding:12px 14px;border:1px solid #3b3b3b;border-radius:12px;color:#eee;font-size:13px}
.rsfy-control-info{margin-top:20px;padding:20px 22px;border:1px solid #e4e4e1;border-radius:18px;background:#f6f6f3}
.rsfy-control-info strong{font:700 16px Arial,sans-serif}.rsfy-control-info p{margin:6px 0 0;color:#666;line-height:1.5}
.rsfy-back-link{display:inline-flex;margin:0 0 20px;color:#111;text-decoration:none;font-weight:700}
.rsfy-control-editor-head{margin-bottom:20px}
.rsfy-control-tab.is-required{border-color:#cfcfca;background:#fafaf8}
.rsfy-control-tab.is-required .rsfy-control-index{background:#555}
.rsfy-control-tab.is-required .rsfy-switch{opacity:.65}

@media(max-width:1100px){.rsfy-control-pack-grid{grid-template-columns:1fr}.rsfy-control-pack-card{min-height:auto}.rsfy-control-pack-card>p{min-height:0}}
@media(max-width:720px){
 .rsfy-control-pack-card{padding:20px;border-radius:18px}
 .rsfy-control-pack-card h3{font-size:26px}
 .rsfy-control-toolbar{align-items:stretch;flex-direction:column}
 .rsfy-control-toolbar>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .rsfy-control-toolbar .rsfy-btn{width:100%;justify-content:center}
 .rsfy-control-functions{grid-template-columns:1fr!important;padding:6px 14px 14px!important}
 .rsfy-control-tab header{padding:16px!important}
 .rsfy-control-tab header>div{min-width:0}
 .rsfy-control-tab h3{font-size:16px}
 .rsfy-control-savebar{position:sticky;bottom:8px;flex-direction:column;align-items:stretch;padding:14px}
 .rsfy-control-savebar .rsfy-btn{width:100%;justify-content:center}
}

/* 0.4.47 — Control Pack alignment and readability */
.rsfy-control-pack-card .rsfy-btn{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;text-align:center!important;}
.rsfy-pack-note{color:#111!important;font-weight:600!important;background:#fff!important;opacity:1!important;}
.rsfy-control-pack-card.is-featured .rsfy-pack-note{color:#fff!important;background:transparent!important;}
/* Profile workspace 0.5.00 */
.rsfy-profile-workspace{max-width:1200px}.rsfy-profile-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.rsfy-profile-tabs a{padding:11px 14px;border:1px solid #e8e8e8;border-radius:10px;text-decoration:none;color:#111;background:#fff;font-size:14px}.rsfy-profile-tabs a.active{background:#111;color:#fff;border-color:#111}.rsfy-profile-card{background:#fff;border:1px solid #ececec;border-radius:18px;padding:28px}.rsfy-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rsfy-form-grid label,.rsfy-repeat-row label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}.rsfy-form-grid .wide{grid-column:1/-1}.rsfy-form-grid input,.rsfy-form-grid textarea,.rsfy-inline input,.rsfy-inline select,.rsfy-repeat-row input{border:1px solid #ddd;border-radius:10px;padding:12px;background:#fff}.rsfy-form-grid textarea{min-height:120px}.rsfy-form-grid .check{flex-direction:row;align-items:center}.rsfy-share-box{margin-top:28px;padding:22px;background:#f6f6f6;border-radius:14px}.rsfy-inline{display:flex;gap:10px;flex-wrap:wrap}.rsfy-inline input{flex:1;min-width:220px}.rsfy-collab-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid #e2e2e2}.rsfy-collab-row small{display:block;margin-top:4px;color:#666}.rsfy-revoke,.rsfy-remove-row{border:0;background:transparent;cursor:pointer}.rsfy-repeat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 36px;gap:12px;align-items:end;padding:14px 0;border-bottom:1px solid #eee}.rsfy-add-row{margin-top:16px;border:1px solid #ddd;background:#fff;border-radius:10px;padding:11px 14px}.rsfy-savebar{display:flex;justify-content:space-between;align-items:center;margin-top:26px;padding-top:20px;border-top:1px solid #eee}@media(max-width:800px){.rsfy-form-grid{grid-template-columns:1fr}.rsfy-form-grid .wide{grid-column:auto}.rsfy-repeat-row{grid-template-columns:1fr}.rsfy-savebar{align-items:flex-start;gap:14px;flex-direction:column}}

/* Profile live booking preview 0.5.01 */
.rsfy-booking-preview[hidden]{display:none!important}
.rsfy-booking-preview{position:fixed;inset:0;z-index:1000000;display:flex;align-items:stretch;justify-content:flex-end}
.rsfy-booking-preview-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.54);backdrop-filter:blur(4px)}
.rsfy-booking-preview-panel{position:relative;z-index:2;width:min(760px,100%);height:100%;overflow:auto;background:#f7f7f5;padding:30px;box-shadow:-20px 0 60px rgba(0,0,0,.18)}
.rsfy-booking-preview-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}
.rsfy-booking-preview-head h2{margin:4px 0 8px;font:700 30px/1.1 Arial,sans-serif;color:#111}
.rsfy-booking-preview-head p:not(.eyebrow){margin:0;color:#666;line-height:1.5}
.rsfy-preview-close{display:flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;border:1px solid #dededb;border-radius:50%;background:#fff;color:#111;font-size:26px;line-height:1;cursor:pointer}
.rsfy-booking-preview-business{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #e6e6e2;border-radius:18px;background:#fff;margin-bottom:18px}
.rsfy-booking-preview-logo{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:16px;background:#111;color:#fff;font:700 22px Arial,sans-serif;overflow:hidden}
.rsfy-booking-preview-logo img{width:100%;height:100%;object-fit:cover}
.rsfy-booking-preview-business h3{margin:0 0 5px;font:700 20px Arial,sans-serif}.rsfy-booking-preview-business p{margin:0;color:#666}
.rsfy-booking-preview-categories{display:flex;gap:9px;overflow:auto;padding:2px 0 14px;scrollbar-width:thin}
.rsfy-booking-preview-category{white-space:nowrap;border:1px solid #dededb;background:#fff;color:#111;border-radius:999px;padding:11px 16px;font-weight:700;cursor:pointer}
.rsfy-booking-preview-category.active{background:#111;color:#fff;border-color:#111}
.rsfy-booking-preview-services{display:grid;grid-template-columns:1fr;gap:12px}
.rsfy-booking-preview-service{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:20px;border:1px solid #e4e4e0;border-radius:18px;background:#fff}
.rsfy-booking-preview-service h4{margin:0 0 7px;font:700 17px Arial,sans-serif;color:#111}.rsfy-booking-preview-service p{margin:0;color:#6b6b6b;font-size:14px}
.rsfy-booking-preview-price{text-align:right}.rsfy-booking-preview-price strong{display:block;font:700 17px Arial,sans-serif}.rsfy-booking-preview-price span{display:block;margin-top:5px;color:#777;font-size:13px}
.rsfy-booking-preview-empty{padding:34px;border:1px dashed #d2d2ce;border-radius:18px;text-align:center;color:#777;background:#fff}
body.rsfy-preview-open{overflow:hidden}
@media(max-width:700px){.rsfy-booking-preview-panel{padding:20px}.rsfy-booking-preview-head h2{font-size:26px}.rsfy-booking-preview-service{grid-template-columns:1fr}.rsfy-booking-preview-price{text-align:left}}

/* Reseefy Cloud 0.5.02 — éditeur premium des prestations */
.rsfy-services-editor{display:grid;gap:18px}
.rsfy-service-editor{display:block!important;padding:0!important;border:1px solid #e8e8e8!important;border-radius:18px;background:#fff;overflow:hidden}
.rsfy-service-editor-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #ededed;background:#fafafa}
.rsfy-service-editor-head>div{display:flex;align-items:center;gap:10px}.rsfy-service-grip{color:#888;letter-spacing:-3px}.rsfy-service-editor-head .rsfy-remove-row{font-size:24px;color:#c80000}
.rsfy-service-editor-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:26px;padding:22px}
.rsfy-service-image-column{display:flex;flex-direction:column;gap:12px}.rsfy-service-image-column label{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;font-size:12px}.rsfy-service-image-column input[type=range]{grid-column:1/-1;width:100%}
.rsfy-service-image-preview{height:230px;border:1px dashed #cfcfcf;border-radius:15px;background:#f4f4f4;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#777;font-weight:700}
.rsfy-service-image-preview img{width:100%;height:100%;object-fit:cover;object-position:var(--pos-x) var(--pos-y);transform:scale(var(--zoom-factor,1));transform-origin:var(--pos-x) var(--pos-y);transition:transform .15s ease,object-position .15s ease}
.rsfy-image-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rsfy-image-actions button,.rsfy-add-supplement{border:1px solid #dadada;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer}.rsfy-remove-service-image{color:#b00000}
.rsfy-service-fields{display:flex;flex-direction:column;gap:16px}.rsfy-service-fields label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}.rsfy-service-fields input,.rsfy-service-fields textarea,.rsfy-supplement-row input{border:1px solid #ddd;border-radius:10px;padding:12px;background:#fff}.rsfy-service-fields textarea{min-height:120px;resize:vertical}.rsfy-service-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rsfy-supplements{padding:20px 22px;border-top:1px solid #ededed;background:#fbfbfb}.rsfy-supplements-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.rsfy-supplements-head p{margin:4px 0 0;color:#777;font-size:13px}.rsfy-supplement-list{display:grid;gap:10px;margin-top:15px}.rsfy-supplement-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 36px;gap:10px;align-items:end;padding:12px;border:1px solid #e5e5e5;border-radius:12px;background:#fff}.rsfy-supplement-row label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}.rsfy-remove-supplement{border:0;background:transparent;color:#c00000;font-size:22px;cursor:pointer;height:42px}
.rsfy-booking-preview-service:has(.rsfy-booking-preview-thumb){grid-template-columns:92px 1fr auto}.rsfy-booking-preview-thumb{width:92px;height:92px;border-radius:14px;overflow:hidden;background:#f0f0f0}.rsfy-booking-preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}.rsfy-booking-preview-supplements{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.rsfy-booking-preview-supplements span{padding:6px 8px;border-radius:8px;background:#f2f2f2;color:#444;font-size:12px}
@media(max-width:900px){.rsfy-service-editor-grid{grid-template-columns:1fr}.rsfy-service-meta-grid{grid-template-columns:1fr 1fr}.rsfy-supplement-row{grid-template-columns:1fr 1fr}.rsfy-booking-preview-service:has(.rsfy-booking-preview-thumb){grid-template-columns:78px 1fr}.rsfy-booking-preview-price{grid-column:2}}
@media(max-width:600px){.rsfy-service-meta-grid,.rsfy-supplement-row{grid-template-columns:1fr}.rsfy-supplements-head{align-items:flex-start;flex-direction:column}.rsfy-booking-preview-service:has(.rsfy-booking-preview-thumb){grid-template-columns:1fr}.rsfy-booking-preview-thumb{width:100%;height:180px}.rsfy-booking-preview-price{grid-column:auto}}


/* Reseefy Cloud 0.5.03 — quantité des suppléments et partage rapide */
.rsfy-profile-header-actions{display:flex;align-items:center;gap:10px}
.rsfy-supplement-row{grid-template-columns:1.5fr 1fr 1fr 110px 36px}
.rsfy-quantity-toggle{align-items:flex-start!important;justify-content:flex-end}.rsfy-switch-control{position:relative;display:inline-flex;width:46px;height:26px}.rsfy-switch-control input{position:absolute!important;opacity:0!important;pointer-events:none}.rsfy-switch-control i{position:absolute;inset:0;border-radius:999px;background:#d9d9d9;transition:.2s;cursor:pointer}.rsfy-switch-control i:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s}.rsfy-switch-control input:checked+i{background:#111}.rsfy-switch-control input:checked+i:after{transform:translateX(20px)}
.rsfy-share-modal[hidden]{display:none!important}.rsfy-share-modal{position:fixed;inset:0;z-index:1000001;display:flex;align-items:center;justify-content:center;padding:24px}.rsfy-share-modal-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.54);backdrop-filter:blur(4px)}.rsfy-share-modal-panel{position:relative;z-index:2;width:min(560px,100%);padding:28px;border-radius:22px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.22)}.rsfy-share-modal-panel header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.rsfy-share-modal-panel h2{margin:4px 0 8px;font:700 28px/1.1 Arial,sans-serif}.rsfy-share-modal-panel header p:not(.eyebrow){margin:0;color:#666;line-height:1.5}.rsfy-share-modal-panel>label{display:flex;flex-direction:column;gap:8px;margin-top:15px;font-weight:700;font-size:13px}.rsfy-share-modal-panel input,.rsfy-share-modal-panel select{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:11px;padding:13px;background:#fff}.rsfy-share-permissions{margin:18px 0;padding:15px;border-radius:12px;background:#f5f5f3}.rsfy-share-permissions p{margin:5px 0 0;color:#666;line-height:1.45;font-size:13px}.rsfy-share-modal-panel>.rsfy-btn{width:100%;justify-content:center}.rsfy-share-feedback{min-height:20px;margin:12px 0 0;text-align:center;color:#555;font-size:13px}body.rsfy-share-open{overflow:hidden}
@media(max-width:900px){.rsfy-supplement-row{grid-template-columns:1fr 1fr}.rsfy-profile-header-actions{flex-wrap:wrap}}
@media(max-width:600px){.rsfy-profile-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.rsfy-profile-header-actions .rsfy-btn{justify-content:center}.rsfy-supplement-row{grid-template-columns:1fr}.rsfy-share-modal{padding:12px}.rsfy-share-modal-panel{padding:22px;border-radius:18px}}

/* Reseefy Cloud 0.5.04 — fermetures premium, partage développeur/tiers */
.rsfy-circle-close,
.rsfy-service-editor-head .rsfy-remove-row,
.rsfy-supplement-row .rsfy-remove-supplement{
 width:46px!important;height:46px!important;min-width:46px!important;padding:0!important;border:0!important;border-radius:50%!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#103f38!important;color:#fff!important;
 font:400 20px/1 Arial,sans-serif!important;cursor:pointer!important;box-shadow:none!important;transition:transform .18s ease,background .18s ease!important;
}
.rsfy-circle-close:hover,
.rsfy-service-editor-head .rsfy-remove-row:hover,
.rsfy-supplement-row .rsfy-remove-supplement:hover{background:#0b302b!important;transform:scale(1.04)}
.rsfy-service-editor-head .rsfy-remove-row{font-size:0!important}
.rsfy-service-editor-head .rsfy-remove-row:before{content:"×";font-size:21px;color:#fff}
.rsfy-supplement-row .rsfy-remove-supplement{width:42px!important;height:42px!important;min-width:42px!important;font-size:16px!important}

.rsfy-image-actions button{font-weight:700!important;min-height:42px!important;opacity:1!important;visibility:visible!important}
.rsfy-image-actions .rsfy-select-service-image{background:#fff!important;color:#111!important;border:1px solid #d8d8d8!important}
.rsfy-image-actions .rsfy-remove-service-image{background:#111!important;color:#fff!important;border:1px solid #111!important}
.rsfy-image-actions .rsfy-select-service-image:hover{background:#f5f5f5!important}
.rsfy-image-actions .rsfy-remove-service-image:hover{background:#292929!important}

.rsfy-share-types{display:grid;gap:12px}
.rsfy-share-type-card{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid #e1e1df;border-radius:15px;background:#fff;color:#111;text-align:left;cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.rsfy-share-type-card:hover{border-color:#111;transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.06)}
.rsfy-share-type-card .rsfy-share-type-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#111;color:#fff;font-weight:800}
.rsfy-share-type-card span:nth-child(2){display:flex;flex-direction:column;gap:4px}.rsfy-share-type-card strong{font-size:15px}.rsfy-share-type-card small{color:#6d6d6d;line-height:1.4}.rsfy-share-type-card b{font-size:12px;white-space:nowrap}
.rsfy-share-type-card.is-disabled{background:#f4f4f3;color:#9b9b9b;border-color:#e7e7e5;cursor:not-allowed;box-shadow:none;transform:none}.rsfy-share-type-card.is-disabled .rsfy-share-type-icon{background:#cfcfcd}.rsfy-share-type-card.is-disabled small,.rsfy-share-type-card.is-disabled b{color:#9b9b9b}
.rsfy-share-form[hidden],.rsfy-share-types[hidden]{display:none!important}
.rsfy-share-form h3{margin:5px 0 7px;font:700 23px/1.2 Arial,sans-serif}.rsfy-share-role-copy{margin:0 0 18px;color:#666;line-height:1.5}.rsfy-share-back{border:0;background:transparent;padding:0 0 14px;color:#111;font-weight:700;cursor:pointer}
.rsfy-share-usage{margin:-6px 0 16px;padding:11px 13px;border-radius:10px;background:#eef8f4;color:#174d42;font-size:12px;font-weight:700}
.rsfy-share-feedback.is-error{color:#b00020}.rsfy-share-feedback.is-success{color:#167346}

@media(max-width:600px){.rsfy-share-type-card{grid-template-columns:42px 1fr}.rsfy-share-type-card b{grid-column:2}.rsfy-circle-close{width:42px!important;height:42px!important;min-width:42px!important}}

/* Reseefy Cloud 0.5.05 */
.rsfy-page-header + .rsfy-profile-workspace{margin-top:20px}
.rsfy-share-feedback.is-success{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #bfe8d7;background:#effbf6;border-radius:12px;color:#134f3f}
.rsfy-share-feedback.is-success strong{font-size:14px}.rsfy-share-feedback.is-success span{font-size:13px}
.rsfy-share-feedback.is-error{padding:14px 16px;border:1px solid #f1c6c6;background:#fff3f3;border-radius:12px;color:#9b1c1c}


/* Reseefy Cloud 0.5.06 — correctif clic partage + contraste noir/blanc */
.rsfy-share-type-card{background:#fff!important;color:#111!important;border:1px solid #111!important;box-shadow:none!important}
.rsfy-share-type-card .rsfy-share-type-icon{background:#111!important;color:#fff!important}
.rsfy-share-type-card strong,.rsfy-share-type-card b{color:#111!important}
.rsfy-share-type-card small{color:#666!important}
.rsfy-share-type-card[data-share-type="developer"]{background:#111!important;color:#fff!important;border-color:#111!important}
.rsfy-share-type-card[data-share-type="developer"] strong,.rsfy-share-type-card[data-share-type="developer"] b{color:#fff!important}
.rsfy-share-type-card[data-share-type="developer"] small{color:#cfcfcf!important}
.rsfy-share-type-card[data-share-type="developer"] .rsfy-share-type-icon{background:#fff!important;color:#111!important}
.rsfy-share-type-card.is-disabled{background:#f2f2f2!important;color:#999!important;border-color:#d8d8d8!important}
.rsfy-share-type-card.is-disabled strong,.rsfy-share-type-card.is-disabled b,.rsfy-share-type-card.is-disabled small{color:#999!important}
.rsfy-share-type-card.is-disabled .rsfy-share-type-icon{background:#c9c9c9!important;color:#fff!important}
.rsfy-circle-close{background:#8b8b8b!important;color:#fff!important;border-radius:50%!important}
.rsfy-circle-close:hover{background:#6f6f6f!important}
#rsfy-share-send{background:#111!important;color:#fff!important;border:1px solid #111!important;cursor:pointer!important;pointer-events:auto!important;opacity:1!important}
#rsfy-share-send:disabled{opacity:.55!important;cursor:wait!important}

/* Reseefy Cloud 0.5.07 — partages et logo */
.rsfy-share-header-btn{position:relative!important;display:inline-flex!important;align-items:center!important;gap:9px!important}.rsfy-share-header-count,.rsfy-share-count-inline{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#111;color:#fff;font-size:12px;font-weight:800;line-height:1}.rsfy-share-header-btn .rsfy-share-header-count{background:#111!important;color:#fff!important}
.rsfy-view-shares-card{background:#fff!important;color:#111!important;border:1px solid #111!important}.rsfy-view-shares-card .rsfy-share-type-icon{background:#111!important;color:#fff!important}
.rsfy-shares-panel h3{font:700 24px/1.2 Arial,sans-serif;margin:6px 0 18px;display:flex;align-items:center;gap:10px}.rsfy-shares-list{display:grid;gap:10px}.rsfy-share-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 15px;border:1px solid #e3e3e3;border-radius:13px}.rsfy-share-row strong{display:block;color:#111}.rsfy-share-row small{display:block;margin-top:5px;color:#6a6a6a}.rsfy-revoke-share{border:1px solid #111!important;background:#fff!important;color:#111!important;border-radius:9px!important;padding:9px 12px!important;font-weight:700!important;cursor:pointer!important}.rsfy-revoke-share:hover{background:#111!important;color:#fff!important}.rsfy-shares-empty{margin:0;padding:18px;border-radius:12px;background:#f5f5f3;color:#666;text-align:center}
.rsfy-profile-logo-block{display:flex;align-items:center;gap:18px;margin:0 0 26px;padding:18px;border:1px solid #ececec;border-radius:16px;background:#fafafa}.rsfy-profile-logo-avatar{width:92px!important;height:92px!important;min-width:92px!important;border-radius:50%!important;border:1px dashed #bdbdbd!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;cursor:pointer!important;padding:0!important}.rsfy-profile-logo-avatar img{width:100%!important;height:100%!important;object-fit:cover!important}.rsfy-profile-logo-avatar span{font-size:28px;color:#666}.rsfy-profile-logo-block p{margin:5px 0 12px;color:#666}.rsfy-profile-logo-actions{display:flex;gap:9px;flex-wrap:wrap}.rsfy-profile-logo-actions button{border:1px solid #111!important;background:#fff!important;color:#111!important;border-radius:9px!important;padding:9px 12px!important;font-weight:700!important;cursor:pointer!important}.rsfy-profile-logo-actions button:last-child{background:#111!important;color:#fff!important}
@media(max-width:600px){.rsfy-profile-logo-block{align-items:flex-start;flex-direction:column}.rsfy-share-row{align-items:flex-start;flex-direction:column}.rsfy-revoke-share{width:100%}}

/* Reseefy Cloud 0.5.09 — prestations */
.rsfy-service-editor-head .rsfy-remove-row,.rsfy-supplement-row .rsfy-remove-supplement{background:#111!important;color:#fff!important}
.rsfy-service-editor-head .rsfy-remove-row:hover,.rsfy-supplement-row .rsfy-remove-supplement:hover{background:#2a2a2a!important}
.rsfy-add-supplement,.rsfy-add-service{background:#111!important;color:#fff!important;border-color:#111!important;font-weight:700!important}
.rsfy-add-supplement:hover,.rsfy-add-service:hover{background:#2a2a2a!important}
.rsfy-service-fields select{width:100%;border:1px solid #ddd;border-radius:10px;padding:12px;background:#fff;color:#111}


/* Reseefy Cloud 0.5.10 — curseurs noirs */
.rsfy-service-image-column input[type="range"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  height:18px!important;
  background:transparent!important;
  cursor:pointer!important;
  accent-color:#111!important;
}
.rsfy-service-image-column input[type="range"]::-webkit-slider-runnable-track{
  height:5px!important;
  border-radius:999px!important;
  background:#d4d4d4!important;
  border:0!important;
}
.rsfy-service-image-column input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:16px!important;
  height:16px!important;
  margin-top:-5.5px!important;
  border-radius:50%!important;
  border:0!important;
  background:#111!important;
  box-shadow:0 0 0 3px rgba(17,17,17,.08)!important;
}
.rsfy-service-image-column input[type="range"]:hover::-webkit-slider-thumb,
.rsfy-service-image-column input[type="range"]:focus::-webkit-slider-thumb{
  background:#000!important;
  box-shadow:0 0 0 4px rgba(17,17,17,.12)!important;
}
.rsfy-service-image-column input[type="range"]::-moz-range-track{
  height:5px!important;
  border-radius:999px!important;
  background:#d4d4d4!important;
  border:0!important;
}
.rsfy-service-image-column input[type="range"]::-moz-range-progress{
  height:5px!important;
  border-radius:999px!important;
  background:#111!important;
}
.rsfy-service-image-column input[type="range"]::-moz-range-thumb{
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  border:0!important;
  background:#111!important;
  box-shadow:0 0 0 3px rgba(17,17,17,.08)!important;
}
.rsfy-service-image-column input[type="range"]:hover::-moz-range-thumb,
.rsfy-service-image-column input[type="range"]:focus::-moz-range-thumb{
  background:#000!important;
  box-shadow:0 0 0 4px rgba(17,17,17,.12)!important;
}

/* Reseefy Cloud 0.5.12 — catégories et photos des suppléments */
.rsfy-categories-editor{display:grid;gap:16px}
.rsfy-category-card{display:grid!important;grid-template-columns:150px minmax(180px,.8fr) minmax(260px,1.4fr) 46px!important;gap:18px!important;align-items:start!important;padding:18px!important;border:1px solid #e7e7e7!important;border-radius:16px!important;background:#fff!important}
.rsfy-category-card label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:13px}
.rsfy-category-card input,.rsfy-category-card textarea{width:100%;border:1px solid #ddd;border-radius:10px;padding:12px;background:#fff}
.rsfy-category-card textarea{min-height:96px;resize:vertical}
.rsfy-category-image,.rsfy-supplement-image{display:flex;flex-direction:column;gap:8px}
.rsfy-category-image-preview,.rsfy-supplement-image-preview{display:flex;align-items:center;justify-content:center;width:100%;height:110px;border:1px dashed #cfcfcf;border-radius:13px;background:#f7f7f7;color:#555;font-weight:700;cursor:pointer;overflow:hidden;padding:0}
.rsfy-category-image-preview img,.rsfy-supplement-image-preview img{width:100%;height:100%;object-fit:cover;display:block}
.rsfy-remove-category-image,.rsfy-remove-supplement-image,.rsfy-add-category{border:1px solid #111!important;background:#111!important;color:#fff!important;border-radius:10px!important;padding:10px 12px!important;font-weight:700!important;cursor:pointer!important}
.rsfy-remove-category-image:hover,.rsfy-remove-supplement-image:hover,.rsfy-add-category:hover{background:#2a2a2a!important}
.rsfy-category-card>.rsfy-remove-row{width:44px!important;height:44px!important;min-width:44px!important;border-radius:50%!important;background:#111!important;color:#fff!important;font-size:0!important;align-self:start!important}
.rsfy-category-card>.rsfy-remove-row:before{content:"×";font-size:20px;color:#fff}
.rsfy-supplement-row{grid-template-columns:120px minmax(150px,1.5fr) minmax(100px,1fr) minmax(120px,1fr) 110px 42px!important}
.rsfy-supplement-image-preview{height:82px}
.rsfy-booking-preview-supplements span{display:flex;align-items:center;gap:8px}
@media(max-width:980px){.rsfy-category-card{grid-template-columns:130px 1fr 1fr!important}.rsfy-category-card>.rsfy-remove-row{grid-column:3}.rsfy-supplement-row{grid-template-columns:120px 1fr 1fr!important}}
@media(max-width:650px){.rsfy-category-card,.rsfy-supplement-row{grid-template-columns:1fr!important}.rsfy-category-card>.rsfy-remove-row{grid-column:auto}.rsfy-category-image-preview{height:180px}}


/* Reseefy Cloud 0.5.13 — description suppléments et organisation du catalogue */
.rsfy-supplement-description textarea{min-height:82px;resize:vertical;width:100%;border:1px solid #ddd;border-radius:10px;padding:10px;background:#fff}
.rsfy-supplement-row{grid-template-columns:110px minmax(130px,1fr) minmax(180px,1.5fr) minmax(90px,.7fr) minmax(110px,.8fr) 100px 42px!important;align-items:start!important}
.rsfy-organization-help{padding:16px 18px;margin-bottom:18px;border:1px solid #e5e5e5;border-radius:14px;background:#fafafa}.rsfy-organization-help strong{font-size:16px}.rsfy-organization-help p{margin:6px 0 0;color:#666}
.rsfy-organization-board{display:grid;gap:16px}.rsfy-org-category{border:1px solid #dcdcdc;border-radius:16px;background:#fff;overflow:hidden;transition:.18s}.rsfy-org-category.is-dragging,.rsfy-org-service.is-dragging{opacity:.45}.rsfy-org-category.is-drag-over,.rsfy-org-service.is-drag-over{outline:2px solid #111;outline-offset:3px}
.rsfy-org-category-head{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#fff}.rsfy-org-category-head strong{font-size:15px}.rsfy-org-category-head>span:last-child{margin-left:auto;color:#666;font-size:13px}.rsfy-org-drag{cursor:grab;font-size:18px;color:#222}.rsfy-org-services{display:grid;gap:9px;padding:0 14px 14px}
.rsfy-org-service{border:1px solid #dedede;border-radius:12px;background:#f7f8f9;overflow:hidden}.rsfy-org-service-summary{display:flex;align-items:center;gap:13px;padding:13px 15px}.rsfy-org-service-summary strong{font-weight:500}.rsfy-org-edit-toggle{margin-left:auto;border:0!important;background:transparent!important;color:#111!important;font-size:27px!important;line-height:1!important;width:38px;height:38px;cursor:pointer}.rsfy-org-service-editor{padding:18px;border-top:1px solid #ddd;background:#fff}.rsfy-org-editor-grid{display:grid;grid-template-columns:280px 1fr;gap:22px}.rsfy-org-service-editor .rsfy-service-image-preview{height:220px}.rsfy-org-service-editor .rsfy-supplements{margin-top:20px}
.rsfy-org-service-editor .rsfy-add-supplement,.rsfy-org-service-editor .rsfy-remove-supplement{background:#111!important;color:#fff!important;border-color:#111!important}
@media(max-width:1100px){.rsfy-supplement-row{grid-template-columns:110px 1fr 1fr!important}.rsfy-org-editor-grid{grid-template-columns:1fr}}
@media(max-width:650px){.rsfy-supplement-row{grid-template-columns:1fr!important}.rsfy-org-category-head{flex-wrap:wrap}.rsfy-org-category-head>span:last-child{width:100%;margin-left:30px}}

/* Reseefy Cloud 0.5.14 — catégories premium, boutons noirs */
.rsfy-profile-workspace[data-tab="categories"] .rsfy-categories-editor{
  gap:20px!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card{
  position:relative!important;
  grid-template-columns:180px minmax(220px,.9fr) minmax(320px,1.45fr) 48px!important;
  gap:22px!important;
  padding:22px!important;
  border:1px solid #e2e2e2!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 26px rgba(17,17,17,.035)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card:hover{
  transform:translateY(-1px)!important;
  border-color:#d5d5d5!important;
  box-shadow:0 12px 34px rgba(17,17,17,.055)!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card label{
  gap:9px!important;
  color:#111!important;
  font-size:13px!important;
  font-weight:700!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card input,
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card textarea{
  min-height:50px!important;
  border:1px solid #dedede!important;
  border-radius:12px!important;
  padding:13px 14px!important;
  color:#111!important;
  background:#fff!important;
  box-shadow:none!important;
  outline:none!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card textarea{
  min-height:112px!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card input:focus,
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card textarea:focus{
  border-color:#111!important;
  box-shadow:0 0 0 3px rgba(17,17,17,.08)!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-image{
  gap:10px!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-image-preview{
  height:144px!important;
  border:1px dashed #bdbdbd!important;
  border-radius:16px!important;
  background:#f5f5f5!important;
  color:#111!important;
  font-weight:700!important;
  line-height:1.2!important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-image-preview:hover{
  border-color:#111!important;
  background:#efefef!important;
  transform:translateY(-1px)!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-category-image-preview img{
  border-radius:15px!important;
}
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-category-image-preview,
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-remove-category-image,
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-add-category,
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-remove-row,
.rsfy-profile-workspace[data-tab="categories"] .rsfy-profile-save{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#111!important;
  border:1px solid #111!important;
  color:#fff!important;
  box-shadow:none!important;
}
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-remove-category-image,
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-add-category,
.rsfy-profile-workspace[data-tab="categories"] .rsfy-profile-save{
  min-height:46px!important;
  border-radius:12px!important;
  padding:11px 18px!important;
  font-weight:700!important;
  line-height:1.2!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-remove-category-image:hover,
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-add-category:hover,
.rsfy-profile-workspace[data-tab="categories"] .rsfy-profile-save:hover,
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-category-image-preview:hover,
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-remove-row:hover{
  background:#292929!important;
  border-color:#292929!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(17,17,17,.12)!important;
}
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-category-image-preview{
  background:#111!important;
  color:#fff!important;
}
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-category-image-preview img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-remove-row{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
.rsfy-profile-workspace[data-tab="categories"] button.rsfy-remove-row:before{
  font-size:21px!important;
  line-height:1!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-add-category{
  margin-top:2px!important;
}
.rsfy-profile-workspace[data-tab="categories"] .rsfy-profile-footer{
  margin-top:26px!important;
  padding-top:20px!important;
}
@media(max-width:980px){
  .rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card{
    grid-template-columns:160px 1fr 48px!important;
  }
  .rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card>label:nth-of-type(2){
    grid-column:2/3!important;
  }
}
@media(max-width:650px){
  .rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card{
    grid-template-columns:1fr!important;
    padding:16px!important;
  }
  .rsfy-profile-workspace[data-tab="categories"] .rsfy-category-card>label:nth-of-type(2){
    grid-column:auto!important;
  }
  .rsfy-profile-workspace[data-tab="categories"] button.rsfy-remove-row{
    position:absolute!important;
    top:14px!important;
    right:14px!important;
  }
  .rsfy-profile-workspace[data-tab="categories"] .rsfy-category-image-preview{
    height:210px!important;
  }
}

/* Reseefy Cloud 0.5.15 — correctif réel de l’onglet Catégories
   Le conteneur utilise data-active et non data-tab. */
.rsfy-profile-workspace[data-active="categories"] .rsfy-categories-editor{
  display:grid!important;
  gap:18px!important;
}
.rsfy-profile-workspace[data-active="categories"] .rsfy-category-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:170px minmax(230px,.9fr) minmax(320px,1.45fr) 48px!important;
  align-items:start!important;
  gap:22px!important;
  padding:22px!important;
  border:1px solid #e3e3e3!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(17,17,17,.04)!important;
}
.rsfy-profile-workspace[data-active="categories"] .rsfy-category-card label{
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  color:#111!important;
  font-size:13px!important;
  font-weight:700!important;
}
.rsfy-profile-workspace[data-active="categories"] .rsfy-category-card input,
.rsfy-profile-workspace[data-active="categories"] .rsfy-category-card textarea{
  width:100%!important;
  min-height:50px!important;
  border:1px solid #dedede!important;
  border-radius:12px!important;
  padding:13px 14px!important;
  background:#fff!important;
  color:#111!important;
  outline:none!important;
  box-shadow:none!important;
}
.rsfy-profile-workspace[data-active="categories"] .rsfy-category-card textarea{
  min-height:112px!important;
  resize:vertical!important;
}
.rsfy-profile-workspace[data-active="categories"] .rsfy-category-card input:focus,
.rsfy-profile-workspace[data-active="categories"] .rsfy-category-card textarea:focus{
  border-color:#111!important;
  box-shadow:0 0 0 3px rgba(17,17,17,.08)!important;
}
.rsfy-profile-workspace[data-active="categories"] .rsfy-category-image{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
/* Zone d’ajout photo blanche, rectangulaire et non ovale */
.rsfy-profile-workspace[data-active="categories"] button.rsfy-category-image-preview{
  width:100%!important;
  height:142px!important;
  min-height:142px!important;
  padding:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px dashed #bdbdbd!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#111!important;
  font-weight:700!important;
  line-height:1.25!important;
  cursor:pointer!important;
  overflow:hidden!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.rsfy-profile-workspace[data-active="categories"] button.rsfy-category-image-preview:hover{
  border-color:#111!important;
  background:#f7f7f7!important;
  color:#111!important;
}
.rsfy-profile-workspace[data-active="categories"] button.rsfy-category-image-preview img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:11px!important;
}
/* Tous les autres boutons de l’onglet Catégories en noir */
.rsfy-profile-workspace[data-active="categories"] button.rsfy-remove-category-image,
.rsfy-profile-workspace[data-active="categories"] button.rsfy-add-category,
.rsfy-profile-workspace[data-active="categories"] button.rsfy-remove-row,
.rsfy-profile-workspace[data-active="categories"] #rsfy-save-profile{
  background:#111!important;
  border:1px solid #111!important;
  color:#fff!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.rsfy-profile-workspace[data-active="categories"] button.rsfy-remove-category-image,
.rsfy-profile-workspace[data-active="categories"] button.rsfy-add-category,
.rsfy-profile-workspace[data-active="categories"] #rsfy-save-profile{
  min-height:46px!important;
  padding:11px 18px!important;
  border-radius:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
}
.rsfy-profile-workspace[data-active="categories"] button.rsfy-remove-row{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  padding:0!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
}
.rsfy-profile-workspace[data-active="categories"] button.rsfy-remove-row:before{
  content:"×"!important;
  color:#fff!important;
  font-size:21px!important;
  line-height:1!important;
}
.rsfy-profile-workspace[data-active="categories"] button.rsfy-remove-category-image:hover,
.rsfy-profile-workspace[data-active="categories"] button.rsfy-add-category:hover,
.rsfy-profile-workspace[data-active="categories"] button.rsfy-remove-row:hover,
.rsfy-profile-workspace[data-active="categories"] #rsfy-save-profile:hover{
  background:#2a2a2a!important;
  border-color:#2a2a2a!important;
  color:#fff!important;
}
.rsfy-profile-workspace[data-active="categories"] .rsfy-add-category{
  margin-top:0!important;
  justify-self:start!important;
}
.rsfy-profile-workspace[data-active="categories"] .rsfy-savebar{
  margin-top:26px!important;
  padding-top:20px!important;
}
@media(max-width:980px){
  .rsfy-profile-workspace[data-active="categories"] .rsfy-category-card{
    grid-template-columns:150px 1fr 48px!important;
  }
  .rsfy-profile-workspace[data-active="categories"] .rsfy-category-card>label:nth-of-type(2){
    grid-column:2/3!important;
  }
}
@media(max-width:650px){
  .rsfy-profile-workspace[data-active="categories"] .rsfy-category-card{
    grid-template-columns:1fr!important;
    padding:16px!important;
  }
  .rsfy-profile-workspace[data-active="categories"] .rsfy-category-card>label:nth-of-type(2){
    grid-column:auto!important;
  }
  .rsfy-profile-workspace[data-active="categories"] button.rsfy-remove-row{
    position:absolute!important;
    top:14px!important;
    right:14px!important;
  }
  .rsfy-profile-workspace[data-active="categories"] button.rsfy-category-image-preview{
    height:190px!important;
  }
}

/* 0.5.16 — premium mobile account header and drawer */
.rsfy-mobile-topbar{display:block}.rsfy-mobile-menu-toggle{display:none}
.rsfy-profile-mobile-account{display:none}
@media(max-width:980px){
  .rsfy-sidebar{position:sticky!important;top:0!important;z-index:80!important;background:#fff!important}
  .rsfy-mobile-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
  .rsfy-brand{margin:0!important}
  .rsfy-mobile-menu-toggle{display:inline-flex!important;width:46px;height:46px;border:0!important;border-radius:14px!important;background:#fff!important;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:0!important;box-shadow:0 8px 28px rgba(0,0,0,.06);cursor:pointer}
  .rsfy-mobile-menu-toggle span{display:block;width:22px;height:2px;border-radius:99px;background:#111;transition:transform .22s ease,opacity .22s ease}
  .rsfy-mobile-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .rsfy-mobile-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .rsfy-sidebar>.rsfy-user{display:none!important}
  .rsfy-profile-overlay{align-items:stretch!important;background:rgba(17,17,17,.38)!important;backdrop-filter:blur(8px)!important}
  .rsfy-profile-panel{width:min(92vw,420px)!important;height:100dvh!important;margin-left:auto!important;border-left:1px solid #e7e7e2!important;border-radius:24px 0 0 24px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;animation:rsfyMobileDrawerIn .28s cubic-bezier(.2,.8,.2,1) both!important}
  @keyframes rsfyMobileDrawerIn{from{transform:translateX(100%);opacity:.65}to{transform:none;opacity:1}}
  .rsfy-profile-head{padding:22px 20px!important;flex:0 0 auto!important}
  .rsfy-profile-head h2{font-size:25px!important}
  .rsfy-profile-layout{display:flex!important;flex:1 1 auto!important;min-height:0!important;flex-direction:column!important;overflow:hidden!important}
  .rsfy-profile-nav{position:static!important;display:flex!important;flex-direction:column!important;overflow:visible!important;padding:16px 14px 10px!important;border-bottom:1px solid #e6e6e1!important;background:#f6f6f3!important;gap:5px!important}
  .rsfy-profile-nav button{width:100%!important;min-height:48px!important;flex:0 0 auto!important;border-radius:14px!important;padding:0 15px!important;font-size:15px!important}
  .rsfy-profile-nav button.active{background:#111!important;color:#fff!important}
  .rsfy-profile-nav button.active .rsfy-profile-alert{background:#fff!important;color:#111!important}
  .rsfy-profile-content{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:20px 16px 30px!important;background:#f6f6f3!important}
  .rsfy-profile-mobile-account{display:flex!important;align-items:center;gap:12px;padding:15px 16px calc(15px + env(safe-area-inset-bottom));border-top:1px solid #deded8;background:#fff;flex:0 0 auto}
  .rsfy-profile-mobile-user{display:flex;align-items:center;gap:11px;min-width:0;flex:1}.rsfy-profile-mobile-user>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-weight:700}.rsfy-profile-mobile-user>div{min-width:0}.rsfy-profile-mobile-user strong,.rsfy-profile-mobile-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rsfy-profile-mobile-user strong{font-size:14px}.rsfy-profile-mobile-user small{font-size:11px;color:#777;margin-top:2px}
  .rsfy-profile-mobile-more-wrap{position:relative}.rsfy-profile-mobile-more{width:42px;height:42px;border:1px solid #e2e2dd!important;border-radius:13px!important;background:#fff!important;color:#111!important;font-weight:700;letter-spacing:2px;cursor:pointer}.rsfy-profile-mobile-more-menu{position:absolute;right:0;bottom:50px;min-width:165px;padding:7px;border:1px solid #dfdfda;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.15)}.rsfy-profile-mobile-more-menu a{display:block;padding:11px 12px;border-radius:10px;color:#111!important;text-decoration:none!important;font-weight:700;font-size:13px}.rsfy-profile-mobile-more-menu a:hover{background:#f1f1ee}
}
@media(max-width:720px){.rsfy-main{padding-top:20px!important}.rsfy-page-header{margin-bottom:18px!important}}

/* 0.5.17 — vues mobiles plein écran du compte, retour et hamburger sans ombre */
.rsfy-profile-back{display:none}
@media(max-width:980px){
  .rsfy-mobile-menu-toggle{box-shadow:none!important}
  .rsfy-profile-panel{width:100vw!important;max-width:none!important;border-left:0!important;border-radius:0!important;box-shadow:none!important}
  .rsfy-profile-head{min-height:92px!important;padding:20px 18px!important}
  .rsfy-profile-head-copy{min-width:0;flex:1}
  .rsfy-profile-back{display:inline-flex!important;align-items:center;gap:7px;border:0!important;background:transparent!important;color:#111!important;padding:8px 4px!important;font:700 14px/1 Arial,sans-serif!important;cursor:pointer}
  .rsfy-profile-back[hidden]{display:none!important}
  .rsfy-profile-back svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .rsfy-profile-panel[data-mobile-view="content"] .rsfy-profile-head-copy{display:none!important}
  .rsfy-profile-panel[data-mobile-view="content"] .rsfy-profile-head{justify-content:space-between!important}
  .rsfy-profile-panel[data-mobile-view="menu"] .rsfy-profile-nav{display:flex!important}
  .rsfy-profile-panel[data-mobile-view="menu"] .rsfy-profile-content{display:none!important}
  .rsfy-profile-panel[data-mobile-view="content"] .rsfy-profile-nav{display:none!important}
  .rsfy-profile-panel[data-mobile-view="content"] .rsfy-profile-content{display:block!important;flex:1 1 auto!important;padding:24px 18px calc(98px + env(safe-area-inset-bottom))!important;background:#f6f6f3!important}
  .rsfy-profile-panel[data-mobile-view="content"] .rsfy-profile-mobile-account{display:none!important}
  .rsfy-profile-nav{flex:1 1 auto!important;padding:8px 0!important;gap:0!important;background:#fff!important;border-bottom:0!important;overflow-y:auto!important}
  .rsfy-profile-nav button{min-height:64px!important;border-radius:0!important;border-bottom:1px solid #ededE8!important;padding:0 24px!important;background:#fff!important;font-size:17px!important}
  .rsfy-profile-nav button:hover,.rsfy-profile-nav button.active{background:#111!important;color:#fff!important}
  .rsfy-profile-layout{background:#fff!important}
  .rsfy-profile-mobile-account{border-radius:0!important}
}

/* 0.5.18 — marges latérales réelles et bouton options sans conteneur */
@media(max-width:980px){
  .rsfy-profile-overlay{
    padding:12px!important;
    box-sizing:border-box!important;
    align-items:stretch!important;
    justify-content:center!important;
  }
  .rsfy-profile-panel{
    width:calc(100vw - 24px)!important;
    max-width:none!important;
    height:calc(100dvh - 24px)!important;
    margin:0 auto!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .rsfy-profile-mobile-more{
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    padding:10px 2px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#111!important;
    font-size:18px!important;
    line-height:1!important;
    letter-spacing:3px!important;
  }
  .rsfy-profile-mobile-more:hover,
  .rsfy-profile-mobile-more:focus,
  .rsfy-profile-mobile-more:active{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    outline:none!important;
  }
}

/* 0.5.19 — panneau mobile plein écran, marge interne et sélection arrondie */
@media(max-width:980px){
  .rsfy-profile-overlay{
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
  }
  .rsfy-profile-panel{
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  .rsfy-profile-nav{
    padding:18px 22px 22px!important;
    gap:8px!important;
    background:#fff!important;
    border:0!important;
  }
  .rsfy-profile-nav button{
    min-height:58px!important;
    padding:0 18px!important;
    border:0!important;
    border-radius:16px!important;
    background:#fff!important;
    color:#111!important;
    font-size:14px!important;
    line-height:1.25!important;
    text-align:left!important;
  }
  .rsfy-profile-nav button:hover{
    background:#f4f4f1!important;
    color:#111!important;
  }
  .rsfy-profile-nav button.active,
  .rsfy-profile-nav button.active:hover{
    background:#111!important;
    color:#fff!important;
    border-radius:16px!important;
  }
  .rsfy-profile-mobile-more{
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}

/* 0.5.20 — lien de déconnexion mobile noir et toujours lisible */
@media(max-width:980px){
  .rsfy-profile-mobile-more-menu a,
  .rsfy-profile-mobile-more-menu a:visited,
  .rsfy-profile-mobile-more-menu a:hover,
  .rsfy-profile-mobile-more-menu a:focus,
  .rsfy-profile-mobile-more-menu a:active{
    color:#111111!important;
    -webkit-text-fill-color:#111111!important;
    background:#ffffff!important;
    opacity:1!important;
  }
}

/* 0.5.21 — options compte mobile plus discrètes */
@media(max-width:980px){
  .rsfy-profile-mobile-more{
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    padding:8px 2px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    font-size:13px!important;
    line-height:1!important;
    letter-spacing:1.5px!important;
  }
}

/* 0.5.22 — menu Déconnexion mobile réellement visible et au-dessus du footer */
@media(max-width:980px){
  .rsfy-profile-mobile-account,
  .rsfy-profile-mobile-more-wrap{
    overflow:visible!important;
  }
  .rsfy-profile-mobile-more-wrap{
    position:relative!important;
    z-index:10020!important;
  }
  .rsfy-profile-mobile-more{
    position:relative!important;
    z-index:10022!important;
    font-size:12px!important;
    letter-spacing:1.25px!important;
  }
  .rsfy-profile-mobile-more-menu[hidden]{
    display:none!important;
  }
  .rsfy-profile-mobile-more-menu:not([hidden]){
    display:block!important;
    position:fixed!important;
    right:20px!important;
    bottom:calc(88px + env(safe-area-inset-bottom))!important;
    min-width:160px!important;
    width:auto!important;
    padding:6px!important;
    margin:0!important;
    border:1px solid #deded9!important;
    border-radius:12px!important;
    background:#ffffff!important;
    box-shadow:0 16px 42px rgba(0,0,0,.18)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:10030!important;
  }
  .rsfy-profile-mobile-more-menu a,
  .rsfy-profile-mobile-more-menu a:visited,
  .rsfy-profile-mobile-more-menu a:hover,
  .rsfy-profile-mobile-more-menu a:focus,
  .rsfy-profile-mobile-more-menu a:active{
    display:block!important;
    width:100%!important;
    padding:12px 14px!important;
    margin:0!important;
    border:0!important;
    border-radius:8px!important;
    background:#ffffff!important;
    color:#111111!important;
    -webkit-text-fill-color:#111111!important;
    font:700 14px/1.2 Arial,sans-serif!important;
    text-align:left!important;
    text-decoration:none!important;
    opacity:1!important;
    visibility:visible!important;
    white-space:nowrap!important;
  }
  .rsfy-profile-mobile-more-menu a:hover,
  .rsfy-profile-mobile-more-menu a:focus{
    background:#f1f1ee!important;
  }
}


/* 0.5.23 — Mon activité, actions alignées et sous-onglets en slide mobile */
.rsfy-portal[data-section="profile"] .rsfy-page-header{
  align-items:flex-start!important;
}
.rsfy-portal[data-section="profile"] .rsfy-page-header>div:first-child{
  flex:1 1 auto;
  min-width:0;
}
.rsfy-portal[data-section="profile"] .rsfy-profile-header-actions{
  flex:0 0 auto;
  margin-left:auto;
  justify-content:flex-end;
}
.rsfy-profile-tabs{
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding-bottom:3px;
}
.rsfy-profile-tabs::-webkit-scrollbar{display:none!important}
.rsfy-profile-tabs a{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  scroll-snap-align:start;
}
@media(max-width:780px){
  .rsfy-portal[data-section="profile"] .rsfy-page-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    column-gap:12px!important;
    row-gap:10px!important;
    min-height:0!important;
    margin-bottom:16px!important;
  }
  .rsfy-portal[data-section="profile"] .rsfy-page-header>div:first-child{
    grid-column:1!important;
    grid-row:1!important;
  }
  .rsfy-portal[data-section="profile"] .rsfy-profile-header-actions{
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    margin:0!important;
  }
  .rsfy-portal[data-section="profile"] .rsfy-profile-header-actions .rsfy-btn{
    width:auto!important;
    min-height:42px!important;
    padding:0 13px!important;
    margin:0!important;
    font-size:13px!important;
  }
  .rsfy-portal[data-section="profile"] .rsfy-page-header p:not(.eyebrow){
    max-width:620px!important;
  }
  .rsfy-profile-tabs{
    width:calc(100vw - 26px)!important;
    max-width:none!important;
    margin:0 0 18px!important;
    gap:8px!important;
  }
  .rsfy-profile-tabs a{
    padding:11px 14px!important;
  }
}
@media(max-width:520px){
  .rsfy-portal[data-section="profile"] .rsfy-page-header{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .rsfy-portal[data-section="profile"] .rsfy-profile-header-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .rsfy-portal[data-section="profile"] .rsfy-profile-header-actions .rsfy-btn{
    min-height:38px!important;
    padding:0 11px!important;
    font-size:12px!important;
  }
}

/* Storage 0.5.27 */
.rsfy-storage-page{background:#fff;border:1px solid #e4e4e1;border-radius:22px;padding:28px}.rsfy-storage-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}.rsfy-storage-hero h2{margin:6px 0;font-size:28px}.rsfy-storage-hero>strong{font-size:26px}.rsfy-storage-meter,.rsfy-storage-mini{height:10px;background:#eee;border-radius:999px;overflow:hidden;margin:18px 0 26px}.rsfy-storage-meter span,.rsfy-storage-mini span{display:block;height:100%;background:#111;border-radius:inherit}.rsfy-storage-meter.warning span{background:#c58b00}.rsfy-storage-meter.danger span{background:#b42318}.rsfy-storage-alert{padding:14px 16px;border-radius:12px;background:#fff7df;margin:-8px 0 22px}.rsfy-storage-alert.danger{background:#fff0ee}.rsfy-storage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rsfy-storage-grid article{border:1px solid #e8e8e5;border-radius:16px;padding:18px}.rsfy-storage-grid article>div:first-child{display:flex;justify-content:space-between;gap:12px}.rsfy-storage-grid article span{color:#6c6c68}.rsfy-storage-mini{height:6px;margin:14px 0 0}.rsfy-storage-plans{margin-top:26px;border-top:1px solid #eee;padding-top:24px}.rsfy-storage-plans>div{display:flex;gap:10px;flex-wrap:wrap}.rsfy-storage-plan{border:1px solid #ddd;background:#fff;border-radius:14px;padding:14px 18px;min-width:130px;text-align:left}.rsfy-storage-plan strong,.rsfy-storage-plan span{display:block}.rsfy-storage-plan span{margin-top:5px;color:#666}@media(max-width:700px){.rsfy-storage-grid{grid-template-columns:1fr}.rsfy-storage-hero{align-items:flex-start}.rsfy-storage-page{padding:20px}}

/* Reseefy Cloud 0.5.28 — alerte stockage tableau de bord */
.rsfy-storage-dashboard-alert{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 20px;padding:20px 22px;border:1px solid #f0b8b3;border-radius:18px;background:#fff0ee;color:#8f1d14}.rsfy-storage-dashboard-alert__copy{max-width:820px}.rsfy-storage-dashboard-alert__copy strong{display:block;margin:0 0 6px;font-size:17px;color:#8f1d14}.rsfy-storage-dashboard-alert__copy p{margin:0;line-height:1.5;color:#9d2b22}.rsfy-storage-dashboard-alert__actions{display:flex;gap:10px;flex:0 0 auto}.rsfy-storage-alert-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:12px;font-weight:700;text-decoration:none!important;white-space:nowrap}.rsfy-storage-alert-btn--secondary{border:1px solid #c63c31;background:#fff;color:#9b241b!important}.rsfy-storage-alert-btn--primary{border:1px solid #111;background:#111;color:#fff!important}.rsfy-storage-mini.ok span{background:#178443}.rsfy-storage-mini.warning span{background:#c58b00}.rsfy-storage-mini.danger span{background:#b42318}#augmenter-stockage{scroll-margin-top:28px}@media(max-width:760px){.rsfy-storage-dashboard-alert{align-items:stretch;flex-direction:column}.rsfy-storage-dashboard-alert__actions{display:grid;grid-template-columns:1fr}.rsfy-storage-alert-btn{width:100%}}


/* Bibliothèque de gestion du stockage v0.5.29 */
.rsfy-storage-library{margin-top:28px;border-top:1px solid #ececea;padding-top:28px}.rsfy-storage-library__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.rsfy-storage-library__head h3{font-size:24px;margin:4px 0 6px}.rsfy-storage-library__head p{margin:0;color:#686864}.rsfy-storage-search{display:flex;gap:10px;align-items:center}.rsfy-storage-search input{height:44px;min-width:230px;border:1px solid #dededb;border-radius:999px;padding:0 16px}.rsfy-storage-delete-selected,.rsfy-storage-delete-one{border:0;background:#111;color:#fff;border-radius:12px;padding:11px 15px;font-weight:700;cursor:pointer}.rsfy-storage-delete-selected:disabled{opacity:.35;cursor:not-allowed}.rsfy-storage-tabs{display:flex;gap:8px;overflow:auto;margin:24px 0 12px}.rsfy-storage-tabs button{border:0;background:transparent;border-radius:999px;padding:10px 15px;white-space:nowrap}.rsfy-storage-tabs button.active{background:#f0f0ee;font-weight:700}.rsfy-storage-table{border:1px solid #e3e3df;border-radius:18px;overflow:hidden}.rsfy-storage-row{display:grid;grid-template-columns:38px minmax(260px,1fr) 180px 110px 110px;align-items:center;gap:12px;min-height:68px;padding:0 16px;border-bottom:1px solid #ececea}.rsfy-storage-row:last-child{border-bottom:0}.rsfy-storage-row--head{min-height:52px;background:#fafafa}.rsfy-storage-name{display:flex;align-items:center;gap:12px;min-width:0}.rsfy-storage-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rsfy-storage-fileicon{width:32px;height:32px;display:grid;place-items:center;border:1px solid #dededb;border-radius:9px}.rsfy-storage-delete-one{background:transparent;color:#8f1d14;padding:8px}.rsfy-storage-empty{padding:40px;text-align:center;color:#777}.rsfy-storage-feedback{min-height:24px;margin-top:12px;font-weight:700}.rsfy-storage-row[hidden]{display:none!important}@media(max-width:850px){.rsfy-storage-library__head{flex-direction:column}.rsfy-storage-search{width:100%}.rsfy-storage-search input{min-width:0;flex:1}.rsfy-storage-row{grid-template-columns:32px 1fr 82px}.rsfy-storage-row>*:nth-child(3){display:none}.rsfy-storage-row>*:nth-child(4){font-size:12px}.rsfy-storage-row--head strong:nth-of-type(2){display:none}}

/* Stockage v0.5.30 */
.rsfy-storage-plan{background:#f1f1ef!important;border:1px solid #e5e5e2!important;color:#111!important;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease;}
.rsfy-storage-plan:hover{background:#e8e8e5!important;border-color:#d8d8d4!important;transform:translateY(-1px);}
.rsfy-storage-plan strong,.rsfy-storage-plan span,.rsfy-storage-plan small{color:inherit!important;}
.rsfy-storage-plan.is-current{background:#111!important;border-color:#111!important;color:#fff!important;cursor:default;transform:none;opacity:1!important;}
.rsfy-storage-plan.is-current span,.rsfy-storage-plan.is-current small{color:#d8d8d8!important;}
.rsfy-storage-plan small{display:block;margin-top:5px;font-size:11px;font-weight:700;}
.rsfy-storage-plan-feedback{min-height:20px;margin:12px 0 0;color:#555;font-size:13px;}

/* Reseefy Cloud Portal 0.5.31 — actions licence & stockage */
.rsfy-toggle-secret{
  background:#fff!important;
  color:#111!important;
  border:1px solid #dededb!important;
}
.rsfy-toggle-secret:hover{background:#f7f7f5!important;color:#111!important;}
.rsfy-storage-delete-selected{
  background:#111!important;
  color:#fff!important;
  opacity:1!important;
  transition:opacity .16s ease,background .16s ease;
}
.rsfy-storage-delete-selected:disabled{
  background:#111!important;
  color:#fff!important;
  opacity:.28!important;
  cursor:not-allowed!important;
}
.rsfy-storage-delete-selected:not(:disabled){
  background:#111!important;
  color:#fff!important;
  opacity:1!important;
  cursor:pointer!important;
}

/* Reseefy Cloud Portal 0.5.37 — réduction typographique demandée (-2 px) */
.rsfy-portal .rsfy-sidebar nav a{font-size:13px!important}
.rsfy-portal .rsfy-page-header p:not(.eyebrow){font-size:13px!important}
.rsfy-portal .rsfy-overview-grid p,
.rsfy-portal .empty p,
.rsfy-portal .rsfy-marketplace-intro p,
.rsfy-portal .rsfy-marketplace-grid p,
.rsfy-portal .rsfy-evolve-card p:not(.eyebrow),
.rsfy-portal .rsfy-upgrade-checkout p,
.rsfy-portal .rsfy-download-copy>p:last-child,
.rsfy-portal .rsfy-download-help p,
.rsfy-portal .rsfy-profile-title p,
.rsfy-portal .rsfy-supplements-head p,
.rsfy-portal .rsfy-share-permissions p,
.rsfy-portal .rsfy-pack-control .section-head p:not(.eyebrow),
.rsfy-portal .rsfy-storage-plan-feedback{font-size:13px!important}
.rsfy-portal .rsfy-metrics span{font-size:12px!important}
.rsfy-portal .rsfy-metrics small{font-size:10px!important}
@media(max-width:720px){.rsfy-portal .rsfy-sidebar nav a{font-size:13px!important}.rsfy-portal .rsfy-page-header p:not(.eyebrow){font-size:12px!important}}

/* v0.5.45 — overdue billing notice */
@media(max-width:782px){
    .rsfy-payment-issue-link{
        width:auto!important;
        align-self:flex-start;
    }
}

/* v0.5.49 — Center-backed unpaid invoice and Stripe settlement */
.rsfy-unpaid-card .rsfy-stripe-invoice-link{
    display:inline-block;
    margin-top:10px;
    color:#111!important;
    font-size:11px;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:3px;
}
.rsfy-no-payment-method,
.rsfy-regularization-wait{
    margin-top:14px;
    padding:18px;
    border:1px solid #e4e4e0;
    border-radius:15px;
    background:#fafaf8;
}
.rsfy-no-payment-method strong,
.rsfy-regularization-wait strong{
    display:block;
    margin-bottom:5px;
    color:#111;
}
.rsfy-no-payment-method p,
.rsfy-regularization-wait p{
    margin:0!important;
    color:#707070!important;
    font-size:12px;
    line-height:1.55;
}

/* v0.5.50 — Stripe payment form inside Régularisation */
.rsfy-regularize-section{
    margin-top:18px;
    padding:20px;
    border:1px solid #e1e1dd;
    border-radius:18px;
    background:#fff;
}
.rsfy-regularize-label{
    display:block;
    margin-bottom:10px;
    color:#777;
    font-size:9px;
    font-weight:800;
    letter-spacing:.16em;
}
.rsfy-regularize-section h4{
    margin:0 0 7px!important;
    color:#111;
    font-size:20px!important;
}
.rsfy-regularize-section>p{
    margin:0 0 16px!important;
    color:#707070!important;
    font-size:12px!important;
    line-height:1.55;
}
.rsfy-regularize-section label{
    display:block;
    color:#111;
    font-size:12px;
    font-weight:700;
}
.rsfy-regularize-section select{
    width:100%;
    margin:8px 0 14px;
    min-height:46px;
    padding:0 12px;
    border:1px solid #d8d8d4;
    border-radius:12px;
    background:#fff;
}
.rsfy-stripe-payment-element{
    min-height:96px;
    margin:8px 0 16px;
}
.rsfy-stripe-loading,
.rsfy-stripe-error{
    padding:16px;
    border-radius:12px;
    background:#f5f5f2;
    color:#666;
    font-size:12px;
}
.rsfy-stripe-error{
    background:#fff0ef;
    color:#9b1c14;
}
.rsfy-regularize-new-card .rsfy-btn,
.rsfy-regularize-section #rsfy-regularize-pay{
    width:100%;
    margin-top:4px;
}


/* v0.5.53 — restauration forcée du design des bannières d'impayé */
.rsfy-portal .rsfy-payment-issue-banner,
.rsfy-profile-overlay .rsfy-payment-issue-banner{
    box-sizing:border-box!important;
    width:100%!important;
    margin:18px 0 24px!important;
    padding:20px 22px!important;
    border:0!important;
    border-radius:18px!important;
    background:#e52b20!important;
    background-color:#e52b20!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
    box-shadow:none!important;
}
.rsfy-portal .rsfy-payment-issue-banner *,
.rsfy-profile-overlay .rsfy-payment-issue-banner *{
    box-sizing:border-box;
}
.rsfy-portal .rsfy-payment-issue-copy,
.rsfy-profile-overlay .rsfy-payment-issue-copy{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    min-width:0!important;
}
.rsfy-portal .rsfy-payment-issue-banner span,
.rsfy-profile-overlay .rsfy-payment-issue-banner span{
    color:#fff!important;
    font-weight:700!important;
    line-height:1.45!important;
}
.rsfy-portal .rsfy-payment-issue-countdown,
.rsfy-profile-overlay .rsfy-payment-issue-countdown{
    display:block!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1.45!important;
    opacity:1!important;
}
.rsfy-portal .rsfy-payment-issue-link,
.rsfy-profile-overlay .rsfy-payment-issue-link{
    appearance:none!important;
    -webkit-appearance:none!important;
    flex:0 0 auto!important;
    min-height:44px!important;
    padding:0 20px!important;
    border:0!important;
    border-radius:999px!important;
    background:#981b14!important;
    background-color:#981b14!important;
    color:#fff!important;
    font:inherit!important;
    font-weight:750!important;
    line-height:44px!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    cursor:pointer!important;
    box-shadow:none!important;
}
.rsfy-portal .rsfy-payment-issue-link:hover,
.rsfy-portal .rsfy-payment-issue-link:focus,
.rsfy-profile-overlay .rsfy-payment-issue-link:hover,
.rsfy-profile-overlay .rsfy-payment-issue-link:focus{
    background:#79130e!important;
    background-color:#79130e!important;
    color:#fff!important;
    opacity:1!important;
}
@media(max-width:782px){
    .rsfy-portal .rsfy-payment-issue-banner,
    .rsfy-profile-overlay .rsfy-payment-issue-banner{
        margin:15px 0 20px!important;
        padding:18px!important;
        border-radius:16px!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:14px!important;
    }
    .rsfy-portal .rsfy-payment-issue-link,
    .rsfy-profile-overlay .rsfy-payment-issue-link{
        width:auto!important;
        max-width:100%!important;
        align-self:flex-start!important;
        white-space:normal!important;
        line-height:1.25!important;
        min-height:46px!important;
        padding:13px 20px!important;
    }
}


/* v0.5.54 — restauration du bloc détaillé d'impayé et du modal délai */
.rsfy-unpaid-alert{margin-top:20px;padding:24px;border-radius:20px;background:#d92d20;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.rsfy-unpaid-alert .eyebrow,.rsfy-unpaid-alert h3,.rsfy-unpaid-alert p,.rsfy-unpaid-alert strong,.rsfy-unpaid-alert small{color:#fff!important}
.rsfy-unpaid-alert h3{margin:6px 0 8px!important;font-size:28px!important}
.rsfy-unpaid-alert-copy>p:not(.eyebrow){max-width:760px;margin:0!important;opacity:.94}
.rsfy-unpaid-alert-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:20px;padding-top:17px;border-top:1px solid rgba(255,255,255,.28)}
.rsfy-unpaid-alert-meta span{display:flex;flex-direction:column;gap:4px}
.rsfy-unpaid-alert-meta small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.8}
.rsfy-unpaid-alert .rsfy-btn{background:#fff!important;color:#111!important;white-space:nowrap;flex:0 0 auto}
.rsfy-grace-modal{position:fixed;inset:0;z-index:100000;background:rgba(17,17,17,.48);display:grid;place-items:center;padding:24px}
.rsfy-grace-modal[aria-hidden="true"]{display:none}
.rsfy-grace-dialog{position:relative;width:min(520px,100%);background:#fff;border-radius:24px;padding:34px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.22)}
.rsfy-grace-close{position:absolute;right:18px;top:16px;border:1px solid #ddd;background:#fff;width:42px;height:42px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer}
.rsfy-grace-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;margin:6px auto 18px;background:#d92d20;color:#fff;font-size:28px;font-weight:800}
.rsfy-grace-dialog h3{font-size:32px!important;margin:8px 0 10px!important}
.rsfy-grace-dialog>p:not(.eyebrow){color:#666!important;line-height:1.55}
.rsfy-grace-dialog .rsfy-btn{margin-top:12px}
@media(max-width:782px){
 .rsfy-unpaid-alert{padding:21px;flex-direction:column;align-items:stretch}
 .rsfy-unpaid-alert h3{font-size:24px!important}
 .rsfy-unpaid-alert-meta{display:grid;grid-template-columns:1fr;gap:13px}
 .rsfy-unpaid-alert .rsfy-btn{width:100%}
 .rsfy-grace-dialog{padding:30px 22px 24px}
}



/* v0.5.56 — Stockage : tableau mobile propre et actions sans débordement */
@media(max-width:850px){
    .rsfy-portal .rsfy-storage-library__head{
        flex-direction:column!important;
        gap:16px!important;
    }

    .rsfy-portal .rsfy-storage-search{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        gap:10px!important;
        width:100%!important;
        align-items:center!important;
    }

    .rsfy-portal .rsfy-storage-search input{
        width:100%!important;
        min-width:0!important;
        height:44px!important;
        margin:0!important;
        border-radius:12px!important;
    }

    .rsfy-portal .rsfy-storage-delete-selected{
        width:auto!important;
        min-width:104px!important;
        min-height:44px!important;
        margin:0!important;
        padding:0 15px!important;
        border-radius:12px!important;
        background:#111!important;
        color:#fff!important;
        white-space:nowrap!important;
    }

    .rsfy-portal .rsfy-storage-tabs{
        margin:18px 0 12px!important;
        padding-bottom:2px!important;
    }

    .rsfy-portal .rsfy-storage-table{
        border-radius:16px!important;
        overflow:hidden!important;
    }

    /* En-tête mobile : case | Nom | Taille */
    .rsfy-portal .rsfy-storage-row--head{
        grid-template-columns:34px minmax(0,1fr) auto!important;
        grid-template-rows:1fr!important;
        min-height:54px!important;
        padding:0 12px!important;
        gap:10px!important;
    }

    .rsfy-portal .rsfy-storage-row--head > *:nth-child(1){
        grid-column:1!important;
    }
    .rsfy-portal .rsfy-storage-row--head > *:nth-child(2){
        grid-column:2!important;
        display:block!important;
    }
    .rsfy-portal .rsfy-storage-row--head > *:nth-child(3){
        display:none!important;
    }
    .rsfy-portal .rsfy-storage-row--head > *:nth-child(4){
        grid-column:3!important;
        display:block!important;
        font-size:12px!important;
        text-align:right!important;
    }
    .rsfy-portal .rsfy-storage-row--head > *:nth-child(5){
        display:none!important;
    }

    /* Ligne : case | nom + taille | action */
    .rsfy-portal .rsfy-storage-row:not(.rsfy-storage-row--head){
        grid-template-columns:34px minmax(0,1fr) auto!important;
        grid-template-rows:auto auto!important;
        min-height:84px!important;
        padding:12px!important;
        column-gap:10px!important;
        row-gap:4px!important;
        align-items:center!important;
    }

    .rsfy-portal .rsfy-storage-row:not(.rsfy-storage-row--head) > *:nth-child(1){
        grid-column:1!important;
        grid-row:1 / span 2!important;
        align-self:center!important;
    }

    .rsfy-portal .rsfy-storage-row:not(.rsfy-storage-row--head) > *:nth-child(2){
        grid-column:2!important;
        grid-row:1!important;
        min-width:0!important;
    }

    /* Date masquée en mobile */
    .rsfy-portal .rsfy-storage-row:not(.rsfy-storage-row--head) > *:nth-child(3){
        display:none!important;
    }

    /* Taille sous le nom */
    .rsfy-portal .rsfy-storage-row:not(.rsfy-storage-row--head) > *:nth-child(4){
        display:block!important;
        grid-column:2!important;
        grid-row:2!important;
        color:#6c6c68!important;
        font-size:11px!important;
        line-height:1.2!important;
    }

    /* Bouton Supprimer réellement dans la colonne de droite */
    .rsfy-portal .rsfy-storage-row:not(.rsfy-storage-row--head) > .rsfy-storage-delete-one{
        grid-column:3!important;
        grid-row:1 / span 2!important;
        align-self:center!important;
        justify-self:end!important;
        width:auto!important;
        min-width:0!important;
        min-height:36px!important;
        margin:0!important;
        padding:0 11px!important;
        border:1px solid #e1b6b2!important;
        border-radius:10px!important;
        background:#fff!important;
        background-color:#fff!important;
        color:#9b241b!important;
        font-size:11px!important;
        font-weight:750!important;
        line-height:34px!important;
        white-space:nowrap!important;
        box-shadow:none!important;
    }

    .rsfy-portal .rsfy-storage-row:not(.rsfy-storage-row--head) > .rsfy-storage-delete-one:hover,
    .rsfy-portal .rsfy-storage-row:not(.rsfy-storage-row--head) > .rsfy-storage-delete-one:focus{
        background:#fff0ee!important;
        background-color:#fff0ee!important;
        color:#8f1d14!important;
        border-color:#d58f89!important;
    }

    .rsfy-portal .rsfy-storage-name{
        gap:9px!important;
        min-width:0!important;
    }

    .rsfy-portal .rsfy-storage-name strong{
        min-width:0!important;
        max-width:100%!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important;
        font-size:13px!important;
    }

    .rsfy-portal .rsfy-storage-fileicon{
        width:30px!important;
        height:30px!important;
        flex:0 0 30px!important;
    }

    .rsfy-portal .rsfy-storage-check,
    .rsfy-portal .rsfy-storage-check-all{
        width:20px!important;
        height:20px!important;
        margin:0!important;
    }
}

@media(max-width:480px){
    .rsfy-portal .rsfy-storage-page{
        padding:16px!important;
    }

    .rsfy-portal .rsfy-storage-search{
        grid-template-columns:minmax(0,1fr) 96px!important;
    }

    .rsfy-portal .rsfy-storage-delete-selected{
        min-width:96px!important;
        padding:0 10px!important;
        font-size:11px!important;
    }

    .rsfy-portal .rsfy-storage-row:not(.rsfy-storage-row--head){
        grid-template-columns:30px minmax(0,1fr) auto!important;
        padding:10px!important;
        column-gap:8px!important;
    }

    .rsfy-portal .rsfy-storage-row:not(.rsfy-storage-row--head) > .rsfy-storage-delete-one{
        padding:0 9px!important;
        font-size:10px!important;
    }
}


/* v0.5.66 — formulaire de régularisation mobile complet */
.rsfy-regularize-new-card{
    overflow:visible!important;
}
.rsfy-regularize-new-card .rsfy-stripe-payment-element{
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    margin:14px 0 18px!important;
}
.rsfy-secure-card-grid{
    display:flex;
    flex-direction:column;
    gap:14px;
    width:100%;
}
.rsfy-secure-card-grid label{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    min-width:0;
    color:#111!important;
    font-size:12px!important;
    font-weight:700!important;
}
.rsfy-secure-card-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    width:100%;
}
.rsfy-secure-card-field{
    box-sizing:border-box;
    width:100%;
    min-height:50px;
    padding:15px 14px;
    border:1px solid #d8d8d4;
    border-radius:12px;
    background:#fff;
    overflow:visible;
}
.rsfy-secure-card-field.StripeElement--focus{
    border-color:#111;
}
.rsfy-regularize-charge-line{
    margin:4px 0 18px!important;
    color:#666!important;
    font-size:14px!important;
    line-height:1.45!important;
}
@media(max-width:780px){
    .rsfy-profile-panel[data-mobile-view="content"] .rsfy-profile-content{
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch!important;
        padding-bottom:calc(130px + env(safe-area-inset-bottom))!important;
    }
    .rsfy-regularize-section.rsfy-regularize-new-card{
        padding:22px 18px 26px!important;
        overflow:visible!important;
    }
    .rsfy-secure-card-row{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }
    .rsfy-secure-card-field{
        min-height:52px;
        padding:16px 12px;
    }
    .rsfy-regularize-new-card .rsfy-btn{
        min-height:56px!important;
        margin-top:4px!important;
    }
}
@media(max-width:390px){
    .rsfy-secure-card-row{
        grid-template-columns:1fr;
    }
}

/* v0.5.78 — confirmation de régularisation et réactivation manuelle */
.rsfy-confirmation-success-copy{
    margin:8px auto 20px;max-width:620px;color:#238636;font-weight:700;line-height:1.55
}
.rsfy-reactivation-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.rsfy-reactivation-backdrop{position:absolute;inset:0;background:rgba(15,15,15,.5);backdrop-filter:blur(8px)}
.rsfy-reactivation-card{position:relative;z-index:1;box-sizing:border-box;width:min(520px,100%);padding:34px;border:1px solid #e7e7e4;border-radius:26px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.22);text-align:center;color:#111}
.rsfy-reactivation-mark{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:18px;border-radius:50%;background:#22a447;color:#fff;font-size:30px;font-weight:800;line-height:1}
.rsfy-reactivation-card .eyebrow{margin:0 0 9px;color:#238636;font-size:10px;font-weight:800;letter-spacing:.16em}
.rsfy-reactivation-card h2{margin:0;font-size:27px;line-height:1.12;letter-spacing:-.035em}
.rsfy-reactivation-card>p:not(.eyebrow){margin:14px auto 24px;max-width:410px;color:#626262;font-size:14px;line-height:1.65}
.rsfy-reactivation-close{position:absolute;top:18px;right:20px;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#111!important;font-family:Arial,sans-serif;font-size:25px;font-weight:400;line-height:1;appearance:none;-webkit-appearance:none;cursor:pointer}.rsfy-reactivation-close:hover,.rsfy-reactivation-close:focus,.rsfy-reactivation-close:active{background:transparent!important;border:0!important;box-shadow:none!important;color:#000!important;outline:none!important;transform:none!important}
.rsfy-reactivation-ok{min-width:180px}
@media(max-width:600px){.rsfy-reactivation-modal{padding:18px}.rsfy-reactivation-card{padding:30px 22px 24px;border-radius:22px}.rsfy-reactivation-card h2{font-size:24px}.rsfy-reactivation-card>p:not(.eyebrow){font-size:13px}.rsfy-reactivation-ok{width:100%}}


/* Reseefy 0.5.78 - subscriptions/payment polish */
@media (max-width: 767px) {
  /* Keep payment/default-method checkbox compact and aligned everywhere in subscription/payment flows. */
  .reseefy-cloud-portal input[type="checkbox"][name*="default"],
  .reseefy-cloud-portal input[type="checkbox"][id*="default"],
  .reseefy-cloud-portal .rf-default-payment-checkbox input[type="checkbox"],
  .reseefy-cloud-portal .reseefy-default-payment-checkbox input[type="checkbox"],
  .reseefy-cloud-portal .default-payment-method input[type="checkbox"],
  .reseefy-cloud-portal .subscription-payment-form input[type="checkbox"],
  .reseefy-cloud-portal .payment-form input[type="checkbox"] {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    flex: 0 0 22px !important;
    margin: 1px 9px 0 0 !important;
    padding: 0 !important;
    border-radius: 7px !important;
    vertical-align: top !important;
  }

  /* Cleaner spacing for subscription payment actions without changing business logic. */
  .reseefy-cloud-portal .subscription-payment-form,
  .reseefy-cloud-portal .payment-form,
  .reseefy-cloud-portal [class*="subscription"][class*="payment"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .reseefy-cloud-portal .subscription-payment-form label,
  .reseefy-cloud-portal .payment-form label {
    line-height: 1.35 !important;
  }
}

/* Generic polish for subscription cards while preserving current colors/layout logic. */
.reseefy-cloud-portal .subscription-card,
.reseefy-cloud-portal [class*="subscription-card"],
.reseefy-cloud-portal [class*="abonnement-card"] {
  box-sizing: border-box;
}

.rsfy-promo-active-pill{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:7px 10px;border-radius:999px;background:#eafbf1;color:#17a34a;font-size:10px;font-weight:800}.rsfy-promo-active-pill i{width:7px;height:7px;border-radius:50%;background:#20b15a}
.rsfy-promo-detail-row{background:#fbfefc}.rsfy-promo-detail-row dd{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.rsfy-promo-code{display:inline-flex;padding:5px 8px;border-radius:8px;background:#eef7f1;color:#12833f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:800;letter-spacing:.04em}.rsfy-promo-current-price{color:#12833f!important}.rsfy-promo-end-date{display:block;color:#8a8f98;font-size:10px;font-weight:500}.rsfy-promo-return-row{background:#fafafa}.rsfy-promo-expired-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f1ef;color:#6d6d68;font-size:10px;font-weight:700}
.rsfy-promo-billing-card{border:1px solid #d9eee1;border-radius:20px;padding:22px;background:linear-gradient(180deg,#fbfffc,#f5fcf7)}.rsfy-promo-billing-head{display:flex;align-items:center;gap:12px}.rsfy-promo-billing-icon{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:12px;background:#111;color:#fff;font-size:17px;font-weight:900}.rsfy-promo-billing-card h3{font-size:18px!important;margin:3px 0 0!important}.rsfy-promo-billing-card>p{color:#667085!important;font-size:12px;margin:16px 0!important}.rsfy-promo-billing-price{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #dfece3}.rsfy-promo-billing-price span{font-size:11px;color:#667085}.rsfy-promo-billing-price strong{font-size:13px;color:#12833f}.rsfy-promo-billing-price.is-next strong{color:#111}.rsfy-promo-billing-card>small{display:block;margin-top:10px;color:#7d8490;font-size:10px;line-height:1.45}
@media(max-width:720px){.rsfy-promo-detail-row dd{align-items:flex-end}.rsfy-promo-billing-card{padding:18px}.rsfy-promo-billing-price{align-items:flex-start;flex-direction:column;gap:5px}}

/* Reseefy v0.5.95 — promo pricing inside Mes abonnements */
.rsfy-base-price-with-promo .rsfy-original-price{
  color:#9a9a96!important;
  text-decoration:line-through;
  text-decoration-thickness:1px;
  text-decoration-color:#b8b8b4;
  font-weight:600!important;
}
.rsfy-promo-price-row{
  background:#f7fbf8;
}
.rsfy-promo-price-row dd{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:3px!important;
}
.rsfy-promo-price-row .rsfy-promo-current-price{
  color:#11833f!important;
  font-weight:800!important;
}
.rsfy-promo-validity{
  display:block;
  color:#7b7e82!important;
  font-size:10px!important;
  font-weight:500!important;
  line-height:1.35!important;
}
.rsfy-promo-code-inline{
  display:block;
  color:#9a9ca0!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.04em;
  text-transform:uppercase;
}
@media(max-width:720px){
  .rsfy-promo-price-row dd{
    align-items:flex-end!important;
    text-align:right;
  }
}

.rsfy-promo-status-line{display:block;color:#11833f!important;font-size:9.5px!important;font-weight:700!important;line-height:1.35!important}
.rsfy-promo-validity{color:#6f7378!important}


/* ===== v0.6.04 — Le Cloud est une app, pas une page commerciale ===== */
body.rsfy-cloud-page header.site-header,
body.rsfy-cloud-page .site-header,
body.rsfy-cloud-page #masthead,
body.rsfy-cloud-page .fixed-header-box,
body.rsfy-cloud-page .page-header,
body.rsfy-cloud-page header.entry-header,
body.rsfy-cloud-page .entry-header,
body.rsfy-cloud-page .entry-title,
body.rsfy-cloud-page footer.site-footer,
body.rsfy-cloud-page .site-footer,
body.rsfy-cloud-page #colophon,
body.rsfy-cloud-page #main-footer,
body.rsfy-cloud-page footer.main-footer,
body.rsfy-cloud-page .vamtam-footer,
body.rsfy-cloud-page .footer-wrapper{display:none!important}
body.rsfy-cloud-page,
body.rsfy-cloud-page #page,
body.rsfy-cloud-page .site,
body.rsfy-cloud-page .site-content,
body.rsfy-cloud-page main{margin:0!important;padding:0!important;max-width:none!important}


/* ===== v0.6.06 — Dashboard mobile propre / aucun débordement ===== */

/* Base de sécurité : chaque élément du portail respecte sa colonne. */
body.rsfy-cloud-page,
body.rsfy-cloud-page *,
.rsfy-cloud,
.rsfy-cloud *{
  box-sizing:border-box!important;
}

.rsfy-cloud,
.rsfy-cloud-main,
.rsfy-cloud-content,
.rsfy-cloud-dashboard,
.rsfy-cloud-grid,
.rsfy-cloud-card,
.rsfy-cloud-stat,
.rsfy-cloud-panel,
.rsfy-cloud-section{
  min-width:0!important;
  max-width:100%!important;
}

/* Empêche les contenus longs, titres et valeurs de pousser une carte hors écran. */
.rsfy-cloud h1,
.rsfy-cloud h2,
.rsfy-cloud h3,
.rsfy-cloud p,
.rsfy-cloud span,
.rsfy-cloud strong,
.rsfy-cloud a,
.rsfy-cloud code{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Toutes les cartes restent à l'intérieur du viewport. */
.rsfy-cloud [class*="card"],
.rsfy-cloud [class*="stat"],
.rsfy-cloud [class*="panel"]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}

/* Les grilles ne conservent jamais une largeur desktop forcée sur mobile. */
@media(max-width:1024px){
  .rsfy-cloud-grid,
  .rsfy-cloud-dashboard-grid,
  .rsfy-cloud-stats,
  .rsfy-dashboard-grid{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    gap:14px!important;
  }
}

/* Correctif ciblé du bloc noir "État Cloud". */
@media(max-width:700px){
  .rsfy-cloud [class*="cloud-status"],
  .rsfy-cloud [class*="status-card"],
  .rsfy-cloud .rsfy-cloud-card-dark,
  .rsfy-cloud .rsfy-cloud-dark-card,
  .rsfy-cloud .rsfy-dashboard-status,
  .rsfy-cloud .status-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:22px!important;
    padding-right:22px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }

  /* Le contenu principal garde une marge symétrique iPhone/Android. */
  .rsfy-cloud-main,
  .rsfy-cloud-content,
  .rsfy-cloud-dashboard{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding-left:16px!important;
    padding-right:16px!important;
    overflow-x:hidden!important;
  }

  .rsfy-cloud h1{
    max-width:100%!important;
    font-size:clamp(30px,8vw,42px)!important;
    line-height:1.04!important;
  }

  /* Les grandes valeurs ne doivent pas forcer la largeur de la carte. */
  .rsfy-cloud [class*="value"],
  .rsfy-cloud [class*="number"],
  .rsfy-cloud [class*="percent"]{
    max-width:100%!important;
    line-height:1!important;
    white-space:normal!important;
  }

  /* Navigation horizontale : elle peut défiler sans agrandir la page entière. */
  .rsfy-cloud-nav,
  .rsfy-cloud-tabs,
  .rsfy-cloud [class*="tabs"]{
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  .rsfy-cloud-nav::-webkit-scrollbar,
  .rsfy-cloud-tabs::-webkit-scrollbar,
  .rsfy-cloud [class*="tabs"]::-webkit-scrollbar{
    display:none!important;
  }
}

/* Très petits écrans. */
@media(max-width:390px){
  .rsfy-cloud-main,
  .rsfy-cloud-content,
  .rsfy-cloud-dashboard{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .rsfy-cloud [class*="card"],
  .rsfy-cloud [class*="stat"],
  .rsfy-cloud [class*="panel"]{
    border-radius:18px!important;
  }
}

/* Filet de sécurité global : aucun scroll horizontal sur l'espace Cloud. */
body.rsfy-cloud-page,
body.rsfy-cloud-page #page,
body.rsfy-cloud-page .site,
body.rsfy-cloud-page .site-content{
  overflow-x:hidden!important;
  max-width:100vw!important;
}


/* ===== v0.6.07 — Dashboard Cloud nettoyé et cartes harmonisées ===== */

/* Supprime définitivement la petite accroche "Portail client" si un ancien template la conserve. */
.rsfy-cloud .rsfy-eyebrow,
.rsfy-cloud [class*="eyebrow"]{
  display:none!important;
}

/* Introduction du dashboard */
.rsfy-cloud .rsfy-dashboard-intro,
.rsfy-cloud [class*="dashboard-intro"],
.rsfy-cloud [class*="welcome"]{
  margin-top:0!important;
  padding-top:0!important;
  max-width:100%!important;
}

.rsfy-cloud h1{
  margin-top:0!important;
  margin-bottom:10px!important;
  color:#111!important;
  letter-spacing:-.035em!important;
}

.rsfy-cloud h1 + p,
.rsfy-cloud .rsfy-dashboard-intro p{
  margin-top:0!important;
  color:#747474!important;
  line-height:1.5!important;
}

/* Langage de carte commun */
.rsfy-cloud [class*="card"],
.rsfy-cloud [class*="stat"],
.rsfy-cloud [class*="panel"]{
  border:1px solid #e3e3df!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(0,0,0,.025)!important;
  overflow:hidden!important;
}

/* Espacement interne cohérent des cartes */
.rsfy-cloud [class*="card"] > *,
.rsfy-cloud [class*="stat"] > *,
.rsfy-cloud [class*="panel"] > *{
  max-width:100%!important;
}

/* Cartes statistiques du tableau de bord */
.rsfy-cloud [class*="stat"]{
  padding:24px!important;
}

.rsfy-cloud [class*="stat"] span,
.rsfy-cloud [class*="stat"] small,
.rsfy-cloud [class*="card"] small{
  color:#777!important;
}

.rsfy-cloud [class*="stat"] strong,
.rsfy-cloud [class*="stat"] [class*="value"]{
  color:#111!important;
  letter-spacing:-.035em!important;
}

/* Carte noire État Cloud : mêmes proportions que les autres cartes */
.rsfy-cloud [class*="cloud-status"],
.rsfy-cloud [class*="status-card"],
.rsfy-cloud .rsfy-cloud-card-dark,
.rsfy-cloud .rsfy-cloud-dark-card,
.rsfy-cloud .rsfy-dashboard-status,
.rsfy-cloud .status-card{
  background:#050505!important;
  color:#fff!important;
  border-color:#050505!important;
  border-radius:20px!important;
  padding:24px!important;
  box-shadow:none!important;
}

.rsfy-cloud [class*="cloud-status"] *,
.rsfy-cloud [class*="status-card"] *,
.rsfy-cloud .rsfy-cloud-card-dark *,
.rsfy-cloud .rsfy-cloud-dark-card *,
.rsfy-cloud .rsfy-dashboard-status *,
.rsfy-cloud .status-card *{
  max-width:100%!important;
}

.rsfy-cloud [class*="cloud-status"] span,
.rsfy-cloud [class*="status-card"] span,
.rsfy-cloud .rsfy-dashboard-status span,
.rsfy-cloud .status-card span{
  color:#aaa!important;
}

/* Espaces verticaux plus constants entre les blocs */
.rsfy-cloud-grid,
.rsfy-cloud-dashboard-grid,
.rsfy-cloud-stats,
.rsfy-dashboard-grid{
  gap:14px!important;
}

/* Mobile */
@media(max-width:700px){
  .rsfy-cloud-main,
  .rsfy-cloud-content,
  .rsfy-cloud-dashboard{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .rsfy-cloud h1{
    font-size:clamp(30px,8.7vw,40px)!important;
    line-height:1.03!important;
  }

  .rsfy-cloud h1 + p,
  .rsfy-cloud .rsfy-dashboard-intro p{
    font-size:15px!important;
    line-height:1.45!important;
  }

  .rsfy-cloud [class*="card"],
  .rsfy-cloud [class*="stat"],
  .rsfy-cloud [class*="panel"]{
    border-radius:18px!important;
  }

  .rsfy-cloud [class*="stat"],
  .rsfy-cloud [class*="cloud-status"],
  .rsfy-cloud [class*="status-card"],
  .rsfy-cloud .rsfy-cloud-card-dark,
  .rsfy-cloud .rsfy-cloud-dark-card,
  .rsfy-cloud .rsfy-dashboard-status,
  .rsfy-cloud .status-card{
    padding:22px!important;
  }

  .rsfy-cloud [class*="stat"] strong,
  .rsfy-cloud [class*="stat"] [class*="value"]{
    font-size:clamp(38px,11vw,52px)!important;
    line-height:1!important;
  }

  .rsfy-cloud [class*="cloud-status"] strong,
  .rsfy-cloud [class*="status-card"] strong,
  .rsfy-cloud .rsfy-dashboard-status strong,
  .rsfy-cloud .status-card strong{
    font-size:clamp(42px,13vw,58px)!important;
    line-height:1!important;
  }
}

/* Très petits téléphones */
@media(max-width:390px){
  .rsfy-cloud-main,
  .rsfy-cloud-content,
  .rsfy-cloud-dashboard{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .rsfy-cloud [class*="stat"],
  .rsfy-cloud [class*="cloud-status"],
  .rsfy-cloud [class*="status-card"],
  .rsfy-cloud .rsfy-dashboard-status,
  .rsfy-cloud .status-card{
    padding:18px!important;
  }
}


/* ===== v0.6.08 — Marges latérales globales Cloud ===== */

/*
 * Règle globale de présentation :
 * toutes les pages du Cloud, tous les onglets et toutes les modales
 * conservent une marge latérale visible, comme dans l'onboarding Clé en Main.
 */
:root{
  --rsfy-cloud-gutter-desktop:24px;
  --rsfy-cloud-gutter-tablet:20px;
  --rsfy-cloud-gutter-mobile:16px;
  --rsfy-cloud-gutter-small:12px;
}

/* Le fond gris reste visible autour du contenu. */
.rsfy-cloud,
.rsfy-cloud-main,
.rsfy-cloud-content,
.rsfy-cloud-dashboard,
.rsfy-cloud-page-content,
.rsfy-cloud-tab-content,
.rsfy-cloud-section-wrap{
  background:#f7f7f5!important;
}

/* Contenu principal : marge gauche/droite constante sur toutes les vues. */
.rsfy-cloud-main,
.rsfy-cloud-content,
.rsfy-cloud-dashboard,
.rsfy-cloud-page-content,
.rsfy-cloud-tab-content{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--rsfy-cloud-gutter-desktop)!important;
  padding-right:var(--rsfy-cloud-gutter-desktop)!important;
  box-sizing:border-box!important;
}

/* Toutes les sections internes respectent la largeur disponible. */
.rsfy-cloud-main > *,
.rsfy-cloud-content > *,
.rsfy-cloud-dashboard > *,
.rsfy-cloud-page-content > *,
.rsfy-cloud-tab-content > *{
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Les cartes ne peuvent jamais coller au bord de l'écran. */
.rsfy-cloud [class*="card"],
.rsfy-cloud [class*="stat"],
.rsfy-cloud [class*="panel"],
.rsfy-cloud [class*="box"],
.rsfy-cloud [class*="module"],
.rsfy-cloud [class*="section"]{
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Onglets/pages : évite les blocs pleine largeur accidentels. */
.rsfy-cloud [data-tab-panel],
.rsfy-cloud [role="tabpanel"],
.rsfy-cloud .tab-pane,
.rsfy-cloud .tabs-content,
.rsfy-cloud .rsfy-tab-content{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Popups / modales : toujours détachés des bords. */
.rsfy-cloud [role="dialog"],
.rsfy-cloud .modal,
.rsfy-cloud [class*="modal"],
.rsfy-cloud [class*="popup"],
.rsfy-cloud [class*="dialog"],
.rsfy-cloud [class*="drawer"]{
  box-sizing:border-box!important;
}

.rsfy-cloud [role="dialog"] > *,
.rsfy-cloud .modal > *,
.rsfy-cloud [class*="modal"] > *,
.rsfy-cloud [class*="popup"] > *,
.rsfy-cloud [class*="dialog"] > *{
  max-width:calc(100vw - (var(--rsfy-cloud-gutter-mobile) * 2))!important;
  box-sizing:border-box!important;
}

/* Tablette */
@media(max-width:1024px){
  .rsfy-cloud-main,
  .rsfy-cloud-content,
  .rsfy-cloud-dashboard,
  .rsfy-cloud-page-content,
  .rsfy-cloud-tab-content{
    padding-left:var(--rsfy-cloud-gutter-tablet)!important;
    padding-right:var(--rsfy-cloud-gutter-tablet)!important;
  }
}

/* Mobile iPhone / Android */
@media(max-width:700px){
  body.rsfy-cloud-page,
  .rsfy-cloud{
    background:#f7f7f5!important;
  }

  .rsfy-cloud-main,
  .rsfy-cloud-content,
  .rsfy-cloud-dashboard,
  .rsfy-cloud-page-content,
  .rsfy-cloud-tab-content{
    padding-left:var(--rsfy-cloud-gutter-mobile)!important;
    padding-right:var(--rsfy-cloud-gutter-mobile)!important;
  }

  /* Chaque bloc visible garde exactement les mêmes marges latérales. */
  .rsfy-cloud [class*="card"],
  .rsfy-cloud [class*="stat"],
  .rsfy-cloud [class*="panel"],
  .rsfy-cloud [class*="box"],
  .rsfy-cloud [class*="module"]{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Carte noire État Cloud : mêmes marges que les cartes blanches. */
  .rsfy-cloud [class*="cloud-status"],
  .rsfy-cloud [class*="status-card"],
  .rsfy-cloud .rsfy-cloud-card-dark,
  .rsfy-cloud .rsfy-cloud-dark-card,
  .rsfy-cloud .rsfy-dashboard-status,
  .rsfy-cloud .status-card{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Popups centrés avec marge grise visible des deux côtés. */
  .rsfy-cloud [role="dialog"],
  .rsfy-cloud .modal,
  .rsfy-cloud [class*="modal"],
  .rsfy-cloud [class*="popup"],
  .rsfy-cloud [class*="dialog"]{
    left:var(--rsfy-cloud-gutter-mobile)!important;
    right:var(--rsfy-cloud-gutter-mobile)!important;
    width:auto!important;
    max-width:calc(100vw - (var(--rsfy-cloud-gutter-mobile) * 2))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .rsfy-cloud [class*="drawer"]{
    max-width:calc(100vw - var(--rsfy-cloud-gutter-mobile))!important;
  }
}

/* Petits iPhone / Android */
@media(max-width:390px){
  .rsfy-cloud-main,
  .rsfy-cloud-content,
  .rsfy-cloud-dashboard,
  .rsfy-cloud-page-content,
  .rsfy-cloud-tab-content{
    padding-left:var(--rsfy-cloud-gutter-small)!important;
    padding-right:var(--rsfy-cloud-gutter-small)!important;
  }

  .rsfy-cloud [role="dialog"],
  .rsfy-cloud .modal,
  .rsfy-cloud [class*="modal"],
  .rsfy-cloud [class*="popup"],
  .rsfy-cloud [class*="dialog"]{
    left:var(--rsfy-cloud-gutter-small)!important;
    right:var(--rsfy-cloud-gutter-small)!important;
    max-width:calc(100vw - (var(--rsfy-cloud-gutter-small) * 2))!important;
  }
}

/* Filet de sécurité : aucune page/onglet ne peut créer de débordement horizontal. */
body.rsfy-cloud-page,
body.rsfy-cloud-page #page,
body.rsfy-cloud-page .site,
body.rsfy-cloud-page .site-content,
.rsfy-cloud,
.rsfy-cloud-main{
  max-width:100vw!important;
  overflow-x:hidden!important;
}


/* ===== v0.6.09 — Système de conteneur définitif Cloud ===== */

/*
 * Problème précédent : le padding était appliqué sur des wrappers internes
 * qui faisaient déjà 100%, alors que certaines cartes étaient positionnées
 * sur un parent pleine largeur. Ici on impose un vrai conteneur central
 * commun à toutes les vues.
 */
:root{
  --rsfy-cloud-page-bg:#f5f5f3;
  --rsfy-cloud-content-max:1180px;
  --rsfy-cloud-gutter-desktop:32px;
  --rsfy-cloud-gutter-tablet:24px;
  --rsfy-cloud-gutter-mobile:16px;
}

/* Fond global */
.rsfy-cloud,
.rsfy-cloud-main,
.rsfy-cloud-content,
.rsfy-cloud-dashboard{
  background:var(--rsfy-cloud-page-bg)!important;
}

/* LE conteneur principal : largeur limitée + marges latérales visibles */
.rsfy-cloud .rsfy-cloud-main,
.rsfy-cloud .rsfy-cloud-content,
.rsfy-cloud .rsfy-cloud-dashboard,
.rsfy-cloud main,
.rsfy-cloud .dashboard,
.rsfy-cloud .content{
  width:min(calc(100% - (var(--rsfy-cloud-gutter-desktop) * 2)), var(--rsfy-cloud-content-max))!important;
  max-width:var(--rsfy-cloud-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* Si certains blocs sont directement enfants du shell, ils suivent le même conteneur */
.rsfy-cloud > section,
.rsfy-cloud > .rsfy-section,
.rsfy-cloud > .rsfy-dashboard-intro,
.rsfy-cloud > .rsfy-dashboard-grid,
.rsfy-cloud > .rsfy-cloud-grid{
  width:min(calc(100% - (var(--rsfy-cloud-gutter-desktop) * 2)), var(--rsfy-cloud-content-max))!important;
  max-width:var(--rsfy-cloud-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Tous les blocs métiers restent contenus dans la colonne centrale */
.rsfy-cloud [class*="grid"],
.rsfy-cloud [class*="section"],
.rsfy-cloud [class*="panel"],
.rsfy-cloud [class*="card"],
.rsfy-cloud [class*="stat"],
.rsfy-cloud [class*="box"]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Desktop : présentation plus soignée */
@media(min-width:1025px){
  .rsfy-cloud .rsfy-cloud-main,
  .rsfy-cloud .rsfy-cloud-content,
  .rsfy-cloud .rsfy-cloud-dashboard,
  .rsfy-cloud main,
  .rsfy-cloud .dashboard,
  .rsfy-cloud .content{
    padding-top:28px!important;
    padding-bottom:44px!important;
  }

  .rsfy-cloud [class*="grid"]{
    gap:18px!important;
  }

  .rsfy-cloud [class*="card"],
  .rsfy-cloud [class*="stat"],
  .rsfy-cloud [class*="panel"]{
    border-radius:18px!important;
    border:1px solid #e2e2de!important;
    box-shadow:0 10px 30px rgba(0,0,0,.03)!important;
  }
}

/* Tablette */
@media(max-width:1024px){
  .rsfy-cloud .rsfy-cloud-main,
  .rsfy-cloud .rsfy-cloud-content,
  .rsfy-cloud .rsfy-cloud-dashboard,
  .rsfy-cloud main,
  .rsfy-cloud .dashboard,
  .rsfy-cloud .content{
    width:calc(100% - (var(--rsfy-cloud-gutter-tablet) * 2))!important;
    max-width:none!important;
  }

  .rsfy-cloud > section,
  .rsfy-cloud > .rsfy-section,
  .rsfy-cloud > .rsfy-dashboard-intro,
  .rsfy-cloud > .rsfy-dashboard-grid,
  .rsfy-cloud > .rsfy-cloud-grid{
    width:calc(100% - (var(--rsfy-cloud-gutter-tablet) * 2))!important;
    max-width:none!important;
  }
}

/* Mobile : marges grises réellement visibles des deux côtés */
@media(max-width:700px){
  .rsfy-cloud,
  .rsfy-cloud-main,
  .rsfy-cloud-content,
  .rsfy-cloud-dashboard{
    overflow-x:hidden!important;
  }

  .rsfy-cloud .rsfy-cloud-main,
  .rsfy-cloud .rsfy-cloud-content,
  .rsfy-cloud .rsfy-cloud-dashboard,
  .rsfy-cloud main,
  .rsfy-cloud .dashboard,
  .rsfy-cloud .content{
    width:calc(100% - (var(--rsfy-cloud-gutter-mobile) * 2))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .rsfy-cloud > section,
  .rsfy-cloud > .rsfy-section,
  .rsfy-cloud > .rsfy-dashboard-intro,
  .rsfy-cloud > .rsfy-dashboard-grid,
  .rsfy-cloud > .rsfy-cloud-grid{
    width:calc(100% - (var(--rsfy-cloud-gutter-mobile) * 2))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Toutes les cartes ont exactement la même largeur */
  .rsfy-cloud [class*="card"],
  .rsfy-cloud [class*="stat"],
  .rsfy-cloud [class*="panel"],
  .rsfy-cloud [class*="box"]{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Le bloc noir doit suivre STRICTEMENT la même largeur que les cartes blanches */
  .rsfy-cloud [class*="cloud-status"],
  .rsfy-cloud [class*="status-card"],
  .rsfy-cloud .rsfy-cloud-card-dark,
  .rsfy-cloud .rsfy-cloud-dark-card,
  .rsfy-cloud .rsfy-dashboard-status,
  .rsfy-cloud .status-card{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    border-radius:20px!important;
  }

  /* Popups : même marge latérale visuelle que les pages */
  .rsfy-cloud [role="dialog"],
  .rsfy-cloud .modal,
  .rsfy-cloud [class*="modal"],
  .rsfy-cloud [class*="popup"],
  .rsfy-cloud [class*="dialog"]{
    width:calc(100vw - (var(--rsfy-cloud-gutter-mobile) * 2))!important;
    max-width:calc(100vw - (var(--rsfy-cloud-gutter-mobile) * 2))!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    margin:0!important;
  }
}

/* Filet de sécurité final */
body.rsfy-cloud-page,
body.rsfy-cloud-page #page,
body.rsfy-cloud-page .site,
body.rsfy-cloud-page .site-content{
  background:var(--rsfy-cloud-page-bg)!important;
  overflow-x:hidden!important;
}


/* ===== v0.6.10 — Conteneur mobile forcé sur la vraie racine .rsfy-portal ===== */

/* Racine réelle du portail */
.rsfy-portal.rsfy-portal-contained{
  --rsfy-page-bg:#f5f5f3;
  --rsfy-shell-max:1180px;
  --rsfy-gutter-desktop:32px;
  --rsfy-gutter-tablet:24px;
  --rsfy-gutter-mobile:16px;
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  background:var(--rsfy-page-bg)!important;
  box-sizing:border-box!important;
}

/* Tous les descendants respectent leur parent */
.rsfy-portal.rsfy-portal-contained,
.rsfy-portal.rsfy-portal-contained *{
  box-sizing:border-box!important;
}

/* Header mobile garde sa largeur propre mais ne crée jamais de débordement */
.rsfy-portal.rsfy-portal-contained .rsfy-mobile-shell,
.rsfy-portal.rsfy-portal-contained .rsfy-mobile-topbar,
.rsfy-portal.rsfy-portal-contained .rsfy-mobile-nav{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}

/* Zone de contenu : vraie colonne centrale */
.rsfy-portal.rsfy-portal-contained .rsfy-shell,
.rsfy-portal.rsfy-portal-contained .rsfy-main,
.rsfy-portal.rsfy-portal-contained .rsfy-content,
.rsfy-portal.rsfy-portal-contained .rsfy-dashboard,
.rsfy-portal.rsfy-portal-contained .rsfy-page,
.rsfy-portal.rsfy-portal-contained .rsfy-section-page{
  width:min(calc(100% - (var(--rsfy-gutter-desktop) * 2)), var(--rsfy-shell-max))!important;
  max-width:var(--rsfy-shell-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  min-width:0!important;
}

/* Titre et intro alignés dans la même colonne */
.rsfy-portal.rsfy-portal-contained .rsfy-heading,
.rsfy-portal.rsfy-portal-contained .rsfy-page-head,
.rsfy-portal.rsfy-portal-contained .rsfy-intro,
.rsfy-portal.rsfy-portal-contained .rsfy-welcome{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Chaque carte et section est strictement contenue */
.rsfy-portal.rsfy-portal-contained .rsfy-card,
.rsfy-portal.rsfy-portal-contained .rsfy-stat,
.rsfy-portal.rsfy-portal-contained .rsfy-panel,
.rsfy-portal.rsfy-portal-contained .rsfy-section,
.rsfy-portal.rsfy-portal-contained [class*="card"],
.rsfy-portal.rsfy-portal-contained [class*="stat"],
.rsfy-portal.rsfy-portal-contained [class*="panel"]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Desktop */
@media(min-width:1025px){
  .rsfy-portal.rsfy-portal-contained .rsfy-shell,
  .rsfy-portal.rsfy-portal-contained .rsfy-main,
  .rsfy-portal.rsfy-portal-contained .rsfy-content,
  .rsfy-portal.rsfy-portal-contained .rsfy-dashboard,
  .rsfy-portal.rsfy-portal-contained .rsfy-page,
  .rsfy-portal.rsfy-portal-contained .rsfy-section-page{
    width:min(calc(100% - 64px), var(--rsfy-shell-max))!important;
  }
}

/* Tablette */
@media(max-width:1024px){
  .rsfy-portal.rsfy-portal-contained .rsfy-shell,
  .rsfy-portal.rsfy-portal-contained .rsfy-main,
  .rsfy-portal.rsfy-portal-contained .rsfy-content,
  .rsfy-portal.rsfy-portal-contained .rsfy-dashboard,
  .rsfy-portal.rsfy-portal-contained .rsfy-page,
  .rsfy-portal.rsfy-portal-contained .rsfy-section-page{
    width:calc(100% - 48px)!important;
    max-width:none!important;
  }
}

/* iPhone + Android */
@media(max-width:700px){
  html,body{
    overflow-x:hidden!important;
  }

  .rsfy-portal.rsfy-portal-contained{
    width:100vw!important;
    max-width:100vw!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:hidden!important;
    background:var(--rsfy-page-bg)!important;
  }

  .rsfy-portal.rsfy-portal-contained .rsfy-shell,
  .rsfy-portal.rsfy-portal-contained .rsfy-main,
  .rsfy-portal.rsfy-portal-contained .rsfy-content,
  .rsfy-portal.rsfy-portal-contained .rsfy-dashboard,
  .rsfy-portal.rsfy-portal-contained .rsfy-page,
  .rsfy-portal.rsfy-portal-contained .rsfy-section-page{
    width:calc(100vw - 32px)!important;
    max-width:calc(100vw - 32px)!important;
    margin-left:16px!important;
    margin-right:16px!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow:visible!important;
  }

  /* Les cartes blanches ET noires gardent exactement cette largeur */
  .rsfy-portal.rsfy-portal-contained .rsfy-card,
  .rsfy-portal.rsfy-portal-contained .rsfy-stat,
  .rsfy-portal.rsfy-portal-contained .rsfy-panel,
  .rsfy-portal.rsfy-portal-contained .rsfy-section,
  .rsfy-portal.rsfy-portal-contained [class*="card"],
  .rsfy-portal.rsfy-portal-contained [class*="stat"],
  .rsfy-portal.rsfy-portal-contained [class*="panel"],
  .rsfy-portal.rsfy-portal-contained [class*="status"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }

  /* Les grilles passent toujours en une colonne */
  .rsfy-portal.rsfy-portal-contained .rsfy-grid,
  .rsfy-portal.rsfy-portal-contained [class*="grid"]{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    gap:14px!important;
  }

  /* Le contenu texte ne peut pas élargir la carte */
  .rsfy-portal.rsfy-portal-contained h1,
  .rsfy-portal.rsfy-portal-contained h2,
  .rsfy-portal.rsfy-portal-contained h3,
  .rsfy-portal.rsfy-portal-contained p,
  .rsfy-portal.rsfy-portal-contained span,
  .rsfy-portal.rsfy-portal-contained strong,
  .rsfy-portal.rsfy-portal-contained a{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }

  /* Popups / modales */
  .rsfy-portal.rsfy-portal-contained [role="dialog"],
  .rsfy-portal.rsfy-portal-contained .rsfy-premium-modal,
  .rsfy-portal.rsfy-portal-contained [class*="modal"],
  .rsfy-portal.rsfy-portal-contained [class*="popup"]{
    width:calc(100vw - 32px)!important;
    max-width:calc(100vw - 32px)!important;
    left:16px!important;
    right:16px!important;
    margin-left:0!important;
    margin-right:0!important;
    transform:none!important;
  }
}

/* Très petits écrans */
@media(max-width:390px){
  .rsfy-portal.rsfy-portal-contained .rsfy-shell,
  .rsfy-portal.rsfy-portal-contained .rsfy-main,
  .rsfy-portal.rsfy-portal-contained .rsfy-content,
  .rsfy-portal.rsfy-portal-contained .rsfy-dashboard,
  .rsfy-portal.rsfy-portal-contained .rsfy-page,
  .rsfy-portal.rsfy-portal-contained .rsfy-section-page{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    margin-left:12px!important;
    margin-right:12px!important;
  }

  .rsfy-portal.rsfy-portal-contained [role="dialog"],
  .rsfy-portal.rsfy-portal-contained .rsfy-premium-modal,
  .rsfy-portal.rsfy-portal-contained [class*="modal"],
  .rsfy-portal.rsfy-portal-contained [class*="popup"]{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    left:12px!important;
    right:12px!important;
  }
}


/* ===== v0.6.11 — suppression du bandeau Clé en Main sur le Cloud ===== */
.rsfy-kih-cloud-card,
.rsfy-cloud .rsfy-kih-cloud-card,
.rsfy-portal .rsfy-kih-cloud-card{
  display:none!important;
}


/* ===== v0.6.12 — Sidebar web premium + menu compte ordonné ===== */
@media(min-width:981px){
  .rsfy-sidebar{
    display:flex!important;
    flex-direction:column!important;
    height:100vh!important;
    padding:18px 16px 14px!important;
  }

  .rsfy-sidebar .rsfy-mobile-topbar{
    margin-bottom:12px!important;
  }

  .rsfy-desktop-nav{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    padding:4px 0 12px!important;
    scrollbar-width:none!important;
  }
  .rsfy-desktop-nav::-webkit-scrollbar{display:none!important}

  .rsfy-desktop-nav a,
  .rsfy-desktop-nav button{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:32px!important;
    margin:0!important;
    padding:7px 12px!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#222!important;
    font:500 13px/1.2 Arial,Helvetica,sans-serif!important;
    text-align:left!important;
    text-decoration:none!important;
    cursor:pointer!important;
    transition:background .15s ease,color .15s ease!important;
  }

  .rsfy-desktop-nav a:hover,
  .rsfy-desktop-nav button:hover{
    background:#f2f2ef!important;
  }

  .rsfy-desktop-nav a.active,
  .rsfy-desktop-nav button.active{
    background:#ececea!important;
    color:#111!important;
    font-weight:600!important;
  }

  .rsfy-user{
    flex:0 0 auto!important;
    margin-top:8px!important;
    padding-top:14px!important;
    border-top:1px solid #e5e5e1!important;
  }

  .rsfy-section-placeholder{
    min-height:240px!important;
  }
  .rsfy-placeholder-card{
    padding:28px!important;
    border:1px solid #e3e3df!important;
    border-radius:16px!important;
    background:#fff!important;
  }
  .rsfy-placeholder-card strong{
    display:block!important;
    margin-bottom:8px!important;
    font-size:18px!important;
  }
  .rsfy-placeholder-card p{
    margin:0!important;
    color:#747474!important;
    line-height:1.55!important;
  }

  .rsfy-profile-nav{
    gap:2px!important;
    padding:18px 14px!important;
  }
  .rsfy-profile-nav button,
  .rsfy-profile-nav a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:34px!important;
    padding:8px 12px!important;
    margin:0!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#222!important;
    font:500 13px/1.2 Arial,Helvetica,sans-serif!important;
    text-align:left!important;
    text-decoration:none!important;
  }
  .rsfy-profile-nav button:hover,
  .rsfy-profile-nav a:hover{
    background:#f1f1ee!important;
  }
  .rsfy-profile-nav button.active{
    background:#ececea!important;
    color:#111!important;
    font-weight:600!important;
  }

  .rsfy-profile-nav-label{
    display:block!important;
    margin:4px 10px 8px!important;
    color:#8a8a86!important;
    font-size:10px!important;
    font-weight:700!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }
  .rsfy-profile-nav-label--cloud{
    margin-top:18px!important;
    padding-top:15px!important;
    border-top:1px solid #e8e8e4!important;
  }
}


/* ===== v0.6.13 — pictogrammes premium de la sidebar web ===== */
@media(min-width:981px){
  .rsfy-desktop-nav a,
  .rsfy-desktop-nav button{
    gap:10px!important;
  }

  .rsfy-nav-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 20px!important;
    width:20px!important;
    height:20px!important;
  }

  .rsfy-nav-icon img{
    display:block!important;
    width:18px!important;
    height:18px!important;
    max-width:18px!important;
    max-height:18px!important;
    object-fit:contain!important;
  }

  .rsfy-nav-label{
    display:block!important;
    min-width:0!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .rsfy-desktop-nav a.active .rsfy-nav-icon img,
  .rsfy-desktop-nav button.active .rsfy-nav-icon img{
    opacity:1!important;
  }

  .rsfy-desktop-nav a:not(.active) .rsfy-nav-icon img,
  .rsfy-desktop-nav button:not(.active) .rsfy-nav-icon img{
    opacity:.92!important;
  }
}


/* ===== v0.6.14 — Icônes légèrement renforcées + nouveau logo Cloud ===== */
.rsfy-cloud-brand-logo{
  display:block!important;
  width:auto!important;
  height:25px!important;
  max-width:132px!important;
  object-fit:contain!important;
}

@media(min-width:981px){
  .rsfy-nav-icon{
    flex-basis:22px!important;
    width:22px!important;
    height:22px!important;
  }
  .rsfy-nav-icon img{
    width:20px!important;
    height:20px!important;
    max-width:20px!important;
    max-height:20px!important;
  }

  .rsfy-sidebar .rsfy-brand{
    display:flex!important;
    align-items:center!important;
    min-height:30px!important;
  }
  .rsfy-sidebar .rsfy-cloud-brand-logo{
    height:24px!important;
    max-width:126px!important;
  }
}

@media(max-width:980px){
  .rsfy-mobile-topbar .rsfy-cloud-brand-logo{
    height:23px!important;
    max-width:122px!important;
  }
}


/* ===== v0.6.15 — Mes prestations / réservations / agenda premium ===== */
.rsfy-profile-workspace[data-active="services"]{
  width:100%;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-profile-card{
  padding:26px;
  border:1px solid #e1e1dd;
  border-radius:20px;
  background:#fff;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-services-editor{
  display:grid;
  gap:14px;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-service-editor{
  border:1px solid #e4e4e0;
  border-radius:16px;
  background:#fbfbfa;
  overflow:hidden;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-service-editor-head{
  padding:16px 18px;
  background:#fff;
  border-bottom:1px solid #ecece8;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-add-service{
  margin-top:16px;
  background:#111!important;
  color:#fff!important;
  border-radius:999px!important;
}

.rsfy-booking-workspace{display:grid;gap:18px}
.rsfy-booking-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.rsfy-booking-kpis article{
  min-width:0;padding:22px;border:1px solid #e1e1dd;border-radius:18px;background:#fff;
  display:flex;flex-direction:column;gap:8px;
}
.rsfy-booking-kpis article.dark{background:#070707;color:#fff;border-color:#070707}
.rsfy-booking-kpis span,.rsfy-booking-kpis small{color:#777}
.rsfy-booking-kpis article.dark span,.rsfy-booking-kpis article.dark small{color:#aaa}
.rsfy-booking-kpis strong{font-size:34px;line-height:1;letter-spacing:-.04em}

.rsfy-bookings-panel,.rsfy-calendar-panel,.rsfy-agenda-upcoming{
  padding:26px!important;
  border-radius:20px!important;
}
.rsfy-bookings-panel .section-head,.rsfy-calendar-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:20px;
}
.rsfy-booking-toolbar{display:flex;gap:10px;align-items:center}
.rsfy-booking-toolbar input,.rsfy-booking-toolbar select{
  height:42px;border:1px solid #deded9;border-radius:11px;background:#fff;padding:0 12px;font:500 13px Arial,Helvetica,sans-serif;
}
.rsfy-booking-toolbar input{min-width:280px}
.rsfy-booking-list{display:grid;border-top:1px solid #ecece8}
.rsfy-booking-row{
  display:grid;grid-template-columns:54px minmax(0,1fr) auto 18px;align-items:center;gap:14px;width:100%;
  padding:14px 2px;border:0;border-bottom:1px solid #ecece8;background:transparent;text-align:left;cursor:pointer;
}
.rsfy-booking-row:hover{background:#fafaf8}
.rsfy-booking-date{
  width:48px;height:48px;border:1px solid #deded9;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff
}
.rsfy-booking-date b{font-size:18px;line-height:1}.rsfy-booking-date small{text-transform:uppercase;color:#777;font-size:10px;margin-top:4px}
.rsfy-booking-main{display:flex;flex-direction:column;gap:4px}.rsfy-booking-main strong{font-size:14px}.rsfy-booking-main small{font-size:12px;color:#777}
.rsfy-booking-status{padding:7px 10px;border-radius:999px;font-size:11px;font-weight:700;background:#f0f0ed;color:#555}
.rsfy-booking-status.is-good{background:#e9f8ef;color:#13723b}.rsfy-booking-status.is-pending{background:#fff4dd;color:#8a5a00}.rsfy-booking-status.is-cancelled{background:#fdecec;color:#9e2727}
.rsfy-booking-arrow{font-size:22px;color:#888}
.rsfy-booking-sync{padding-top:14px;color:#777;font-size:12px}

.rsfy-empty-state{padding:48px 20px;text-align:center}.rsfy-empty-state.compact{padding:26px 12px}
.rsfy-empty-state h3{margin:10px 0 6px;font-size:18px}.rsfy-empty-state p{margin:0;color:#777}
.rsfy-empty-icon{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:#111;color:#fff;font-size:20px}

.rsfy-calendar-head h2{text-transform:capitalize}
.rsfy-calendar-actions{display:flex;gap:8px}
.rsfy-calendar-actions button{
  height:40px;padding:0 14px;border:1px solid #deded9;border-radius:10px;background:#fff;font-weight:600;cursor:pointer
}
.rsfy-calendar-weekdays,.rsfy-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.rsfy-calendar-weekdays{border:1px solid #e4e4e0;border-bottom:0;border-radius:14px 14px 0 0;background:#fafaf8;overflow:hidden}
.rsfy-calendar-weekdays span{padding:11px 10px;color:#777;font-size:11px;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.06em}
.rsfy-calendar-grid{border-left:1px solid #e4e4e0;border-top:1px solid #e4e4e0}
.rsfy-calendar-day{
  min-height:118px;padding:9px;border-right:1px solid #e4e4e0;border-bottom:1px solid #e4e4e0;background:#fff;min-width:0
}
.rsfy-calendar-day:nth-last-child(-n+7){ }
.rsfy-calendar-day.is-empty{background:#fafaf8}
.rsfy-calendar-day.is-today .rsfy-calendar-number{background:#111;color:#fff}
.rsfy-calendar-number{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.rsfy-calendar-events{display:grid;gap:4px;margin-top:6px}
.rsfy-calendar-events button{
  display:block;width:100%;padding:6px 7px;border:0;border-radius:7px;background:#f1f1ee;text-align:left;overflow:hidden;cursor:pointer
}
.rsfy-calendar-events b{font-size:10px;margin-right:5px}.rsfy-calendar-events span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.rsfy-calendar-events small{font-size:9px;color:#777}

.rsfy-agenda-list{display:grid}
.rsfy-agenda-item{
  display:grid;grid-template-columns:48px minmax(0,1fr) 18px;gap:14px;align-items:center;padding:14px 0;border:0;border-bottom:1px solid #ecece8;background:transparent;text-align:left;cursor:pointer
}
.rsfy-agenda-item>span{width:46px;height:46px;border-radius:12px;background:#f3f3f0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.rsfy-agenda-item>span b{font-size:17px;line-height:1}.rsfy-agenda-item>span small{font-size:9px;text-transform:uppercase;color:#777;margin-top:4px}
.rsfy-agenda-item>div{display:flex;flex-direction:column;gap:4px}.rsfy-agenda-item>div small{color:#777}.rsfy-agenda-item i{font-style:normal;font-size:22px;color:#888}

.rsfy-booking-detail{position:fixed;inset:0;z-index:999999}
.rsfy-booking-detail[hidden]{display:none!important}
.rsfy-booking-detail-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.28);backdrop-filter:blur(4px)}
.rsfy-booking-detail-panel{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 40px));
  padding:28px;border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.15)
}
.rsfy-booking-detail-panel>.rsfy-circle-close{position:absolute;top:18px;right:18px}
.rsfy-booking-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.rsfy-booking-detail-meta>div{padding:14px;border:1px solid #e5e5e1;border-radius:12px;display:flex;flex-direction:column;gap:5px}
.rsfy-booking-detail-meta>div.wide{grid-column:1/-1}.rsfy-booking-detail-meta span{font-size:11px;color:#777}.rsfy-booking-detail-meta strong{font-size:13px}

@media(max-width:980px){
  .rsfy-booking-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rsfy-bookings-panel .section-head,.rsfy-calendar-head{flex-direction:column}
  .rsfy-booking-toolbar{width:100%}.rsfy-booking-toolbar input{min-width:0;flex:1}
}
@media(max-width:700px){
  .rsfy-booking-kpis{grid-template-columns:1fr 1fr;gap:10px}
  .rsfy-booking-kpis article{padding:16px;border-radius:15px}
  .rsfy-booking-kpis strong{font-size:28px}
  .rsfy-bookings-panel,.rsfy-calendar-panel,.rsfy-agenda-upcoming{padding:16px!important}
  .rsfy-booking-toolbar{display:grid;grid-template-columns:1fr}
  .rsfy-booking-row{grid-template-columns:46px minmax(0,1fr) auto;gap:10px}
  .rsfy-booking-status{grid-column:2;justify-self:start}.rsfy-booking-arrow{display:none}
  .rsfy-calendar-weekdays span{padding:8px 2px;font-size:9px}
  .rsfy-calendar-day{min-height:78px;padding:4px}
  .rsfy-calendar-number{width:23px;height:23px;font-size:10px}
  .rsfy-calendar-events button{padding:4px}.rsfy-calendar-events b{display:none}.rsfy-calendar-events span{font-size:8px}
  .rsfy-booking-detail-meta{grid-template-columns:1fr}
  .rsfy-booking-detail-meta>div.wide{grid-column:auto}
}


/* ===== v0.6.16 — Mes prestations : responsive + brouillon/publication ===== */
.rsfy-main>.rsfy-profile-workspace,.rsfy-main>.rsfy-booking-workspace{width:100%!important;max-width:100%!important;margin:0!important}
.rsfy-main>.rsfy-profile-workspace[data-active="services"] .rsfy-profile-card{width:100%!important;max-width:none!important;margin:0!important;padding:28px!important;border-radius:20px!important;box-sizing:border-box!important}
.rsfy-services-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;padding:18px 20px!important;margin:0 0 20px!important;border:1px solid #e7e7e3!important;border-radius:15px!important;background:#fafaf8!important}
.rsfy-services-toolbar strong{display:block!important;margin-bottom:5px!important;font-size:15px!important}
.rsfy-services-toolbar p{margin:0!important;color:#777!important;font-size:12px!important;line-height:1.5!important}
.rsfy-services-toolbar-actions{display:flex!important;gap:9px!important;align-items:center!important;flex:0 0 auto!important}
.rsfy-services-toolbar-actions .rsfy-btn{min-width:145px!important;min-height:42px!important;padding:10px 18px!important;border-radius:11px!important;white-space:nowrap!important}
.rsfy-services-toolbar-actions .rsfy-btn.secondary{background:#fff!important;color:#111!important;border:1px solid #dcdcd7!important}
.rsfy-services-savebar{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:18px!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-services-editor{display:grid!important;gap:16px!important;width:100%!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-service-editor{width:100%!important;max-width:100%!important;overflow:hidden!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-service-editor-grid{grid-template-columns:minmax(230px,300px) minmax(0,1fr)!important;gap:24px!important;padding:20px!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-service-fields,.rsfy-profile-workspace[data-active="services"] input,.rsfy-profile-workspace[data-active="services"] textarea,.rsfy-profile-workspace[data-active="services"] select{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
@media(max-width:1024px){.rsfy-services-toolbar{align-items:flex-start!important;flex-direction:column!important}.rsfy-services-toolbar-actions{width:100%!important;justify-content:flex-start!important}.rsfy-profile-workspace[data-active="services"] .rsfy-service-editor-grid{grid-template-columns:220px minmax(0,1fr)!important;gap:18px!important}}
@media(max-width:700px){.rsfy-main>.rsfy-profile-workspace[data-active="services"] .rsfy-profile-card{padding:16px!important;border-radius:17px!important}.rsfy-services-toolbar{padding:15px!important}.rsfy-services-toolbar-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.rsfy-services-toolbar-actions .rsfy-btn{width:100%!important;min-width:0!important;white-space:normal!important}.rsfy-profile-workspace[data-active="services"] .rsfy-service-editor-grid{grid-template-columns:1fr!important;padding:15px!important}.rsfy-profile-workspace[data-active="services"] .rsfy-service-meta-grid{grid-template-columns:1fr!important}.rsfy-services-savebar{flex-direction:column!important;align-items:stretch!important}}


/* ===== v0.6.17 — cohérence des onglets + agenda filtrable ===== */
.rsfy-main>.rsfy-profile-workspace,.rsfy-main>.rsfy-booking-workspace,.rsfy-main>.rsfy-cloud-consistent-page{width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important}
.rsfy-main>.rsfy-profile-workspace .rsfy-profile-card{width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important}
.rsfy-cloud-consistent-page{padding:26px!important;border-radius:20px!important}
.rsfy-consistent-card{margin-top:18px!important;padding:24px!important;border:1px solid #e3e3df!important;border-radius:16px!important;background:#fafaf8!important}
.rsfy-consistent-card strong{display:block!important;margin-bottom:7px!important;font-size:16px!important}.rsfy-consistent-card p{margin:0!important;color:#747474!important;line-height:1.55!important}

.rsfy-calendar-actions button{color:#111!important;background:#fff!important;border:1px solid #dcdcd7!important;transition:background .15s ease,color .15s ease,border-color .15s ease!important}
.rsfy-calendar-actions button:hover,.rsfy-calendar-actions button:focus-visible{color:#fff!important;background:#111!important;border-color:#111!important;outline:none!important}
.rsfy-calendar-actions button:active{color:#fff!important;background:#000!important}

.rsfy-agenda-range{display:grid!important;grid-template-columns:minmax(210px,.8fr) minmax(0,2fr) auto!important;gap:18px!important;align-items:end!important;margin:0 0 20px!important;padding:18px!important;border:1px solid #e2e2de!important;border-radius:16px!important;background:#fafaf8!important}
.rsfy-agenda-range-copy{display:flex!important;flex-direction:column!important;gap:5px!important}.rsfy-agenda-range-copy strong{font-size:14px!important}.rsfy-agenda-range-copy span{color:#777!important;font-size:11px!important}
.rsfy-agenda-range-fields{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.rsfy-agenda-range-fields label{display:flex!important;flex-direction:column!important;gap:6px!important;color:#666!important;font-size:10px!important;font-weight:600!important}
.rsfy-agenda-range-fields input{width:100%!important;min-width:0!important;height:42px!important;padding:0 10px!important;border:1px solid #dcdcd7!important;border-radius:10px!important;background:#fff!important;color:#111!important;box-sizing:border-box!important}
.rsfy-agenda-range-actions{display:flex!important;gap:8px!important}.rsfy-agenda-range-actions button{min-height:42px!important;padding:0 14px!important;border:1px solid #dcdcd7!important;border-radius:10px!important;background:#fff!important;color:#111!important;font-weight:600!important;cursor:pointer!important}
.rsfy-agenda-range-actions button:last-child{background:#111!important;color:#fff!important;border-color:#111!important}.rsfy-agenda-range-actions button:hover{background:#000!important;color:#fff!important;border-color:#000!important}
@media(max-width:1180px){.rsfy-agenda-range{grid-template-columns:1fr!important;align-items:stretch!important}}
@media(max-width:780px){.rsfy-agenda-range-fields{grid-template-columns:1fr 1fr!important}}
@media(max-width:520px){.rsfy-agenda-range{padding:14px!important}.rsfy-agenda-range-fields{grid-template-columns:1fr!important}.rsfy-agenda-range-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.rsfy-agenda-range-actions button{width:100%!important}.rsfy-cloud-consistent-page{padding:16px!important}}


/* ===== v0.6.18 — sidebar desktop fixe + compte toujours en bas ===== */
@media(min-width:981px){

  /* La colonne latérale reste toujours attachée à la fenêtre,
     quelle que soit la hauteur de la page de droite. */
  .rsfy-portal > .rsfy-sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:235px!important;
    height:100vh!important;
    height:100dvh!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:#fff!important;
    border-right:1px solid var(--rs-line)!important;
    z-index:50!important;
  }

  /* Le contenu principal reste explicitement dans la seconde colonne
     même si la sidebar est sortie du flux avec position:fixed. */
  .rsfy-portal > .rsfy-main{
    grid-column:2!important;
    min-width:0!important;
  }

  /* Seule la liste des onglets peut défiler si elle devient trop longue. */
  .rsfy-sidebar .rsfy-desktop-nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-bottom:12px!important;
    scrollbar-width:none!important;
    overscroll-behavior:contain!important;
  }
  .rsfy-sidebar .rsfy-desktop-nav::-webkit-scrollbar{
    display:none!important;
  }

  /* Bloc utilisateur façon ChatGPT : toujours collé en bas du viewport. */
  .rsfy-sidebar .rsfy-user{
    position:relative!important;
    flex:0 0 auto!important;
    width:100%!important;
    margin-top:auto!important;
    margin-bottom:0!important;
    padding:15px 4px 4px!important;
    border-top:1px solid #e5e5e1!important;
    background:#fff!important;
    z-index:3!important;
  }

  .rsfy-sidebar .rsfy-user > div{
    flex:1 1 auto!important;
    min-width:0!important;
  }

  .rsfy-sidebar .rsfy-user > i{
    flex:0 0 auto!important;
    margin-left:auto!important;
  }

  /* Évite visuellement qu'un contenu de droite passe sous la sidebar. */
  .rsfy-portal{
    min-height:100vh!important;
    min-height:100dvh!important;
  }
}


/* ===== v0.6.19 — Agenda premium : filtres + catégories colorées ===== */
.rsfy-agenda-controlbar{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:14px!important;margin:0 0 12px!important}
.rsfy-agenda-filter-group{display:grid!important;grid-template-columns:repeat(3,minmax(170px,1fr))!important;gap:10px!important;flex:1 1 auto!important}
.rsfy-agenda-filter-group label{display:flex!important;flex-direction:column!important;gap:6px!important;color:#666!important;font-size:10px!important;font-weight:700!important}
.rsfy-agenda-filter-group select{width:100%!important;height:42px!important;padding:0 34px 0 11px!important;border:1px solid #dcdcd7!important;border-radius:10px!important;background:#fff!important;color:#111!important;font:600 12px Arial,Helvetica,sans-serif!important}
.rsfy-agenda-colors-toggle{min-height:42px!important;padding:0 14px!important;border:1px solid #dcdcd7!important;border-radius:10px!important;background:#fff!important;color:#111!important;font-weight:700!important;white-space:nowrap!important;cursor:pointer!important}
.rsfy-agenda-colors-toggle:hover{background:#111!important;color:#fff!important;border-color:#111!important}
.rsfy-agenda-colors-panel{display:grid!important;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr) auto!important;gap:18px!important;align-items:center!important;margin:0 0 12px!important;padding:16px!important;border:1px solid #e2e2de!important;border-radius:14px!important;background:#fff!important}
.rsfy-agenda-colors-panel[hidden]{display:none!important}.rsfy-agenda-colors-panel>div:first-child{display:flex!important;flex-direction:column!important;gap:4px!important}.rsfy-agenda-colors-panel>div:first-child span{color:#777!important;font-size:11px!important}
.rsfy-agenda-color-grid{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.rsfy-agenda-color-row{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:7px 9px!important;border:1px solid #e3e3df!important;border-radius:999px!important;background:#fafaf8!important;color:#222!important;font-size:11px!important;font-weight:600!important}
.rsfy-agenda-color-row input[type="color"]{width:22px!important;height:22px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;overflow:hidden!important;cursor:pointer!important}
#rsfy-agenda-save-colors{min-height:40px!important;padding:0 13px!important;border:1px solid #111!important;border-radius:10px!important;background:#111!important;color:#fff!important;font-weight:700!important;cursor:pointer!important}
#rsfy-agenda-colors-status{grid-column:1/-1;color:#666!important;font-size:11px!important}
.rsfy-agenda-legend{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 16px!important}.rsfy-agenda-legend span{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:6px 9px!important;border-radius:999px!important;background:#fafaf8!important;border:1px solid #e6e6e2!important;font-size:10px!important;font-weight:700!important;color:#333!important}.rsfy-agenda-legend i{width:9px!important;height:9px!important;border-radius:50%!important;background:var(--rsfy-agenda-category-color,#DDE3E8)!important}
.rsfy-calendar-events button{border-left:3px solid #555!important;background:var(--rsfy-event-color,#DDE3E8)!important}.rsfy-calendar-events button span{font-weight:700!important;color:#1b1b1b!important}.rsfy-calendar-events button small{display:block!important;margin-top:2px!important;color:#4f4f4f!important;font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.rsfy-agenda-item{position:relative!important;padding-left:10px!important}.rsfy-agenda-item:before{content:""!important;position:absolute!important;left:0!important;top:14px!important;bottom:14px!important;width:4px!important;border-radius:999px!important;background:var(--rsfy-event-color,#DDE3E8)!important}.rsfy-agenda-item em{display:inline-flex!important;align-self:flex-start!important;margin-top:2px!important;padding:4px 7px!important;border-radius:999px!important;background:var(--rsfy-event-color,#DDE3E8)!important;color:#333!important;font-size:9px!important;font-style:normal!important;font-weight:700!important}
@media(max-width:1180px){.rsfy-agenda-controlbar{align-items:stretch!important;flex-direction:column!important}.rsfy-agenda-colors-toggle{align-self:flex-start!important}.rsfy-agenda-colors-panel{grid-template-columns:1fr!important}}
@media(max-width:780px){.rsfy-agenda-filter-group{grid-template-columns:1fr!important}.rsfy-agenda-colors-toggle{width:100%!important}.rsfy-agenda-color-grid{display:grid!important;grid-template-columns:1fr 1fr!important}}
@media(max-width:520px){.rsfy-agenda-color-grid{grid-template-columns:1fr!important}}


/* ===== v0.6.20 — menus déroulants premium Agenda / Réservations ===== */
.rsfy-premium-select{position:relative!important;width:100%!important;min-width:0!important;z-index:5!important}
.rsfy-premium-select.is-open{z-index:120!important}
.rsfy-premium-select-source{position:absolute!important;inset:0!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.rsfy-premium-select-trigger{width:100%!important;height:42px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0 12px 0 13px!important;border:1px solid #dcdcd7!important;border-radius:11px!important;background:#fff!important;color:#111!important;font:600 12px Arial,Helvetica,sans-serif!important;text-align:left!important;cursor:pointer!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important}
.rsfy-premium-select-trigger:hover{border-color:#bdbdb7!important;background:#fcfcfb!important}
.rsfy-premium-select.is-open .rsfy-premium-select-trigger{border-color:#111!important;box-shadow:0 0 0 3px rgba(17,17,17,.06)!important;background:#fff!important}
.rsfy-premium-select-value{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.rsfy-premium-select-chevron{width:18px!important;height:18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 18px!important;transition:transform .16s ease!important}
.rsfy-premium-select-chevron svg{width:16px!important;height:16px!important;fill:none!important;stroke:#555!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.rsfy-premium-select.is-open .rsfy-premium-select-chevron{transform:rotate(180deg)!important}
.rsfy-premium-select-menu{position:absolute!important;top:calc(100% + 7px)!important;left:0!important;right:0!important;max-height:280px!important;overflow:auto!important;padding:6px!important;border:1px solid #e0e0dc!important;border-radius:14px!important;background:#fff!important;box-shadow:0 18px 44px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.05)!important;scrollbar-width:thin!important;overscroll-behavior:contain!important}
.rsfy-premium-select-menu[hidden]{display:none!important}
.rsfy-premium-select-option{width:100%!important;min-height:40px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:9px 10px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#222!important;font:500 12px Arial,Helvetica,sans-serif!important;text-align:left!important;cursor:pointer!important;transition:background .12s ease,color .12s ease!important}
.rsfy-premium-select-option:hover,.rsfy-premium-select-option:focus-visible{background:#f3f3f0!important;color:#111!important;outline:none!important}
.rsfy-premium-select-option.is-selected{background:#111!important;color:#fff!important;font-weight:700!important}
.rsfy-premium-select-option i{font-style:normal!important;font-size:12px!important;opacity:0!important;color:inherit!important}
.rsfy-premium-select-option.is-selected i{opacity:1!important}
.rsfy-agenda-filter-group label>.rsfy-premium-select{margin-top:0!important}
.rsfy-booking-toolbar .rsfy-premium-select{min-width:180px!important}
@media(max-width:780px){.rsfy-premium-select-menu{max-height:240px!important;border-radius:13px!important}.rsfy-premium-select-option{min-height:44px!important;font-size:13px!important}.rsfy-booking-toolbar .rsfy-premium-select{min-width:0!important;width:100%!important}}


/* ===== v0.6.21 — Agenda premium : plage calendrier + vue jour/semaine + grille horaire ===== */
.rsfy-agenda-compact-tools{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:0 0 16px!important}
.rsfy-agenda-range-trigger-wrap{position:relative!important;display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important}
.rsfy-agenda-calendar-trigger{display:inline-flex!important;align-items:center!important;gap:9px!important;min-height:42px!important;padding:0 14px!important;border:1px solid #dcdcd7!important;border-radius:11px!important;background:#fff!important;color:#111!important;font-weight:700!important;cursor:pointer!important;transition:.16s ease!important}
.rsfy-agenda-calendar-trigger:hover,.rsfy-agenda-calendar-trigger[aria-expanded="true"]{background:#111!important;color:#fff!important;border-color:#111!important}
.rsfy-agenda-calendar-trigger svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.rsfy-agenda-range-clear{padding:0!important;border:0!important;border-bottom:1px solid #aaa!important;background:transparent!important;color:#777!important;font-size:11px!important;cursor:pointer!important}

.rsfy-date-range-popover{position:absolute!important;top:calc(100% + 9px)!important;left:0!important;z-index:120!important;width:330px!important;padding:16px!important;border:1px solid #e2e2de!important;border-radius:17px!important;background:#fff!important;box-shadow:0 20px 55px rgba(0,0,0,.13)!important}
.rsfy-date-range-popover[hidden]{display:none!important}
.rsfy-date-range-head{display:grid!important;grid-template-columns:36px 1fr 36px!important;align-items:center!important;gap:8px!important;margin-bottom:13px!important}
.rsfy-date-range-head strong{text-align:center!important;font-size:14px!important}
.rsfy-date-nav{width:36px!important;height:36px!important;border:1px solid #e0e0dc!important;border-radius:10px!important;background:#fff!important;color:#111!important;font-size:20px!important;cursor:pointer!important}
.rsfy-date-nav:hover{background:#111!important;color:#fff!important;border-color:#111!important}
.rsfy-date-weekdays,.rsfy-date-range-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:4px!important}
.rsfy-date-weekdays{margin-bottom:5px!important}.rsfy-date-weekdays span{text-align:center!important;color:#999!important;font-size:9px!important;font-weight:800!important}
.rsfy-date-range-grid button,.rsfy-date-range-grid>span{aspect-ratio:1!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#222!important;font-size:11px!important;font-weight:700!important}
.rsfy-date-range-grid button{cursor:pointer!important}.rsfy-date-range-grid button:hover{background:#f0f0ed!important}.rsfy-date-range-grid button.is-range{background:#f1f1ee!important}.rsfy-date-range-grid button.is-start,.rsfy-date-range-grid button.is-end{background:#111!important;color:#fff!important}.rsfy-date-range-grid button.is-today:not(.is-start):not(.is-end){outline:1px solid #111!important}
.rsfy-date-range-summary{min-height:36px!important;margin-top:12px!important;padding:10px 11px!important;border-radius:10px!important;background:#f7f7f5!important;color:#666!important;font-size:10px!important;line-height:1.4!important}
.rsfy-date-range-footer{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;margin-top:11px!important}.rsfy-date-range-footer button{min-height:38px!important;padding:0 13px!important;border-radius:10px!important;font-weight:700!important;cursor:pointer!important}.rsfy-date-range-delete{background:#fff!important;color:#777!important;border:1px solid #ddd!important}.rsfy-date-range-done{background:#111!important;color:#fff!important;border:1px solid #111!important}

.rsfy-agenda-view-switch{display:inline-flex!important;align-items:center!important;padding:3px!important;border:1px solid #e0e0dc!important;border-radius:12px!important;background:#f7f7f5!important;gap:3px!important}.rsfy-agenda-view-switch button{min-height:36px!important;padding:0 14px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#777!important;font-weight:700!important;cursor:pointer!important}.rsfy-agenda-view-switch button:hover{color:#111!important;background:#fff!important}.rsfy-agenda-view-switch button.is-active{background:#fff!important;color:#111!important;box-shadow:0 1px 5px rgba(0,0,0,.08)!important}

.rsfy-timegrid-shell{overflow:hidden!important;border:1px solid #e2e2de!important;border-radius:16px!important;background:#fff!important}.rsfy-timegrid-head{--rsfy-days:1;display:grid!important;grid-template-columns:72px repeat(var(--rsfy-days),minmax(0,1fr))!important;background:#fff!important;border-bottom:1px solid #e3e3df!important}.rsfy-timegrid-head-spacer{border-right:1px solid #ecece8!important}.rsfy-timegrid-dayhead{min-height:54px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;border-right:1px solid #ecece8!important}.rsfy-timegrid-dayhead span{color:#777!important;font-size:9px!important;font-weight:800!important;text-transform:uppercase!important}.rsfy-timegrid-dayhead strong{width:28px!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;font-size:12px!important}.rsfy-timegrid-dayhead.is-today strong{background:#111!important;color:#fff!important}
.rsfy-timegrid-scroll{max-height:650px!important;overflow:auto!important;scrollbar-width:thin!important;scrollbar-color:#c8c8c3 transparent!important}.rsfy-timegrid{--rsfy-days:1;--rsfy-grid-height:966px;display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;min-width:680px!important;height:var(--rsfy-grid-height)!important}.rsfy-time-axis{position:relative!important;height:var(--rsfy-grid-height)!important;border-right:1px solid #e5e5e1!important;background:#fafaf8!important}.rsfy-time-axis span{position:absolute!important;right:10px!important;transform:translateY(-50%)!important;color:#8a8a8a!important;font-size:10px!important;font-weight:600!important;background:#fafaf8!important;padding:0 3px!important}.rsfy-time-columns{display:grid!important;grid-template-columns:repeat(var(--rsfy-days),minmax(0,1fr))!important;height:var(--rsfy-grid-height)!important}.rsfy-time-daycol{position:relative!important;min-width:0!important;border-right:1px solid #e8e8e4!important;height:var(--rsfy-grid-height)!important}.rsfy-time-line{position:absolute!important;left:0!important;right:0!important;height:1px!important;background:#f0f0ed!important}.rsfy-time-line.is-hour{background:#e4e4df!important}
.rsfy-time-event{position:absolute!important;left:4px!important;right:4px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;padding:7px 8px!important;border:0!important;border-left:3px solid rgba(17,17,17,.42)!important;border-radius:8px!important;background:var(--rsfy-event-color,#DDE3E8)!important;color:#111!important;text-align:left!important;cursor:pointer!important;box-shadow:0 1px 0 rgba(255,255,255,.55) inset!important}.rsfy-time-event:hover{filter:brightness(.97)!important;box-shadow:0 4px 12px rgba(0,0,0,.08)!important}.rsfy-time-event b{font-size:9px!important;opacity:.7!important}.rsfy-time-event strong{font-size:11px!important;line-height:1.2!important}.rsfy-time-event span{font-size:9px!important;opacity:.72!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
.rsfy-calendar-weekdays,.rsfy-calendar-grid,.rsfy-agenda-range{display:none!important}

@media(max-width:980px){.rsfy-agenda-compact-tools{align-items:stretch!important;flex-direction:column!important}.rsfy-agenda-view-switch{align-self:flex-start!important}}
@media(max-width:700px){.rsfy-agenda-range-trigger-wrap{align-items:flex-start!important;flex-direction:column!important}.rsfy-agenda-calendar-trigger{width:100%!important;justify-content:flex-start!important}.rsfy-date-range-popover{width:min(330px,calc(100vw - 64px))!important}.rsfy-agenda-view-switch{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}.rsfy-agenda-view-switch button{width:100%!important}.rsfy-timegrid-head{grid-template-columns:54px repeat(var(--rsfy-days),minmax(100px,1fr))!important}.rsfy-timegrid{grid-template-columns:54px minmax(0,1fr)!important;min-width:720px!important}.rsfy-time-axis span{right:6px!important;font-size:9px!important}}


/* ===== v0.6.22 — Agenda : semaine par défaut + plage automatique ===== */

/* Flèches du mini-calendrier parfaitement centrées. */
.rsfy-date-nav{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
  text-align:center!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:19px!important;
  font-weight:500!important;
}
.rsfy-date-nav[data-range-nav="prev"],
.rsfy-date-nav[data-range-nav="next"]{
  text-indent:0!important;
}

/* Première et seconde date : carré premium noir, arrondi, texte blanc. */
.rsfy-date-range-grid button.is-start,
.rsfy-date-range-grid button.is-end{
  width:36px!important;
  height:36px!important;
  aspect-ratio:auto!important;
  justify-self:center!important;
  align-self:center!important;
  border-radius:10px!important;
  background:#111!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Les jours inclus dans la plage restent subtilement liés visuellement. */
.rsfy-date-range-grid button.is-range:not(.is-start):not(.is-end){
  background:#f0f0ed!important;
  color:#111!important;
  border-radius:8px!important;
}

/* Le calendrier reste visuellement stable pendant la sélection. */
.rsfy-date-range-grid button{
  transition:background .12s ease,color .12s ease,border-radius .12s ease!important;
}

/* Footer simplifié : plus de validation obligatoire. */
.rsfy-date-range-footer-auto{
  align-items:center!important;
}
.rsfy-date-range-hint{
  max-width:190px!important;
  color:#888!important;
  font-size:9px!important;
  line-height:1.35!important;
  text-align:right!important;
}

/* Vue semaine visuellement prioritaire par défaut. */
.rsfy-agenda-view-switch button.is-active{
  font-weight:800!important;
}

/* Navigation Aujourd’hui / précédent / suivant : centrage cohérent. */
.rsfy-calendar-actions button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.rsfy-calendar-actions button[data-cal-action="prev"],
.rsfy-calendar-actions button[data-cal-action="next"]{
  width:38px!important;
  min-width:38px!important;
  padding:0!important;
  font-size:17px!important;
}

@media(max-width:700px){
  .rsfy-date-range-footer-auto{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .rsfy-date-range-hint{
    max-width:none!important;
    text-align:left!important;
  }
}


/* ===== v0.6.24 — correctif clic calendrier / popover ===== */

/* Le calendrier doit flotter par-dessus l'agenda, sans pousser ni découper la grille. */
.rsfy-booking-workspace,
.rsfy-booking-workspace .rsfy-booking-card,
.rsfy-booking-workspace .rsfy-calendar-card,
.rsfy-booking-workspace .rsfy-agenda-card{
  overflow:visible!important;
}

.rsfy-agenda-range-trigger-wrap{
  position:relative!important;
  z-index:140!important;
}

.rsfy-agenda-range-trigger-wrap.is-open{
  z-index:300!important;
}

.rsfy-date-range-popover{
  position:absolute!important;
  top:calc(100% + 10px)!important;
  left:0!important;
  z-index:9999!important;
  width:330px!important;
  max-width:calc(100vw - 48px)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  isolation:isolate!important;
}

/* Empêche le popover de se retrouver visuellement sous la grille de planning. */
.rsfy-timegrid-shell,
.rsfy-timegrid-head,
.rsfy-timegrid-scroll{
  position:relative!important;
  z-index:1!important;
}

/* Zones cliquables du mini-calendrier propres et stables. */
.rsfy-date-range-grid{
  position:relative!important;
  z-index:2!important;
}
.rsfy-date-range-grid button{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  padding:0!important;
  outline:none!important;
  user-select:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.rsfy-date-range-grid button:focus-visible{
  outline:2px solid #111!important;
  outline-offset:2px!important;
}

/* Le premier jour sélectionné apparaît immédiatement en noir. */
.rsfy-date-range-grid button.is-start,
.rsfy-date-range-grid button.is-end{
  background:#111!important;
  color:#fff!important;
  border:1px solid #111!important;
  border-radius:10px!important;
}

/* Navigation du calendrier parfaitement centrée. */
.rsfy-date-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
}

/* Sur tablette/mobile, le popover reste entièrement visible. */
@media(max-width:700px){
  .rsfy-date-range-popover{
    left:0!important;
    right:auto!important;
    width:min(330px,calc(100vw - 36px))!important;
    max-width:min(330px,calc(100vw - 36px))!important;
  }
}


/* ===== v0.6.25 — Sidebar accordéon + recherche façon ChatGPT ===== */
.rsfy-sidebar-desktop-head,.rsfy-sidebar-search,.rsfy-sidebar-search-empty{display:none}

@media(min-width:981px){
  .rsfy-portal{
    grid-template-columns:235px minmax(0,1fr)!important;
    transition:grid-template-columns .2s cubic-bezier(.2,.8,.2,1)!important;
  }
  .rsfy-portal>.rsfy-sidebar{
    width:235px!important;
    transition:width .2s cubic-bezier(.2,.8,.2,1),padding .2s cubic-bezier(.2,.8,.2,1)!important;
  }

  .rsfy-sidebar-desktop-head{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    gap:10px!important;flex:0 0 auto!important;min-height:40px!important;margin:0 0 12px!important;
  }
  .rsfy-sidebar-brand-wrap{display:flex!important;align-items:center!important;min-width:0!important;height:32px!important}
  .rsfy-sidebar-brand-full{display:block!important;width:auto!important;height:23px!important;max-width:126px!important;object-fit:contain!important}
  .rsfy-sidebar-brand-compact{display:none!important;width:27px!important;height:27px!important;object-fit:contain!important}

  .rsfy-sidebar-collapse-toggle{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    flex:0 0 34px!important;width:34px!important;height:34px!important;padding:0!important;border:0!important;
    border-radius:9px!important;background:transparent!important;color:#555!important;cursor:pointer!important;
  }
  .rsfy-sidebar-collapse-toggle:hover{background:#f1f1ee!important;color:#111!important}
  .rsfy-sidebar-collapse-toggle svg{
    width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.6!important;
    stroke-linecap:round!important;stroke-linejoin:round!important
  }

  .rsfy-sidebar-search{
    position:relative!important;display:flex!important;align-items:center!important;flex:0 0 auto!important;
    min-height:39px!important;margin:0 0 10px!important;border:1px solid #e1e1dd!important;
    border-radius:10px!important;background:#f8f8f6!important;overflow:hidden!important;
  }
  .rsfy-sidebar-search:focus-within{border-color:#cfcfca!important;background:#fff!important;box-shadow:0 0 0 3px rgba(17,17,17,.035)!important}
  .rsfy-sidebar-search-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 37px!important;color:#777!important}
  .rsfy-sidebar-search-icon svg{width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important}
  #rsfy-sidebar-search-input{width:100%!important;min-width:0!important;height:37px!important;padding:0 31px 0 0!important;border:0!important;outline:0!important;background:transparent!important;color:#111!important;font:500 12px/1 Arial,Helvetica,sans-serif!important;box-shadow:none!important}
  #rsfy-sidebar-search-input::placeholder{color:#92928d!important}
  .rsfy-sidebar-search-clear{
    position:absolute!important;right:6px!important;top:50%!important;transform:translateY(-50%)!important;
    display:flex!important;align-items:center!important;justify-content:center!important;width:25px!important;height:25px!important;
    padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#777!important;
    font-size:17px!important;cursor:pointer!important
  }
  .rsfy-sidebar-search-clear:hover{background:#ececea!important;color:#111!important}
  .rsfy-sidebar-search-empty{display:block!important;flex:0 0 auto!important;margin:0 4px 8px!important;padding:8px 10px!important;border-radius:9px!important;color:#888!important;background:#fafaf8!important;font-size:11px!important}
  .rsfy-sidebar-search-empty[hidden]{display:none!important}

  .rsfy-sidebar>.rsfy-mobile-topbar{display:none!important}
  .rsfy-desktop-nav>a,.rsfy-desktop-nav>button{position:relative!important}

  html.rsfy-sidebar-collapsed .rsfy-portal{grid-template-columns:64px minmax(0,1fr)!important}
  html.rsfy-sidebar-collapsed .rsfy-portal>.rsfy-sidebar{
    width:64px!important;padding-left:10px!important;padding-right:10px!important;
  }
  html.rsfy-sidebar-collapsed .rsfy-sidebar-desktop-head{
    justify-content:center!important;flex-direction:column!important;gap:7px!important;min-height:72px!important;margin-bottom:8px!important
  }
  html.rsfy-sidebar-collapsed .rsfy-sidebar-brand-full{display:none!important}
  html.rsfy-sidebar-collapsed .rsfy-sidebar-brand-compact{display:block!important}
  html.rsfy-sidebar-collapsed .rsfy-sidebar-collapse-toggle{width:36px!important;height:32px!important;flex-basis:32px!important}
  html.rsfy-sidebar-collapsed .rsfy-sidebar-search,
  html.rsfy-sidebar-collapsed .rsfy-sidebar-search-empty{display:none!important}

  html.rsfy-sidebar-collapsed .rsfy-desktop-nav{align-items:center!important;padding-left:0!important;padding-right:0!important}
  html.rsfy-sidebar-collapsed .rsfy-desktop-nav>a,
  html.rsfy-sidebar-collapsed .rsfy-desktop-nav>button{
    width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;
    padding:0!important;justify-content:center!important;border-radius:10px!important;overflow:visible!important
  }
  html.rsfy-sidebar-collapsed .rsfy-nav-icon{flex:0 0 22px!important;width:22px!important;height:22px!important;margin:0!important}
  html.rsfy-sidebar-collapsed .rsfy-nav-label{display:none!important}

  html.rsfy-sidebar-collapsed .rsfy-desktop-nav>a:hover::after,
  html.rsfy-sidebar-collapsed .rsfy-desktop-nav>button:hover::after{
    content:attr(data-sidebar-tooltip)!important;position:absolute!important;left:calc(100% + 9px)!important;top:50%!important;
    transform:translateY(-50%)!important;z-index:999!important;display:block!important;width:max-content!important;max-width:220px!important;
    padding:7px 9px!important;border:1px solid #e1e1dd!important;border-radius:8px!important;background:#111!important;color:#fff!important;
    box-shadow:0 8px 24px rgba(0,0,0,.12)!important;font:600 11px/1.2 Arial,Helvetica,sans-serif!important;white-space:nowrap!important;pointer-events:none!important
  }

  html.rsfy-sidebar-collapsed .rsfy-sidebar .rsfy-user{
    width:44px!important;min-width:44px!important;align-self:center!important;justify-content:center!important;padding:12px 0 4px!important;gap:0!important
  }
  html.rsfy-sidebar-collapsed .rsfy-sidebar .rsfy-user>div,
  html.rsfy-sidebar-collapsed .rsfy-sidebar .rsfy-user>i{display:none!important}
  html.rsfy-sidebar-collapsed .rsfy-sidebar .rsfy-user>span{width:32px!important;height:32px!important;flex:0 0 32px!important}
}

@media(max-width:980px){
  .rsfy-sidebar-desktop-head,.rsfy-sidebar-search,.rsfy-sidebar-search-empty{display:none!important}
}

/* ===== v0.6.26 — Finitions typographiques + alignement grille Agenda ===== */
/* Les deux vues reprennent la typographie des filtres, en plus compacte. */
.rsfy-agenda-view-switch button{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:600!important;
  letter-spacing:0!important;
  min-height:34px!important;
  padding:0 12px!important;
}
.rsfy-agenda-view-switch button.is-active{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:600!important;
}

/* Le header et le corps utilisent exactement la même largeur utile,
   même lorsque la barre de défilement verticale est présente. */
.rsfy-timegrid-head{
  box-sizing:border-box!important;
  padding-right:10px!important;
}
.rsfy-timegrid-scroll{
  scrollbar-gutter:stable!important;
}
.rsfy-timegrid-head-spacer,
.rsfy-timegrid-dayhead,
.rsfy-time-axis,
.rsfy-time-daycol{
  box-sizing:border-box!important;
}


/* ===== v0.6.27 — validation de plage + navigation longue période ===== */

.rsfy-date-range-footer-auto{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}

.rsfy-date-range-apply{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:0 15px!important;
  border:1px solid #111!important;
  border-radius:10px!important;
  background:#111!important;
  color:#fff!important;
  font:700 11px/1 Arial,Helvetica,sans-serif!important;
  cursor:pointer!important;
  transition:background .15s ease,transform .15s ease!important;
}
.rsfy-date-range-apply:hover{
  background:#000!important;
}
.rsfy-date-range-apply:active{
  transform:translateY(1px)!important;
}
.rsfy-date-range-apply[hidden]{
  display:none!important;
}

.rsfy-date-range-hint{
  max-width:none!important;
  text-align:right!important;
}

/* Navigation horizontale de la plage sélectionnée */
.rsfy-timegrid-shell{
  position:relative!important;
}

.rsfy-timegrid-range-nav{
  position:absolute!important;
  top:9px!important;
  right:12px!important;
  z-index:35!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.rsfy-timegrid-range-nav[hidden]{
  display:none!important;
}

.rsfy-timegrid-range-arrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  padding:0!important;
  border:1px solid #dededa!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:0 2px 8px rgba(0,0,0,.05)!important;
  cursor:pointer!important;
  transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease!important;
}
.rsfy-timegrid-range-arrow svg{
  width:16px!important;
  height:16px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.rsfy-timegrid-range-arrow:hover:not(:disabled){
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}
.rsfy-timegrid-range-arrow:disabled{
  background:#f2f2ef!important;
  color:#b6b6b1!important;
  border-color:#e6e6e2!important;
  box-shadow:none!important;
  cursor:default!important;
  opacity:.75!important;
}

/* Réserve une petite zone visuelle dans l'en-tête pour les deux flèches. */
.rsfy-timegrid-head{
  padding-right:88px!important;
  box-sizing:border-box!important;
}

@media(max-width:700px){
  .rsfy-date-range-footer-auto{
    grid-template-columns:1fr 1fr!important;
  }
  .rsfy-date-range-hint{
    grid-column:1/-1!important;
    grid-row:1!important;
    text-align:left!important;
  }
  .rsfy-date-range-delete{
    grid-column:1!important;
  }
  .rsfy-date-range-apply{
    grid-column:2!important;
  }
  .rsfy-timegrid-range-nav{
    top:8px!important;
    right:8px!important;
  }
  .rsfy-timegrid-range-arrow{
    width:32px!important;
    height:32px!important;
  }
}

/* ===== v0.6.28 — Agenda dropdown avant-plan + mobile premium ===== */
.rsfy-agenda-controlbar,.rsfy-agenda-filter-group,.rsfy-agenda-filter-group label,.rsfy-premium-select{position:relative!important;overflow:visible!important}
.rsfy-agenda-controlbar{z-index:80!important}
.rsfy-agenda-filter-group{z-index:90!important}
.rsfy-premium-select{z-index:100!important}
.rsfy-premium-select.is-open{z-index:10000!important}
.rsfy-premium-select-menu{
  position:absolute!important;top:calc(100% + 7px)!important;left:0!important;right:0!important;
  z-index:10001!important;max-height:320px!important;overflow-y:auto!important;overflow-x:hidden!important;
  border:1px solid #deded9!important;border-radius:13px!important;background:#fff!important;
  box-shadow:0 18px 45px rgba(0,0,0,.13)!important;padding:6px!important;isolation:isolate!important
}
.rsfy-premium-select-menu[hidden]{display:none!important}
.rsfy-timegrid-shell,.rsfy-timegrid-range-nav,.rsfy-agenda-compact-tools,.rsfy-agenda-legend{position:relative!important;z-index:1!important}
.rsfy-timegrid-head,.rsfy-timegrid-scroll{z-index:1!important}

@media(max-width:700px){
  .rsfy-booking-workspace{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .rsfy-booking-workspace .rsfy-section{padding:18px 14px!important;border-radius:16px!important}
  .rsfy-calendar-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:14px!important}
  .rsfy-calendar-head h2{font-size:27px!important;line-height:1.1!important;margin:0 0 7px!important}
  .rsfy-calendar-head p{font-size:13px!important;line-height:1.45!important}
  .rsfy-calendar-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 42px 42px!important;gap:7px!important}
  .rsfy-calendar-actions button{min-height:40px!important;border-radius:10px!important}

  .rsfy-agenda-controlbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-bottom:12px!important}
  .rsfy-agenda-filter-group{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .rsfy-agenda-filter-group label,.rsfy-premium-select,.rsfy-premium-select-trigger{width:100%!important;max-width:100%!important}
  .rsfy-premium-select-trigger{min-height:46px!important;padding:0 13px!important;border-radius:11px!important;font-size:13px!important}
  .rsfy-premium-select-menu{width:100%!important;max-height:min(55vh,360px)!important;border-radius:14px!important;padding:6px!important}
  .rsfy-premium-select-option{min-height:44px!important;padding:0 12px!important;border-radius:9px!important;font-size:13px!important}
  .rsfy-agenda-colors-toggle{width:100%!important;min-height:44px!important;border-radius:11px!important;font-size:12px!important}

  .rsfy-agenda-compact-tools{display:flex!important;flex-direction:column!important;gap:10px!important;align-items:stretch!important}
  .rsfy-agenda-range-trigger-wrap{width:100%!important}
  .rsfy-agenda-calendar-trigger{width:100%!important;min-height:44px!important;border-radius:11px!important}
  .rsfy-agenda-range-clear{align-self:flex-start!important;margin-left:2px!important}
  .rsfy-agenda-view-switch{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;padding:3px!important;border-radius:11px!important}
  .rsfy-agenda-view-switch button{min-height:38px!important;font-size:11px!important;padding:0 8px!important}

  .rsfy-date-range-popover{
    position:fixed!important;left:16px!important;right:16px!important;top:50%!important;transform:translateY(-50%)!important;
    width:auto!important;max-width:none!important;max-height:82vh!important;overflow:auto!important;z-index:20000!important;
    border-radius:18px!important;padding:15px!important;box-shadow:0 24px 70px rgba(0,0,0,.2)!important
  }

  .rsfy-timegrid-shell{width:100%!important;overflow:hidden!important;border-radius:14px!important}
  .rsfy-timegrid-head{min-width:760px!important;grid-template-columns:56px repeat(var(--rsfy-days),minmax(100px,1fr))!important;padding-right:76px!important}
  .rsfy-timegrid-scroll{width:100%!important;overflow-x:auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important}
  .rsfy-timegrid{min-width:760px!important;grid-template-columns:56px minmax(0,1fr)!important}
  .rsfy-timegrid-dayhead{min-height:50px!important}
  .rsfy-timegrid-dayhead span{font-size:8px!important}
  .rsfy-timegrid-dayhead strong{width:26px!important;height:26px!important;font-size:11px!important}
  .rsfy-time-axis span{font-size:8px!important;right:5px!important}
  .rsfy-time-event{left:3px!important;right:3px!important;padding:5px 6px!important;border-radius:7px!important}
  .rsfy-time-event strong{font-size:10px!important}
  .rsfy-time-event span,.rsfy-time-event b{font-size:8px!important}
  .rsfy-timegrid-range-nav{top:8px!important;right:8px!important;gap:6px!important}
  .rsfy-timegrid-range-arrow{width:31px!important;height:31px!important}
  .rsfy-agenda-upcoming{margin-top:14px!important}
  .rsfy-agenda-upcoming .section-head{align-items:flex-start!important;gap:10px!important}
  .rsfy-agenda-item{grid-template-columns:auto minmax(0,1fr) auto!important;gap:10px!important;min-height:70px!important}
}

@media(max-width:420px){
  .rsfy-booking-workspace .rsfy-section{padding:15px 11px!important}
  .rsfy-calendar-head h2{font-size:24px!important}
  .rsfy-date-range-popover{left:10px!important;right:10px!important;padding:13px!important}
  .rsfy-date-range-grid button,.rsfy-date-range-grid>span{font-size:10px!important}
}


/* ===== v0.6.29 — Import + CRM Mes clients ===== */
.rsfy-crm-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.rsfy-crm-page-head h2{margin:0 0 6px;font:700 30px/1.08 Arial,Helvetica,sans-serif;letter-spacing:-.025em}
.rsfy-crm-page-head p{margin:0;color:#70706d;font-size:12px;line-height:1.55}

.rsfy-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rsfy-import-card{display:flex;flex-direction:column;gap:16px;padding:22px;border:1px solid #e1e1dd;border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.025)}
.rsfy-import-card-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#111;color:#fff;font:700 12px/1 monospace}
.rsfy-import-card-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rsfy-import-card-copy>span,.rsfy-campaign-kicker{display:block;margin-bottom:7px;color:#777;font-size:9px;font-weight:800;letter-spacing:.17em}
.rsfy-import-card h3,.rsfy-campaign-card h3{margin:0 0 7px;font:700 21px/1.15 Arial,Helvetica,sans-serif}
.rsfy-import-card p,.rsfy-campaign-card p{margin:0;color:#6d6d69;font-size:11px;line-height:1.6}
.rsfy-import-format{padding:12px 13px;border-radius:12px;background:#f7f7f4}
.rsfy-import-format strong{display:block;margin-bottom:4px;font-size:10px}
.rsfy-import-format small{color:#777;font-size:9px;line-height:1.5}
.rsfy-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:165px;padding:18px;border:1px dashed #cfcfca;border-radius:15px;background:#fafaf8;text-align:center;cursor:pointer;transition:.15s ease}
.rsfy-dropzone:hover{border-color:#111;background:#fff}
.rsfy-dropzone-plus{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:9px;border-radius:50%;background:#111;color:#fff;font-size:22px;font-weight:300}
.rsfy-dropzone strong{font-size:11px}.rsfy-dropzone small{margin-top:5px;color:#858581;font-size:9px;line-height:1.45}.rsfy-dropzone em{margin-top:12px;color:#555;font-size:9px;font-style:normal;font-weight:700}
.rsfy-import-submit{align-self:flex-start}
.rsfy-import-message{min-height:16px;color:#555;font-size:10px;line-height:1.4}
.rsfy-import-history,.rsfy-campaign-history{margin-top:18px;padding:20px;border:1px solid #e2e2de;border-radius:17px;background:#fff}
.rsfy-history-list{display:grid;gap:0}.rsfy-history-list>div{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(220px,1fr);align-items:center;gap:15px;padding:13px 2px;border-top:1px solid #ededE9}.rsfy-history-list>div:first-child{border-top:0}.rsfy-history-list span{font-weight:700;font-size:11px}.rsfy-history-list strong{font-size:10px}.rsfy-history-list small{color:#777;text-align:right;font-size:9px}
.rsfy-empty-premium{display:flex;flex-direction:column;gap:4px;padding:25px;border-radius:13px;background:#f8f8f6;color:#777;font-size:11px}.rsfy-empty-premium strong{color:#111;font-size:13px}

.rsfy-crm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.rsfy-crm-stats>div{min-height:105px;padding:17px;border:1px solid #e1e1dd;border-radius:15px;background:#fff;display:flex;flex-direction:column}
.rsfy-crm-stats span{color:#777;font-size:10px}.rsfy-crm-stats strong{margin:10px 0 4px;font-size:26px;line-height:1}.rsfy-crm-stats small{color:#868682;font-size:9px}.rsfy-crm-stats .dark{background:#111;border-color:#111;color:#fff}.rsfy-crm-stats .dark span,.rsfy-crm-stats .dark small{color:#aaa}
.rsfy-crm-add-panel{margin-bottom:16px;padding:18px;border:1px solid #e0e0dc;border-radius:16px;background:#fff}.rsfy-crm-add-panel[hidden]{display:none!important}
.rsfy-crm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rsfy-crm-form-grid label,.rsfy-campaign-card label{display:flex;flex-direction:column;gap:6px;color:#333;font-size:10px;font-weight:700}.rsfy-crm-form-grid label.wide{grid-column:1/-1}.rsfy-crm-form-grid input,.rsfy-crm-form-grid textarea,.rsfy-campaign-card input,.rsfy-campaign-card select,.rsfy-campaign-card textarea{box-sizing:border-box;width:100%;border:1px solid #dededa;border-radius:10px;background:#fff;color:#111;font:500 12px Arial,Helvetica,sans-serif;outline:0}.rsfy-crm-form-grid input,.rsfy-campaign-card input,.rsfy-campaign-card select{height:42px;padding:0 11px}.rsfy-crm-form-grid textarea,.rsfy-campaign-card textarea{padding:10px 11px;resize:vertical}.rsfy-crm-form-grid input:focus,.rsfy-crm-form-grid textarea:focus,.rsfy-campaign-card input:focus,.rsfy-campaign-card select:focus,.rsfy-campaign-card textarea:focus{border-color:#111}
.rsfy-crm-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.rsfy-crm-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.75fr);gap:16px;align-items:start}
.rsfy-crm-list-card,.rsfy-campaign-card{padding:18px;border:1px solid #e1e1dd;border-radius:17px;background:#fff}
.rsfy-crm-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:9px;margin-bottom:14px}.rsfy-crm-search{display:flex;align-items:center;height:42px;border:1px solid #dededa;border-radius:10px;background:#fff}.rsfy-crm-search span{padding-left:12px;color:#777}.rsfy-crm-search input{width:100%;height:40px;padding:0 10px;border:0;outline:0;background:transparent;font-size:11px}.rsfy-crm-toolbar select{height:42px;padding:0 10px;border:1px solid #dededa;border-radius:10px;background:#fff;font-size:10px}
.rsfy-crm-table{overflow:hidden;border:1px solid #e5e5e1;border-radius:13px}.rsfy-crm-table-head,.rsfy-crm-row{display:grid;grid-template-columns:1.2fr 1.25fr 1fr .55fr 38px;align-items:center;gap:12px;padding:11px 13px}.rsfy-crm-table-head{background:#f7f7f5;color:#888;font-size:9px;font-weight:800}.rsfy-crm-row{min-height:56px;border-top:1px solid #ededE9;font-size:10px}.rsfy-crm-row[hidden]{display:none!important}.rsfy-crm-row span{min-width:0}.rsfy-crm-row b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.rsfy-crm-row small{display:block;margin-top:3px;color:#858581;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rsfy-crm-person{display:grid!important;grid-template-columns:31px 1fr;grid-template-rows:auto auto;column-gap:9px}.rsfy-crm-person i{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:#111;color:#fff;font-style:normal;font-size:10px}.rsfy-crm-tags{display:flex;flex-wrap:wrap;gap:4px}.rsfy-crm-tags em{padding:4px 6px;border-radius:999px;background:#f1f1ee;color:#555;font-size:8px;font-style:normal;font-weight:700}.rsfy-crm-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#999;font-size:18px;cursor:pointer}.rsfy-crm-delete:hover{background:#f2f2ef;color:#111}.rsfy-crm-no-results{padding:25px;text-align:center;color:#777;font-size:10px}
.rsfy-campaign-card{position:sticky;top:18px;display:flex;flex-direction:column;gap:12px}.rsfy-campaign-card code{padding:2px 4px;border-radius:4px;background:#f0f0ed;font-size:9px}.rsfy-campaign-submit{width:100%;justify-content:center}
.rsfy-campaign-history{margin-top:16px}

@media(max-width:1100px){.rsfy-crm-layout{grid-template-columns:1fr}.rsfy-campaign-card{position:static}.rsfy-crm-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
 .rsfy-crm-page-head{flex-direction:column}.rsfy-crm-page-head .rsfy-btn{width:100%;justify-content:center}
 .rsfy-import-grid{grid-template-columns:1fr}.rsfy-import-card{padding:17px}
 .rsfy-crm-stats{grid-template-columns:1fr 1fr;gap:8px}.rsfy-crm-stats>div{min-height:90px;padding:14px}
 .rsfy-crm-form-grid{grid-template-columns:1fr}.rsfy-crm-form-grid label.wide{grid-column:auto}
 .rsfy-crm-toolbar{grid-template-columns:1fr}.rsfy-crm-toolbar .rsfy-btn{justify-content:center}
 .rsfy-crm-table{border:0;display:grid;gap:8px;overflow:visible}.rsfy-crm-table-head{display:none}.rsfy-crm-row{position:relative;display:grid;grid-template-columns:1fr;padding:14px;border:1px solid #e4e4e0;border-radius:13px;background:#fff;gap:9px}.rsfy-crm-row>span:last-child{position:absolute;top:8px;right:8px}.rsfy-crm-person{padding-right:30px}
 .rsfy-history-list>div{grid-template-columns:1fr auto}.rsfy-history-list small{grid-column:1/-1;text-align:left}
}
@media(max-width:460px){.rsfy-crm-stats{grid-template-columns:1fr}.rsfy-import-card h3,.rsfy-campaign-card h3{font-size:19px}}

/* v0.6.30 — bouton suppression CRM premium */
.rsfy-crm-delete{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #e6e6e2!important;
  border-radius:50%!important;
  background:#f2f2ef!important;
  color:#777!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease!important;
}
.rsfy-crm-delete:hover,
.rsfy-crm-delete:focus-visible{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
  outline:none!important;
}
.rsfy-crm-delete:active{transform:scale(.94)}


/* ===== v0.6.31 — CRM Segments + campagnes multicanal ===== */
.rsfy-crm-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rsfy-crm-head-actions .rsfy-btn.secondary{background:#fff!important;color:#111!important;border:1px solid #dededa!important}
.rsfy-crm-head-actions .rsfy-btn.secondary:hover{background:#111!important;color:#fff!important;border-color:#111!important}

.rsfy-campaign-card select{
  appearance:none!important;
  -webkit-appearance:none!important;
  padding-right:34px!important;
  background:
    linear-gradient(45deg,transparent 50%,#555 50%) calc(100% - 16px) 50%/5px 5px no-repeat,
    linear-gradient(135deg,#555 50%,transparent 50%) calc(100% - 12px) 50%/5px 5px no-repeat,
    #fff!important;
  cursor:pointer!important;
}
.rsfy-campaign-card select:hover{border-color:#bdbdb8!important}
.rsfy-campaign-card select:focus{border-color:#111!important;box-shadow:0 0 0 3px rgba(17,17,17,.035)!important}

.rsfy-channel-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid #dededa;border-radius:11px;background:#f5f5f2}
.rsfy-channel-switch button{height:36px;border:0;border-radius:8px;background:transparent;color:#777;font:700 10px Arial,Helvetica,sans-serif;cursor:pointer}
.rsfy-channel-switch button.is-active{background:#111;color:#fff}
.rsfy-provider-note{padding:10px 11px;border-radius:10px;background:#f7f7f4;color:#777;font-size:9px;line-height:1.45}

.rsfy-crm-modal{position:fixed;inset:0;z-index:50000;display:flex;align-items:center;justify-content:center;padding:22px}
.rsfy-crm-modal[hidden]{display:none!important}
.rsfy-crm-modal-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.36);backdrop-filter:blur(3px)}
.rsfy-crm-modal-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:min(82vh,760px);overflow:auto;padding:22px;border:1px solid #dfdfda;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.18)}
.rsfy-campaigns-dialog{width:min(980px,100%)}
.rsfy-crm-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid #ecece8}
.rsfy-crm-modal-head h3{margin:0 0 5px;font:700 24px/1.1 Arial,Helvetica,sans-serif}
.rsfy-crm-modal-head p{margin:0;color:#777;font-size:10px;line-height:1.5}
.rsfy-crm-modal-x{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:1px solid #e2e2de;border-radius:50%;background:#f2f2ef;color:#555;font-size:19px;cursor:pointer}
.rsfy-crm-modal-x:hover{background:#111;color:#fff;border-color:#111}

.rsfy-segment-create{display:grid;gap:14px;padding:18px 0;border-bottom:1px solid #ecece8}
.rsfy-segment-create>label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700}
.rsfy-segment-create>label input{height:42px;padding:0 11px;border:1px solid #dededa;border-radius:10px;outline:0}
.rsfy-segment-create>label input:focus{border-color:#111}
.rsfy-segment-client-list{overflow:hidden;border:1px solid #e4e4df;border-radius:13px}
.rsfy-segment-list-head{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#f7f7f4}
.rsfy-segment-list-head strong{font-size:10px}
.rsfy-segment-list-head button{border:0;background:transparent;color:#666;font-size:9px;text-decoration:underline;cursor:pointer}
.rsfy-segment-client{display:grid!important;grid-template-columns:18px 1fr;align-items:center;gap:10px;padding:10px 13px;border-top:1px solid #eeeeea;cursor:pointer}
.rsfy-segment-client input{width:16px;height:16px;accent-color:#111}
.rsfy-segment-client b{display:block;font-size:10px}
.rsfy-segment-client small{display:block;margin-top:2px;color:#888;font-size:8.5px}
.rsfy-segment-existing{padding-top:17px}
.rsfy-segment-existing h4{margin:0 0 10px;font-size:13px}
.rsfy-segment-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px;border-top:1px solid #eeeeea}
.rsfy-segment-row b{display:block;font-size:10px}
.rsfy-segment-row small{display:block;margin-top:3px;color:#888;font-size:8.5px}
.rsfy-segment-delete{border:0;background:transparent;color:#777;font-size:9px;text-decoration:underline;cursor:pointer}
.rsfy-segment-delete:hover{color:#111}

.rsfy-campaign-list{display:grid;gap:8px;margin-top:16px}
.rsfy-campaign-row{display:grid;grid-template-columns:58px minmax(180px,1.4fr) minmax(120px,.8fr) minmax(130px,.8fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e4e4df;border-radius:13px;background:#fff}
.rsfy-campaign-row>div>span{display:block;color:#888;font-size:8px}
.rsfy-campaign-row>div>b{display:block;margin-top:2px;font-size:10px}
.rsfy-campaign-row>div>small{display:block;margin-top:3px;color:#888;font-size:8.5px}
.rsfy-campaign-channel{display:inline-flex;align-items:center;justify-content:center;height:28px;border-radius:8px;background:#111;color:#fff;font-size:8px;font-weight:800;letter-spacing:.08em}
.rsfy-campaign-channel.sms{background:#ecece8;color:#111}
.rsfy-campaign-status{padding:6px 8px;border-radius:999px;background:#f1f1ee;color:#555;font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}
.rsfy-campaign-status.sent{background:#eaf8ef;color:#16783a}
.rsfy-campaign-status.waiting_provider{background:#fff3df;color:#8b5a00}

@media(max-width:760px){
  .rsfy-crm-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .rsfy-crm-head-actions .rsfy-btn:last-child{grid-column:1/-1}
  .rsfy-crm-modal{padding:10px;align-items:flex-end}
  .rsfy-crm-modal-dialog{width:100%;max-height:88vh;padding:17px;border-radius:18px 18px 10px 10px}
  .rsfy-campaign-row{grid-template-columns:54px 1fr;gap:9px}
  .rsfy-campaign-row>div:nth-of-type(2),.rsfy-campaign-row>div:nth-of-type(3){grid-column:2}
  .rsfy-campaign-status{grid-column:1/-1;justify-self:start}
}


/* ===== v0.6.32 — CRM popups premium + croix cohérentes ===== */

/* Popups Segments / Mes campagnes : même langage visuel que le Cloud */
.rsfy-crm-modal-backdrop{
  background:rgba(17,17,17,.34)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
}

.rsfy-crm-modal-dialog{
  width:min(780px,calc(100vw - 40px))!important;
  max-height:min(84vh,780px)!important;
  padding:26px!important;
  border:1px solid #e2e2de!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 28px 90px rgba(0,0,0,.16)!important;
}

.rsfy-campaigns-dialog{
  width:min(980px,calc(100vw - 40px))!important;
}

.rsfy-crm-modal-head{
  align-items:flex-start!important;
  padding-bottom:18px!important;
  margin-bottom:2px!important;
  border-bottom:1px solid #ecece8!important;
}

.rsfy-crm-modal-head h3{
  margin:0 0 6px!important;
  font:700 24px/1.08 Arial,Helvetica,sans-serif!important;
  letter-spacing:-.025em!important;
  color:#111!important;
}

.rsfy-crm-modal-head p{
  max-width:620px!important;
  margin:0!important;
  color:#777!important;
  font:400 10px/1.55 Arial,Helvetica,sans-serif!important;
}

/* Les blocs internes restent fins, aérés et cohérents */
.rsfy-segment-create{
  padding:20px 0!important;
  gap:15px!important;
}

.rsfy-segment-create>label input{
  min-height:44px!important;
  border:1px solid #dededa!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:none!important;
}

.rsfy-segment-client-list{
  border:1px solid #e2e2de!important;
  border-radius:14px!important;
  background:#fff!important;
}

.rsfy-segment-list-head{
  padding:12px 14px!important;
  background:#f7f7f4!important;
}

.rsfy-segment-client{
  min-height:56px!important;
  padding:11px 14px!important;
  border-top:1px solid #eeeeea!important;
  background:#fff!important;
  transition:background .15s ease!important;
}

.rsfy-segment-client:hover{
  background:#fafaf8!important;
}

.rsfy-segment-create>.rsfy-btn{
  width:100%!important;
  justify-content:center!important;
  min-height:46px!important;
  border-radius:11px!important;
}

.rsfy-segment-existing{
  padding-top:20px!important;
}

.rsfy-segment-existing h4{
  margin:0 0 10px!important;
  font:700 13px/1.2 Arial,Helvetica,sans-serif!important;
}

.rsfy-segment-row{
  min-height:54px!important;
  padding:12px 2px!important;
}

/* Liste Mes campagnes plus lisible */
.rsfy-campaign-list{
  gap:10px!important;
  margin-top:18px!important;
}

.rsfy-campaign-row{
  min-height:66px!important;
  padding:14px 15px!important;
  border:1px solid #e4e4df!important;
  border-radius:14px!important;
  background:#fff!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}

.rsfy-campaign-row:hover{
  border-color:#d3d3cf!important;
  box-shadow:0 8px 24px rgba(0,0,0,.035)!important;
}

/* Toutes les croix du CRM utilisent désormais exactement le même composant visuel. */
.rsfy-round-x,
.rsfy-crm-delete,
.rsfy-crm-modal-x{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 30px!important;
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  padding:0!important;
  border:1px solid #e2e2de!important;
  border-radius:50%!important;
  background:#efefec!important;
  color:#666!important;
  box-shadow:none!important;
  font:400 17px/1 Arial,Helvetica,sans-serif!important;
  text-decoration:none!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transition:background .15s ease,color .15s ease,border-color .15s ease,transform .12s ease!important;
}

.rsfy-round-x:hover,
.rsfy-crm-delete:hover,
.rsfy-crm-modal-x:hover{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

.rsfy-round-x:active,
.rsfy-crm-delete:active,
.rsfy-crm-modal-x:active{
  transform:scale(.94)!important;
}

.rsfy-round-x:focus-visible,
.rsfy-crm-delete:focus-visible,
.rsfy-crm-modal-x:focus-visible{
  outline:2px solid #111!important;
  outline-offset:2px!important;
}

/* Les anciennes couleurs vertes ne doivent plus gagner sur les croix. */
.rsfy-crm-modal-head .rsfy-crm-modal-x{
  background:#efefec!important;
  color:#666!important;
  border-color:#e2e2de!important;
}
.rsfy-crm-modal-head .rsfy-crm-modal-x:hover{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

/* Sélecteurs de campagne : apparence plus sobre/premium */
.rsfy-campaign-card select{
  min-height:44px!important;
  border:1px solid #dededa!important;
  border-radius:11px!important;
  background-color:#fff!important;
  color:#111!important;
  font:500 11px/1 Arial,Helvetica,sans-serif!important;
  box-shadow:none!important;
}

.rsfy-campaign-card select:focus{
  border-color:#111!important;
  box-shadow:0 0 0 3px rgba(17,17,17,.04)!important;
}

/* Cohérence mobile */
@media(max-width:760px){
  .rsfy-crm-modal-dialog{
    width:100%!important;
    max-height:90vh!important;
    padding:18px!important;
    border-radius:18px 18px 12px 12px!important;
  }
  .rsfy-crm-modal-head h3{
    font-size:22px!important;
  }
  .rsfy-round-x,
  .rsfy-crm-delete,
  .rsfy-crm-modal-x{
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
  }
}


/* ===== v0.6.33 — Dashboard Configuration clé en main ===== */
.rsfy-kih-dashboard-card{margin:16px 0;padding:22px;border:1px solid #dededa;border-radius:18px;background:#fff}
.rsfy-kih-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:17px;border-bottom:1px solid #ecece8}
.rsfy-kih-dashboard-kicker{display:block;margin-bottom:7px;color:#777;font-size:8.5px;font-weight:800;letter-spacing:.17em}
.rsfy-kih-dashboard-head h2{margin:0 0 5px;font-size:22px;letter-spacing:-.025em}
.rsfy-kih-dashboard-head p{margin:0;color:#777;font-size:10px}
.rsfy-kih-dashboard-status{display:inline-flex;align-items:center;min-height:29px;padding:0 10px;border-radius:999px;background:#eaf8ef;color:#16783a;font-size:8px;font-weight:800;white-space:nowrap}
.rsfy-kih-dashboard-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:11px;padding-top:16px}
.rsfy-kih-dashboard-grid>div{min-height:116px;padding:15px;border:1px solid #e3e3df;border-radius:14px;background:#fafaf8}
.rsfy-kih-dashboard-grid small{display:block;color:#888;font-size:8px}.rsfy-kih-dashboard-grid strong{display:block;margin-top:8px;font-size:15px}.rsfy-kih-dashboard-grid span{display:block;margin-top:7px;color:#777;font-size:8.5px;line-height:1.4}
.rsfy-kih-dossier strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;letter-spacing:.02em}
.rsfy-kih-progress-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.rsfy-kih-progress-top span{margin:0;color:#666;font-size:9px;font-weight:700}.rsfy-kih-progress-top strong{margin:0;font-size:15px}
.rsfy-kih-progress-track{height:7px;margin:15px 0 8px;border-radius:999px;background:#e8e8e4;overflow:hidden}.rsfy-kih-progress-track i{display:block;height:100%;border-radius:999px;background:#111;transition:width .3s ease}
.rsfy-kih-dashboard-actions{display:flex;justify-content:flex-end;padding-top:14px}.rsfy-kih-dashboard-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 14px;border-radius:10px;background:#111;color:#fff;text-decoration:none;font-size:9px;font-weight:800}.rsfy-kih-dashboard-actions a:hover{background:#292929}.rsfy-kih-dashboard-actions span{color:#777;font-size:9px}
@media(max-width:850px){.rsfy-kih-dashboard-grid{grid-template-columns:1fr}.rsfy-kih-dashboard-head{flex-direction:column}.rsfy-kih-dashboard-status{align-self:flex-start}}
@media(max-width:560px){.rsfy-kih-dashboard-card{padding:16px;border-radius:16px}.rsfy-kih-dashboard-head h2{font-size:20px}.rsfy-kih-dashboard-actions a{width:100%}}

/* ===== v0.6.34 — Campagnes : fournisseur géré par Center ===== */
.rsfy-campaign-card textarea[data-campaign-field="message"]{
    overflow-y:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
}
.rsfy-campaign-card textarea[data-campaign-field="message"]::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
}


/* ===== v0.6.35 — campagne autosave + segment picker premium ===== */
.rsfy-segment-picker{position:relative}
.rsfy-segment-picker-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;min-height:44px;padding:0 13px;
  border:1px solid #dededa;border-radius:11px;background:#fff;color:#111;
  font:500 11px/1 Arial,Helvetica,sans-serif;text-align:left;cursor:pointer;
}
.rsfy-segment-picker-trigger:hover{border-color:#c7c7c2}
.rsfy-segment-picker.is-open .rsfy-segment-picker-trigger{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.035)}
.rsfy-segment-picker-trigger i{font-style:normal;color:#777;font-size:11px}

.rsfy-segment-picker-popover{
  position:absolute;z-index:5000;left:0;right:0;top:calc(100% + 7px);
  padding:8px;border:1px solid #dededa;border-radius:13px;background:#fff;
  box-shadow:0 18px 45px rgba(0,0,0,.12);
}
.rsfy-segment-picker-popover[hidden]{display:none!important}
.rsfy-segment-picker-search{
  display:flex;align-items:center;height:38px;margin-bottom:7px;
  border:1px solid #e1e1dd;border-radius:9px;background:#fafaf8;
}
.rsfy-segment-picker-search span{margin:0 8px 0 10px;color:#777;font-size:13px}
.rsfy-segment-picker-search input{flex:1;height:36px;border:0!important;outline:0!important;background:transparent!important;padding:0!important;font-size:10px!important;box-shadow:none!important}
.rsfy-segment-picker-list{display:grid;gap:4px;max-height:210px;overflow:auto;scrollbar-width:none}
.rsfy-segment-picker-list::-webkit-scrollbar{display:none}
.rsfy-segment-picker-option{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;min-height:48px;padding:9px 10px;border:0;border-radius:9px;background:#fff;color:#111;text-align:left;cursor:pointer;
}
.rsfy-segment-picker-option:hover{background:#f4f4f1}
.rsfy-segment-picker-option b{display:block;font-size:10px}
.rsfy-segment-picker-option small{display:block;margin-top:3px;color:#888;font-size:8px}
.rsfy-segment-picker-option i{opacity:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#111;color:#fff;font-style:normal;font-size:9px}
.rsfy-segment-picker-option.is-selected i{opacity:1}
.rsfy-segment-picker-empty{padding:16px;color:#888;text-align:center;font-size:9px}

.rsfy-campaign-autosave{
  display:block;margin-top:10px;color:#8a8a86;font-size:8px;line-height:1.3;
}


/* ===== v0.6.36 — segment trigger aligned with Audience select ===== */
.rsfy-segment-picker-trigger{
  width:100%!important;
  min-height:44px!important;
  height:44px!important;
  padding:0 13px!important;
  border:1px solid #dededa!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font:500 11px/1 Arial,Helvetica,sans-serif!important;
  text-align:left!important;
}
.rsfy-segment-picker-trigger:hover,
.rsfy-segment-picker.is-open .rsfy-segment-picker-trigger{
  background:#fff!important;
  color:#111!important;
  border-color:#dededa!important;
  box-shadow:none!important;
}
.rsfy-segment-picker-trigger i{
  color:#666!important;
  font-size:11px!important;
}


/* ===== v0.6.37 — native-select style triangle for Segment ===== */
.rsfy-segment-picker-trigger{
  position:relative!important;
  padding-right:38px!important;
}
.rsfy-segment-picker-trigger i,
.rsfy-segment-picker-trigger svg,
.rsfy-segment-picker-trigger .dashicons{
  display:none!important;
}
.rsfy-segment-picker-trigger::after{
  content:""!important;
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  width:0!important;
  height:0!important;
  margin-top:-2px!important;
  border-left:4px solid transparent!important;
  border-right:4px solid transparent!important;
  border-top:5px solid #555!important;
  pointer-events:none!important;
  transform:none!important;
}
.rsfy-segment-picker.is-open .rsfy-segment-picker-trigger::after{
  transform:rotate(180deg)!important;
  margin-top:-3px!important;
}


/* ============================================================
   v0.6.43 — Agenda calendar TRUE foreground fix
   Root cause:
   `.rsfy-agenda-compact-tools` and `.rsfy-timegrid-shell` were both
   stacking contexts at z-index:1. A z-index:9999 child popover
   cannot escape its parent's stacking context.
   ============================================================ */

/* The Agenda section must never clip the date picker. */
section.rsfy-section.rsfy-agenda-card,
.rsfy-booking-workspace section.rsfy-agenda-card{
    position:relative!important;
    overflow:visible!important;
    isolation:visible!important;
}

/* Controls layer is permanently above the time grid. */
.rsfy-agenda-card .rsfy-agenda-compact-tools{
    position:relative!important;
    z-index:5000!important;
    overflow:visible!important;
    isolation:auto!important;

    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
}

/* Requested layout: views on the LEFT, range selector on the RIGHT. */
.rsfy-agenda-card .rsfy-agenda-view-switch{
    order:1!important;
    position:relative!important;
    z-index:1!important;
}
.rsfy-agenda-card .rsfy-agenda-range-trigger-wrap{
    order:2!important;
    position:relative!important;
    z-index:5100!important;
    margin-left:auto!important;

    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    width:auto!important;
    overflow:visible!important;
}
.rsfy-agenda-card .rsfy-agenda-range-trigger-wrap.is-open{
    z-index:2147000000!important;
}

/* The calendar itself is above every Agenda sibling. */
.rsfy-agenda-card #rsfy-date-range-popover{
    position:absolute!important;
    top:calc(100% + 10px)!important;
    left:auto!important;
    right:0!important;
    z-index:2147483000!important;

    width:330px!important;
    max-width:min(330px,calc(100vw - 48px))!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;

    background:#fff!important;
    border:1px solid #dededa!important;
    border-radius:17px!important;
    box-shadow:0 28px 80px rgba(0,0,0,.20)!important;
}
.rsfy-agenda-card #rsfy-date-range-popover[hidden]{
    display:none!important;
}

/* The grid is deliberately kept BELOW the controls/popover. */
.rsfy-agenda-card .rsfy-timegrid-shell,
.rsfy-agenda-card .rsfy-timegrid-head,
.rsfy-agenda-card .rsfy-timegrid-scroll,
.rsfy-agenda-card .rsfy-timegrid,
.rsfy-agenda-card .rsfy-agenda-legend{
    position:relative!important;
    z-index:1!important;
}

/* "Supprimer la plage" appears immediately to the LEFT once active. */
.rsfy-agenda-card #rsfy-agenda-range-clear{
    order:1!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#737373!important;
    font:500 10px/1.2 Arial,Helvetica,sans-serif!important;
    text-decoration:underline!important;
    text-underline-offset:3px!important;
    cursor:pointer!important;
    white-space:nowrap!important;
}
.rsfy-agenda-card #rsfy-agenda-range-clear:hover{
    color:#111!important;
}
.rsfy-agenda-card #rsfy-agenda-calendar-trigger{
    order:2!important;
    flex:0 0 auto!important;
}

/* Tablet/mobile: still foreground, centered in viewport. */
@media(max-width:980px){
    .rsfy-agenda-card .rsfy-agenda-compact-tools{
        flex-direction:column!important;
        align-items:stretch!important;
    }
    .rsfy-agenda-card .rsfy-agenda-view-switch{
        order:1!important;
        align-self:flex-start!important;
    }
    .rsfy-agenda-card .rsfy-agenda-range-trigger-wrap{
        order:2!important;
        width:100%!important;
        justify-content:flex-end!important;
    }
    .rsfy-agenda-card #rsfy-date-range-popover{
        position:fixed!important;
        z-index:2147483000!important;
        left:50%!important;
        right:auto!important;
        top:50%!important;
        width:min(360px,calc(100vw - 24px))!important;
        max-width:calc(100vw - 24px)!important;
        max-height:84vh!important;
        overflow:auto!important;
        transform:translate(-50%,-50%)!important;
    }
}

@media(max-width:520px){
    .rsfy-agenda-card .rsfy-agenda-range-trigger-wrap{
        flex-wrap:wrap!important;
        gap:8px!important;
    }
    .rsfy-agenda-card #rsfy-agenda-range-clear{
        font-size:9px!important;
    }
}


/* ============================================================
   v0.6.44 — Agenda TRUE browser top layer
   Uses the native HTML Popover API. An open popover is rendered
   by the browser in its Top Layer, so the planning/grid can no
   longer cover it, whatever its z-index / transform / overflow.
   ============================================================ */

#rsfy-date-range-popover[popover]{
    margin:0!important;
    inset:auto!important;
    width:330px!important;
    max-width:calc(100vw - 28px)!important;
    padding:16px!important;
    border:1px solid #dededa!important;
    border-radius:17px!important;
    background:#fff!important;
    color:#111!important;
    box-shadow:0 30px 90px rgba(0,0,0,.24)!important;
}

#rsfy-date-range-popover[popover]:not(:popover-open){
    display:none!important;
}

#rsfy-date-range-popover[popover]:popover-open{
    display:block!important;
    position:fixed!important;
    z-index:2147483647!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
}

/* Optional soft top-layer backdrop; transparent visually so the planning
   remains visible while guaranteeing a clean top-layer composition. */
#rsfy-date-range-popover[popover]::backdrop{
    background:transparent!important;
}

/* Keep "Supprimer la plage" immediately to the LEFT of the range button. */
.rsfy-agenda-card .rsfy-agenda-range-trigger-wrap{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
}
.rsfy-agenda-card #rsfy-agenda-range-clear{
    order:1!important;
}
.rsfy-agenda-card #rsfy-agenda-calendar-trigger{
    order:2!important;
}

@media(max-width:980px){
    #rsfy-date-range-popover[popover]:popover-open{
        left:50%!important;
        top:50%!important;
        right:auto!important;
        bottom:auto!important;
        width:min(360px,calc(100vw - 24px))!important;
        max-height:84vh!important;
        overflow:auto!important;
        transform:translate(-50%,-50%)!important;
    }
}


/* ============================================================
   v0.6.45 — Agenda popup placement + premium mobile scrolling
   ============================================================ */

/* Desktop: calendar stays immediately below the trigger button. */
@media(min-width:981px){
    #rsfy-date-range-popover[popover]:popover-open{
        margin:0!important;
    }
}

/* Mobile/tablet: keep scrolling functional but hide every visible scrollbar. */
@media(max-width:980px){
    #rsfy-date-range-popover[popover]:popover-open{
        overflow-y:auto!important;
        overflow-x:hidden!important;
        scrollbar-width:none!important;
        -ms-overflow-style:none!important;
    }

    #rsfy-date-range-popover[popover]:popover-open::-webkit-scrollbar{
        width:0!important;
        height:0!important;
        display:none!important;
    }

    #rsfy-date-range-popover[popover]:popover-open *{
        scrollbar-width:none!important;
        -ms-overflow-style:none!important;
    }

    #rsfy-date-range-popover[popover]:popover-open *::-webkit-scrollbar{
        width:0!important;
        height:0!important;
        display:none!important;
    }
}


/* ============================================================
   v0.6.46 — Final calendar anchor
   Calendar remains in browser Top Layer but is anchored directly
   BELOW “Choisir une plage” on desktop AND mobile.
   ============================================================ */

#rsfy-date-range-popover[popover]:popover-open{
    position:fixed!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    z-index:2147483647!important;
}

/* Desktop */
@media(min-width:981px){
    #rsfy-date-range-popover[popover]:popover-open{
        width:330px!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
    }
}

/* Mobile/tablet: DO NOT center the popup. JS anchors it under the button.
   Scroll remains touch-functional while every visual scrollbar is hidden. */
@media(max-width:980px){
    #rsfy-date-range-popover[popover]:popover-open{
        right:auto!important;
        bottom:auto!important;
        transform:none!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-width:none!important;
        -ms-overflow-style:none!important;
    }

    #rsfy-date-range-popover[popover]:popover-open::-webkit-scrollbar,
    #rsfy-date-range-popover[popover]:popover-open *::-webkit-scrollbar{
        display:none!important;
        width:0!important;
        height:0!important;
    }

    #rsfy-date-range-popover[popover]:popover-open *{
        scrollbar-width:none!important;
        -ms-overflow-style:none!important;
    }
}


/* ============================================================
   v0.6.47 — Agenda exact anchor fix
   Previous root cause:
   the base Popover CSS contained `inset:auto!important`.
   That declaration overrode the JavaScript inline left/top values,
   which is why the browser kept the popup at the top-left.
   We now feed the position through CSS variables and apply left/top
   with !important at the final cascade layer.
   ============================================================ */

#rsfy-date-range-popover[popover]:popover-open{
    inset:auto!important;
    left:var(--rsfy-picker-left, 12px)!important;
    top:var(--rsfy-picker-top, 12px)!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
}

/* Same behavior on mobile/tablet: directly below the trigger,
   never recentered by an older media query. */
@media(max-width:980px){
    #rsfy-date-range-popover[popover]:popover-open{
        left:var(--rsfy-picker-left, 12px)!important;
        top:var(--rsfy-picker-top, 12px)!important;
        right:auto!important;
        bottom:auto!important;
        transform:none!important;
        scrollbar-width:none!important;
        -ms-overflow-style:none!important;
    }

    #rsfy-date-range-popover[popover]:popover-open::-webkit-scrollbar,
    #rsfy-date-range-popover[popover]:popover-open *::-webkit-scrollbar{
        width:0!important;
        height:0!important;
        display:none!important;
    }
}


/* ============================================================
   v0.6.48 — Agenda navigation arrows + premium responsive
   ============================================================ */

/* Navigation has its own row ABOVE the planning.
   It is no longer positioned inside the scrollable grid. */
.rsfy-timegrid-nav-row{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:100%!important;
    min-height:0!important;
    margin:8px 0 8px!important;
    position:relative!important;
    z-index:20!important;
    pointer-events:none!important;
}

.rsfy-timegrid-range-nav{
    position:static!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    width:auto!important;
    margin:0!important;
    z-index:auto!important;
    pointer-events:auto!important;
}

.rsfy-timegrid-range-nav[hidden]{
    display:none!important;
}

.rsfy-timegrid-range-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #dededa!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#111!important;
    box-shadow:0 2px 8px rgba(0,0,0,.045)!important;
    cursor:pointer!important;
    transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease!important;
}

.rsfy-timegrid-range-arrow svg{
    width:15px!important;
    height:15px!important;
    display:block!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

.rsfy-timegrid-range-arrow:hover:not(:disabled){
    background:#111!important;
    color:#fff!important;
    border-color:#111!important;
}

.rsfy-timegrid-range-arrow:disabled{
    background:#f3f3f0!important;
    color:#b8b8b3!important;
    border-color:#e5e5e1!important;
    box-shadow:none!important;
    opacity:1!important;
    cursor:default!important;
}

/* The arrows are now outside the header, so no artificial right padding. */
.rsfy-timegrid-head{
    padding-right:0!important;
}

/* Planning remains clean and contained. */
.rsfy-timegrid-shell{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    border-radius:14px!important;
    box-sizing:border-box!important;
}

/* -------- Tablet / mobile -------- */
@media(max-width:980px){
    .rsfy-booking-workspace{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        overflow-x:hidden!important;
        box-sizing:border-box!important;
    }

    .rsfy-booking-workspace .rsfy-section{
        width:100%!important;
        max-width:100%!important;
        box-sizing:border-box!important;
    }

    /* Filters stack cleanly */
    .rsfy-agenda-controlbar,
    .rsfy-agenda-filter-group{
        display:grid!important;
        grid-template-columns:1fr!important;
        width:100%!important;
        gap:10px!important;
    }

    .rsfy-agenda-filter-group label,
    .rsfy-premium-select,
    .rsfy-premium-select-trigger,
    .rsfy-agenda-colors-toggle{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    /* Compact tools */
    .rsfy-agenda-compact-tools{
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        width:100%!important;
        gap:10px!important;
    }

    .rsfy-agenda-view-switch{
        width:100%!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:3px!important;
        order:1!important;
    }

    .rsfy-agenda-range-trigger-wrap{
        width:100%!important;
        display:flex!important;
        flex-wrap:wrap!important;
        justify-content:flex-end!important;
        align-items:center!important;
        gap:8px!important;
        order:2!important;
    }

    .rsfy-agenda-calendar-trigger{
        width:auto!important;
        min-width:170px!important;
        max-width:100%!important;
    }

    /* Navigation arrows always on the RIGHT */
    .rsfy-timegrid-nav-row{
        justify-content:flex-end!important;
        margin:7px 0 7px!important;
        padding:0 2px!important;
    }

    .rsfy-timegrid-range-nav{
        justify-content:flex-end!important;
        gap:7px!important;
    }

    .rsfy-timegrid-range-arrow{
        flex-basis:32px!important;
        width:32px!important;
        height:32px!important;
    }

    /* Horizontal schedule remains swipeable, but no ugly scrollbar. */
    .rsfy-timegrid-scroll{
        width:100%!important;
        max-width:100%!important;
        overflow-x:auto!important;
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch!important;
        overscroll-behavior:contain!important;
        scrollbar-width:none!important;
        -ms-overflow-style:none!important;
    }

    .rsfy-timegrid-scroll::-webkit-scrollbar{
        display:none!important;
        width:0!important;
        height:0!important;
    }

    .rsfy-timegrid-head{
        min-width:760px!important;
        padding-right:0!important;
    }

    .rsfy-timegrid{
        min-width:760px!important;
    }
}

@media(max-width:520px){
    .rsfy-booking-workspace .rsfy-section{
        padding:15px 12px!important;
        border-radius:15px!important;
    }

    .rsfy-agenda-calendar-trigger{
        min-width:0!important;
        flex:1 1 auto!important;
        width:100%!important;
    }

    .rsfy-agenda-range-clear{
        width:100%!important;
        text-align:left!important;
        margin:0!important;
    }

    .rsfy-timegrid-nav-row{
        margin-top:5px!important;
    }
}


/* ============================================================
   v0.6.49 — Dates & heures premium workspace
   ============================================================ */
.rsfy-dh-workspace{display:grid;gap:16px}
.rsfy-dh-card{
  padding:22px 24px;
  border:1px solid #dededa;
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.rsfy-dh-card-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
}
.rsfy-dh-card-head h3{margin:0 0 5px;font-size:17px;line-height:1.2;letter-spacing:-.02em}
.rsfy-dh-card-head p{margin:0;color:#777;font-size:11px;line-height:1.45}
.rsfy-dh-two{display:grid;grid-template-columns:minmax(180px,292px) minmax(180px,292px);gap:16px;margin-top:16px}
.rsfy-dh-card label{display:grid;gap:6px;color:#111;font-size:10px;font-weight:700}
.rsfy-dh-card input[type="time"],
.rsfy-dh-card input[type="date"],
.rsfy-dh-card input[type="text"]{
  width:100%;height:42px;padding:0 13px;border:1px solid #d9d9d5;border-radius:10px;
  background:#fff;color:#111;font-size:12px;box-sizing:border-box;outline:none;
}
.rsfy-dh-card input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.04)}
.rsfy-dh-outline{
  min-height:40px;padding:0 15px;border:1px solid #d9d9d5;border-radius:10px;background:#fff;color:#111;
  font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap;
}
.rsfy-dh-outline:hover{border-color:#111;background:#111;color:#fff}
.rsfy-dh-list{display:grid;gap:9px;margin-top:14px}
.rsfy-dh-inline-row,.rsfy-dh-special-row,.rsfy-dh-holiday-row{
  display:flex;align-items:end;gap:10px;padding:12px;border:1px solid #ecece8;border-radius:12px;background:#fafaf8;
}
.rsfy-dh-inline-row>label{width:180px}.rsfy-dh-inline-row>span,.rsfy-dh-special-row>span{padding-bottom:13px;color:#777;font-size:11px}
.rsfy-dh-delete{
  display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;margin-left:auto;margin-bottom:5px;
  border:1px solid #e2e2de;border-radius:50%;background:#efefec;color:#666;font-size:14px;line-height:1;cursor:pointer;
}
.rsfy-dh-delete:hover{background:#111;color:#fff;border-color:#111}
.rsfy-dh-switch{display:flex!important;align-items:center!important;grid-template-columns:none!important;gap:8px!important;cursor:pointer}
.rsfy-dh-switch input{position:absolute;opacity:0;pointer-events:none}
.rsfy-dh-switch i{position:relative;width:40px;height:22px;border-radius:999px;background:#ddd;transition:.2s}
.rsfy-dh-switch i:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12);transition:.2s}
.rsfy-dh-switch input:checked+i{background:#111}.rsfy-dh-switch input:checked+i:before{transform:translateX(18px)}
.rsfy-dh-switch span{font-size:10px;font-weight:600;color:#555}
.rsfy-dh-days{margin-top:15px;border-top:1px solid #ecece8}
.rsfy-dh-days.is-disabled{opacity:.48}
.rsfy-dh-days.is-disabled input[type="time"]{pointer-events:none}
.rsfy-dh-day{display:grid;grid-template-columns:150px minmax(320px,1fr);align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #ecece8}
.rsfy-dh-day:last-child{border-bottom:0}
.rsfy-dh-day-name{display:flex!important;align-items:center!important;grid-template-columns:none!important;gap:9px!important}
.rsfy-dh-day-name input{width:16px;height:16px;accent-color:#111}
.rsfy-dh-day-name span{font-size:11px;font-weight:700}
.rsfy-dh-day-times{display:grid;grid-template-columns:140px 22px 140px;align-items:center;gap:8px}
.rsfy-dh-day-times span{text-align:center;color:#777;font-size:11px}
.rsfy-dh-special-row{display:grid;grid-template-columns:180px 150px 22px 150px auto 34px;align-items:end}
.rsfy-dh-closed{display:flex!important;align-items:center!important;grid-template-columns:none!important;gap:7px!important;padding-bottom:10px}
.rsfy-dh-closed input{width:16px;height:16px;accent-color:#111}
.rsfy-dh-holiday-row{display:grid;grid-template-columns:180px minmax(220px,1fr) 34px;align-items:end}

/* save button harmony */
.rsfy-profile-workspace[data-active="dates_hours"] .rsfy-savebar{
  margin-top:16px;padding-top:0;border-top:0;
}
.rsfy-profile-workspace[data-active="dates_hours"] .rsfy-savebar .rsfy-btn{
  min-height:44px;padding:0 18px;border-radius:11px;background:#111;color:#fff;
}

@media(max-width:980px){
  .rsfy-dh-card{padding:18px}
  .rsfy-dh-card-head{flex-direction:column;align-items:stretch}
  .rsfy-dh-outline{width:100%}
  .rsfy-dh-two{grid-template-columns:1fr 1fr}
  .rsfy-dh-day{grid-template-columns:1fr}
  .rsfy-dh-day-times{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)}
  .rsfy-dh-special-row{grid-template-columns:1fr 1fr}
  .rsfy-dh-special-row>span{display:none}
  .rsfy-dh-closed{padding-bottom:0}
  .rsfy-dh-special-row .rsfy-dh-delete{grid-column:2;justify-self:end}
  .rsfy-dh-holiday-row{grid-template-columns:1fr 1fr 34px}
}
@media(max-width:640px){
  .rsfy-dh-workspace{gap:12px}
  .rsfy-dh-card{padding:15px 13px;border-radius:15px}
  .rsfy-dh-card-head h3{font-size:16px}
  .rsfy-dh-card-head p{font-size:10px}
  .rsfy-dh-two{grid-template-columns:1fr}
  .rsfy-dh-inline-row{display:grid;grid-template-columns:1fr 20px 1fr 32px;align-items:end;gap:8px}
  .rsfy-dh-inline-row>label{width:auto}
  .rsfy-dh-inline-row>span{padding-bottom:13px;text-align:center}
  .rsfy-dh-day{padding:13px 0}
  .rsfy-dh-day-times{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}
  .rsfy-dh-card input[type="time"],.rsfy-dh-card input[type="date"],.rsfy-dh-card input[type="text"]{height:44px;font-size:13px}
  .rsfy-dh-special-row{grid-template-columns:1fr}
  .rsfy-dh-special-row .rsfy-dh-delete{grid-column:auto;justify-self:end}
  .rsfy-dh-holiday-row{grid-template-columns:1fr}
  .rsfy-dh-holiday-row .rsfy-dh-delete{justify-self:end}
  .rsfy-profile-workspace[data-active="dates_hours"] .rsfy-savebar{display:grid;gap:10px}
  .rsfy-profile-workspace[data-active="dates_hours"] .rsfy-savebar .rsfy-btn{width:100%}
}


/* v0.6.50 — Dates & heures: actions secondaires neutres */
.rsfy-dh-workspace .rsfy-dh-outline,
.rsfy-dh-workspace button.rsfy-dh-outline,
.rsfy-profile-workspace[data-active="dates_hours"] .rsfy-dh-outline{
  appearance:none !important;
  -webkit-appearance:none !important;
  min-height:40px !important;
  padding:0 16px !important;
  border:1px solid #d9d9d5 !important;
  border-radius:10px !important;
  background:#fff !important;
  background-color:#fff !important;
  color:#111 !important;
  box-shadow:none !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.rsfy-dh-workspace .rsfy-dh-outline:hover,
.rsfy-dh-workspace .rsfy-dh-outline:focus,
.rsfy-dh-workspace .rsfy-dh-outline:active{
  border-color:#bdbdb8 !important;
  background:#f7f7f5 !important;
  background-color:#f7f7f5 !important;
  color:#111 !important;
  box-shadow:none !important;
  outline:none !important;
}


/* v0.6.51 — Dates & heures : croix de suppression premium */
.rsfy-dh-workspace .rsfy-dh-delete,
.rsfy-profile-workspace[data-active="dates_hours"] .rsfy-dh-delete{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 32px !important;
  width:32px !important;
  min-width:32px !important;
  max-width:32px !important;
  height:32px !important;
  min-height:32px !important;
  max-height:32px !important;
  padding:0 !important;
  border:1px solid #deded9 !important;
  border-radius:50% !important;
  background:#fff !important;
  background-color:#fff !important;
  color:#8a8a85 !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
.rsfy-dh-workspace .rsfy-dh-delete:hover,
.rsfy-dh-workspace .rsfy-dh-delete:focus,
.rsfy-profile-workspace[data-active="dates_hours"] .rsfy-dh-delete:hover,
.rsfy-profile-workspace[data-active="dates_hours"] .rsfy-dh-delete:focus{
  border-color:#c9c9c3 !important;
  background:#f7f7f5 !important;
  background-color:#f7f7f5 !important;
  color:#666 !important;
  box-shadow:none !important;
  outline:none !important;
}


/* v0.6.52 — E-mail & SMS premium */
.rsfy-profile-workspace[data-active="email_sms"] .rsfy-profile-body{background:transparent}
.rsfy-msg-workspace{display:grid;gap:16px}
.rsfy-msg-card{background:#fff;border:1px solid #deded9;border-radius:18px;padding:22px}
.rsfy-msg-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.rsfy-msg-card-head h3{margin:4px 0 5px;font-size:18px;line-height:1.15;color:#111}
.rsfy-msg-card-head p{margin:0;max-width:520px;font-size:11px;line-height:1.55;color:#6d6d68}
.rsfy-msg-channel{display:block;font-size:9px;font-weight:700;letter-spacing:.18em;color:#74746f}
.rsfy-msg-ready,.rsfy-msg-soon{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:0 10px;border-radius:999px;background:#f1f1ee;color:#555;font-size:9px;font-weight:700;white-space:nowrap}
.rsfy-msg-ready{background:#eaf8ef;color:#167443}
.rsfy-msg-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rsfy-msg-fields label{display:grid;gap:7px;font-size:10px;font-weight:700;color:#222}
.rsfy-msg-fields input{box-sizing:border-box;width:100%;height:46px;padding:0 14px;border:1px solid #deded9;border-radius:11px;background:#fff;color:#111;outline:none}
.rsfy-msg-fields input:focus{border-color:#999;box-shadow:0 0 0 3px rgba(0,0,0,.035)}
.rsfy-msg-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.rsfy-msg-options{border-top:1px solid #ecece8}
.rsfy-msg-option{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px;padding:11px 0;border-bottom:1px solid #ecece8}
.rsfy-msg-option>div{display:grid;gap:4px}
.rsfy-msg-option strong{font-size:12px;color:#111}
.rsfy-msg-option small{font-size:10px;line-height:1.4;color:#777772;font-weight:400}
.rsfy-msg-switch{position:relative;display:inline-flex;flex:0 0 auto;width:39px;height:22px;cursor:pointer}
.rsfy-msg-switch input{position:absolute;opacity:0;pointer-events:none}
.rsfy-msg-switch i{position:absolute;inset:0;border-radius:999px;background:#deded9;transition:.2s ease}
.rsfy-msg-switch i:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s ease}
.rsfy-msg-switch input:checked+i{background:#111}
.rsfy-msg-switch input:checked+i:after{transform:translateX(17px)}
.rsfy-msg-switch input:focus-visible+i{outline:2px solid #111;outline-offset:2px}
.rsfy-sms-credit{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:17px;border:1px solid #e2e2dd;border-radius:14px;background:#f8f8f6}
.rsfy-sms-credit>div{display:grid;gap:4px}
.rsfy-sms-credit span{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#777}
.rsfy-sms-credit strong{font-size:28px;line-height:1;color:#111}
.rsfy-sms-credit strong small{font-size:11px;font-weight:700}
.rsfy-sms-credit p{margin:2px 0 0;font-size:9px;color:#777}
.rsfy-sms-buy{min-height:40px;padding:0 15px;border:1px solid #d8d8d3;border-radius:10px;background:#fff;color:#8a8a85;font-size:10px;font-weight:700;white-space:nowrap;cursor:not-allowed}
.rsfy-sms-note{display:flex;gap:8px;align-items:flex-start;margin-top:14px;padding:11px 12px;border-radius:11px;background:#f7f7f5}
.rsfy-sms-note span{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#bdbdb8;flex:0 0 auto}
.rsfy-sms-note p{margin:0;font-size:9px;line-height:1.45;color:#74746f}
@media(max-width:980px){
 .rsfy-msg-columns{grid-template-columns:1fr}
}
@media(max-width:640px){
 .rsfy-msg-card{padding:16px 14px;border-radius:15px}
 .rsfy-msg-card-head{gap:10px}
 .rsfy-msg-card-head h3{font-size:16px}
 .rsfy-msg-fields{grid-template-columns:1fr}
 .rsfy-msg-option{min-height:62px;gap:12px}
 .rsfy-msg-option strong{font-size:11px}
 .rsfy-sms-credit{align-items:stretch;flex-direction:column}
 .rsfy-sms-buy{width:100%}
 .rsfy-profile-workspace[data-active="email_sms"] .rsfy-savebar{display:grid;gap:10px}
 .rsfy-profile-workspace[data-active="email_sms"] .rsfy-savebar .rsfy-btn{width:100%}
}


/* v0.6.53 — Reminder timing controls */
.rsfy-msg-option--reminder{align-items:flex-start!important}
.rsfy-reminder-delay{
  display:none;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 10px;
  margin-top:10px;
  padding:10px 11px;
  border:1px solid #e5e5e1;
  border-radius:10px;
  background:#f8f8f6;
}
.rsfy-reminder-delay.is-visible{display:flex}
.rsfy-reminder-delay label{
  display:flex;
  align-items:center;
  gap:8px;
  color:#444;
  font-size:9px;
  font-weight:600;
}
.rsfy-reminder-delay select{
  appearance:none;
  -webkit-appearance:none;
  min-width:74px;
  height:32px;
  padding:0 28px 0 10px;
  border:1px solid #d8d8d3;
  border-radius:8px;
  background:
    linear-gradient(45deg,transparent 50%,#555 50%) calc(100% - 13px) 13px/4px 4px no-repeat,
    linear-gradient(135deg,#555 50%,transparent 50%) calc(100% - 9px) 13px/4px 4px no-repeat,
    #fff;
  color:#111;
  font-size:10px;
  font-weight:700;
  outline:none;
}
.rsfy-reminder-delay select:focus{
  border-color:#111;
  box-shadow:0 0 0 3px rgba(0,0,0,.035);
}
.rsfy-reminder-delay>span{color:#777;font-size:9px}
@media(max-width:640px){
  .rsfy-reminder-delay{width:100%;box-sizing:border-box}
  .rsfy-reminder-delay label{width:100%;justify-content:space-between}
}


/* v0.6.54 — Premium reminder delay selector */
.rsfy-reminder-delay{
  gap:10px 12px;
  padding:11px 12px;
  border:1px solid #e7e7e3;
  border-radius:12px;
  background:#fafaf8;
}
.rsfy-reminder-delay label{
  gap:10px;
  color:#333;
  font-size:10px;
  font-weight:600;
}
.rsfy-reminder-delay select{
  min-width:86px;
  height:36px;
  padding:0 32px 0 12px;
  border:1px solid #d8d8d4;
  border-radius:10px;
  background:
    linear-gradient(45deg,transparent 50%,#1d1d1f 50%) calc(100% - 14px) 15px/4px 4px no-repeat,
    linear-gradient(135deg,#1d1d1f 50%,transparent 50%) calc(100% - 10px) 15px/4px 4px no-repeat,
    #fff;
  color:#111;
  font-size:11px;
  font-weight:650;
  line-height:1;
  box-shadow:0 1px 2px rgba(0,0,0,.02);
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.rsfy-reminder-delay select:hover{
  border-color:#bdbdb8;
  background-color:#fff;
}
.rsfy-reminder-delay select:focus{
  border-color:#111;
  box-shadow:0 0 0 3px rgba(17,17,17,.07);
}
.rsfy-reminder-delay select option{
  background:#fff;
  color:#111;
  font-size:12px;
  font-weight:500;
}
.rsfy-reminder-delay>span{
  color:#777;
  font-size:9px;
  line-height:1.35;
}
@media(max-width:640px){
  .rsfy-reminder-delay{
    padding:10px;
    border-radius:11px;
  }
  .rsfy-reminder-delay label{
    gap:8px;
  }
  .rsfy-reminder-delay select{
    min-width:82px;
    height:36px;
  }
}


/* ============================================================
   v0.6.55 — Custom premium J-x popup
   Replaces the browser-native blue select popup on desktop/mobile.
   ============================================================ */

.rsfy-reminder-delay{
  overflow:visible!important;
}

.rsfy-reminder-delay label{
  position:relative;
  z-index:30;
}

.rsfy-reminder-select{
  position:relative;
  display:inline-flex;
  width:94px;
  z-index:40;
}

.rsfy-reminder-select.is-open{
  z-index:10050;
}

.rsfy-reminder-select-trigger{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  height:36px;
  padding:0 11px 0 12px;
  border:1px solid #d7d7d2;
  border-radius:10px;
  background:#fff;
  color:#111;
  box-shadow:0 1px 2px rgba(0,0,0,.025);
  font-size:11px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.rsfy-reminder-select-trigger:hover{
  border-color:#b9b9b4;
}

.rsfy-reminder-select.is-open .rsfy-reminder-select-trigger{
  border-color:#111;
  box-shadow:0 0 0 3px rgba(17,17,17,.06);
}

.rsfy-reminder-select-trigger i{
  width:7px;
  height:7px;
  border-right:1.6px solid #333;
  border-bottom:1.6px solid #333;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .16s ease;
}

.rsfy-reminder-select.is-open .rsfy-reminder-select-trigger i{
  transform:rotate(225deg) translate(-1px,-1px);
}

.rsfy-reminder-select-menu{
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  display:none;
  width:190px;
  padding:6px;
  border:1px solid #deded9;
  border-radius:13px;
  background:#fff;
  box-shadow:0 16px 42px rgba(0,0,0,.14);
  z-index:10060;
}

.rsfy-reminder-select.is-open .rsfy-reminder-select-menu{
  display:grid;
  gap:3px;
}

.rsfy-reminder-select-menu button{
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:43px;
  padding:7px 10px;
  border:0;
  border-radius:9px;
  background:#fff;
  color:#111;
  text-align:left;
  cursor:pointer;
}

.rsfy-reminder-select-menu button:hover{
  background:#f3f3f0;
}

.rsfy-reminder-select-menu button.is-selected{
  background:#111;
  color:#fff;
}

.rsfy-reminder-select-menu button>span{
  color:#85857f;
  font-size:9px;
  font-weight:500;
}

.rsfy-reminder-select-menu button.is-selected>span{
  color:rgba(255,255,255,.68);
}

.rsfy-reminder-select-menu button{
  font-size:11px;
  font-weight:700;
}

/* Ensure surrounding cards do not clip the dropdown */
.rsfy-msg-card,
.rsfy-msg-options,
.rsfy-msg-option,
.rsfy-msg-option>div{
  overflow:visible!important;
}

/* Mobile/tablet: premium bottom-sheet-like popup */
@media(max-width:640px){
  .rsfy-reminder-delay{
    overflow:visible!important;
  }

  .rsfy-reminder-select{
    width:92px;
  }

  .rsfy-reminder-select-menu{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    padding:8px!important;
    border-radius:17px!important;
    box-shadow:
      0 0 0 100vmax rgba(17,17,17,.20),
      0 24px 80px rgba(0,0,0,.24)!important;
    z-index:2147483000!important;
  }

  .rsfy-reminder-select-menu button{
    min-height:50px;
    grid-template-columns:52px 1fr;
    border-radius:11px;
    padding:8px 12px;
    font-size:12px;
  }

  .rsfy-reminder-select-menu button>span{
    font-size:10px;
  }
}


/* ============================================================
   v0.6.56 — Cloud receiving payment methods
   ============================================================ */
.rsfy-receiving-payments{width:100%;max-width:1180px;margin:0 auto;display:grid;gap:18px}
.rsfy-receiving-payments-intro{
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:22px 24px;border:1px solid #deded9;border-radius:18px;background:#fff
}
.rsfy-receiving-payments-intro h2{margin:0 0 6px;font-size:22px;line-height:1.15;color:#111}
.rsfy-receiving-payments-intro p{max-width:720px;margin:0;color:#6d6d68;font-size:11px;line-height:1.55}
.rsfy-payment-site-chip{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:10px 13px;border:1px solid #dcefe4;border-radius:12px;background:#f5fbf7}
.rsfy-payment-site-chip>span{width:8px;height:8px;border-radius:50%;background:#2bbb6f}
.rsfy-payment-site-chip>div{display:grid;gap:2px}
.rsfy-payment-site-chip small{color:#7b7b76;font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.rsfy-payment-site-chip strong{font-size:10px;color:#111}
.rsfy-payment-site-chip.is-offline{border-color:#e3e3df;background:#f7f7f5}
.rsfy-payment-site-chip.is-offline>span{background:#bcbcb7}

.rsfy-payment-connection-warning{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:15px 17px;border:1px solid #e5e5e1;border-radius:14px;background:#fafaf8
}
.rsfy-payment-connection-warning strong{font-size:11px}
.rsfy-payment-connection-warning p{margin:4px 0 0;color:#777;font-size:9px;line-height:1.45}
.rsfy-payment-connection-warning a{
  flex:0 0 auto;padding:10px 14px;border:1px solid #d7d7d2;border-radius:9px;background:#fff;color:#111;text-decoration:none;font-size:10px;font-weight:700
}

.rsfy-receiving-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.rsfy-receiving-payment-card{
  display:flex;flex-direction:column;min-width:0;min-height:430px;padding:23px;
  border:1px solid #deded9;border-radius:20px;background:#fff;
  box-shadow:0 12px 34px rgba(17,17,17,.045)
}
.rsfy-receiving-payment-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rsfy-provider-mark{
  display:inline-flex;align-items:center;justify-content:center;height:42px;min-width:64px;padding:0 12px;border-radius:11px;font-size:16px;font-weight:800
}
.rsfy-provider-stripe{background:#635bff;color:#fff}
.rsfy-provider-paypal{background:#eef5ff;color:#003087}
.rsfy-provider-onsite{min-width:42px;width:42px;padding:0;background:#111;color:#fff}
.rsfy-provider-onsite svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rsfy-provider-status{
  display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#f2f2ef;color:#555;font-size:9px;font-weight:700;white-space:nowrap
}
.rsfy-provider-status i{width:6px;height:6px;border-radius:50%;background:#aeb0b4}
.rsfy-receiving-payment-card h3{margin:18px 0 6px;font-size:20px;line-height:1.15;color:#111}
.rsfy-receiving-payment-card>p{min-height:48px;margin:0;color:#667085;font-size:11px;line-height:1.5}

.rsfy-payment-config-preview{
  display:grid;gap:14px;margin-top:20px;padding:15px;border:1px solid #ecece8;border-radius:14px;background:#fafaf8
}
.rsfy-payment-switch-preview{display:flex;align-items:center;gap:9px}
.rsfy-payment-switch-preview i{position:relative;display:inline-block;width:38px;height:21px;border-radius:999px;background:#dcdedc}
.rsfy-payment-switch-preview i:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.13)}
.rsfy-payment-switch-preview strong{font-size:10px;color:#222}
.rsfy-payment-deposit-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.rsfy-payment-deposit-grid label{display:grid;gap:6px;color:#5f6368;font-size:9px}
.rsfy-payment-deposit-grid span{display:flex;align-items:center;height:38px;padding:0 11px;border:1px solid #dfdfdb;border-radius:9px;background:#fff;color:#111;font-size:11px}
.rsfy-payment-config-preview small{color:#81817b;font-size:8.5px;line-height:1.45}
.rsfy-payment-config-preview--onsite{margin-bottom:auto}

.rsfy-provider-action{
  display:flex;align-items:center;justify-content:center;align-self:flex-start;min-height:40px;margin-top:auto;padding:0 15px;
  border:1px solid #111;border-radius:9px;background:#111;color:#fff;text-decoration:none;font-size:10px;font-weight:700;cursor:pointer
}
.rsfy-provider-action:hover{background:#252525;color:#fff}
.rsfy-provider-action--secondary{border-color:#d9d9d5;background:#fff;color:#111}
.rsfy-provider-action--secondary:hover{border-color:#111;background:#f7f7f5;color:#111}
.rsfy-provider-action:disabled{border-color:#e4e4e0;background:#f1f1ee;color:#aaa;cursor:not-allowed}

.rsfy-payment-security-note{
  display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid #e3e3df;border-radius:14px;background:#fff
}
.rsfy-payment-security-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#f2f2ef;color:#111;flex:0 0 auto}
.rsfy-payment-security-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rsfy-payment-security-note strong{font-size:10px;color:#111}
.rsfy-payment-security-note p{margin:4px 0 0;color:#777;font-size:9px;line-height:1.5}

@media(max-width:1024px){
  .rsfy-receiving-payment-grid{grid-template-columns:1fr 1fr}
  .rsfy-receiving-payment-card:last-child{grid-column:1/-1;min-height:330px}
}
@media(max-width:700px){
  .rsfy-receiving-payments{gap:12px}
  .rsfy-receiving-payments-intro{align-items:stretch;flex-direction:column;padding:16px 14px;border-radius:15px}
  .rsfy-payment-site-chip{width:100%;box-sizing:border-box}
  .rsfy-payment-connection-warning{align-items:stretch;flex-direction:column}
  .rsfy-payment-connection-warning a{text-align:center}
  .rsfy-receiving-payment-grid{grid-template-columns:1fr;gap:12px}
  .rsfy-receiving-payment-card,.rsfy-receiving-payment-card:last-child{grid-column:auto;min-height:0;padding:17px 14px;border-radius:16px}
  .rsfy-receiving-payment-card>p{min-height:0}
  .rsfy-payment-deposit-grid{grid-template-columns:1fr 1fr}
  .rsfy-provider-action{width:100%;box-sizing:border-box;margin-top:18px}
}
@media(max-width:390px){
  .rsfy-payment-deposit-grid{grid-template-columns:1fr}
  .rsfy-provider-status{font-size:8px;padding:6px 8px}
}


/* ============================================================
   v0.6.57 — functional receiving-payments UI
   ============================================================ */

/* All payment actions follow Cloud's neutral button system. */
.rsfy-receiving-payments .rsfy-provider-action{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:132px!important;
  min-height:40px!important;
  margin-top:auto!important;
  padding:0 16px!important;
  border:1px solid #d4d4cf!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:10px!important;
  font-weight:700!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:background .15s ease,color .15s ease,border-color .15s ease!important;
}
.rsfy-receiving-payments .rsfy-provider-action:hover:not(:disabled),
.rsfy-receiving-payments .rsfy-provider-action:focus-visible:not(:disabled){
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}
.rsfy-receiving-payments .rsfy-provider-action:disabled{
  border-color:#e3e3df!important;
  background:#f5f5f2!important;
  color:#aaa!important;
  cursor:not-allowed!important;
}
.rsfy-receiving-payments .rsfy-provider-action--modal{width:100%!important;margin-top:6px!important}

.rsfy-provider-status.is-active{background:#e8f8ef;color:#147446}
.rsfy-provider-status.is-active i{background:#25bb70}
.rsfy-receiving-payment-card.is-connected{border-color:#b9e8ca;box-shadow:0 14px 38px rgba(34,153,84,.08)}

.rsfy-cloud-pay-switch{display:flex!important;align-items:center!important;gap:9px!important;cursor:pointer!important}
.rsfy-cloud-pay-switch input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.rsfy-cloud-pay-switch i{position:relative;display:block;width:38px;height:21px;border-radius:999px;background:#d8dad8;transition:.18s ease}
.rsfy-cloud-pay-switch i:after{content:"";position:absolute;width:15px;height:15px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.14);transition:.18s ease}
.rsfy-cloud-pay-switch input:checked+i{background:#111}
.rsfy-cloud-pay-switch input:checked+i:after{transform:translateX(17px)}
.rsfy-cloud-pay-switch input:disabled+i{opacity:.52}
.rsfy-cloud-pay-switch strong{font-size:10px;color:#222}

.rsfy-payment-deposit-grid input{
  box-sizing:border-box;width:100%;height:38px;padding:0 11px;border:1px solid #dfdfdb;border-radius:9px;background:#fff;color:#111;font-size:11px;outline:none
}
.rsfy-payment-deposit-grid input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.05)}
.rsfy-payment-deposit-grid input:disabled{background:#f2f2ef;color:#aaa}

.rsfy-payment-live-message{display:none;padding:11px 13px;border-radius:10px;font-size:10px;font-weight:600}
.rsfy-payment-live-message:not(:empty){display:block}
.rsfy-payment-live-message.is-success{background:#eaf8ef;color:#147446}
.rsfy-payment-live-message.is-error{background:#fff0f0;color:#a22020}
.rsfy-payment-flash{padding:12px 14px;border-radius:11px;font-size:10px;font-weight:600}
.rsfy-payment-flash.is-success{background:#eaf8ef;color:#147446}
.rsfy-payment-flash.is-error{background:#fff0f0;color:#a22020}

/* PayPal modal */
.rsfy-payment-modal[hidden]{display:none!important}
.rsfy-payment-modal{
  position:fixed;inset:0;z-index:2147482000;display:flex;align-items:center;justify-content:center;padding:20px
}
.rsfy-payment-modal-backdrop{position:absolute!important;inset:0!important;display:block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:rgba(17,17,17,.34)!important;background-image:none!important;box-shadow:none!important;backdrop-filter:blur(3px);cursor:default!important;appearance:none!important;-webkit-appearance:none!important}
.rsfy-payment-modal-box{
  position:relative;z-index:1;width:min(520px,calc(100vw - 32px));padding:22px;border:1px solid #deded9;border-radius:18px;background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.20)
}
.rsfy-payment-modal-close{
  position:absolute;right:15px;top:15px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;
  border:1px solid #deded9;border-radius:50%;background:#fff;color:#777;font-size:16px;cursor:pointer
}
.rsfy-payment-modal-close:hover{background:#f3f3f0;color:#111}
.rsfy-payment-modal-head{display:flex;align-items:center;gap:12px;padding-right:42px;margin-bottom:18px}
.rsfy-payment-modal-head h3{margin:0 0 4px;font-size:18px;color:#111}
.rsfy-payment-modal-head p{margin:0;color:#777;font-size:10px;line-height:1.45}
.rsfy-payment-modal form{display:grid;gap:13px}
.rsfy-payment-modal form>label:not(.rsfy-paypal-sandbox){display:grid;gap:7px;font-size:10px;font-weight:700;color:#222}
.rsfy-payment-modal input[type="text"],.rsfy-payment-modal input[type="password"]{
  box-sizing:border-box;width:100%;height:44px;padding:0 13px;border:1px solid #d9d9d5;border-radius:10px;background:#fff;color:#111;outline:none
}
.rsfy-payment-modal input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.05)}
.rsfy-paypal-sandbox{display:flex;align-items:center;gap:8px;font-size:10px;color:#555}
.rsfy-paypal-sandbox input{accent-color:#111}
.rsfy-paypal-modal-note{margin:0;padding:10px 11px;border-radius:9px;background:#f7f7f5;color:#777;font-size:9px;line-height:1.45}
body.rsfy-payment-modal-open{overflow:hidden}

@media(max-width:700px){
  .rsfy-receiving-payments .rsfy-provider-action{width:100%!important}
  .rsfy-payment-modal{align-items:flex-end;padding:10px}
  .rsfy-payment-modal-box{width:100%;padding:19px 15px 15px;border-radius:18px}
}


/* v0.6.58 — Paiements natifs Reseefy Cloud */
.rsfy-payment-kicker{display:block;margin-bottom:7px;color:#777;font-size:9px;font-weight:800;letter-spacing:.16em}
.rsfy-cloud-payment-badge{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #dcefe4;border-radius:12px;background:#f5fbf7}
.rsfy-cloud-payment-badge>span{width:8px;height:8px;border-radius:50%;background:#29bb70}
.rsfy-cloud-payment-badge small,.rsfy-cloud-payment-badge strong{display:block}
.rsfy-cloud-payment-badge small{font-size:8px;color:#777;text-transform:uppercase;letter-spacing:.08em}
.rsfy-cloud-payment-badge strong{margin-top:2px;font-size:10px}
.rsfy-cloud-payment-info{padding:15px 17px;border:1px solid #e3e3df;border-radius:14px;background:#fafaf8}
.rsfy-cloud-payment-info strong{font-size:11px}
.rsfy-cloud-payment-info p{margin:5px 0 0;color:#777;font-size:9px;line-height:1.5}
.rsfy-cloud-migration-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid #deded9;border-radius:16px;background:#fff}
.rsfy-cloud-migration-card h3{margin:3px 0 5px;font-size:16px}
.rsfy-cloud-migration-card p{margin:0;color:#777;font-size:9px;line-height:1.5}
.rsfy-migration-status{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:#fff0f0;color:#a23b3b;font-size:9px;font-weight:700;white-space:nowrap}
.rsfy-migration-status.is-ready{background:#eaf8ef;color:#147446}
@media(max-width:700px){
  .rsfy-cloud-payment-badge{width:100%;box-sizing:border-box}
  .rsfy-cloud-migration-card{align-items:flex-start;flex-direction:column}
}


/* ============================================================
   v0.6.59 — Payment status buttons
   ============================================================ */

/* Provider statuses: compact white buttons, no decorative dot. */
.rsfy-receiving-payments .rsfy-provider-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:0 12px!important;
  border:1px solid #d8d8d3!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.rsfy-receiving-payments .rsfy-provider-status i{
  display:none!important;
}
.rsfy-receiving-payments .rsfy-provider-status b{
  color:inherit!important;
  font:inherit!important;
}
.rsfy-receiving-payments .rsfy-provider-status.is-active{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}

/* Migration status: no full-width green bar; compact Cloud-style button. */
.rsfy-cloud-migration-card{
  align-items:center!important;
}
.rsfy-cloud-migration-card .rsfy-migration-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:34px!important;
  width:auto!important;
  max-width:none!important;
  padding:0 13px!important;
  border:1px solid #d8d8d3!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:9px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.rsfy-cloud-migration-card .rsfy-migration-status.is-ready{
  border-color:#d8d8d3!important;
  background:#fff!important;
  color:#111!important;
}

/* Hover remains coherent with the rest of Cloud buttons. */
.rsfy-receiving-payments .rsfy-provider-status:hover,
.rsfy-cloud-migration-card .rsfy-migration-status:hover{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}

/* Mobile: keep compact, aligned and never stretch to full width. */
@media(max-width:700px){
  .rsfy-receiving-payments .rsfy-provider-status{
    min-height:28px!important;
    padding:0 10px!important;
    border-radius:8px!important;
  }
  .rsfy-cloud-migration-card{
    align-items:flex-start!important;
  }
  .rsfy-cloud-migration-card .rsfy-migration-status{
    align-self:flex-start!important;
    min-height:32px!important;
    padding:0 11px!important;
  }
}


/* ============================================================
   v0.6.60 — Clean compact payment statuses
   Fixes stretched status badges and migration layout.
   ============================================================ */

/* Top row: provider logo left, status compact on right. */
.rsfy-receiving-payment-card .rsfy-receiving-payment-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
}

.rsfy-receiving-payment-card .rsfy-provider-status{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  min-height:28px!important;
  padding:0 11px!important;
  margin:0!important;

  border:1px solid #d7d7d2!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111!important;

  box-shadow:none!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.rsfy-receiving-payment-card .rsfy-provider-status b{
  display:inline!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font:inherit!important;
}

.rsfy-receiving-payment-card .rsfy-provider-status i{
  display:none!important;
}

/* Active state stays compact, black/white. */
.rsfy-receiving-payment-card .rsfy-provider-status.is-active{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}

/* Migration block: restore clean horizontal composition. */
.rsfy-cloud-migration-card{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  width:100%!important;
  box-sizing:border-box!important;
}

.rsfy-cloud-migration-card > div{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:760px!important;
}

.rsfy-cloud-migration-card h3{
  margin:4px 0 6px!important;
  max-width:none!important;
  font-size:17px!important;
  line-height:1.18!important;
  letter-spacing:-.02em!important;
}

.rsfy-cloud-migration-card p{
  margin:0!important;
  max-width:680px!important;
  font-size:9px!important;
  line-height:1.5!important;
  color:#777!important;
}

.rsfy-cloud-migration-card .rsfy-migration-status{
  flex:0 0 auto!important;
  align-self:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  min-height:32px!important;
  padding:0 12px!important;
  margin:0!important;

  border:1px solid #d7d7d2!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111!important;

  box-shadow:none!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.rsfy-cloud-migration-card .rsfy-migration-status.is-ready{
  border-color:#d7d7d2!important;
  background:#fff!important;
  color:#111!important;
}

/* Hover pattern shared with Cloud buttons. */
.rsfy-receiving-payment-card .rsfy-provider-status:hover,
.rsfy-cloud-migration-card .rsfy-migration-status:hover{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}

/* Tablet */
@media(max-width:900px){
  .rsfy-cloud-migration-card{
    gap:16px!important;
  }
}

/* Mobile: stack text + status but keep status compact. */
@media(max-width:700px){
  .rsfy-receiving-payment-card .rsfy-receiving-payment-top{
    align-items:center!important;
  }

  .rsfy-receiving-payment-card .rsfy-provider-status{
    min-height:27px!important;
    padding:0 9px!important;
    font-size:8.5px!important;
  }

  .rsfy-cloud-migration-card{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:14px!important;
  }

  .rsfy-cloud-migration-card > div{
    width:100%!important;
    max-width:none!important;
  }

  .rsfy-cloud-migration-card .rsfy-migration-status{
    align-self:flex-start!important;
    width:auto!important;
    max-width:max-content!important;
    min-height:30px!important;
    padding:0 10px!important;
  }
}


/* ============================================================
   v0.6.61 — HARD FIX: payment status overflow
   Structural fix + button reset. No stretched status can survive.
   ============================================================ */

.rsfy-receiving-payments .rsfy-receiving-payment-card .rsfy-receiving-payment-top{
  display:grid!important;
  grid-template-columns:auto minmax(0,max-content)!important;
  align-items:center!important;
  justify-content:stretch!important;
  column-gap:12px!important;
  width:100%!important;
  min-width:0!important;
}

.rsfy-receiving-payments button.rsfy-provider-status{
  appearance:none!important;
  -webkit-appearance:none!important;
  justify-self:end!important;
  align-self:center!important;
  display:inline-flex!important;
  flex:none!important;
  width:fit-content!important;
  min-width:0!important;
  max-width:max-content!important;
  height:29px!important;
  min-height:29px!important;
  max-height:29px!important;
  padding:0 11px!important;
  margin:0!important;
  border:1px solid #d7d7d2!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}

.rsfy-receiving-payments button.rsfy-provider-status b{
  display:inline!important;
  flex:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  color:inherit!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.rsfy-receiving-payments button.rsfy-provider-status.is-active{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}

/* Migration: text can use the available width; status stays a small button. */
.rsfy-receiving-payments .rsfy-cloud-migration-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:24px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

.rsfy-receiving-payments .rsfy-cloud-migration-card > div{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}

.rsfy-receiving-payments .rsfy-cloud-migration-card h3{
  width:auto!important;
  max-width:520px!important;
  margin:4px 0 6px!important;
  font-size:17px!important;
  line-height:1.18!important;
}

.rsfy-receiving-payments .rsfy-cloud-migration-card p{
  width:auto!important;
  max-width:720px!important;
  margin:0!important;
  font-size:9px!important;
  line-height:1.5!important;
}

.rsfy-receiving-payments button.rsfy-migration-status{
  appearance:none!important;
  -webkit-appearance:none!important;
  justify-self:end!important;
  align-self:center!important;
  display:inline-flex!important;
  flex:none!important;
  width:fit-content!important;
  min-width:0!important;
  max-width:max-content!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0 12px!important;
  margin:0!important;
  border:1px solid #d7d7d2!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}

.rsfy-receiving-payments button.rsfy-migration-status.is-ready{
  border-color:#d7d7d2!important;
  background:#fff!important;
  color:#111!important;
}

/* Mobile: provider status remains right-aligned and compact.
   Migration stacks cleanly; never creates horizontal overflow. */
@media(max-width:700px){
  .rsfy-receiving-payments .rsfy-receiving-payment-card .rsfy-receiving-payment-top{
    grid-template-columns:auto minmax(0,max-content)!important;
    gap:10px!important;
  }

  .rsfy-receiving-payments button.rsfy-provider-status{
    justify-self:end!important;
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
    padding:0 9px!important;
    font-size:8.5px!important;
  }

  .rsfy-receiving-payments .rsfy-cloud-migration-card{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }

  .rsfy-receiving-payments button.rsfy-migration-status{
    justify-self:start!important;
    width:fit-content!important;
    max-width:max-content!important;
  }
}


/* ============================================================
   v0.6.62 — Payment state pills
   Only status buttons use the extra-rounded pill shape.
   ============================================================ */

/* Default state: Non connecté / Connecté / Désactivé */
.rsfy-receiving-payments button.rsfy-provider-status{
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f2f2f0!important;
  color:#4f4f4b!important;
  box-shadow:none!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
}

/* Active state: pale green pill, green text, like the reference. */
.rsfy-receiving-payments button.rsfy-provider-status.is-active{
  border:0!important;
  background:#e8f8ee!important;
  color:#118447!important;
}

/* These are state indicators, not interactive CTA buttons. */
.rsfy-receiving-payments button.rsfy-provider-status:hover,
.rsfy-receiving-payments button.rsfy-provider-status:focus,
.rsfy-receiving-payments button.rsfy-provider-status:focus-visible,
.rsfy-receiving-payments button.rsfy-provider-status.is-active:hover,
.rsfy-receiving-payments button.rsfy-provider-status.is-active:focus{
  border:0!important;
  background:#f2f2f0!important;
  color:#4f4f4b!important;
  outline:none!important;
  box-shadow:none!important;
}
.rsfy-receiving-payments button.rsfy-provider-status.is-active:hover,
.rsfy-receiving-payments button.rsfy-provider-status.is-active:focus,
.rsfy-receiving-payments button.rsfy-provider-status.is-active:focus-visible{
  background:#e8f8ee!important;
  color:#118447!important;
}

/* Keep all other Cloud buttons with their normal rounded-rectangle shape. */
.rsfy-receiving-payments .rsfy-provider-action,
.rsfy-cloud-migration-card .rsfy-migration-status{
  border-radius:10px!important;
}

@media(max-width:700px){
  .rsfy-receiving-payments button.rsfy-provider-status{
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    font-size:8.5px!important;
  }
}


/* ============================================================
   v0.6.65 — Manage Stripe / PayPal modal
   ============================================================ */
.rsfy-payment-manage-box{width:min(500px,calc(100vw - 32px))}
.rsfy-manage-provider-mark{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:72px;height:42px;padding:0 12px;border-radius:11px;
  font-size:16px;font-weight:800;flex:0 0 auto
}
.rsfy-manage-provider-mark.is-stripe{background:#635bff;color:#fff}
.rsfy-manage-provider-mark.is-paypal{background:#eef5ff;color:#003087}
.rsfy-payment-manage-summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px;border:1px solid #e2e2dd;border-radius:12px;background:#fafaf8
}
.rsfy-payment-manage-summary span{font-size:9px;color:#777;text-transform:uppercase;letter-spacing:.08em}
.rsfy-payment-manage-summary strong{font-size:10px;color:#111}
.rsfy-payment-manage-actions{display:grid;gap:9px;margin-top:15px}
.rsfy-manage-disconnect,.rsfy-manage-cancel{
  min-height:42px;padding:0 14px;border-radius:10px;font-size:10px;font-weight:700;cursor:pointer
}
.rsfy-manage-disconnect{
  border:1px solid #d8d8d3;background:#fff;color:#111
}
.rsfy-manage-disconnect:hover{border-color:#111;background:#111;color:#fff}
.rsfy-manage-cancel{
  border:1px solid #e2e2de;background:#f7f7f5;color:#555
}
.rsfy-manage-cancel:hover{background:#efefec;color:#111}
.rsfy-payment-manage-note{
  margin:12px 0 0;padding:10px 11px;border-radius:9px;background:#f7f7f5;color:#777;font-size:9px;line-height:1.45
}
@media(max-width:700px){
  .rsfy-payment-manage-box{width:100%}
}

/* v0.6.66 — payment modal backdrop isolated from theme button styles */
.rsfy-payment-modal{background:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;isolation:isolate!important}
.rsfy-payment-modal::before,.rsfy-payment-modal::after,.rsfy-payment-modal-backdrop::before,.rsfy-payment-modal-backdrop::after{content:none!important;display:none!important}


/* ============================================================
   v0.6.67 — Payment modal close + Stripe action buttons
   ============================================================ */

/* Close buttons: same neutral round Cloud delete/close control */
.rsfy-payment-modal .rsfy-payment-modal-close,
.rsfy-payment-modal button.rsfy-payment-modal-close{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0!important;
  border:1px solid #deded9!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#8a8a85!important;
  box-shadow:none!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1!important;
  cursor:pointer!important;
}

.rsfy-payment-modal .rsfy-payment-modal-close:hover,
.rsfy-payment-modal .rsfy-payment-modal-close:focus-visible{
  border-color:#c8c8c3!important;
  background:#f7f7f5!important;
  color:#555!important;
  outline:none!important;
  box-shadow:none!important;
}

/* Stripe manage popup actions:
   same rectangular Cloud treatment as PayPal's verify button */
.rsfy-payment-modal .rsfy-payment-manage-actions{
  display:grid!important;
  gap:9px!important;
  margin-top:15px!important;
}

.rsfy-payment-modal .rsfy-manage-disconnect,
.rsfy-payment-modal .rsfy-manage-cancel{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:42px!important;
  padding:0 14px!important;
  border:1px solid #d7d7d2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:background .15s ease,color .15s ease,border-color .15s ease!important;
}

.rsfy-payment-modal .rsfy-manage-disconnect:hover,
.rsfy-payment-modal .rsfy-manage-disconnect:focus-visible,
.rsfy-payment-modal .rsfy-manage-cancel:hover,
.rsfy-payment-modal .rsfy-manage-cancel:focus-visible{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
  outline:none!important;
}

/* Keep PayPal primary modal button visually aligned */
.rsfy-payment-modal .rsfy-provider-action--modal{
  min-height:42px!important;
  border:1px solid #111!important;
  border-radius:10px!important;
  background:#111!important;
  color:#fff!important;
}

@media(max-width:700px){
  .rsfy-payment-modal .rsfy-payment-modal-close{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
  }
}


/* ============================================================
   v0.6.68 — Mes paiements / finance workspace
   ============================================================ */
.rsfy-money-workspace{display:grid;gap:16px;max-width:1180px;margin:0 auto;width:100%}
.rsfy-money-hero,.rsfy-money-chart-card,.rsfy-money-transactions{
  border:1px solid #deded9;border-radius:18px;background:#fff
}
.rsfy-money-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px}
.rsfy-money-kicker{display:block;margin-bottom:7px;color:#777;font-size:9px;font-weight:800;letter-spacing:.16em}
.rsfy-money-hero h2{margin:0 0 6px;font-size:23px;line-height:1.1;letter-spacing:-.035em}
.rsfy-money-hero p{max-width:760px;margin:0;color:#6f6f69;font-size:10px;line-height:1.55}
.rsfy-money-period-label{flex:0 0 auto;padding:10px 12px;border:1px solid #deded9;border-radius:10px;background:#fafaf8;font-size:10px;font-weight:700}

.rsfy-money-toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.rsfy-money-period-tabs,.rsfy-money-type-tabs{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #deded9;border-radius:12px;background:#f5f5f2}
.rsfy-money-period-tabs button,.rsfy-money-type-tabs button{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:#62625d;font-size:10px;font-weight:700;cursor:pointer
}
.rsfy-money-period-tabs button.is-active,.rsfy-money-type-tabs button.is-active{background:#111;color:#fff}
.rsfy-money-period-tabs svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.rsfy-money-calendar-popover{
  position:absolute;top:50px;left:0;z-index:10050;width:330px;padding:14px;border:1px solid #deded9;border-radius:16px;background:#fff;box-shadow:0 22px 60px rgba(0,0,0,.16)
}
.rsfy-money-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px}
.rsfy-money-calendar-head strong{text-align:center;font-size:12px;text-transform:capitalize}
.rsfy-money-calendar-head button,.rsfy-money-calendar-foot button{height:34px;border:1px solid #deded9;border-radius:9px;background:#fff;color:#111;font-weight:700;cursor:pointer}
.rsfy-money-weekdays,.rsfy-money-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.rsfy-money-weekdays{margin-top:10px}
.rsfy-money-weekdays span{text-align:center;color:#888;font-size:8px;font-weight:700}
.rsfy-money-calendar-grid{margin-top:5px}
.rsfy-money-calendar-grid button{height:36px;border:0;border-radius:9px;background:#fff;color:#111;font-size:10px;font-weight:650;cursor:pointer}
.rsfy-money-calendar-grid button:hover{background:#f1f1ee}
.rsfy-money-calendar-grid button.is-outside{color:#b7b7b2}
.rsfy-money-calendar-grid button.is-range{background:#f0f0ed}
.rsfy-money-calendar-grid button.is-edge{background:#111;color:#fff}
.rsfy-money-calendar-foot{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #ecece8}
.rsfy-money-calendar-foot>span{min-height:30px;padding:9px 10px;border-radius:9px;background:#f7f7f5;color:#74746f;font-size:9px}
.rsfy-money-calendar-foot>div{display:flex;justify-content:flex-end;gap:8px}
.rsfy-money-calendar-foot button{padding:0 12px}
.rsfy-money-calendar-foot button:last-child{border-color:#111;background:#111;color:#fff}
.rsfy-money-calendar-foot button:disabled{opacity:.35;cursor:not-allowed}

.rsfy-money-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rsfy-money-kpis article{padding:18px;border:1px solid #deded9;border-radius:16px;background:#fff}
.rsfy-money-kpis article.is-primary{background:#111;border-color:#111;color:#fff}
.rsfy-money-kpis span,.rsfy-money-kpis small{display:block}
.rsfy-money-kpis span{font-size:9px;color:#777}
.rsfy-money-kpis article.is-primary span,.rsfy-money-kpis article.is-primary small{color:#aaa}
.rsfy-money-kpis strong{display:block;margin:11px 0 8px;font-size:26px;line-height:1;letter-spacing:-.04em}
.rsfy-money-kpis small{font-size:8.5px;color:#888}

.rsfy-money-chart-card,.rsfy-money-transactions{padding:20px}
.rsfy-money-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.rsfy-money-section-head h3{margin:0 0 4px;font-size:17px}
.rsfy-money-section-head p{margin:0;color:#777;font-size:9.5px}
.rsfy-money-section-head>strong{font-size:19px;letter-spacing:-.025em}
.rsfy-money-chart{position:relative;height:310px;padding:8px 0 26px;color:#111}
.rsfy-money-chart svg{display:block;width:100%;height:270px;overflow:visible}
.rsfy-money-chart-labels{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;color:#8a8a85;font-size:8px}
.rsfy-money-chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#888;font-size:10px}
.rsfy-money-count-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f1f1ee;color:#555;font-size:9px;font-weight:700}
.rsfy-money-list{display:grid}
.rsfy-money-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 0;border-top:1px solid #ecece8}
.rsfy-money-row-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#111;color:#fff;font-weight:800}
.rsfy-money-row-main,.rsfy-money-row-meta{display:grid;gap:3px}
.rsfy-money-row-main strong{font-size:10.5px}.rsfy-money-row-main span{font-size:9px;color:#777}
.rsfy-money-row-meta{text-align:right}.rsfy-money-row-meta span{font-size:8px;color:#888}.rsfy-money-row-meta strong{font-size:11px}
.rsfy-money-empty{display:grid;gap:5px;padding:35px;text-align:center;color:#777}.rsfy-money-empty strong{color:#111}

/* Reservation manual balance control */
.rsfy-booking-balance-control small{display:block;margin-top:8px;color:#777;font-size:9px;font-weight:400}
.rsfy-balance-control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px}
.rsfy-balance-segment{display:inline-flex;padding:3px;border:1px solid #deded9;border-radius:10px;background:#f5f5f2}
.rsfy-balance-segment button{min-height:31px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#666;font-size:9px;font-weight:700;cursor:pointer}
.rsfy-balance-segment button.is-active{background:#111;color:#fff}

@media(max-width:900px){
 .rsfy-money-kpis{grid-template-columns:1fr 1fr}
 .rsfy-money-toolbar{align-items:stretch;flex-direction:column}
 .rsfy-money-period-tabs,.rsfy-money-type-tabs{width:100%;box-sizing:border-box}
 .rsfy-money-period-tabs button,.rsfy-money-type-tabs button{flex:1}
}
@media(max-width:640px){
 .rsfy-money-workspace{gap:12px}
 .rsfy-money-hero{align-items:flex-start;flex-direction:column;padding:17px 15px;border-radius:15px}
 .rsfy-money-period-label{width:100%;box-sizing:border-box;text-align:center}
 .rsfy-money-kpis{grid-template-columns:1fr 1fr;gap:8px}
 .rsfy-money-kpis article{padding:14px;border-radius:14px}
 .rsfy-money-kpis strong{font-size:21px}
 .rsfy-money-calendar-popover{position:fixed;left:10px;right:10px;bottom:10px;top:auto;width:auto;max-height:calc(100vh - 20px);overflow:auto;border-radius:18px;z-index:2147482000}
 .rsfy-money-chart-card,.rsfy-money-transactions{padding:15px;border-radius:15px}
 .rsfy-money-chart{height:250px;overflow:hidden}
 .rsfy-money-chart svg{height:215px}
 .rsfy-money-row{grid-template-columns:34px minmax(0,1fr) auto}
 .rsfy-money-row-icon{width:32px;height:32px}
 .rsfy-balance-control-row{align-items:flex-start;flex-direction:column}
}


/* ============================================================
   v0.6.69 — Avis clients
   ============================================================ */
.rsfy-reviews-workspace{display:grid;gap:16px;max-width:1180px;margin:0 auto;width:100%}
.rsfy-reviews-hero,.rsfy-reviews-toolbar,.rsfy-review-card{border:1px solid #deded9;background:#fff}
.rsfy-reviews-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-radius:18px}
.rsfy-reviews-kicker{display:block;margin-bottom:7px;color:#777;font-size:9px;font-weight:800;letter-spacing:.16em}
.rsfy-reviews-hero h2{margin:0 0 6px;font-size:23px;line-height:1.1;letter-spacing:-.035em}
.rsfy-reviews-hero p{margin:0;color:#6f6f69;font-size:10px}
.rsfy-reviews-settings-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid #d7d7d2;border-radius:10px;background:#fff;color:#111;font-size:10px;font-weight:700;cursor:pointer}
.rsfy-reviews-settings-btn:hover{background:#111;color:#fff;border-color:#111}
.rsfy-reviews-settings-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.rsfy-reviews-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rsfy-reviews-kpis article{padding:18px;border:1px solid #deded9;border-radius:16px;background:#fff}
.rsfy-reviews-kpis article.is-dark{background:#111;border-color:#111;color:#fff}
.rsfy-reviews-kpis span,.rsfy-reviews-kpis small{display:block;color:#777;font-size:9px}
.rsfy-reviews-kpis article.is-dark span,.rsfy-reviews-kpis article.is-dark small{color:#aaa}
.rsfy-reviews-kpis strong{display:block;margin:10px 0 7px;font-size:25px;line-height:1;letter-spacing:-.035em}

.rsfy-reviews-toolbar{display:flex;align-items:center;gap:10px;padding:11px;border-radius:14px}
.rsfy-reviews-search{display:flex;align-items:center;gap:9px;flex:1;height:40px;padding:0 12px;border:1px solid #deded9;border-radius:10px;background:#fff}
.rsfy-reviews-search svg{width:16px;height:16px;fill:none;stroke:#777;stroke-width:1.7}
.rsfy-reviews-search input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;font-size:10px}
.rsfy-reviews-toolbar select{height:40px;min-width:160px;padding:0 34px 0 12px;border:1px solid #deded9;border-radius:10px;background:#fff;color:#111;font-size:10px;font-weight:600}

.rsfy-reviews-list{display:grid;gap:10px}
.rsfy-review-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:13px;padding:17px;border-radius:15px}
.rsfy-review-avatar{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#111;color:#fff;font-size:11px;font-weight:800}
.rsfy-review-content{min-width:0}
.rsfy-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rsfy-review-head strong,.rsfy-review-head span{display:block}
.rsfy-review-head strong{font-size:11px}.rsfy-review-head span{margin-top:3px;color:#85857f;font-size:8.5px}
.rsfy-review-delete{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid #deded9;border-radius:50%;background:#fff;color:#888;font-size:15px;cursor:pointer}
.rsfy-review-delete:hover:not(:disabled){background:#f4f4f1;color:#111}
.rsfy-review-delete:disabled{opacity:.35;cursor:not-allowed}
.rsfy-review-stars{display:flex;gap:2px;margin:9px 0 7px}
.rsfy-review-stars span{color:#d7d7d2;font-size:14px}.rsfy-review-stars span.is-on{color:#111}
.rsfy-review-content p{margin:0;color:#333;font-size:10px;line-height:1.55}
.rsfy-review-demo{display:inline-flex;margin-top:10px;padding:5px 7px;border-radius:7px;background:#f5f5f2;color:#888;font-size:8px}
.rsfy-reviews-empty{display:grid;justify-items:center;gap:5px;padding:48px;border:1px solid #deded9;border-radius:16px;background:#fff;text-align:center}
.rsfy-reviews-empty div{font-size:28px}.rsfy-reviews-empty strong{font-size:12px}.rsfy-reviews-empty span{color:#888;font-size:9px}

/* Settings modal */
.rsfy-reviews-modal[hidden]{display:none!important}
.rsfy-reviews-modal{position:fixed;inset:0;z-index:2147482000;display:flex;align-items:center;justify-content:center;padding:18px}
.rsfy-reviews-modal-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.30);backdrop-filter:blur(3px)}
.rsfy-reviews-modal-box{position:relative;z-index:1;width:min(540px,calc(100vw - 30px));padding:20px;border:1px solid #deded9;border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.20)}
.rsfy-reviews-modal-close{position:absolute;right:14px;top:14px;display:flex;align-items:center;justify-content:center;width:31px;height:31px;padding:0;border:1px solid #deded9;border-radius:50%;background:#fff;color:#888;font-size:15px;cursor:pointer}
.rsfy-reviews-modal-title{display:flex;align-items:center;gap:12px;padding-right:42px;margin-bottom:18px}
.rsfy-reviews-settings-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:#111;color:#fff}
.rsfy-reviews-settings-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.rsfy-reviews-modal-title h3{margin:0 0 4px;font-size:18px}.rsfy-reviews-modal-title p{margin:0;color:#777;font-size:9px}
.rsfy-reviews-settings-list{display:grid;border:1px solid #e4e4e0;border-radius:14px;overflow:hidden}
.rsfy-reviews-settings-list label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;padding:14px;border-top:1px solid #ecece8;cursor:pointer}
.rsfy-reviews-settings-list label:first-child{border-top:0}
.rsfy-reviews-settings-list strong,.rsfy-reviews-settings-list span{display:block}
.rsfy-reviews-settings-list strong{font-size:10px}.rsfy-reviews-settings-list span{margin-top:3px;color:#85857f;font-size:8.5px}
.rsfy-reviews-settings-list input{position:absolute;opacity:0;pointer-events:none}
.rsfy-reviews-settings-list i{position:relative;width:38px;height:21px;border-radius:999px;background:#d8dad8;transition:.18s}
.rsfy-reviews-settings-list i:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);transition:.18s}
.rsfy-reviews-settings-list input:checked+i{background:#111}
.rsfy-reviews-settings-list input:checked+i:after{transform:translateX(17px)}
.rsfy-reviews-save{width:100%;height:42px;margin-top:14px;border:1px solid #111;border-radius:10px;background:#111;color:#fff;font-size:10px;font-weight:700;cursor:pointer}
.rsfy-reviews-save:hover{background:#292929}

@media(max-width:900px){.rsfy-reviews-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
 .rsfy-reviews-workspace{gap:12px}
 .rsfy-reviews-hero{align-items:flex-start;flex-direction:column;padding:17px 15px;border-radius:15px}
 .rsfy-reviews-settings-btn{width:100%;justify-content:center}
 .rsfy-reviews-kpis{grid-template-columns:1fr 1fr;gap:8px}
 .rsfy-reviews-kpis article{padding:14px;border-radius:14px}
 .rsfy-reviews-toolbar{align-items:stretch;flex-direction:column}
 .rsfy-reviews-toolbar select{width:100%}
 .rsfy-review-card{grid-template-columns:38px minmax(0,1fr);padding:14px}
 .rsfy-review-avatar{width:36px;height:36px}
 .rsfy-reviews-modal{align-items:flex-end;padding:10px}
 .rsfy-reviews-modal-box{width:100%;padding:18px 14px 14px;border-radius:18px}
}


/* ============================================================
   v0.6.70 — Mes paiements : calendrier + icône
   ============================================================ */

/* Les deux commandes du calendrier doivent rester parfaitement centrées,
   indépendamment des styles de bouton hérités du thème. */
.rsfy-payments-calendar button[data-cal-prev],
.rsfy-payments-calendar button[data-cal-next],
.rsfy-payments-range-popover button[data-cal-prev],
.rsfy-payments-range-popover button[data-cal-next],
[data-payments-calendar] button[data-cal-prev],
[data-payments-calendar] button[data-cal-next],
.rsfy-payments-calendar-nav button,
.rsfy-payments-calendar-header > button {
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 42px !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 !important;
    margin:0 !important;
    line-height:1 !important;
    text-align:center !important;
    text-indent:0 !important;
}

/* Neutralise les décalages possibles appliqués au caractère/flèche. */
.rsfy-payments-calendar button[data-cal-prev] > *,
.rsfy-payments-calendar button[data-cal-next] > *,
.rsfy-payments-range-popover button[data-cal-prev] > *,
.rsfy-payments-range-popover button[data-cal-next] > *,
[data-payments-calendar] button[data-cal-prev] > *,
[data-payments-calendar] button[data-cal-next] > * {
    margin:auto !important;
    transform:none !important;
    line-height:1 !important;
}

/* Si la flèche est directement du texte dans le bouton. */
.rsfy-payments-calendar button[data-cal-prev],
.rsfy-payments-calendar button[data-cal-next],
.rsfy-payments-range-popover button[data-cal-prev],
.rsfy-payments-range-popover button[data-cal-next] {
    font-size:15px !important;
    font-weight:700 !important;
}

@media (max-width:640px){
  .rsfy-payments-calendar button[data-cal-prev],
  .rsfy-payments-calendar button[data-cal-next],
  .rsfy-payments-range-popover button[data-cal-prev],
  .rsfy-payments-range-popover button[data-cal-next],
  [data-payments-calendar] button[data-cal-prev],
  [data-payments-calendar] button[data-cal-next],
  .rsfy-payments-calendar-nav button,
  .rsfy-payments-calendar-header > button{
      flex-basis:40px !important;
      width:40px !important;
      min-width:40px !important;
      max-width:40px !important;
      height:36px !important;
  }
}


/* ============================================================
   v0.6.71 — Avis clients : interface Reseefy indépendante du thème
   ============================================================ */

/* Retire tout espace laissé par l'ancien kicker "RÉPUTATION". */
.rsfy-reviews-hero > div:first-child{
  display:block!important;
}

/* Tous les boutons principaux de l'onglet utilisent le système Reseefy,
   jamais les couleurs héritées du thème. */
.rsfy-reviews-workspace .rsfy-reviews-settings-btn,
.rsfy-reviews-workspace .rsfy-reviews-save{
  appearance:none!important;
  -webkit-appearance:none!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:0 14px!important;
  border:1px solid #d7d7d2!important;
  border-radius:10px!important;
  background:#fff!important;
  background-image:none!important;
  color:#111!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:background .15s ease,color .15s ease,border-color .15s ease!important;
}

.rsfy-reviews-workspace .rsfy-reviews-settings-btn:hover,
.rsfy-reviews-workspace .rsfy-reviews-settings-btn:focus-visible,
.rsfy-reviews-workspace .rsfy-reviews-save:hover,
.rsfy-reviews-workspace .rsfy-reviews-save:focus-visible{
  border-color:#111!important;
  background:#111!important;
  background-image:none!important;
  color:#fff!important;
  outline:none!important;
  box-shadow:none!important;
}

/* Le bouton Enregistrer reste pleine largeur, mais conserve le même langage visuel. */
.rsfy-reviews-workspace .rsfy-reviews-save{
  width:100%!important;
  margin-top:14px!important;
}

/* Croix de suppression : vrai cercle blanc, contour gris, croix centrée. */
.rsfy-reviews-workspace .rsfy-review-delete,
.rsfy-reviews-workspace .rsfy-reviews-modal-close{
  appearance:none!important;
  -webkit-appearance:none!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #deded9!important;
  border-radius:50%!important;
  background:#fff!important;
  background-image:none!important;
  color:#8a8a85!important;
  box-shadow:none!important;
  text-shadow:none!important;
  cursor:pointer!important;
}

.rsfy-reviews-workspace .rsfy-review-delete svg,
.rsfy-reviews-workspace .rsfy-reviews-modal-close svg{
  display:block!important;
  width:13px!important;
  height:13px!important;
  margin:0!important;
  padding:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transform:none!important;
}

.rsfy-reviews-workspace .rsfy-review-delete:hover:not(:disabled),
.rsfy-reviews-workspace .rsfy-review-delete:focus-visible:not(:disabled),
.rsfy-reviews-workspace .rsfy-reviews-modal-close:hover,
.rsfy-reviews-workspace .rsfy-reviews-modal-close:focus-visible{
  border-color:#c8c8c3!important;
  background:#f5f5f2!important;
  background-image:none!important;
  color:#555!important;
  outline:none!important;
  box-shadow:none!important;
}

.rsfy-reviews-workspace .rsfy-review-delete:disabled{
  opacity:.35!important;
  cursor:not-allowed!important;
}

/* Position de la croix du modal, verrouillée pour éviter les règles du thème. */
.rsfy-reviews-workspace .rsfy-reviews-modal-close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:3!important;
}

/* Les switchs restent noirs/blancs Reseefy et ne récupèrent aucune couleur de thème. */
.rsfy-reviews-workspace .rsfy-reviews-settings-list i{
  background:#d8dad8!important;
}
.rsfy-reviews-workspace .rsfy-reviews-settings-list input:checked+i{
  background:#111!important;
}

/* Icône engrenage du bouton Paramètres */
.rsfy-reviews-workspace .rsfy-reviews-settings-btn svg{
  width:16px!important;
  height:16px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.6!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Neutralise certains pseudo-éléments de thèmes qui injectent des fonds/couleurs. */
.rsfy-reviews-workspace button::before,
.rsfy-reviews-workspace button::after{
  box-shadow:none!important;
}
.rsfy-reviews-workspace .rsfy-review-delete::before,
.rsfy-reviews-workspace .rsfy-review-delete::after,
.rsfy-reviews-workspace .rsfy-reviews-modal-close::before,
.rsfy-reviews-workspace .rsfy-reviews-modal-close::after{
  content:none!important;
}

@media(max-width:640px){
  .rsfy-reviews-workspace .rsfy-reviews-settings-btn{
    width:100%!important;
  }
  .rsfy-reviews-workspace .rsfy-review-delete,
  .rsfy-reviews-workspace .rsfy-reviews-modal-close{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
  }
}


/* ============================================================
   v0.6.72 — Profil : informations générales de l'activité
   ============================================================ */

.rsfy-profile-general-card{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:28px!important;
  border:1px solid #deded9!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
}

.rsfy-profile-general-card h2,
.rsfy-profile-general-card h3{
  margin-top:0!important;
  letter-spacing:-.03em!important;
}

.rsfy-profile-general-card .rsfy-owner-badge,
.rsfy-profile-general-card .rsfy-role-badge{
  border-radius:999px!important;
}

/* Zone photo/avatar */
.rsfy-profile-general-card .rsfy-logo-block,
.rsfy-profile-general-card .rsfy-profile-media,
.rsfy-profile-general-card [class*="logo-upload"],
.rsfy-profile-general-card [class*="profile-upload"]{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:18px!important;
  padding:18px!important;
  border:1px solid #e4e4e0!important;
  border-radius:15px!important;
  background:#fafaf8!important;
}

.rsfy-profile-general-card input[type="text"],
.rsfy-profile-general-card input[type="email"],
.rsfy-profile-general-card input[type="tel"],
.rsfy-profile-general-card textarea{
  box-sizing:border-box!important;
  width:100%!important;
  border:1px solid #deded9!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  outline:none!important;
}

.rsfy-profile-general-card input[type="text"],
.rsfy-profile-general-card input[type="email"],
.rsfy-profile-general-card input[type="tel"]{
  min-height:46px!important;
  padding:0 13px!important;
}

.rsfy-profile-general-card textarea{
  min-height:130px!important;
  padding:13px!important;
  resize:vertical!important;
}

.rsfy-profile-general-card input:focus,
.rsfy-profile-general-card textarea:focus{
  border-color:#111!important;
  box-shadow:0 0 0 1px #111!important;
}

.rsfy-profile-general-card label{
  color:#111!important;
  font-size:10px!important;
  font-weight:700!important;
}

.rsfy-profile-general-card .rsfy-form-grid,
.rsfy-profile-general-card [class*="fields-grid"]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px 18px!important;
}

/* Boutons dans le style Reseefy, pas celui du thème */
.rsfy-profile-general-card button,
.rsfy-profile-general-card .button{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-height:38px!important;
  padding:0 13px!important;
  border:1px solid #d7d7d2!important;
  border-radius:9px!important;
  background:#fff!important;
  background-image:none!important;
  color:#111!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-size:10px!important;
  font-weight:700!important;
  cursor:pointer!important;
}

.rsfy-profile-general-card button:hover,
.rsfy-profile-general-card .button:hover{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}

/* Le bouton principal reste noir */
.rsfy-profile-general-card button[type="submit"],
.rsfy-profile-general-card .rsfy-primary-action{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}

.rsfy-profile-general-card button[type="submit"]:hover,
.rsfy-profile-general-card .rsfy-primary-action:hover{
  background:#2a2a2a!important;
}

/* Supprime tout espace résiduel lié aux anciens champs de couleur. */
.rsfy-profile-general-card [data-field*="color"],
.rsfy-profile-general-card [class*="color-field"],
.rsfy-profile-general-card .rsfy-color-field{
  display:none!important;
}

/* Description en pleine largeur */
.rsfy-profile-general-card textarea,
.rsfy-profile-general-card [class*="description"]{
  grid-column:1 / -1!important;
}

/* Footer enregistrement */
.rsfy-profile-general-card .rsfy-sync-footer,
.rsfy-profile-general-card [class*="sync-footer"]{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-top:22px!important;
  padding-top:18px!important;
  border-top:1px solid #ecece8!important;
}

@media(max-width:760px){
  .rsfy-profile-general-card{
    padding:18px!important;
    border-radius:15px!important;
  }

  .rsfy-profile-general-card .rsfy-form-grid,
  .rsfy-profile-general-card [class*="fields-grid"]{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .rsfy-profile-general-card .rsfy-logo-block,
  .rsfy-profile-general-card .rsfy-profile-media,
  .rsfy-profile-general-card [class*="logo-upload"],
  .rsfy-profile-general-card [class*="profile-upload"]{
    grid-template-columns:1fr!important;
    justify-items:start!important;
  }

  .rsfy-profile-general-card .rsfy-sync-footer,
  .rsfy-profile-general-card [class*="sync-footer"]{
    align-items:stretch!important;
    flex-direction:column!important;
  }

  .rsfy-profile-general-card button[type="submit"],
  .rsfy-profile-general-card .rsfy-primary-action{
    width:100%!important;
  }
}


/* ============================================================
   v0.6.73 — Profil général : correctif structurel
   ============================================================ */

/* Le profil ouvert depuis le menu gauche ne montre plus la navigation interne. */
.rsfy-profile-workspace[data-active="settings"] > .rsfy-profile-tabs{
  display:none!important;
}

/* Carte principale plus compacte et centrée sur l'identité de l'activité. */
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-card{
  max-width:1100px!important;
  margin:0 auto!important;
  padding:26px!important;
  border:1px solid #deded9!important;
  border-radius:18px!important;
  background:#fff!important;
}

/* Photo/avatar */
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-logo-block{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  align-items:center!important;
  gap:18px!important;
  margin:18px 0 22px!important;
  padding:18px!important;
  border:1px solid #e3e3df!important;
  border-radius:15px!important;
  background:#fafaf8!important;
}

.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-logo-avatar{
  width:82px!important;
  min-width:82px!important;
  height:82px!important;
  min-height:82px!important;
  border:1px dashed #bfc0ba!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#666!important;
  overflow:hidden!important;
}
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-logo-avatar img{
  width:100%!important;height:100%!important;object-fit:cover!important;
}

/* Champs : 2 colonnes desktop, description pleine largeur. */
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px 18px!important;
}
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields > label{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
  font-size:10px!important;
  font-weight:700!important;
}
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields > label.wide{
  grid-column:1 / -1!important;
}

.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields input,
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields textarea{
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #deded9!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  outline:none!important;
}
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields input{
  height:46px!important;
  padding:0 13px!important;
}
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields textarea{
  min-height:150px!important;
  padding:13px!important;
  resize:vertical!important;
}
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields input:focus,
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields textarea:focus{
  border-color:#111!important;
  box-shadow:0 0 0 1px #111!important;
}

/* Sécurité : aucun ancien champ couleur ne doit apparaître. */
.rsfy-profile-workspace[data-active="settings"] input[data-field="primary_color"],
.rsfy-profile-workspace[data-active="settings"] input[data-field="secondary_color"],
.rsfy-profile-workspace[data-active="settings"] label:has(input[data-field="primary_color"]),
.rsfy-profile-workspace[data-active="settings"] label:has(input[data-field="secondary_color"]){
  display:none!important;
}

/* Boutons cohérents Cloud. */
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-logo-actions button{
  min-height:36px!important;
  padding:0 12px!important;
  border:1px solid #d7d7d2!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:10px!important;
  font-weight:700!important;
}
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-logo-actions button:hover{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}

/* En mobile, avatar puis contenu, et un seul champ par ligne. */
@media(max-width:760px){
  .rsfy-profile-workspace[data-active="settings"] .rsfy-profile-card{
    padding:17px!important;
    border-radius:15px!important;
  }
  .rsfy-profile-workspace[data-active="settings"] .rsfy-profile-logo-block{
    grid-template-columns:1fr!important;
    justify-items:start!important;
  }
  .rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .rsfy-profile-workspace[data-active="settings"] .rsfy-profile-general-fields > label.wide{
    grid-column:auto!important;
  }
}


/* ============================================================
   v0.6.74 — Profil : en-tête nettoyé et aligné comme Agenda
   ============================================================ */

/* La page Profil reprend exactement la logique d'alignement des pages Agenda :
   titre + description à gauche, sans actions à droite. */
body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header,
body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header{
  display:block!important;
  max-width:1180px!important;
  width:100%!important;
  margin:0 auto 28px!important;
  padding-left:0!important;
  padding-right:0!important;
}

body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header > div,
body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header > div{
  width:100%!important;
  max-width:none!important;
}

body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header h1,
body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header h1{
  margin:0 0 7px!important;
  font-size:34px!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
}

body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header p,
body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header p{
  margin:0!important;
  color:#666!important;
  font-size:12px!important;
  line-height:1.45!important;
}

/* Supprime toute ancienne zone d'actions du header Profil. */
body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-profile-page-actions,
body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-actions,
body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-profile-page-actions,
body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-actions{
  display:none!important;
}

/* Le bloc de contenu Profil reprend la même largeur que les autres pages Cloud. */
.rsfy-profile-workspace[data-active="settings"]{
  max-width:1180px!important;
  width:100%!important;
  margin:0 auto!important;
}

/* Le titre interne reste aligné sur le bord gauche du bloc, comme Import. */
.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-card{
  max-width:1180px!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
}

.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-card .section-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 20px!important;
}

.rsfy-profile-workspace[data-active="settings"] .rsfy-profile-card .section-head h2{
  margin:0!important;
  font-size:24px!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}

/* Mobile : même axe gauche, aucune action parasite. */
@media(max-width:760px){
  body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header,
  body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header{
    margin-bottom:18px!important;
  }
  body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header h1,
  body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header h1{
    font-size:28px!important;
  }
  .rsfy-profile-workspace[data-active="settings"] .rsfy-profile-card .section-head{
    align-items:flex-start!important;
  }
}

/* v0.6.75 — suppression définitive des actions du header Profil */
body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header .rsfy-page-actions,
body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header .rsfy-header-actions,
body .rsfy-cloud-main:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header .rsfy-profile-page-actions,
body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header .rsfy-page-actions,
body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header .rsfy-header-actions,
body .rsfy-cloud-content:has(.rsfy-profile-workspace[data-active="settings"]) .rsfy-page-header .rsfy-profile-page-actions{
 display:none!important;
}


/* ============================================================
   v0.6.76 — Ma page / mini page builder
   ============================================================ */
.rsfy-page-builder{display:grid;gap:14px;max-width:1180px;width:100%;margin:0 auto}
.rsfy-pb-topbar,.rsfy-pb-linkbar,.rsfy-pb-panel,.rsfy-pb-canvas{border:1px solid #deded9;background:#fff}
.rsfy-pb-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-radius:18px}
.rsfy-pb-kicker{display:block;margin-bottom:6px;color:#777;font-size:9px;font-weight:800;letter-spacing:.15em}
.rsfy-pb-topbar h2{margin:0 0 5px;font-size:23px;letter-spacing:-.035em}.rsfy-pb-topbar p{margin:0;color:#73736e;font-size:10px}
.rsfy-pb-top-actions{display:flex;gap:8px}
.rsfy-pb-btn,.rsfy-pb-copy{min-height:40px;padding:0 14px;border:1px solid #d7d7d2;border-radius:10px;background:#fff;color:#111;font-size:10px;font-weight:700;cursor:pointer}
.rsfy-pb-btn:hover,.rsfy-pb-copy:hover{border-color:#111;background:#111;color:#fff}.rsfy-pb-btn.is-primary{border-color:#111;background:#111;color:#fff}
.rsfy-pb-linkbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 17px;border-radius:14px}.rsfy-pb-linkbar span,.rsfy-pb-linkbar strong{display:block}.rsfy-pb-linkbar span{font-size:8px;color:#888;text-transform:uppercase;letter-spacing:.1em}.rsfy-pb-linkbar strong{margin-top:4px;font-size:10px;word-break:break-all}
.rsfy-pb-copy{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto}.rsfy-pb-copy svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}
.rsfy-pb-status-line{display:flex;align-items:center;gap:10px;min-height:28px}.rsfy-pb-status{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border-radius:999px;background:#f1f1ee;color:#555;font-size:9px;font-weight:700}.rsfy-pb-status.is-published{background:#e8f8ee;color:#118447}.rsfy-pb-status-line>span:last-child{font-size:9px;color:#777}

.rsfy-pb-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}
.rsfy-pb-panel{position:sticky;top:20px;border-radius:16px;overflow:hidden}.rsfy-pb-panel-head{display:flex;align-items:center;justify-content:space-between;padding:15px;border-bottom:1px solid #ecece8}.rsfy-pb-panel-head strong{font-size:11px}.rsfy-pb-panel-head span{font-size:8px;color:#888}
.rsfy-pb-toggle-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 15px;border-top:1px solid #ecece8;cursor:pointer}.rsfy-pb-toggle-row:first-of-type{border-top:0}.rsfy-pb-toggle-row strong,.rsfy-pb-toggle-row span{display:block}.rsfy-pb-toggle-row strong{font-size:10px}.rsfy-pb-toggle-row span{margin-top:3px;color:#888;font-size:8.5px;line-height:1.4}.rsfy-pb-toggle-row input{position:absolute;opacity:0}.rsfy-pb-toggle-row i{position:relative;width:38px;height:21px;border-radius:999px;background:#d8dad8}.rsfy-pb-toggle-row i:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#fff;transition:.17s}.rsfy-pb-toggle-row input:checked+i{background:#111}.rsfy-pb-toggle-row input:checked+i:after{transform:translateX(17px)}

.rsfy-pb-canvas{padding:18px;border-radius:18px;background:#f4f4f1}.rsfy-pb-canvas-label{display:flex;align-items:center;justify-content:space-between;padding:0 2px 13px}.rsfy-pb-canvas-label span{font-size:10px;font-weight:800}.rsfy-pb-canvas-label small{color:#888;font-size:8px}
.rsfy-pb-preview-section{margin-top:10px;padding:20px;border:1px solid #deded9;border-radius:16px;background:#fff}.rsfy-pb-preview-section[hidden]{display:none!important}
.rsfy-pb-about{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;margin-top:0}.rsfy-pb-avatar{width:68px;height:68px;border-radius:50%;overflow:hidden;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}.rsfy-pb-avatar img{width:100%;height:100%;object-fit:cover}.rsfy-pb-overline{font-size:8px;color:#777;font-weight:800;letter-spacing:.1em}.rsfy-pb-about-copy h3{margin:5px 0 7px;font-size:19px;line-height:1.2;letter-spacing:-.025em}.rsfy-pb-about-copy p{margin:3px 0;color:#777;font-size:9px}
.rsfy-pb-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:15px}.rsfy-pb-section-head span:first-child{font-size:8px;color:#888;font-weight:800;letter-spacing:.12em}.rsfy-pb-section-head h3{margin:4px 0 0;font-size:18px}.rsfy-pb-step{font-size:9px;color:#aaa}
.rsfy-pb-booking-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px}.rsfy-pb-booking-grid label{display:grid;gap:5px;font-size:8px;font-weight:700}.rsfy-pb-booking-grid select,.rsfy-pb-booking-grid input{height:40px;border:1px solid #deded9;border-radius:9px;background:#fff;padding:0 10px;font-size:9px}.rsfy-pb-booking-grid button,.rsfy-pb-service-card button{height:40px;border:1px solid #111;border-radius:9px;background:#111;color:#fff;padding:0 12px;font-size:9px;font-weight:700}
.rsfy-pb-service-slider{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rsfy-pb-service-card{border:1px solid #e2e2de;border-radius:13px;overflow:hidden;padding-bottom:12px}.rsfy-pb-service-image{height:120px;background:#ededE9;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800}.rsfy-pb-service-image img{width:100%;height:100%;object-fit:cover}.rsfy-pb-service-card small,.rsfy-pb-service-card h4,.rsfy-pb-service-card strong,.rsfy-pb-service-card button{margin-left:12px;margin-right:12px}.rsfy-pb-service-card small{display:block;margin-top:10px;color:#888;font-size:8px}.rsfy-pb-service-card h4{margin-top:4px;margin-bottom:6px;font-size:13px}.rsfy-pb-service-card strong{display:block;margin-bottom:10px;font-size:10px}.rsfy-pb-service-card button{width:calc(100% - 24px)}
.rsfy-pb-hours{display:flex;align-items:center;justify-content:space-between;padding:13px;border-radius:11px;background:#f6f6f3;font-size:10px}.rsfy-pb-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.rsfy-pb-review-grid article{padding:13px;border:1px solid #e5e5e1;border-radius:11px}.rsfy-pb-stars{font-size:10px}.rsfy-pb-review-grid p{font-size:9px;line-height:1.5;color:#555}.rsfy-pb-review-grid strong{font-size:9px}.rsfy-pb-empty-card{grid-column:1/-1;padding:26px;border:1px dashed #d4d4cf;border-radius:12px;text-align:center;color:#888;font-size:9px}

@media(max-width:900px){.rsfy-pb-layout{grid-template-columns:1fr}.rsfy-pb-panel{position:static}.rsfy-pb-service-slider{grid-template-columns:repeat(2,minmax(0,1fr))}.rsfy-pb-booking-grid{grid-template-columns:1fr 1fr}.rsfy-pb-booking-grid button{grid-column:1/-1}}
@media(max-width:640px){.rsfy-pb-topbar{align-items:flex-start;flex-direction:column;padding:17px}.rsfy-pb-top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.rsfy-pb-linkbar{align-items:stretch;flex-direction:column}.rsfy-pb-copy{width:100%;justify-content:center}.rsfy-pb-canvas{padding:10px}.rsfy-pb-preview-section{padding:15px}.rsfy-pb-about{grid-template-columns:55px 1fr}.rsfy-pb-avatar{width:52px;height:52px}.rsfy-pb-booking-grid{grid-template-columns:1fr}.rsfy-pb-booking-grid button{grid-column:auto}.rsfy-pb-service-slider,.rsfy-pb-review-grid{grid-template-columns:1fr}.rsfy-pb-service-image{height:170px}.rsfy-pb-hours{align-items:flex-start;flex-direction:column;gap:6px}.rsfy-pb-canvas-label small{display:none}}

/* ===== v0.6.77 — Dashboard premium: clickable status + Voir ===== */
.rsfy-kih-dashboard-status{
  text-decoration:none!important;
  border:0!important;
  background:#e8f8ee!important;
  color:#118447!important;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.rsfy-kih-dashboard-status:hover,.rsfy-kih-dashboard-status:focus-visible{
  background:#dff4e7!important;
  color:#0d713c!important;
  outline:none!important;
  transform:translateY(-1px);
}
.rsfy-kih-progress-meta{display:flex;align-items:center;gap:9px}
.rsfy-kih-progress-meta strong{margin:0!important}
.rsfy-kih-progress-view{
  display:inline-flex;align-items:center;justify-content:center;
  height:28px;padding:0 11px;border:0;border-radius:999px;
  background:#f2f2f0;color:#4f4f4b!important;text-decoration:none!important;
  font-size:9px;font-weight:700;line-height:1;white-space:nowrap;
  transition:background .18s ease,color .18s ease;
}
.rsfy-kih-progress-view:hover,.rsfy-kih-progress-view:focus-visible{background:#111;color:#fff!important;outline:none}
@media(max-width:560px){.rsfy-kih-progress-meta{gap:7px}.rsfy-kih-progress-view{height:27px;padding:0 10px}}


/* ===== v0.6.78 — état clé en main compact + dossier réel ===== */
.rsfy-kih-dashboard-head .rsfy-kih-dashboard-status{
  appearance:none!important;-webkit-appearance:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 auto!important;width:fit-content!important;min-width:0!important;max-width:max-content!important;
  height:30px!important;min-height:30px!important;max-height:30px!important;padding:0 12px!important;margin:0!important;
  border:0!important;border-radius:999px!important;background:#e8f8ee!important;color:#118447!important;
  box-shadow:none!important;text-decoration:none!important;font-size:9px!important;font-weight:700!important;line-height:1!important;
  white-space:nowrap!important;align-self:flex-start!important;
}
.rsfy-kih-dashboard-head .rsfy-kih-dashboard-status b{display:inline!important;margin:0!important;padding:0!important;font:inherit!important;color:inherit!important;line-height:1!important;white-space:nowrap!important}
.rsfy-kih-dashboard-head .rsfy-kih-dashboard-status:hover,.rsfy-kih-dashboard-head .rsfy-kih-dashboard-status:focus-visible{background:#dff4e7!important;color:#0d713c!important;outline:none!important;transform:none!important}

.rsfy-premium-completion{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;margin:0 0 14px}
.rsfy-premium-completion-score,.rsfy-premium-missing-card{padding:18px;border:1px solid #e1e1dd;border-radius:16px;background:#fff;box-sizing:border-box}
.rsfy-premium-completion-score>span,.rsfy-premium-missing-card>span{display:block;color:#83837d;font-size:8px;font-weight:800;letter-spacing:.13em}
.rsfy-premium-completion-score>strong{display:block;margin-top:8px;font-size:29px;letter-spacing:-.035em}
.rsfy-premium-completion-score>small{display:block;margin-top:8px;color:#777;font-size:9px}
.rsfy-premium-completion-track{height:7px;margin-top:13px;border-radius:999px;background:#ecece8;overflow:hidden}.rsfy-premium-completion-track i{display:block;height:100%;border-radius:999px;background:#111}
.rsfy-premium-missing-card{background:#fafaf8}.rsfy-premium-missing-card>strong{display:block;margin-top:9px;font-size:15px}.rsfy-premium-missing-card>p{margin:7px 0 0;color:#777;font-size:9px;line-height:1.55}.rsfy-premium-missing-card.is-complete{background:#f4fbf6;border-color:#d8eee0}
.rsfy-premium-missing-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.rsfy-premium-missing-list em{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:#fff;border:1px solid #dfdfda;color:#343431;font-size:8px;font-style:normal;font-weight:700}
.rsfy-premium-real-data{margin:0 0 14px;padding:18px;border:1px solid #dededa;border-radius:17px;background:#fff}.rsfy-premium-real-data-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:14px}.rsfy-premium-real-data-head span{display:block;color:#85857f;font-size:8px;font-weight:800;letter-spacing:.13em}.rsfy-premium-real-data-head h3{margin:5px 0 0;font-size:17px;letter-spacing:-.02em}.rsfy-premium-real-data-head small{color:#8a8a84;font-size:8px}.rsfy-premium-real-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rsfy-premium-real-data-grid article{min-height:92px;padding:13px;border:1px solid #e5e5e1;border-radius:12px;background:#fafaf8}.rsfy-premium-real-data-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.rsfy-premium-real-data-grid article span{font-size:9px;font-weight:800}.rsfy-premium-real-data-grid article b{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;background:#f0f0ed;color:#777;font-size:7.5px}.rsfy-premium-real-data-grid article.is-provided b{background:#e8f8ee;color:#118447}.rsfy-premium-real-data-grid article.is-missing b{background:#f3eeee;color:#8e5353}.rsfy-premium-real-data-grid article p{margin:10px 0 0;color:#565652;font-size:9px;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
@media(max-width:820px){.rsfy-premium-completion,.rsfy-premium-real-data-grid{grid-template-columns:1fr}.rsfy-premium-real-data-head{align-items:flex-start;flex-direction:column}.rsfy-kih-dashboard-head .rsfy-kih-dashboard-status{align-self:flex-start!important}}


/* ===== v0.6.79 — pastille dashboard réellement compacte ===== */
.rsfy-kih-dashboard-head>.rsfy-kih-dashboard-status-wrap{
  all:unset!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
}
.rsfy-kih-dashboard-head .rsfy-kih-dashboard-status-control{
  all:unset!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  height:31px!important;
  min-height:31px!important;
  max-height:31px!important;
  padding:0 13px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#e8f7ee!important;
  color:#087a3f!important;
  box-shadow:none!important;
  font-family:Arial,sans-serif!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
}
.rsfy-kih-dashboard-head .rsfy-kih-dashboard-status-control>span{
  all:unset!important;
  display:inline!important;
  color:inherit!important;
  font:inherit!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.rsfy-kih-dashboard-head .rsfy-kih-dashboard-status-control:hover,
.rsfy-kih-dashboard-head .rsfy-kih-dashboard-status-control:focus-visible{
  background:#def2e6!important;
  color:#066b36!important;
  outline:none!important;
  box-shadow:0 0 0 2px rgba(8,122,63,.08)!important;
}
@media(max-width:820px){
  .rsfy-kih-dashboard-head>.rsfy-kih-dashboard-status-wrap{align-self:flex-start!important}
}

/* ===== v0.6.80 — pastille d'état verrouillée, largeur basée uniquement sur le contenu ===== */
.rsfy-kih-dashboard-head > .rsfy-kih-dashboard-status-pill:hover,
.rsfy-kih-dashboard-head > .rsfy-kih-dashboard-status-pill:focus-visible{
  background:#def2e6!important;
  color:#066b36!important;
  outline:none!important;
  box-shadow:0 0 0 2px rgba(8,122,63,.08)!important;
}
@media(max-width:850px){
  .rsfy-kih-dashboard-head > .rsfy-kih-dashboard-status-pill{align-self:flex-start!important}
}


/* Reseefy Cloud 0.6.89 — dossier premium : pack regroupé + suivi admin temps réel */
.rsfy-kih-dossier{display:flex;flex-direction:column}
.rsfy-kih-dossier-pack{margin-top:auto;padding-top:12px;border-top:1px solid #e8e7e2}
.rsfy-kih-dossier-pack small{margin:0!important;color:#8b8983!important}
.rsfy-kih-dossier-pack b{display:block;margin-top:5px;color:#111;font-size:10px;font-weight:800;line-height:1.3}
.rsfy-kih-dossier-pack span{margin-top:4px!important;color:#777!important;font-size:8px!important}
.rsfy-kih-dashboard-grid>.rsfy-kih-live-status{display:flex;flex-direction:column;justify-content:center;min-height:116px;padding:16px 17px;border:1px solid #f97316;border-radius:14px;background:#f97316;color:#fff;box-shadow:0 10px 28px rgba(249,115,22,.18)}
.rsfy-kih-live-status-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rsfy-kih-live-status-top small{margin:0!important;color:rgba(255,255,255,.78)!important;font-size:8px!important;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.rsfy-kih-live-status-top strong{margin:0!important;color:#fff!important;font-size:20px!important;font-weight:800;letter-spacing:-.03em}
.rsfy-kih-live-status-track{height:6px;margin-top:13px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.28)}
.rsfy-kih-live-status-track i{display:block;height:100%;border-radius:999px;background:#fff}
.rsfy-kih-live-status-label{margin-top:11px!important;color:#fff!important;font-size:10px!important;font-weight:800!important;line-height:1.35!important}
.rsfy-kih-live-status em{display:block;margin-top:5px;color:rgba(255,255,255,.72);font-size:7.5px;font-style:normal;line-height:1.3}
@media(max-width:850px){.rsfy-kih-dashboard-grid>.rsfy-kih-live-status{min-height:128px}}


/* ===== v0.6.90 — collecte client vs avancement équipe ===== */
.rsfy-kih-progress-view.is-update{
  background:#111!important;color:#fff!important;border:1px solid #111!important;
  height:30px;padding:0 13px;font-weight:760;box-shadow:0 1px 0 rgba(0,0,0,.08);
}
.rsfy-kih-progress-view.is-update:hover,.rsfy-kih-progress-view.is-update:focus-visible{
  background:#292929!important;color:#fff!important;transform:translateY(-1px);
}
.rsfy-kih-progress-block>small{max-width:94%;line-height:1.45!important;color:#6b6b66!important}
.rsfy-kih-live-status-top small{font-size:9px!important;color:#fff!important;opacity:.9}

/* Reseefy Cloud 0.7.33 — accordéon premium des prestations */
.rsfy-service-editor{overflow:hidden}
.rsfy-service-editor-head{
    width:100%;border:0!important;border-bottom:1px solid #ededed!important;
    background:#fff!important;color:#111;text-align:left;cursor:pointer;
}
.rsfy-service-editor:not(.is-open) .rsfy-service-editor-head{border-bottom:0!important}
.rsfy-service-accordion-arrow{
    display:inline-flex;align-items:center;justify-content:center;
    width:42px;height:42px;border-radius:50%;background:#111;color:#fff;flex:0 0 42px;
    transition:transform .22s ease,background .18s ease;
}
.rsfy-service-accordion-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rsfy-service-editor.is-open .rsfy-service-accordion-arrow{transform:rotate(180deg)}
.rsfy-service-accordion-body[hidden]{display:none!important}
.rsfy-service-accordion-body{animation:rsfyAccordionIn .18s ease both}
@keyframes rsfyAccordionIn{from{opacity:.35;transform:translateY(-4px)}to{opacity:1;transform:none}}
.rsfy-service-more-footer{display:flex;justify-content:flex-end;padding:14px 22px 20px;background:#fbfbfb}
.rsfy-service-more-options{
    display:inline-flex;align-items:center;gap:11px;min-height:42px;padding:0 16px;
    border:1px solid #ddd9d3;border-radius:999px;background:#fff;color:#111;
    font-size:12px;font-weight:650;cursor:pointer;
}
.rsfy-service-more-options span{letter-spacing:2px;font-size:13px}
.rsfy-service-more-options:hover{border-color:#bbb7b0;background:#f8f7f5}
body.rsfy-service-options-open{overflow:hidden}
.rsfy-service-options-modal[hidden]{display:none!important}
.rsfy-service-options-modal{position:fixed;inset:0;z-index:1000005;display:flex;align-items:center;justify-content:center;padding:24px}
.rsfy-service-options-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.42);backdrop-filter:blur(6px)}
.rsfy-service-options-panel{
    position:relative;z-index:2;width:min(460px,calc(100vw - 32px));padding:30px;
    border:1px solid #e7e4df;border-radius:24px;background:#fff;
    box-shadow:0 28px 80px rgba(17,17,17,.16);
}
.rsfy-service-options-close{
    position:absolute;right:18px;top:18px;width:38px;height:38px;border:1px solid #e2dfda;
    border-radius:50%;background:#fff;color:#111;font-size:21px;cursor:pointer;
}
.rsfy-service-options-panel .eyebrow{margin:0 0 10px;color:#77736d;font-size:9px;font-weight:800;letter-spacing:.14em}
.rsfy-service-options-panel h3{margin:0;padding-right:52px;font-size:23px;letter-spacing:-.035em}
.rsfy-service-options-copy{margin:12px 0 0;color:#77736d;font-size:13px;line-height:1.55}
.rsfy-service-options-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:28px;padding-top:18px;border-top:1px solid #ece9e4}
.rsfy-service-options-actions button{min-height:42px;padding:0 17px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer}
.rsfy-service-options-cancel{border:1px solid #ddd9d3;background:#fff;color:#111}
.rsfy-service-delete-confirm{border:1px solid #111;background:#111;color:#fff}
@media(max-width:600px){
 .rsfy-service-editor-head{padding:16px}
 .rsfy-service-accordion-arrow{width:38px;height:38px;flex-basis:38px}
 .rsfy-service-more-footer{padding:12px 16px 16px}
 .rsfy-service-options-panel{padding:24px 20px}
}

/* Reseefy Cloud 0.7.34 — composants prestation 100 % Reseefy */
.rsfy-service-more-footer{
    display:flex!important;
    justify-content:flex-end!important;
    padding:14px 22px 20px!important;
    background:#fff!important;
}
.rsfy-service-more-options{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    min-height:auto!important;
    padding:4px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#73736f!important;
    box-shadow:none!important;
    font-size:12px!important;
    font-weight:500!important;
    line-height:1.2!important;
    cursor:pointer!important;
    text-decoration:none!important;
}
.rsfy-service-more-options:hover{
    background:transparent!important;
    color:#111!important;
}
.rsfy-service-more-options span{
    color:#8a8985!important;
    letter-spacing:2px!important;
    font-size:13px!important;
}

/* Suppléments : suppression du style hérité du thème */
.rsfy-supplement-row{
    display:grid!important;
    grid-template-columns:110px minmax(150px,1fr) minmax(220px,1.6fr) 130px 130px 110px 38px!important;
    gap:12px!important;
    align-items:start!important;
    padding:16px!important;
    border:1px solid #e7e4df!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:none!important;
}
.rsfy-supplement-row label{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    margin:0!important;
    color:#111!important;
    font-size:12px!important;
    font-weight:650!important;
    line-height:1.2!important;
}
.rsfy-supplement-row input,
.rsfy-supplement-row textarea{
    width:100%!important;
    min-height:48px!important;
    box-sizing:border-box!important;
    padding:13px 14px!important;
    border:1px solid #ddd9d3!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#111!important;
    font:500 13px/1.45 Arial,sans-serif!important;
    box-shadow:none!important;
    outline:none!important;
}
.rsfy-supplement-row input:focus,
.rsfy-supplement-row textarea:focus{
    border-color:#111!important;
    box-shadow:0 0 0 3px rgba(17,17,17,.05)!important;
}
.rsfy-supplement-description textarea{
    min-height:48px!important;
    height:48px!important;
    max-height:none!important;
    resize:none!important;
    overflow:hidden!important;
}

/* Photo supplément = même logique visuelle premium que Reseefy */
.rsfy-supplement-image{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
}
.rsfy-supplement-image-preview{
    width:108px!important;
    height:108px!important;
    min-width:108px!important;
    min-height:108px!important;
    padding:0!important;
    margin:0!important;
    border:1px dashed #d8d4ce!important;
    border-radius:16px!important;
    background:#f5f5f3!important;
    color:#111!important;
    box-shadow:none!important;
    overflow:hidden!important;
    cursor:pointer!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.rsfy-supplement-image-preview span{
    display:block!important;
    max-width:78px!important;
    color:#595955!important;
    font-size:11px!important;
    font-weight:600!important;
    line-height:1.25!important;
    text-align:center!important;
}
.rsfy-supplement-image-preview img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
}
.rsfy-remove-supplement-image{
    min-height:34px!important;
    padding:0 12px!important;
    border:1px solid #ddd9d3!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#111!important;
    box-shadow:none!important;
    font-size:11px!important;
    font-weight:600!important;
    cursor:pointer!important;
}
.rsfy-remove-supplement-image:hover{
    border-color:#bbb7b0!important;
    background:#f8f7f5!important;
}

/* Bouton principal supplément : design Reseefy, jamais le thème */
.rsfy-add-supplement{
    min-height:44px!important;
    padding:0 18px!important;
    border:1px solid #111!important;
    border-radius:999px!important;
    background:#111!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
}
.rsfy-add-supplement:hover{
    background:#242424!important;
    border-color:#242424!important;
}

/* Bouton supprimer d'un supplément */
.rsfy-remove-supplement{
    align-self:center!important;
    width:36px!important;
    height:36px!important;
    border:1px solid #e2dfda!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#111!important;
    font-size:18px!important;
    line-height:1!important;
    box-shadow:none!important;
    cursor:pointer!important;
}

/* Toggle quantité : neutraliser les styles de thème */
.rsfy-quantity-toggle{
    align-items:flex-start!important;
    justify-content:flex-start!important;
    padding-top:0!important;
}
.rsfy-switch-control{
    margin-top:6px!important;
}

/* Responsive */
@media(max-width:1150px){
    .rsfy-supplement-row{
        grid-template-columns:108px minmax(160px,1fr) minmax(200px,1.4fr) 120px 120px!important;
    }
    .rsfy-quantity-toggle{grid-column:2}
    .rsfy-remove-supplement{grid-column:5}
}
@media(max-width:760px){
    .rsfy-supplement-row{
        grid-template-columns:1fr!important;
        padding:14px!important;
    }
    .rsfy-supplement-image-preview{
        width:100%!important;
        height:180px!important;
    }
    .rsfy-quantity-toggle,.rsfy-remove-supplement{
        grid-column:auto!important;
    }
}

/* Reseefy Cloud 0.7.36 — accordéons : texte noir stable avant/après interaction */
.rsfy-service-editor,
.rsfy-service-editor *,
.rsfy-service-editor-head,
.rsfy-service-editor-head *,
.rsfy-service-accordion-toggle,
.rsfy-service-accordion-toggle *,
.rsfy-service-editor.is-open,
.rsfy-service-editor.is-open *,
.rsfy-service-editor:not(.is-open),
.rsfy-service-editor:not(.is-open) *{
    color:#111!important;
    -webkit-text-fill-color:#111!important;
}
.rsfy-service-editor-head{
    background:#fff!important;
}
.rsfy-service-editor-head strong{
    color:#111!important;
    font-weight:650!important;
}
.rsfy-service-grip{
    color:#8a8985!important;
    -webkit-text-fill-color:#8a8985!important;
}
.rsfy-service-accordion-arrow,
.rsfy-service-accordion-arrow *{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}

/* Réappliquer les couleurs spécifiques utiles dans le contenu */
.rsfy-service-editor p,
.rsfy-service-editor small,
.rsfy-service-editor .rsfy-help,
.rsfy-service-editor .description{
    color:#73736f!important;
    -webkit-text-fill-color:#73736f!important;
}
.rsfy-service-editor input,
.rsfy-service-editor textarea,
.rsfy-service-editor select{
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    background:#fff!important;
}

/* Plus d'options : le contrôle reste discret et non coloré */
.rsfy-service-more-options,
.rsfy-service-more-options:hover,
.rsfy-service-more-options:focus{
    background:transparent!important;
    border:0!important;
    color:#73736f!important;
    -webkit-text-fill-color:#73736f!important;
    box-shadow:none!important;
}
.rsfy-service-more-options:hover,
.rsfy-service-more-options:focus{
    color:#111!important;
    -webkit-text-fill-color:#111!important;
}

/* Pop-up Plus d’options compact, centré et indépendant du thème */
.rsfy-service-options-modal{
    position:fixed!important;
    inset:0!important;
    z-index:1000005!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
}
.rsfy-service-options-backdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(17,17,17,.42)!important;
    backdrop-filter:blur(5px)!important;
}
.rsfy-service-options-panel{
    position:relative!important;
    z-index:2!important;
    width:min(440px,calc(100vw - 32px))!important;
    max-width:440px!important;
    min-height:0!important;
    padding:28px!important;
    margin:0!important;
    border:1px solid #e7e4df!important;
    border-radius:22px!important;
    background:#fff!important;
    color:#111!important;
    box-shadow:0 24px 70px rgba(17,17,17,.18)!important;
}
.rsfy-service-options-panel *{
    box-sizing:border-box!important;
}
.rsfy-service-options-panel .eyebrow{
    margin:0 0 8px!important;
    color:#77736d!important;
    -webkit-text-fill-color:#77736d!important;
    font-size:9px!important;
    font-weight:800!important;
    letter-spacing:.14em!important;
}
.rsfy-service-options-panel h3{
    margin:0!important;
    padding-right:48px!important;
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    font-size:22px!important;
    font-weight:600!important;
    line-height:1.15!important;
    letter-spacing:-.03em!important;
}
.rsfy-service-options-copy{
    margin:12px 0 0!important;
    color:#73736f!important;
    -webkit-text-fill-color:#73736f!important;
    font-size:13px!important;
    font-weight:400!important;
    line-height:1.5!important;
}
.rsfy-service-options-close{
    position:absolute!important;
    right:16px!important;
    top:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #ddd9d3!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    box-shadow:none!important;
    font-size:18px!important;
    font-weight:400!important;
    line-height:1!important;
    cursor:pointer!important;
}
.rsfy-service-options-actions{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:10px!important;
    margin-top:24px!important;
    padding-top:18px!important;
    border-top:1px solid #ece9e4!important;
}
.rsfy-service-options-actions button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    width:auto!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 16px!important;
    margin:0!important;
    border-radius:999px!important;
    box-shadow:none!important;
    font-size:12px!important;
    font-weight:650!important;
    line-height:1!important;
    text-transform:none!important;
    letter-spacing:0!important;
    cursor:pointer!important;
}
.rsfy-service-options-cancel{
    border:1px solid #ddd9d3!important;
    background:#fff!important;
    color:#111!important;
    -webkit-text-fill-color:#111!important;
}
.rsfy-service-options-cancel:hover{
    background:#f7f6f3!important;
    border-color:#c8c4bd!important;
}
.rsfy-service-delete-confirm{
    border:1px solid #111!important;
    background:#111!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}
.rsfy-service-delete-confirm:hover{
    background:#252525!important;
    border-color:#252525!important;
}

/* Empêche les styles boutons du thème de gagner */
.rsfy-service-options-panel button::before,
.rsfy-service-options-panel button::after{
    display:none!important;
    content:none!important;
}

@media(max-width:600px){
    .rsfy-service-options-modal{padding:16px!important}
    .rsfy-service-options-panel{
        width:100%!important;
        max-width:none!important;
        padding:24px 20px!important;
        border-radius:20px!important;
    }
    .rsfy-service-options-actions{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }
    .rsfy-service-options-actions button{
        width:100%!important;
    }
}

/* Reseefy Cloud 0.7.37 — corrections ciblées, sans cascade globale */

/* 1) Le titre de la prestation reste noir, uniquement lui. */
.rsfy-service-editor-head strong{
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    font-weight:650!important;
}

/* Le grip garde son gris discret. */
.rsfy-service-grip{
    color:#8a8985!important;
    -webkit-text-fill-color:#8a8985!important;
}

/* La flèche d'accordéon retrouve son identité : fond noir, pictogramme blanc. */
.rsfy-service-accordion-arrow{
    background:#111!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    border:0!important;
    box-shadow:none!important;
}
.rsfy-service-accordion-arrow svg,
.rsfy-service-accordion-arrow svg *{
    color:#fff!important;
    stroke:#fff!important;
    -webkit-text-fill-color:#fff!important;
}

/* Annule les règles trop globales de la version précédente pour le corps des prestations. */
.rsfy-service-editor .rsfy-service-accordion-body,
.rsfy-service-editor .rsfy-service-accordion-body *{
    -webkit-text-fill-color:initial;
}
.rsfy-service-editor .rsfy-service-accordion-body{
    color:inherit!important;
}
.rsfy-service-editor .rsfy-service-accordion-body label,
.rsfy-service-editor .rsfy-service-accordion-body input,
.rsfy-service-editor .rsfy-service-accordion-body textarea,
.rsfy-service-editor .rsfy-service-accordion-body select,
.rsfy-service-editor .rsfy-service-accordion-body strong{
    color:#111!important;
    -webkit-text-fill-color:#111!important;
}
.rsfy-service-editor .rsfy-service-accordion-body p,
.rsfy-service-editor .rsfy-service-accordion-body small,
.rsfy-service-editor .rsfy-service-accordion-body .description,
.rsfy-service-editor .rsfy-service-accordion-body .rsfy-help{
    color:#73736f!important;
    -webkit-text-fill-color:#73736f!important;
}

/* Boutons noirs Reseefy dans le corps : texte blanc explicitement. */
.rsfy-service-editor .rsfy-add-supplement,
.rsfy-service-editor .rsfy-remove-service-image{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}
.rsfy-service-editor .rsfy-add-supplement *,
.rsfy-service-editor .rsfy-remove-service-image *{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}

/* Plus d'options reste discret. */
.rsfy-service-more-options,
.rsfy-service-more-options *{
    color:#73736f!important;
    -webkit-text-fill-color:#73736f!important;
}
.rsfy-service-more-options:hover,
.rsfy-service-more-options:hover *{
    color:#111!important;
    -webkit-text-fill-color:#111!important;
}

/* 2) Pop-up Plus d'options nettement plus compact. */
.rsfy-service-options-panel{
    width:min(380px,calc(100vw - 36px))!important;
    max-width:380px!important;
    padding:24px!important;
    border-radius:20px!important;
}
.rsfy-service-options-panel h3{
    font-size:20px!important;
    line-height:1.2!important;
    padding-right:42px!important;
}
.rsfy-service-options-copy{
    font-size:12px!important;
    line-height:1.5!important;
}
.rsfy-service-options-actions{
    margin-top:20px!important;
    padding-top:16px!important;
}
.rsfy-service-options-actions button{
    min-height:38px!important;
    height:38px!important;
    padding:0 15px!important;
    font-size:11px!important;
}
.rsfy-service-options-close{
    right:14px!important;
    top:14px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
}

/* Dans le pop-up, on fixe les couleurs uniquement sur les composants concernés. */
.rsfy-service-options-panel{
    color:#111!important;
}
.rsfy-service-options-panel .eyebrow,
.rsfy-service-options-panel .rsfy-service-options-copy{
    color:#73736f!important;
    -webkit-text-fill-color:#73736f!important;
}
.rsfy-service-options-panel h3,
.rsfy-service-options-close,
.rsfy-service-options-cancel{
    color:#111!important;
    -webkit-text-fill-color:#111!important;
}
.rsfy-service-delete-confirm{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}

@media(max-width:600px){
    .rsfy-service-options-panel{
        width:min(360px,calc(100vw - 24px))!important;
        max-width:360px!important;
        padding:22px 18px!important;
    }
}


/* ==========================================================
   Reseefy Cloud 0.7.38 — HARD FIX largeur pop-up prestation
   ========================================================== */
html body .rsfy-service-options-modal{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:20px!important;
}

html body .rsfy-service-options-modal > .rsfy-service-options-panel{
    display:block!important;
    position:relative!important;
    width:420px!important;
    min-width:0!important;
    max-width:calc(100vw - 40px)!important;
    flex:0 0 420px!important;
    align-self:center!important;
    justify-self:center!important;
    margin:auto!important;
    padding:24px!important;
    border-radius:20px!important;
    box-sizing:border-box!important;
}

/* Neutralise explicitement toute largeur injectée par le thème/conteneur. */
html body .rsfy-service-options-modal > .rsfy-service-options-panel[style]{
    width:420px!important;
    max-width:calc(100vw - 40px)!important;
}

@media (max-width:520px){
    html body .rsfy-service-options-modal > .rsfy-service-options-panel,
    html body .rsfy-service-options-modal > .rsfy-service-options-panel[style]{
        width:calc(100vw - 28px)!important;
        max-width:calc(100vw - 28px)!important;
        flex:0 0 calc(100vw - 28px)!important;
        padding:21px 18px!important;
    }
}


/* ============================================================
   Reseefy Cloud 0.8.15 — Mes réservations
   Isolation totale du thème + design premium
   ============================================================ */

.rsfy-main .rsfy-booking-workspace,
.rsfy-main .rsfy-booking-workspace *{
    box-sizing:border-box!important;
    font-family:Arial,Helvetica,sans-serif!important;
}

/* Le thème ne doit jamais recolorer les textes de cet écran. */
.rsfy-main .rsfy-booking-workspace,
.rsfy-main .rsfy-booking-workspace h1,
.rsfy-main .rsfy-booking-workspace h2,
.rsfy-main .rsfy-booking-workspace h3,
.rsfy-main .rsfy-booking-workspace p,
.rsfy-main .rsfy-booking-workspace span,
.rsfy-main .rsfy-booking-workspace strong,
.rsfy-main .rsfy-booking-workspace small,
.rsfy-main .rsfy-booking-workspace button,
.rsfy-main .rsfy-booking-workspace input,
.rsfy-main .rsfy-booking-workspace select{
    text-transform:none!important;
    text-shadow:none!important;
    text-decoration:none!important;
}

/* KPI */
.rsfy-main .rsfy-booking-kpis{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:13px!important;
    margin:0!important;
}
.rsfy-main .rsfy-booking-kpis article{
    position:relative!important;
    min-height:128px!important;
    padding:20px!important;
    border:1px solid #e2dfd9!important;
    border-radius:18px!important;
    background:#ffffff!important;
    color:#111111!important;
    box-shadow:none!important;
}
.rsfy-main .rsfy-booking-kpis article:before{
    content:""!important;
    position:absolute!important;
    top:18px!important;
    right:18px!important;
    width:8px!important;
    height:8px!important;
    border-radius:50%!important;
    background:#FFD84A!important;
}
.rsfy-main .rsfy-booking-kpis article>span{
    color:#706b64!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:650!important;
}
.rsfy-main .rsfy-booking-kpis article>strong{
    display:block!important;
    margin:20px 0 7px!important;
    color:#111111!important;
    font-size:33px!important;
    line-height:1!important;
    font-weight:730!important;
    letter-spacing:-1.2px!important;
}
.rsfy-main .rsfy-booking-kpis article>small{
    color:#8a857e!important;
    font-size:9px!important;
    line-height:1.35!important;
    font-weight:400!important;
}
.rsfy-main .rsfy-booking-kpis article.dark{
    background:#111111!important;
    border-color:#111111!important;
    color:#ffffff!important;
}
.rsfy-main .rsfy-booking-kpis article.dark:before{
    background:#FFD84A!important;
}
.rsfy-main .rsfy-booking-kpis article.dark>span,
.rsfy-main .rsfy-booking-kpis article.dark>small{
    color:#b9b4ad!important;
}
.rsfy-main .rsfy-booking-kpis article.dark>strong{
    color:#ffffff!important;
}

/* Panneau principal */
.rsfy-main .rsfy-bookings-panel{
    margin:0!important;
    padding:24px!important;
    border:1px solid #e2dfd9!important;
    border-radius:20px!important;
    background:#ffffff!important;
    color:#111111!important;
    box-shadow:0 12px 34px rgba(17,17,17,.025)!important;
}
.rsfy-main .rsfy-bookings-panel .section-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:24px!important;
    margin:0 0 22px!important;
    padding:0!important;
}
.rsfy-main .rsfy-booking-panel-title{
    max-width:560px!important;
}
.rsfy-main .rsfy-booking-panel-title>span{
    display:block!important;
    margin:0 0 6px!important;
    color:#908b83!important;
    font-size:8px!important;
    line-height:1.1!important;
    font-weight:800!important;
    letter-spacing:.14em!important;
}
.rsfy-main .rsfy-booking-panel-title h2{
    margin:0 0 7px!important;
    color:#111111!important;
    font-size:22px!important;
    line-height:1.12!important;
    font-weight:720!important;
    letter-spacing:-.55px!important;
}
.rsfy-main .rsfy-booking-panel-title p{
    margin:0!important;
    color:#757069!important;
    font-size:10px!important;
    line-height:1.5!important;
    font-weight:400!important;
}

/* Toolbar */
.rsfy-main .rsfy-booking-toolbar{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    flex-wrap:nowrap!important;
}
.rsfy-main .rsfy-booking-toolbar input,
.rsfy-main .rsfy-booking-toolbar select,
.rsfy-main .rsfy-booking-toolbar .rsfy-premium-select{
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    border:1px solid #ddd9d3!important;
    border-radius:11px!important;
    background:#ffffff!important;
    color:#111111!important;
    box-shadow:none!important;
    outline:0!important;
}
.rsfy-main .rsfy-booking-toolbar input{
    min-width:290px!important;
    padding:0 13px!important;
    font-size:11px!important;
    font-weight:400!important;
}
.rsfy-main .rsfy-booking-toolbar input::placeholder{
    color:#9a958e!important;
    opacity:1!important;
}
.rsfy-main .rsfy-booking-toolbar input:focus,
.rsfy-main .rsfy-booking-toolbar select:focus{
    border-color:#111111!important;
    box-shadow:0 0 0 3px rgba(17,17,17,.045)!important;
}

/* Liste : jamais de fond vert hérité du thème */
.rsfy-main .rsfy-booking-list{
    display:grid!important;
    gap:9px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}
.rsfy-main .rsfy-booking-row,
.rsfy-main button.rsfy-booking-row,
.rsfy-main .rsfy-booking-list>button{
    appearance:none!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr) auto 34px!important;
    align-items:center!important;
    gap:14px!important;
    width:100%!important;
    min-height:82px!important;
    margin:0!important;
    padding:12px 14px!important;
    border:1px solid #e4e1dc!important;
    border-radius:16px!important;
    background:#ffffff!important;
    background-image:none!important;
    color:#111111!important;
    text-align:left!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease!important;
}
.rsfy-main .rsfy-booking-row:hover,
.rsfy-main button.rsfy-booking-row:hover{
    border-color:#d3cec7!important;
    background:#fbfaf8!important;
    color:#111111!important;
    transform:translateY(-1px)!important;
    box-shadow:0 8px 22px rgba(17,17,17,.035)!important;
}
.rsfy-main .rsfy-booking-row:focus-visible{
    outline:2px solid #111111!important;
    outline-offset:2px!important;
}

/* Date */
.rsfy-main .rsfy-booking-date{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:54px!important;
    height:56px!important;
    margin:0!important;
    border:0!important;
    border-radius:13px!important;
    background:#f2f1ed!important;
    color:#111111!important;
}
.rsfy-main .rsfy-booking-date b{
    color:#111111!important;
    font-size:18px!important;
    line-height:1!important;
    font-weight:750!important;
}
.rsfy-main .rsfy-booking-date small{
    margin-top:4px!important;
    color:#77736d!important;
    font-size:7px!important;
    line-height:1!important;
    font-weight:750!important;
    letter-spacing:.05em!important;
    text-transform:uppercase!important;
}

/* Informations réservation */
.rsfy-main .rsfy-booking-main{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:3px!important;
    min-width:0!important;
    color:#111111!important;
}
.rsfy-main .rsfy-booking-main .rsfy-booking-client{
    display:block!important;
    margin:0!important;
    color:#8b867f!important;
    font-size:8px!important;
    line-height:1.2!important;
    font-weight:650!important;
}
.rsfy-main .rsfy-booking-main strong{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    color:#111111!important;
    font-size:13px!important;
    line-height:1.3!important;
    font-weight:720!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.rsfy-main .rsfy-booking-main .rsfy-booking-time{
    display:block!important;
    color:#747069!important;
    font-size:9px!important;
    line-height:1.25!important;
    font-weight:400!important;
}

/* Statuts */
.rsfy-main .rsfy-booking-status{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:29px!important;
    padding:0 10px!important;
    border:1px solid #ddd9d3!important;
    border-radius:999px!important;
    background:#ffffff!important;
    color:#4f4a44!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:750!important;
    white-space:nowrap!important;
}
.rsfy-main .rsfy-booking-status.is-good{
    border-color:#cfe8d8!important;
    background:#f2fbf5!important;
    color:#24683b!important;
}
.rsfy-main .rsfy-booking-status.is-pending{
    border-color:#eadcb9!important;
    background:#fff9eb!important;
    color:#7c5a10!important;
}
.rsfy-main .rsfy-booking-status.is-cancelled{
    border-color:#eccdcd!important;
    background:#fff5f5!important;
    color:#9a3030!important;
}
.rsfy-main .rsfy-booking-status.is-neutral{
    border-color:#dedad4!important;
    background:#f7f6f3!important;
    color:#68635c!important;
}

/* Flèche */
.rsfy-main .rsfy-booking-arrow{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:30px!important;
    height:30px!important;
    border:1px solid #e0ddd7!important;
    border-radius:50%!important;
    background:#ffffff!important;
    color:#111111!important;
    font-size:17px!important;
    line-height:1!important;
    font-weight:400!important;
}
.rsfy-main .rsfy-booking-row:hover .rsfy-booking-arrow{
    background:#111111!important;
    border-color:#111111!important;
    color:#ffffff!important;
}

/* Synchronisation */
.rsfy-main .rsfy-booking-sync{
    margin-top:14px!important;
    padding:12px 2px 0!important;
    border-top:1px solid #efede9!important;
    color:#8a857e!important;
    font-size:8px!important;
    line-height:1.4!important;
}
.rsfy-main .rsfy-booking-sync strong{
    color:#5f5a54!important;
    font-weight:600!important;
}

/* Etat vide */
.rsfy-main .rsfy-bookings-panel .rsfy-empty-state{
    padding:58px 20px!important;
    border:1px dashed #ddd9d3!important;
    border-radius:15px!important;
    background:#faf9f7!important;
}
.rsfy-main .rsfy-bookings-panel .rsfy-empty-state h3{
    color:#111111!important;
    font-size:14px!important;
}
.rsfy-main .rsfy-bookings-panel .rsfy-empty-state p{
    color:#77736d!important;
    font-size:9px!important;
}
.rsfy-main .rsfy-bookings-panel .rsfy-empty-icon{
    background:#111111!important;
    color:#ffffff!important;
}

/* Protection contre pseudo-éléments du thème */
.rsfy-main .rsfy-booking-workspace h2:before,
.rsfy-main .rsfy-booking-workspace h2:after,
.rsfy-main .rsfy-booking-workspace h3:before,
.rsfy-main .rsfy-booking-workspace h3:after,
.rsfy-main .rsfy-booking-row:before,
.rsfy-main .rsfy-booking-row:after{
    content:none!important;
    display:none!important;
}

/* Responsive */
@media(max-width:1050px){
    .rsfy-main .rsfy-booking-kpis{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .rsfy-main .rsfy-bookings-panel .section-head{
        flex-direction:column!important;
    }
    .rsfy-main .rsfy-booking-toolbar{
        width:100%!important;
    }
    .rsfy-main .rsfy-booking-toolbar input{
        min-width:0!important;
        flex:1!important;
    }
}

@media(max-width:680px){
    .rsfy-main .rsfy-booking-kpis{
        grid-template-columns:1fr 1fr!important;
        gap:9px!important;
    }
    .rsfy-main .rsfy-booking-kpis article{
        min-height:112px!important;
        padding:16px!important;
        border-radius:15px!important;
    }
    .rsfy-main .rsfy-booking-kpis article>strong{
        font-size:28px!important;
    }
    .rsfy-main .rsfy-bookings-panel{
        padding:15px!important;
        border-radius:17px!important;
    }
    .rsfy-main .rsfy-booking-toolbar{
        display:grid!important;
        grid-template-columns:1fr!important;
    }
    .rsfy-main .rsfy-booking-toolbar input,
    .rsfy-main .rsfy-booking-toolbar select,
    .rsfy-main .rsfy-booking-toolbar .rsfy-premium-select{
        width:100%!important;
        min-width:0!important;
    }
    .rsfy-main .rsfy-booking-row,
    .rsfy-main button.rsfy-booking-row{
        grid-template-columns:52px minmax(0,1fr) auto!important;
        gap:10px!important;
        min-height:80px!important;
        padding:11px!important;
    }
    .rsfy-main .rsfy-booking-date{
        width:50px!important;
        height:54px!important;
    }
    .rsfy-main .rsfy-booking-status{
        grid-column:2!important;
        justify-self:start!important;
    }
    .rsfy-main .rsfy-booking-arrow{
        display:none!important;
    }
}


/* ============================================================
   Reseefy Cloud 0.8.16 — modal réservation compact + FR
   ============================================================ */

/* Overlay */
.rsfy-booking-modal,
.rsfy-booking-detail-modal,
.rsfy-modal.rsfy-booking-modal{
    padding:24px!important;
    align-items:center!important;
    justify-content:center!important;
}

/* Carte complète considérablement réduite */
.rsfy-booking-modal .rsfy-modal-card,
.rsfy-booking-detail-modal .rsfy-modal-card,
.rsfy-booking-modal .rsfy-booking-modal-card,
.rsfy-booking-detail-modal .rsfy-booking-modal-card{
    width:min(760px,calc(100vw - 48px))!important;
    max-width:760px!important;
    max-height:82vh!important;
    margin:auto!important;
    padding:22px!important;
    border-radius:20px!important;
    border:1px solid #e1ded8!important;
    background:#fff!important;
    box-shadow:0 24px 70px rgba(17,17,17,.18)!important;
    overflow:auto!important;
}

/* Si le popup utilise un conteneur générique différent */
.rsfy-booking-workspace [role="dialog"]{
    width:min(760px,calc(100vw - 48px))!important;
    max-width:760px!important;
    max-height:82vh!important;
    padding:22px!important;
    border-radius:20px!important;
}

/* En-tête */
.rsfy-booking-modal .rsfy-modal-kicker,
.rsfy-booking-detail-modal .rsfy-modal-kicker{
    margin:0 0 7px!important;
    color:#8d8880!important;
    font-size:7px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.15em!important;
}
.rsfy-booking-modal h2,
.rsfy-booking-detail-modal h2{
    margin:0 44px 18px 0!important;
    color:#111!important;
    font-size:25px!important;
    line-height:1.1!important;
    font-weight:700!important;
    letter-spacing:-.65px!important;
}
.rsfy-booking-modal .rsfy-modal-close,
.rsfy-booking-detail-modal .rsfy-modal-close{
    top:16px!important;
    right:16px!important;
    width:34px!important;
    height:34px!important;
    border-radius:50%!important;
    background:#111!important;
    color:#fff!important;
    border:0!important;
    font-size:16px!important;
}

/* Grille d'informations */
.rsfy-booking-modal .rsfy-booking-detail-grid,
.rsfy-booking-detail-modal .rsfy-booking-detail-grid,
.rsfy-booking-modal .rsfy-modal-grid,
.rsfy-booking-detail-modal .rsfy-modal-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:0!important;
}
.rsfy-booking-modal .rsfy-booking-detail-grid>div,
.rsfy-booking-detail-modal .rsfy-booking-detail-grid>div,
.rsfy-booking-modal .rsfy-modal-grid>div,
.rsfy-booking-detail-modal .rsfy-modal-grid>div{
    min-height:58px!important;
    padding:11px 12px!important;
    border:1px solid #e5e2dd!important;
    border-radius:12px!important;
    background:#fff!important;
}
.rsfy-booking-modal .rsfy-booking-detail-grid small,
.rsfy-booking-detail-modal .rsfy-booking-detail-grid small,
.rsfy-booking-modal .rsfy-modal-grid small,
.rsfy-booking-detail-modal .rsfy-modal-grid small{
    display:block!important;
    margin:0 0 5px!important;
    color:#8a857e!important;
    font-size:7px!important;
    line-height:1!important;
    font-weight:650!important;
}
.rsfy-booking-modal .rsfy-booking-detail-grid strong,
.rsfy-booking-detail-modal .rsfy-booking-detail-grid strong,
.rsfy-booking-modal .rsfy-modal-grid strong,
.rsfy-booking-detail-modal .rsfy-modal-grid strong{
    color:#111!important;
    font-size:10px!important;
    line-height:1.3!important;
    font-weight:700!important;
}

/* Solde restant */
.rsfy-booking-modal .rsfy-booking-balance,
.rsfy-booking-detail-modal .rsfy-booking-balance{
    margin-top:9px!important;
    padding:13px!important;
    border:1px solid #e5e2dd!important;
    border-radius:12px!important;
    background:#faf9f7!important;
}
.rsfy-booking-modal .rsfy-booking-balance strong,
.rsfy-booking-detail-modal .rsfy-booking-balance strong{
    color:#111!important;
    font-size:12px!important;
    font-weight:750!important;
}
.rsfy-booking-modal .rsfy-booking-balance p,
.rsfy-booking-detail-modal .rsfy-booking-balance p{
    margin:4px 0 0!important;
    color:#817c75!important;
    font-size:7px!important;
    line-height:1.45!important;
}

/* Segmented control En attente / Reçu */
.rsfy-booking-modal .rsfy-balance-toggle,
.rsfy-booking-detail-modal .rsfy-balance-toggle{
    display:inline-flex!important;
    padding:3px!important;
    border:1px solid #dedad4!important;
    border-radius:10px!important;
    background:#f5f4f1!important;
}
.rsfy-booking-modal .rsfy-balance-toggle button,
.rsfy-booking-detail-modal .rsfy-balance-toggle button{
    min-height:28px!important;
    padding:0 9px!important;
    border:0!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#77736d!important;
    font-size:7px!important;
    font-weight:700!important;
}
.rsfy-booking-modal .rsfy-balance-toggle button.is-active,
.rsfy-booking-detail-modal .rsfy-balance-toggle button.is-active{
    background:#111!important;
    color:#fff!important;
}

/* Safety against theme green / typography */
.rsfy-booking-modal *,
.rsfy-booking-detail-modal *{
    font-family:Arial,Helvetica,sans-serif!important;
}
.rsfy-booking-modal h1,
.rsfy-booking-modal h2,
.rsfy-booking-modal h3,
.rsfy-booking-modal p,
.rsfy-booking-modal strong,
.rsfy-booking-detail-modal h1,
.rsfy-booking-detail-modal h2,
.rsfy-booking-detail-modal h3,
.rsfy-booking-detail-modal p,
.rsfy-booking-detail-modal strong{
    color:#111!important;
}

/* Generic fallback for the actual dialog seen in the screenshot */
.rsfy-booking-workspace .rsfy-modal-dialog{
    width:min(760px,calc(100vw - 48px))!important;
    max-width:760px!important;
    max-height:82vh!important;
    padding:22px!important;
    border-radius:20px!important;
}
.rsfy-booking-workspace .rsfy-modal-dialog h2{
    font-size:25px!important;
    margin-bottom:18px!important;
}
.rsfy-booking-workspace .rsfy-modal-dialog .rsfy-info-grid{
    gap:8px!important;
}
.rsfy-booking-workspace .rsfy-modal-dialog .rsfy-info-grid>div{
    min-height:58px!important;
    padding:11px 12px!important;
    border-radius:12px!important;
}

/* Mobile */
@media(max-width:700px){
    .rsfy-booking-modal,
    .rsfy-booking-detail-modal{
        padding:12px!important;
    }
    .rsfy-booking-modal .rsfy-modal-card,
    .rsfy-booking-detail-modal .rsfy-modal-card,
    .rsfy-booking-modal .rsfy-booking-modal-card,
    .rsfy-booking-detail-modal .rsfy-booking-modal-card,
    .rsfy-booking-workspace [role="dialog"],
    .rsfy-booking-workspace .rsfy-modal-dialog{
        width:100%!important;
        max-width:none!important;
        max-height:90vh!important;
        padding:17px!important;
        border-radius:17px!important;
    }
    .rsfy-booking-modal h2,
    .rsfy-booking-detail-modal h2,
    .rsfy-booking-workspace .rsfy-modal-dialog h2{
        font-size:21px!important;
    }
    .rsfy-booking-modal .rsfy-booking-detail-grid,
    .rsfy-booking-detail-modal .rsfy-booking-detail-grid,
    .rsfy-booking-modal .rsfy-modal-grid,
    .rsfy-booking-detail-modal .rsfy-modal-grid{
        grid-template-columns:1fr!important;
    }
}


/* ============================================================
   Reseefy Cloud 0.8.17 — annulation propriétaire
   ============================================================ */

.rsfy-booking-owner-actions{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    padding:10px 0 0!important;
    border:0!important;
    background:transparent!important;
}
.rsfy-booking-cancel-trigger{
    appearance:none!important;
    border:0!important;
    background:transparent!important;
    color:#c83e3e!important;
    padding:4px 0!important;
    font:700 9px/1.2 Arial,Helvetica,sans-serif!important;
    cursor:pointer!important;
    border-bottom:1px solid rgba(200,62,62,.35)!important;
}
.rsfy-booking-cancel-trigger:hover{
    color:#9f2929!important;
    border-color:#9f2929!important;
}
.rsfy-booking-cancelled-info{
    background:#fff7f7!important;
    border-color:#efdddd!important;
}
.rsfy-booking-cancelled-info>span{
    color:#a83333!important;
}
.rsfy-booking-cancelled-info>strong{
    color:#6d3838!important;
}

/* Popup de confirmation */
.rsfy-booking-cancel-modal{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:20px!important;
}
.rsfy-booking-cancel-modal[hidden]{
    display:none!important;
}
.rsfy-booking-cancel-backdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(17,17,17,.42)!important;
    backdrop-filter:blur(7px)!important;
    -webkit-backdrop-filter:blur(7px)!important;
}
.rsfy-booking-cancel-card{
    position:relative!important;
    z-index:1!important;
    width:min(440px,calc(100vw - 32px))!important;
    padding:27px!important;
    border:1px solid #e1ded8!important;
    border-radius:22px!important;
    background:#fff!important;
    color:#111!important;
    box-shadow:0 28px 90px rgba(17,17,17,.22)!important;
    font-family:Arial,Helvetica,sans-serif!important;
}
.rsfy-booking-cancel-close{
    position:absolute!important;
    top:15px!important;
    right:15px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:32px!important;
    height:32px!important;
    padding:0!important;
    border:1px solid #e0ddd7!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#111!important;
    font-size:17px!important;
    cursor:pointer!important;
}
.rsfy-booking-cancel-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    margin:0 0 17px!important;
    border-radius:13px!important;
    background:#fff0f0!important;
    color:#c83e3e!important;
}
.rsfy-booking-cancel-icon svg{
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
.rsfy-booking-cancel-kicker{
    margin:0 0 6px!important;
    color:#a19c94!important;
    font-size:7px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.14em!important;
}
.rsfy-booking-cancel-card h2{
    margin:0 40px 8px 0!important;
    color:#111!important;
    font-size:21px!important;
    line-height:1.15!important;
    font-weight:720!important;
    letter-spacing:-.4px!important;
}
.rsfy-booking-cancel-copy{
    margin:0 0 18px!important;
    color:#706b65!important;
    font-size:10px!important;
    line-height:1.55!important;
}
.rsfy-booking-cancel-reason{
    display:grid!important;
    gap:8px!important;
    margin:0 0 18px!important;
}
.rsfy-booking-cancel-reason>span{
    color:#111!important;
    font-size:9px!important;
    font-weight:700!important;
}
.rsfy-booking-cancel-reason em{
    color:#99948d!important;
    font-size:8px!important;
    font-style:normal!important;
    font-weight:400!important;
}
.rsfy-booking-cancel-reason textarea{
    display:block!important;
    width:100%!important;
    min-height:88px!important;
    max-height:150px!important;
    padding:11px 12px!important;
    border:1px solid #ddd9d3!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#111!important;
    resize:vertical!important;
    outline:0!important;
    box-shadow:none!important;
    font:400 10px/1.5 Arial,Helvetica,sans-serif!important;
}
.rsfy-booking-cancel-reason textarea:focus{
    border-color:#111!important;
    box-shadow:0 0 0 3px rgba(17,17,17,.045)!important;
}
.rsfy-booking-cancel-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
}
.rsfy-booking-cancel-actions button{
    min-height:40px!important;
    padding:0 12px!important;
    border:1px solid #ddd9d3!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#111!important;
    font:700 9px/1 Arial,Helvetica,sans-serif!important;
    cursor:pointer!important;
}
.rsfy-booking-cancel-actions button.is-danger{
    border-color:#c83e3e!important;
    background:#c83e3e!important;
    color:#fff!important;
}
.rsfy-booking-cancel-actions button.is-danger:hover{
    border-color:#ab3030!important;
    background:#ab3030!important;
}
.rsfy-booking-cancel-actions button:disabled{
    opacity:.5!important;
    cursor:not-allowed!important;
}
.rsfy-booking-cancel-status{
    min-height:14px!important;
    margin:10px 0 0!important;
    color:#77736d!important;
    font-size:8px!important;
    line-height:1.4!important;
    text-align:center!important;
}

@media(max-width:560px){
    .rsfy-booking-cancel-card{
        padding:22px 18px!important;
        border-radius:18px!important;
    }
    .rsfy-booking-cancel-actions{
        grid-template-columns:1fr!important;
    }
}


/* ============================================================
   Reseefy Cloud 0.8.18 — Agenda live + rendez-vous premium
   ============================================================ */
.rsfy-agenda-upcoming{
    padding:24px!important;
    border:1px solid #e2dfd9!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 12px 34px rgba(17,17,17,.025)!important;
}
.rsfy-agenda-upcoming .section-head{
    align-items:flex-start!important;
    margin-bottom:18px!important;
}
.rsfy-agenda-upcoming-title .eyebrow{
    margin:0 0 5px!important;
    color:#98938b!important;
    font-size:7px!important;
    font-weight:800!important;
    letter-spacing:.14em!important;
}
.rsfy-agenda-upcoming-title h2{
    margin:0!important;
    color:#111!important;
    font-size:22px!important;
    line-height:1.1!important;
    font-weight:720!important;
    letter-spacing:-.55px!important;
}
.rsfy-agenda-upcoming-title>p:last-child{
    margin:6px 0 0!important;
    color:#77736d!important;
    font-size:9px!important;
    line-height:1.45!important;
}
.rsfy-agenda-upcoming .badge{
    min-height:30px!important;
    padding:0 11px!important;
    border:1px solid #e0ddd7!important;
    border-radius:999px!important;
    background:#f7f6f3!important;
    color:#111!important;
    font-size:8px!important;
    font-weight:750!important;
}
.rsfy-agenda-list{
    display:grid!important;
    gap:9px!important;
}
.rsfy-agenda-item{
    appearance:none!important;
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) 38px!important;
    align-items:center!important;
    gap:14px!important;
    width:100%!important;
    min-height:82px!important;
    margin:0!important;
    padding:12px 14px!important;
    border:1px solid #e5e2dd!important;
    border-left:4px solid var(--rsfy-event-color,#DDE3E8)!important;
    border-radius:16px!important;
    background:#fff!important;
    color:#111!important;
    text-align:left!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.rsfy-agenda-item:hover{
    background:#fbfaf8!important;
    border-color:#d6d1ca!important;
    border-left-color:var(--rsfy-event-color,#DDE3E8)!important;
    transform:translateY(-1px)!important;
    box-shadow:0 8px 22px rgba(17,17,17,.04)!important;
}
.rsfy-agenda-item-date{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:50px!important;
    height:54px!important;
    border-radius:13px!important;
    background:#f2f1ed!important;
    color:#111!important;
}
.rsfy-agenda-item-date b{
    color:#111!important;
    font-size:18px!important;
    line-height:1!important;
    font-weight:760!important;
}
.rsfy-agenda-item-date small{
    margin-top:4px!important;
    color:#77736d!important;
    font-size:7px!important;
    font-weight:750!important;
    text-transform:uppercase!important;
}
.rsfy-agenda-item-main{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:2px!important;
}
.rsfy-agenda-item-client{
    color:#8a857e!important;
    font-size:8px!important;
    line-height:1.2!important;
    font-weight:650!important;
}
.rsfy-agenda-item-main strong{
    max-width:100%!important;
    overflow:hidden!important;
    color:#111!important;
    font-size:13px!important;
    line-height:1.3!important;
    font-weight:720!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.rsfy-agenda-item-main>span{
    color:#77736d!important;
    font-size:9px!important;
}
.rsfy-agenda-item-main em{
    display:inline-flex!important;
    align-items:center!important;
    min-height:22px!important;
    margin-top:5px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    background:#f4f3ef!important;
    color:#5f5a54!important;
    font-size:7px!important;
    font-style:normal!important;
    font-weight:700!important;
}
.rsfy-agenda-item-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    height:34px!important;
    border:1px solid #dedad4!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#111!important;
}
.rsfy-agenda-item-arrow svg{
    width:16px!important;
    height:16px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
.rsfy-agenda-item:hover .rsfy-agenda-item-arrow{
    background:#111!important;
    border-color:#111!important;
    color:#fff!important;
}

/* Flèches de navigation toujours visibles */
.rsfy-agenda-period-arrows{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
}
.rsfy-agenda-period-arrows button,
.rsfy-calendar-actions [data-cal-action="prev"],
.rsfy-calendar-actions [data-cal-action="next"]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    padding:0!important;
    border:1px solid #ddd9d3!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#111!important;
    opacity:1!important;
    visibility:visible!important;
}
.rsfy-agenda-period-arrows svg{
    width:17px!important;
    height:17px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

/* Actions message / annulation */
.rsfy-booking-owner-actions{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:16px!important;
}
.rsfy-booking-message-trigger{
    appearance:none!important;
    border:0!important;
    border-bottom:1px solid #111!important;
    background:transparent!important;
    color:#111!important;
    padding:4px 0!important;
    font:700 9px/1.2 Arial,Helvetica,sans-serif!important;
    cursor:pointer!important;
}
.rsfy-booking-message-history{
    background:#faf9f7!important;
}
.rsfy-booking-message-history>span{
    display:block!important;
    margin-bottom:8px!important;
    color:#77736d!important;
}
.rsfy-booking-message-history article{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:8px 0!important;
    border-top:1px solid #ece9e4!important;
}
.rsfy-booking-message-history article strong{
    color:#111!important;
    font-size:9px!important;
    line-height:1.4!important;
    font-weight:600!important;
}
.rsfy-booking-message-history article small{
    flex:0 0 auto!important;
    color:#99948d!important;
    font-size:7px!important;
}

/* Popup message */
.rsfy-booking-message-modal{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:20px!important;
}
.rsfy-booking-message-modal[hidden]{display:none!important}
.rsfy-booking-message-backdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(17,17,17,.42)!important;
    backdrop-filter:blur(7px)!important;
    -webkit-backdrop-filter:blur(7px)!important;
}
.rsfy-booking-message-card{
    position:relative!important;
    z-index:1!important;
    width:min(460px,calc(100vw - 32px))!important;
    padding:27px!important;
    border:1px solid #e1ded8!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 28px 90px rgba(17,17,17,.22)!important;
    font-family:Arial,Helvetica,sans-serif!important;
}
.rsfy-booking-message-close{
    position:absolute!important;
    top:15px!important;
    right:15px!important;
    width:32px!important;
    height:32px!important;
    border:1px solid #e0ddd7!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#111!important;
    font-size:17px!important;
}
.rsfy-booking-message-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    margin-bottom:17px!important;
    border-radius:13px!important;
    background:#f2f1ed!important;
    color:#111!important;
}
.rsfy-booking-message-icon svg{
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
}
.rsfy-booking-message-kicker{
    margin:0 0 6px!important;
    color:#99948d!important;
    font-size:7px!important;
    font-weight:800!important;
    letter-spacing:.14em!important;
}
.rsfy-booking-message-card h2{
    margin:0 40px 8px 0!important;
    color:#111!important;
    font-size:21px!important;
    line-height:1.15!important;
    font-weight:720!important;
}
.rsfy-booking-message-copy{
    margin:0 0 18px!important;
    color:#706b65!important;
    font-size:10px!important;
    line-height:1.55!important;
}
.rsfy-booking-message-card label{
    display:grid!important;
    gap:8px!important;
}
.rsfy-booking-message-card label>span{
    color:#111!important;
    font-size:9px!important;
    font-weight:700!important;
}
.rsfy-booking-message-card textarea{
    width:100%!important;
    min-height:105px!important;
    padding:12px!important;
    border:1px solid #ddd9d3!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#111!important;
    resize:vertical!important;
    outline:0!important;
    font:400 10px/1.5 Arial,Helvetica,sans-serif!important;
}
.rsfy-booking-message-card textarea:focus{
    border-color:#111!important;
    box-shadow:0 0 0 3px rgba(17,17,17,.045)!important;
}
.rsfy-booking-message-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-top:18px!important;
}
.rsfy-booking-message-actions button{
    min-height:40px!important;
    border:1px solid #ddd9d3!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#111!important;
    font:700 9px/1 Arial,Helvetica,sans-serif!important;
}
.rsfy-booking-message-actions button.is-primary{
    border-color:#111!important;
    background:#111!important;
    color:#fff!important;
}
.rsfy-booking-message-status{
    min-height:14px!important;
    margin:10px 0 0!important;
    color:#77736d!important;
    font-size:8px!important;
    line-height:1.4!important;
    text-align:center!important;
}

@media(max-width:680px){
    .rsfy-agenda-item{
        grid-template-columns:50px minmax(0,1fr) 32px!important;
        gap:10px!important;
        padding:10px!important;
    }
    .rsfy-agenda-item-main strong{white-space:normal!important}
    .rsfy-booking-message-actions{grid-template-columns:1fr!important}
}


/* ============================================================
   Reseefy Cloud 0.8.20
   Popup rendez-vous compact + événements agenda SaaS premium
   ============================================================ */

/* ------------------------------------------------------------
   POPUP DÉTAIL RENDEZ-VOUS
   Partagé entre Agenda et Mes réservations
   ------------------------------------------------------------ */
.rsfy-booking-detail{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:20px!important;
}
.rsfy-booking-detail[hidden]{
    display:none!important;
}
.rsfy-booking-detail-backdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(17,17,17,.38)!important;
    backdrop-filter:blur(7px)!important;
    -webkit-backdrop-filter:blur(7px)!important;
}
.rsfy-booking-detail-panel{
    position:relative!important;
    z-index:1!important;
    width:min(620px,calc(100vw - 40px))!important;
    max-width:620px!important;
    max-height:82vh!important;
    overflow:auto!important;
    margin:0!important;
    padding:21px!important;
    border:1px solid #e2dfda!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 26px 80px rgba(17,17,17,.19)!important;
    font-family:Arial,Helvetica,sans-serif!important;
}
.rsfy-booking-detail-panel>.rsfy-circle-close{
    position:absolute!important;
    top:15px!important;
    right:15px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dfdcd6!important;
    border-radius:50%!important;
    background:#f7f6f3!important;
    color:#111!important;
    font-size:15px!important;
    line-height:1!important;
    cursor:pointer!important;
}
.rsfy-booking-detail-panel>.rsfy-circle-close:hover{
    background:#111!important;
    border-color:#111!important;
    color:#fff!important;
}

.rsfy-booking-detail-panel>.eyebrow{
    margin:0 44px 6px 0!important;
    color:#969188!important;
    font-size:7px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.14em!important;
}
.rsfy-booking-detail-panel>h2{
    margin:0 44px 16px 0!important;
    color:#111!important;
    font-size:24px!important;
    line-height:1.08!important;
    font-weight:720!important;
    letter-spacing:-.7px!important;
}

.rsfy-booking-detail-meta{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:0!important;
}
.rsfy-booking-detail-meta>div{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:4px!important;
    min-height:54px!important;
    margin:0!important;
    padding:10px 11px!important;
    border:1px solid #e6e3de!important;
    border-radius:11px!important;
    background:#fff!important;
    box-shadow:none!important;
}
.rsfy-booking-detail-meta>div.wide{
    grid-column:1/-1!important;
}
.rsfy-booking-detail-meta>div>span{
    margin:0!important;
    color:#918c84!important;
    font-size:7px!important;
    line-height:1.1!important;
    font-weight:650!important;
}
.rsfy-booking-detail-meta>div>strong{
    margin:0!important;
    color:#111!important;
    font-size:10px!important;
    line-height:1.35!important;
    font-weight:700!important;
    overflow-wrap:anywhere!important;
}

/* Solde : bloc beaucoup moins haut */
.rsfy-booking-detail-meta .rsfy-booking-balance-control{
    min-height:68px!important;
    padding:11px 12px!important;
    background:#faf9f7!important;
}
.rsfy-booking-detail-meta .rsfy-balance-control-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
}
.rsfy-booking-detail-meta .rsfy-balance-control-row>strong{
    color:#111!important;
    font-size:12px!important;
    font-weight:750!important;
}
.rsfy-booking-detail-meta .rsfy-booking-balance-control>small{
    margin-top:4px!important;
    color:#9a958d!important;
    font-size:6.5px!important;
    line-height:1.35!important;
}
.rsfy-booking-detail-meta .rsfy-balance-segment{
    display:inline-flex!important;
    align-items:center!important;
    padding:3px!important;
    border:1px solid #dedad4!important;
    border-radius:10px!important;
    background:#f2f1ed!important;
}
.rsfy-booking-detail-meta .rsfy-balance-segment button{
    min-height:27px!important;
    padding:0 9px!important;
    border:0!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#77736d!important;
    font-size:7px!important;
    line-height:1!important;
    font-weight:700!important;
}
.rsfy-booking-detail-meta .rsfy-balance-segment button.is-active{
    background:#111!important;
    color:#fff!important;
}

/* Historique des messages */
.rsfy-booking-message-history{
    padding:11px 12px!important;
    background:#faf9f7!important;
}
.rsfy-booking-message-history>span{
    margin:0 0 6px!important;
    color:#8f8a82!important;
    font-size:7px!important;
    font-weight:650!important;
}
.rsfy-booking-message-history article{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:7px 0!important;
    border-top:1px solid #ece9e4!important;
}
.rsfy-booking-message-history article strong{
    color:#111!important;
    font-size:8.5px!important;
    line-height:1.4!important;
    font-weight:600!important;
}
.rsfy-booking-message-history article small{
    flex:0 0 auto!important;
    color:#9b968f!important;
    font-size:6.5px!important;
}

/* Actions compactes et réellement premium */
.rsfy-booking-detail-meta .rsfy-booking-owner-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    min-height:0!important;
    padding:4px 0 0!important;
    border:0!important;
    background:transparent!important;
}
.rsfy-booking-detail-meta .rsfy-booking-message-trigger,
.rsfy-booking-detail-meta .rsfy-booking-cancel-trigger{
    appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0 12px!important;
    border-radius:999px!important;
    font:700 8px/1 Arial,Helvetica,sans-serif!important;
    cursor:pointer!important;
    text-decoration:none!important;
}
.rsfy-booking-detail-meta .rsfy-booking-message-trigger{
    border:1px solid #111!important;
    background:#111!important;
    color:#fff!important;
}
.rsfy-booking-detail-meta .rsfy-booking-message-trigger:hover{
    background:#292929!important;
}
.rsfy-booking-detail-meta .rsfy-booking-cancel-trigger{
    border:1px solid #ead2d2!important;
    background:#fff!important;
    color:#b83b3b!important;
}
.rsfy-booking-detail-meta .rsfy-booking-cancel-trigger:hover{
    background:#fff5f5!important;
    border-color:#dcaeae!important;
}
.rsfy-booking-detail-meta .rsfy-booking-message-trigger svg,
.rsfy-booking-detail-meta .rsfy-booking-cancel-trigger svg{
    width:13px!important;
    height:13px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

/* L'état annulé reste discret */
.rsfy-booking-detail-meta .rsfy-booking-cancelled-info{
    min-height:54px!important;
    background:#fff7f7!important;
    border-color:#efdddd!important;
}

/* ------------------------------------------------------------
   ÉVÉNEMENTS COLORÉS DANS L'AGENDA
   ------------------------------------------------------------ */
.rsfy-time-event{
    position:absolute!important;
    left:5px!important;
    right:5px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:2px!important;
    padding:7px 8px!important;
    border:1px solid rgba(17,17,17,.07)!important;
    border-left:1px solid rgba(17,17,17,.07)!important;
    border-radius:10px!important;
    background:var(--rsfy-event-color,#DDE3E8)!important;
    color:#111!important;
    text-align:left!important;
    cursor:pointer!important;
    box-shadow:0 2px 8px rgba(17,17,17,.035)!important;
    transition:transform .14s ease,box-shadow .14s ease,filter .14s ease!important;
}
.rsfy-time-event:before,
.rsfy-time-event:after{
    content:none!important;
    display:none!important;
}
.rsfy-time-event:hover{
    filter:brightness(.985)!important;
    transform:translateY(-1px)!important;
    box-shadow:0 5px 14px rgba(17,17,17,.075)!important;
}
.rsfy-time-event b{
    color:rgba(17,17,17,.62)!important;
    font-size:8px!important;
    line-height:1.1!important;
    font-weight:650!important;
}
.rsfy-time-event strong{
    color:#111!important;
    font-size:10px!important;
    line-height:1.15!important;
    font-weight:720!important;
    letter-spacing:-.08px!important;
}
.rsfy-time-event span{
    max-width:100%!important;
    overflow:hidden!important;
    color:rgba(17,17,17,.62)!important;
    font-size:8px!important;
    line-height:1.2!important;
    font-weight:500!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
}

/* Retire définitivement tous les anciens traits verticaux de couleur. */
.rsfy-time-event{
    outline:0!important;
}
.rsfy-agenda-item:before{
    content:none!important;
    display:none!important;
}
.rsfy-agenda-item{
    border-left:1px solid #e5e2dd!important;
}

/* Les pastilles de légende restent fines et propres */
.rsfy-agenda-legend span i{
    width:7px!important;
    height:7px!important;
    border-radius:50%!important;
    box-shadow:none!important;
}

/* Responsive du popup */
@media(max-width:700px){
    .rsfy-booking-detail{
        padding:12px!important;
    }
    .rsfy-booking-detail-panel{
        width:100%!important;
        max-width:none!important;
        max-height:88vh!important;
        padding:17px!important;
        border-radius:17px!important;
    }
    .rsfy-booking-detail-panel>h2{
        font-size:20px!important;
        margin-bottom:13px!important;
    }
    .rsfy-booking-detail-meta{
        grid-template-columns:1fr 1fr!important;
        gap:7px!important;
    }
    .rsfy-booking-detail-meta>div{
        min-height:50px!important;
        padding:9px 10px!important;
    }
    .rsfy-booking-detail-meta .rsfy-booking-owner-actions{
        grid-column:1/-1!important;
        justify-content:stretch!important;
    }
    .rsfy-booking-detail-meta .rsfy-booking-message-trigger,
    .rsfy-booking-detail-meta .rsfy-booking-cancel-trigger{
        flex:1!important;
    }
}

@media(max-width:480px){
    .rsfy-booking-detail-meta{
        grid-template-columns:1fr!important;
    }
    .rsfy-booking-detail-meta>div.wide{
        grid-column:auto!important;
    }
}


/* ============================================================
   Reseefy Cloud 0.8.22 — saisie adresse toujours disponible
   ============================================================ */
.rsfy-custom-builder [data-place-input],
.rsfy-custom-builder [data-place-input-home]{
    pointer-events:auto!important;
    user-select:text!important;
    -webkit-user-select:text!important;
    opacity:1!important;
    cursor:text!important;
    background:#fff!important;
    color:#111!important;
}
.rsfy-custom-builder [data-place-input]:disabled,
.rsfy-custom-builder [data-place-input-home]:disabled{
    pointer-events:auto!important;
    opacity:1!important;
    cursor:text!important;
    background:#fff!important;
    color:#111!important;
}


/* ============================================================
   Reseefy Cloud 0.8.23 — popup rendez-vous définitivement compact
   Agenda + Mes réservations
   ============================================================ */

/* Le panneau modal ne doit plus utiliser la largeur disponible de l'écran. */
body .rsfy-appt-modal__panel,
body .rsfy-booking-detail-modal__panel,
body .rsfy-reservation-detail-modal__panel,
body .rsfy-appointment-detail-modal__panel,
body .rsfy-rdv-modal__panel,
body .rsfy-modal-appointment__panel,
body .rsfy-agenda-modal__panel,
body .rsfy-bookings-modal__panel,
body [data-rsfy-appointment-modal] > div,
body [data-rsfy-booking-modal] > div,
body [data-rsfy-rdv-modal] > div {
    width:min(620px, calc(100vw - 32px))!important;
    max-width:620px!important;
    min-width:0!important;
    height:auto!important;
    max-height:min(760px, calc(100vh - 32px))!important;
    margin:auto!important;
    border-radius:24px!important;
}

/* Classes réellement utilisées dans les versions récentes du portail. */
body .rcp-appointment-modal .rcp-modal-card,
body .rcp-booking-modal .rcp-modal-card,
body .rcp-reservation-modal .rcp-modal-card,
body .rsfy-appointment-modal .rsfy-modal-card,
body .rsfy-reservation-modal .rsfy-modal-card,
body .rsfy-agenda-detail-modal .rsfy-modal-card,
body .rsfy-booking-detail-modal .rsfy-modal-card {
    width:min(620px, calc(100vw - 32px))!important;
    max-width:620px!important;
    min-width:0!important;
    height:auto!important;
    max-height:min(760px, calc(100vh - 32px))!important;
    margin:auto!important;
    border-radius:24px!important;
}

/* Fallback structurel : uniquement les overlays de détail Reseefy. */
body [class*="appointment"][class*="modal"] [class*="modal"][class*="content"],
body [class*="reservation"][class*="modal"] [class*="modal"][class*="content"],
body [class*="booking"][class*="modal"] [class*="modal"][class*="content"],
body [class*="agenda"][class*="modal"] [class*="modal"][class*="content"],
body [class*="appointment"][class*="modal"] [class*="panel"],
body [class*="reservation"][class*="modal"] [class*="panel"],
body [class*="booking"][class*="modal"] [class*="panel"],
body [class*="agenda"][class*="modal"] [class*="panel"] {
    width:min(620px, calc(100vw - 32px))!important;
    max-width:620px!important;
    min-width:0!important;
    margin:auto!important;
}

/* Compactage intérieur. */
body [class*="appointment"][class*="modal"] h1,
body [class*="appointment"][class*="modal"] h2,
body [class*="reservation"][class*="modal"] h1,
body [class*="reservation"][class*="modal"] h2,
body [class*="booking"][class*="modal"] h1,
body [class*="booking"][class*="modal"] h2,
body [class*="agenda"][class*="modal"] h1,
body [class*="agenda"][class*="modal"] h2 {
    font-size:26px!important;
    line-height:1.12!important;
    letter-spacing:-.7px!important;
}

@media (min-width: 769px) {
    body [class*="appointment"][class*="modal"] [class*="modal"][class*="body"],
    body [class*="reservation"][class*="modal"] [class*="modal"][class*="body"],
    body [class*="booking"][class*="modal"] [class*="modal"][class*="body"],
    body [class*="agenda"][class*="modal"] [class*="modal"][class*="body"] {
        padding:22px!important;
    }
}

@media (max-width: 720px) {
    body .rsfy-appt-modal__panel,
    body .rsfy-booking-detail-modal__panel,
    body .rsfy-reservation-detail-modal__panel,
    body .rsfy-appointment-detail-modal__panel,
    body .rsfy-rdv-modal__panel,
    body .rsfy-modal-appointment__panel,
    body .rsfy-agenda-modal__panel,
    body .rsfy-bookings-modal__panel,
    body .rcp-appointment-modal .rcp-modal-card,
    body .rcp-booking-modal .rcp-modal-card,
    body .rcp-reservation-modal .rcp-modal-card,
    body .rsfy-appointment-modal .rsfy-modal-card,
    body .rsfy-reservation-modal .rsfy-modal-card,
    body .rsfy-agenda-detail-modal .rsfy-modal-card,
    body .rsfy-booking-detail-modal .rsfy-modal-card,
    body [class*="appointment"][class*="modal"] [class*="panel"],
    body [class*="reservation"][class*="modal"] [class*="panel"],
    body [class*="booking"][class*="modal"] [class*="panel"],
    body [class*="agenda"][class*="modal"] [class*="panel"] {
        width:calc(100vw - 20px)!important;
        max-width:520px!important;
        max-height:calc(100vh - 20px)!important;
        border-radius:20px!important;
    }
}

/* Exact modal classes detected in templates */
body .rsfy-booking-detail-panel{width:min(620px,calc(100vw - 32px))!important;max-width:620px!important;min-width:0!important;margin-left:auto!important;margin-right:auto!important;}


/* ============================================================
   Reseefy Cloud 0.8.25 — FORCE COMPACT POPUP RDV
   Cette règle cible la classe réellement utilisée dans
   booking-workspace.php et remplace définitivement le plein écran.
   ============================================================ */
html body .rsfy-booking-detail{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:14px!important;
}

html body .rsfy-booking-detail > .rsfy-booking-detail-panel,
html body .rsfy-booking-detail [data-rsfy-booking-detail-panel]{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    transform:none!important;

    width:560px!important;
    max-width:calc(100vw - 28px)!important;
    min-width:0!important;
    height:auto!important;
    max-height:82vh!important;

    flex:0 0 auto!important;
    align-self:center!important;
    margin:auto!important;
    padding:19px!important;

    border:1px solid #e2dfda!important;
    border-radius:20px!important;
    background:#fff!important;
    box-sizing:border-box!important;
    overflow:auto!important;
    box-shadow:0 28px 80px rgba(17,17,17,.20)!important;
}

/* Plus compact à l'intérieur pour obtenir un vrai petit popup. */
html body .rsfy-booking-detail-panel > h2{
    margin-bottom:13px!important;
    font-size:22px!important;
    line-height:1.08!important;
}
html body .rsfy-booking-detail-meta{
    gap:7px!important;
}
html body .rsfy-booking-detail-meta > div{
    min-height:48px!important;
    padding:9px 10px!important;
    border-radius:10px!important;
}
html body .rsfy-booking-detail-meta > div > span{
    font-size:6.5px!important;
}
html body .rsfy-booking-detail-meta > div > strong{
    font-size:9px!important;
}
html body .rsfy-booking-detail-meta .rsfy-booking-balance-control{
    min-height:62px!important;
}
html body .rsfy-booking-detail-meta .rsfy-booking-owner-actions{
    padding-top:3px!important;
}

@media(max-width:680px){
    html body .rsfy-booking-detail{
        padding:10px!important;
    }
    html body .rsfy-booking-detail > .rsfy-booking-detail-panel,
    html body .rsfy-booking-detail [data-rsfy-booking-detail-panel]{
        width:calc(100vw - 20px)!important;
        max-width:520px!important;
        max-height:calc(100vh - 20px)!important;
        padding:16px!important;
        border-radius:17px!important;
    }
}


/* ============================================================
   Reseefy Cloud 0.8.27 — CORRECTION STRUCTURELLE DU POPUP
   Le shell peut être pleine page, mais la carte visible est
   un enfant indépendant plafonné à 520 px.
   ============================================================ */
html body .rsfy-booking-detail{
    position:fixed!important;
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
}

html body .rsfy-booking-detail > .rsfy-booking-detail-panel{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100%!important;
    max-height:none!important;
    margin:0!important;
    padding:16px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    transform:none!important;
    pointer-events:none!important;
    box-sizing:border-box!important;
}

html body .rsfy-booking-detail-card{
    position:relative!important;
    width:520px!important;
    max-width:calc(100vw - 32px)!important;
    min-width:0!important;
    height:auto!important;
    max-height:78vh!important;
    margin:auto!important;
    padding:18px!important;
    overflow:auto!important;
    pointer-events:auto!important;

    border:1px solid #e2dfda!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 28px 82px rgba(17,17,17,.22)!important;
    box-sizing:border-box!important;
    font-family:Arial,Helvetica,sans-serif!important;
}

html body .rsfy-booking-detail-card > .rsfy-circle-close{
    position:absolute!important;
    top:13px!important;
    right:13px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    padding:0!important;
    border:1px solid #dedad4!important;
    border-radius:50%!important;
    background:#f7f6f3!important;
    color:#111!important;
}

html body .rsfy-booking-detail-card > .eyebrow{
    margin:0 40px 5px 0!important;
    color:#97928a!important;
    font-size:6.5px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.14em!important;
}

html body .rsfy-booking-detail-card > h2{
    margin:0 40px 13px 0!important;
    color:#111!important;
    font-size:20px!important;
    line-height:1.1!important;
    font-weight:720!important;
    letter-spacing:-.45px!important;
}

html body .rsfy-booking-detail-card .rsfy-booking-detail-meta{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin:0!important;
}

html body .rsfy-booking-detail-card .rsfy-booking-detail-meta > div{
    min-height:46px!important;
    padding:8px 10px!important;
    border:1px solid #e6e3de!important;
    border-radius:10px!important;
    background:#fff!important;
}

html body .rsfy-booking-detail-card .rsfy-booking-detail-meta > div.wide{
    grid-column:1/-1!important;
}

html body .rsfy-booking-detail-card .rsfy-booking-detail-meta > div > span{
    font-size:6.5px!important;
    line-height:1.1!important;
    color:#918c84!important;
}

html body .rsfy-booking-detail-card .rsfy-booking-detail-meta > div > strong{
    font-size:9px!important;
    line-height:1.3!important;
    color:#111!important;
}

html body .rsfy-booking-detail-card .rsfy-booking-balance-control{
    min-height:58px!important;
}

html body .rsfy-booking-detail-card .rsfy-booking-owner-actions{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:7px!important;
    min-height:0!important;
    padding:3px 0 0!important;
    border:0!important;
    background:transparent!important;
}

html body .rsfy-booking-detail-card .rsfy-booking-message-trigger,
html body .rsfy-booking-detail-card .rsfy-booking-cancel-trigger{
    min-height:32px!important;
    padding:0 11px!important;
    font-size:7.5px!important;
}

@media(max-width:680px){
    html body .rsfy-booking-detail > .rsfy-booking-detail-panel{
        padding:12px!important;
    }
    html body .rsfy-booking-detail-card{
        width:calc(100vw - 24px)!important;
        max-width:520px!important;
        max-height:calc(100vh - 24px)!important;
        padding:15px!important;
        border-radius:17px!important;
    }
    html body .rsfy-booking-detail-card .rsfy-booking-detail-meta{
        grid-template-columns:1fr!important;
    }
    html body .rsfy-booking-detail-card .rsfy-booking-detail-meta > div.wide{
        grid-column:auto!important;
    }
}


/* ============================================================
   Reseefy Cloud 0.8.28 — annulation compacte + boutons égaux
   ============================================================ */

/* Dans la fiche rendez-vous : Annuler = exactement la même largeur
   que Laisser un message. */
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:8px!important;
}
html body .rsfy-booking-detail-card .rsfy-booking-message-trigger,
html body .rsfy-booking-detail-card .rsfy-booking-cancel-trigger{
    width:154px!important;
    min-width:154px!important;
    max-width:154px!important;
    flex:0 0 154px!important;
    min-height:34px!important;
    justify-content:center!important;
    box-sizing:border-box!important;
}

/* Le popup d'annulation suit exactement la même logique structurelle
   que le popup Détail du rendez-vous. */
html body .rsfy-booking-cancel-modal{
    position:fixed!important;
    inset:0!important;
    z-index:1000000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
}
html body .rsfy-booking-cancel-modal[hidden]{
    display:none!important;
}
html body .rsfy-booking-cancel-modal > .rsfy-booking-cancel-panel{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100%!important;
    max-height:none!important;
    margin:0!important;
    padding:16px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    transform:none!important;
    pointer-events:none!important;
    box-sizing:border-box!important;
}
html body .rsfy-booking-cancel-card{
    position:relative!important;
    width:520px!important;
    max-width:calc(100vw - 32px)!important;
    min-width:0!important;
    height:auto!important;
    max-height:78vh!important;
    margin:auto!important;
    padding:22px!important;
    overflow:auto!important;
    pointer-events:auto!important;

    border:1px solid #e2dfda!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 28px 82px rgba(17,17,17,.22)!important;
    box-sizing:border-box!important;
    font-family:Arial,Helvetica,sans-serif!important;
}
html body .rsfy-booking-cancel-card .rsfy-booking-cancel-icon{
    width:38px!important;
    height:38px!important;
    margin:0 0 14px!important;
    border-radius:12px!important;
}
html body .rsfy-booking-cancel-card .rsfy-booking-cancel-kicker{
    margin-bottom:5px!important;
    font-size:6.5px!important;
}
html body .rsfy-booking-cancel-card h2{
    margin:0 38px 7px 0!important;
    font-size:20px!important;
    line-height:1.1!important;
    letter-spacing:-.45px!important;
}
html body .rsfy-booking-cancel-card .rsfy-booking-cancel-copy{
    margin-bottom:15px!important;
    font-size:9px!important;
    line-height:1.45!important;
}
html body .rsfy-booking-cancel-card .rsfy-booking-cancel-reason{
    gap:7px!important;
    margin-bottom:15px!important;
}
html body .rsfy-booking-cancel-card .rsfy-booking-cancel-reason textarea{
    min-height:88px!important;
    max-height:130px!important;
    padding:10px 11px!important;
    border-radius:11px!important;
    font-size:9px!important;
}
html body .rsfy-booking-cancel-card .rsfy-booking-cancel-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
}
html body .rsfy-booking-cancel-card .rsfy-booking-cancel-actions button{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    padding:0 11px!important;
    border-radius:10px!important;
    font-size:8px!important;
    box-sizing:border-box!important;
}

@media(max-width:680px){
    html body .rsfy-booking-detail-card .rsfy-booking-message-trigger,
    html body .rsfy-booking-detail-card .rsfy-booking-cancel-trigger{
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        flex:1 1 100%!important;
    }
    html body .rsfy-booking-cancel-modal > .rsfy-booking-cancel-panel{
        padding:12px!important;
    }
    html body .rsfy-booking-cancel-card{
        width:calc(100vw - 24px)!important;
        max-width:520px!important;
        max-height:calc(100vh - 24px)!important;
        padding:18px!important;
        border-radius:17px!important;
    }
    html body .rsfy-booking-cancel-card .rsfy-booking-cancel-actions{
        grid-template-columns:1fr!important;
    }
}


/* 0.8.29 — format adresse : numéro + rue / code postal + ville */
.rp-address-line1,.rp-address-line2{
 display:block!important;margin:0!important;padding:0!important;border:0!important;
 background:transparent!important;width:auto!important;
}
.rp-address-line1{font-weight:600!important;line-height:1.3!important}
.rp-address-line2{font-weight:400!important;line-height:1.3!important;margin-top:2px!important}


/* ============================================================
   Reseefy Cloud 0.8.31 — boutons actions rendez-vous
   Correction définitive des formes circulaires héritées du thème.
   ============================================================ */

/* Le conteneur des actions ne doit jamais imposer de dimensions de carte. */
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:10px!important;

    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    margin:0!important;
    padding:8px 0 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
}

/* Reset complet des règles globales de boutons du thème. */
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-message-trigger,
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-cancel-trigger{
    appearance:none!important;
    -webkit-appearance:none!important;

    position:relative!important;
    inset:auto!important;
    transform:none!important;

    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 160px!important;

    width:160px!important;
    min-width:160px!important;
    max-width:160px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;

    margin:0!important;
    padding:0 14px!important;

    border-radius:999px!important;
    box-sizing:border-box!important;

    font-family:Arial,Helvetica,sans-serif!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-transform:none!important;
    text-decoration:none!important;

    white-space:nowrap!important;
    cursor:pointer!important;
    overflow:hidden!important;
}

/* Bouton noir */
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-message-trigger{
    border:1px solid #111!important;
    background:#111!important;
    color:#fff!important;
    box-shadow:none!important;
}

/* Bouton annuler */
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-cancel-trigger{
    border:1px solid #efcaca!important;
    background:#fff!important;
    color:#bd3d3d!important;
    box-shadow:none!important;
}

/* Icônes : taille fixe pour éviter tout agrandissement hérité. */
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-message-trigger svg,
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-cancel-trigger svg{
    display:block!important;
    flex:0 0 12px!important;
    width:12px!important;
    min-width:12px!important;
    max-width:12px!important;
    height:12px!important;
    min-height:12px!important;
    max-height:12px!important;

    margin:0 6px 0 0!important;
    padding:0!important;

    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

/* Le texte ne prend jamais de dimensions propres au thème. */
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-message-trigger span,
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-cancel-trigger span{
    display:inline!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:inherit!important;
    font:inherit!important;
}

/* Empêche :before/:after du thème de créer un cercle ou une pastille. */
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-message-trigger:before,
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-message-trigger:after,
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-cancel-trigger:before,
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-cancel-trigger:after{
    content:none!important;
    display:none!important;
}

/* Survols premium simples. */
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-message-trigger:hover{
    background:#292929!important;
    border-color:#292929!important;
}
html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-cancel-trigger:hover{
    background:#fff5f5!important;
    border-color:#dfaaaa!important;
}

/* Mobile : deux boutons identiques empilés, jamais ronds. */
@media(max-width:680px){
    html body .rsfy-booking-detail-card .rsfy-booking-owner-actions{
        flex-direction:column!important;
        gap:8px!important;
    }

    html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-message-trigger,
    html body .rsfy-booking-detail-card .rsfy-booking-owner-actions .rsfy-booking-cancel-trigger{
        flex:0 0 38px!important;
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        height:38px!important;
        min-height:38px!important;
        max-height:38px!important;
    }
}

/* 0.8.32 — centre de messages + badges */
.rsfy-nav-alert{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e33b3b;color:#fff!important;font:700 10px/1 Arial,sans-serif}
.rsfy-nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rsfy-message-center{margin-top:4px}
.rsfy-message-layout{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:620px;border:1px solid #e4e1dc;border-radius:22px;overflow:hidden;background:#fff}
.rsfy-message-threads{border-right:1px solid #ece9e4;background:#faf9f7;padding:14px}
.rsfy-message-threads-head{padding:8px 8px 14px}.rsfy-message-threads-head small{display:block;font-size:9px;letter-spacing:.12em;color:#999}.rsfy-message-threads-head strong{display:block;margin-top:5px;font-size:14px}
.rsfy-thread-item{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;text-align:left;border:0;background:transparent;border-radius:14px;padding:10px;cursor:pointer}
.rsfy-thread-item.is-active,.rsfy-thread-item:hover{background:#fff;box-shadow:0 1px 0 rgba(17,17,17,.04)}
.rsfy-thread-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-weight:700}.rsfy-thread-item strong,.rsfy-thread-item small{display:block}.rsfy-thread-item strong{font-size:12px}.rsfy-thread-item small{margin-top:3px;color:#777;font-size:10px}.rsfy-thread-item i{min-width:20px;height:20px;border-radius:999px;background:#f1efeb;display:grid;place-items:center;font-style:normal;font-size:9px}
.rsfy-message-conversations{min-width:0}.rsfy-message-thread-view{display:none;height:100%;grid-template-rows:auto 1fr auto}.rsfy-message-thread-view.is-active{display:grid}
.rsfy-message-thread-view>header{padding:22px 24px;border-bottom:1px solid #ece9e4}.rsfy-message-thread-view header small{font-size:8px;letter-spacing:.12em;color:#999}.rsfy-message-thread-view h2{font-size:20px;margin:5px 0 4px}.rsfy-message-thread-view header p{margin:0;color:#777;font-size:11px}
.rsfy-message-feed{padding:24px;overflow:auto;background:#fff;display:flex;flex-direction:column;gap:10px}.rsfy-message-bubble{max-width:72%;padding:11px 13px;border-radius:16px;font-size:12px;line-height:1.45}.rsfy-message-bubble small{display:block;margin-top:6px;font-size:8px;opacity:.62}.rsfy-message-bubble.is-provider{align-self:flex-end;background:#111;color:#fff;border-bottom-right-radius:5px}.rsfy-message-bubble.is-client{align-self:flex-start;background:#f2f1ee;color:#111;border-bottom-left-radius:5px}
.rsfy-provider-message-form{border-top:1px solid #ece9e4;padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.rsfy-provider-message-form textarea{min-height:48px;max-height:120px;resize:vertical;border:1px solid #ddd9d3;border-radius:14px;padding:12px;font:12px Arial}.rsfy-provider-message-form button{height:42px;padding:0 18px;border:0;border-radius:999px;background:#111;color:#fff;font-weight:700}.rsfy-provider-message-form>[data-message-status]{grid-column:1/-1;font-size:9px;color:#777}
.rsfy-message-empty{padding:28px;color:#888;font-size:12px;text-align:center}
@media(max-width:850px){.rsfy-message-layout{grid-template-columns:1fr}.rsfy-message-threads{border-right:0;border-bottom:1px solid #ece9e4;max-height:240px;overflow:auto}}


/* ============================================================
   Reseefy Cloud 0.8.33 — popup message compact structurel
   Agenda + Mes réservations
   ============================================================ */
html body .rsfy-booking-message-modal{
    position:fixed!important;
    inset:0!important;
    z-index:1000000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
}
html body .rsfy-booking-message-modal[hidden]{display:none!important}
html body .rsfy-booking-message-modal > .rsfy-booking-message-panel{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    margin:0!important;
    padding:16px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    pointer-events:none!important;
    box-sizing:border-box!important;
}
html body .rsfy-booking-message-card{
    position:relative!important;
    width:520px!important;
    max-width:calc(100vw - 32px)!important;
    min-width:0!important;
    height:auto!important;
    max-height:78vh!important;
    margin:auto!important;
    padding:22px!important;
    overflow:auto!important;
    pointer-events:auto!important;
    border:1px solid #e2dfda!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 28px 82px rgba(17,17,17,.22)!important;
    box-sizing:border-box!important;
}
html body .rsfy-booking-message-card textarea{
    min-height:96px!important;
    max-height:150px!important;
}
html body .rsfy-booking-message-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
}
html body .rsfy-booking-message-actions button{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    max-height:38px!important;
    border-radius:10px!important;
    box-sizing:border-box!important;
}
@media(max-width:680px){
    html body .rsfy-booking-message-modal > .rsfy-booking-message-panel{padding:12px!important}
    html body .rsfy-booking-message-card{
        width:calc(100vw - 24px)!important;
        max-width:520px!important;
        max-height:calc(100vh - 24px)!important;
        padding:18px!important;
        border-radius:17px!important;
    }
    html body .rsfy-booking-message-actions{grid-template-columns:1fr!important}
}


/* 0.8.34 — informations client complètes dans le détail rendez-vous */
html body .rsfy-booking-detail-card .rsfy-booking-client-details{
    padding:11px!important;background:#faf9f7!important;
}
html body .rsfy-booking-detail-card .rsfy-booking-client-details>span{
    display:block!important;margin-bottom:8px!important;color:#908b84!important;
    font:800 6.5px/1 Arial,Helvetica,sans-serif!important;letter-spacing:.12em!important;
}
html body .rsfy-booking-detail-card .rsfy-booking-client-detail-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;
}
html body .rsfy-booking-detail-card .rsfy-booking-client-detail-grid>div{
    min-width:0!important;padding:8px 9px!important;border:1px solid #e5e2dc!important;border-radius:9px!important;background:#fff!important;
}
html body .rsfy-booking-detail-card .rsfy-booking-client-detail-grid small{
    display:block!important;margin:0 0 3px!important;color:#948f88!important;font:600 6.5px/1.2 Arial,Helvetica,sans-serif!important;
}
html body .rsfy-booking-detail-card .rsfy-booking-client-detail-grid strong{
    display:block!important;overflow-wrap:anywhere!important;color:#111!important;font:700 8.5px/1.35 Arial,Helvetica,sans-serif!important;
}
@media(max-width:520px){html body .rsfy-booking-detail-card .rsfy-booking-client-detail-grid{grid-template-columns:1fr!important}}


/* ============================================================
   Reseefy Cloud 0.8.36 — Messages prestataire V2
   ============================================================ */
html body .rsfy-message-center-v2,
html body .rsfy-message-center-v2 *{box-sizing:border-box!important;font-family:Arial,Helvetica,sans-serif!important}
html body .rsfy-message-center-v2 button{appearance:none!important;-webkit-appearance:none!important}
html body .rsfy-message-center-v2 .rsfy-message-layout{
    display:grid!important;grid-template-columns:320px minmax(0,1fr)!important;
    min-height:640px!important;border:1px solid #dfdcd6!important;border-radius:22px!important;
    overflow:hidden!important;background:#fff!important;box-shadow:0 12px 40px rgba(17,17,17,.035)!important;
}
html body .rsfy-message-center-v2 .rsfy-message-threads{
    padding:14px!important;border-right:1px solid #e8e5df!important;background:#faf9f7!important;
}
html body .rsfy-message-center-v2 .rsfy-message-threads-head{
    display:flex!important;align-items:flex-end!important;justify-content:space-between!important;padding:7px 8px 15px!important;
}
html body .rsfy-message-center-v2 .rsfy-message-threads-head small{
    display:block!important;color:#97928b!important;font-size:7px!important;font-weight:800!important;letter-spacing:.13em!important;
}
html body .rsfy-message-center-v2 .rsfy-message-threads-head strong{
    display:block!important;margin-top:4px!important;color:#111!important;font-size:15px!important;
}
html body .rsfy-message-center-v2 .rsfy-message-threads-head>span{
    display:grid!important;place-items:center!important;min-width:25px!important;height:25px!important;padding:0 7px!important;
    border-radius:999px!important;background:#efede9!important;color:#111!important;font-size:9px!important;font-weight:800!important;
}
html body .rsfy-message-center-v2 .rsfy-thread-item{
    width:100%!important;min-height:78px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;
    gap:10px!important;align-items:center!important;margin:0 0 7px!important;padding:11px!important;
    border:1px solid transparent!important;border-radius:15px!important;background:transparent!important;color:#111!important;
    text-align:left!important;box-shadow:none!important;cursor:pointer!important;
}
html body .rsfy-message-center-v2 .rsfy-thread-item:hover{background:#fff!important;border-color:#e8e5df!important}
html body .rsfy-message-center-v2 .rsfy-thread-item.is-active{
    background:#111!important;border-color:#111!important;color:#fff!important;box-shadow:0 8px 22px rgba(17,17,17,.12)!important;
}
html body .rsfy-message-center-v2 .rsfy-thread-avatar{
    display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:50%!important;
    background:#eceae6!important;color:#111!important;font-size:13px!important;font-weight:800!important;
}
html body .rsfy-message-center-v2 .rsfy-thread-item.is-active .rsfy-thread-avatar{background:#fff!important;color:#111!important}
html body .rsfy-message-center-v2 .rsfy-thread-copy{display:block!important;min-width:0!important}
html body .rsfy-message-center-v2 .rsfy-thread-topline{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
html body .rsfy-message-center-v2 .rsfy-thread-topline strong{
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:inherit!important;font-size:11px!important;
}
html body .rsfy-message-center-v2 .rsfy-thread-topline time{flex:none!important;color:#99948d!important;font-size:7px!important}
html body .rsfy-message-center-v2 .rsfy-thread-item.is-active .rsfy-thread-topline time{color:#bdbdbd!important}
html body .rsfy-message-center-v2 .rsfy-thread-copy>small{
    display:block!important;margin-top:4px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
    color:#77716a!important;font-size:9px!important;
}
html body .rsfy-message-center-v2 .rsfy-thread-item.is-active .rsfy-thread-copy>small{color:#c5c5c5!important}
html body .rsfy-message-center-v2 .rsfy-thread-copy>em{
    display:block!important;margin-top:4px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
    color:#9a958e!important;font-size:8px!important;font-style:normal!important;
}
html body .rsfy-message-center-v2 .rsfy-thread-item.is-active .rsfy-thread-copy>em{color:#a9a9a9!important}
html body .rsfy-message-center-v2 .rsfy-thread-item>i{
    display:grid!important;place-items:center!important;min-width:21px!important;height:21px!important;padding:0 5px!important;
    border-radius:999px!important;background:#eceae6!important;color:#111!important;font-size:8px!important;font-style:normal!important;font-weight:800!important;
}
html body .rsfy-message-center-v2 .rsfy-thread-item.is-active>i{background:#fff!important;color:#111!important}
html body .rsfy-message-center-v2 .rsfy-message-thread-view{display:none!important;height:100%!important;grid-template-rows:auto minmax(0,1fr) auto!important}
html body .rsfy-message-center-v2 .rsfy-message-thread-view.is-active{display:grid!important}
html body .rsfy-message-center-v2 .rsfy-message-conversation-head{
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
    min-height:104px!important;padding:18px 22px!important;border-bottom:1px solid #e8e5df!important;background:#fff!important;
}
html body .rsfy-message-center-v2 .rsfy-message-person{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important}
html body .rsfy-message-center-v2 .rsfy-message-person-avatar{
    display:grid!important;place-items:center!important;width:44px!important;height:44px!important;flex:0 0 44px!important;
    border-radius:50%!important;background:#111!important;color:#fff!important;font-size:13px!important;font-weight:800!important;
}
html body .rsfy-message-center-v2 .rsfy-message-person small{display:block!important;color:#969189!important;font-size:7px!important;font-weight:800!important;letter-spacing:.12em!important}
html body .rsfy-message-center-v2 .rsfy-message-person h2{margin:3px 0 2px!important;color:#111!important;font-size:16px!important;line-height:1.1!important}
html body .rsfy-message-center-v2 .rsfy-message-person p{margin:0!important;color:#7b766f!important;font-size:9px!important}
html body .rsfy-message-center-v2 .rsfy-message-booking-summary{
    display:grid!important;justify-items:end!important;gap:3px!important;min-width:190px!important;padding:10px 12px!important;
    border:1px solid #e7e3dd!important;border-radius:12px!important;background:#faf9f7!important;text-align:right!important;
}
html body .rsfy-message-center-v2 .rsfy-message-booking-summary>span{
    display:inline-flex!important;padding:4px 7px!important;border-radius:999px!important;background:#fff!important;color:#111!important;
    font-size:7px!important;font-weight:800!important;
}
html body .rsfy-message-center-v2 .rsfy-message-booking-summary strong{color:#111!important;font-size:10px!important}
html body .rsfy-message-center-v2 .rsfy-message-booking-summary small{color:#77716a!important;font-size:8px!important}
html body .rsfy-message-center-v2 .rsfy-message-feed{
    min-height:0!important;padding:24px!important;overflow:auto!important;background:#fff!important;
}
html body .rsfy-message-center-v2 .rsfy-message-row{display:flex!important;margin-bottom:12px!important}
html body .rsfy-message-center-v2 .rsfy-message-row.is-provider{justify-content:flex-end!important}
html body .rsfy-message-center-v2 .rsfy-message-row.is-client{justify-content:flex-start!important}
html body .rsfy-message-center-v2 .rsfy-message-bubble{
    display:block!important;max-width:min(68%,560px)!important;padding:11px 13px!important;border-radius:16px!important;
    box-shadow:none!important;font-size:11px!important;line-height:1.45!important;
}
html body .rsfy-message-center-v2 .rsfy-message-row.is-provider .rsfy-message-bubble{background:#111!important;color:#fff!important;border-bottom-right-radius:5px!important}
html body .rsfy-message-center-v2 .rsfy-message-row.is-client .rsfy-message-bubble{background:#f0efec!important;color:#111!important;border-bottom-left-radius:5px!important}
html body .rsfy-message-center-v2 .rsfy-message-bubble b{display:block!important;margin-bottom:5px!important;color:inherit!important;font-size:8px!important}
html body .rsfy-message-center-v2 .rsfy-message-bubble span{display:block!important;color:inherit!important}
html body .rsfy-message-center-v2 .rsfy-message-bubble small{display:block!important;margin-top:6px!important;color:inherit!important;opacity:.6!important;font-size:7px!important}
html body .rsfy-message-center-v2 .rsfy-provider-message-form{padding:13px 16px!important;border-top:1px solid #e8e5df!important;background:#fff!important}
html body .rsfy-message-center-v2 .rsfy-provider-compose{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;align-items:end!important;
}
html body .rsfy-message-center-v2 .rsfy-provider-compose textarea{
    width:100%!important;min-height:46px!important;max-height:120px!important;margin:0!important;padding:12px 13px!important;
    resize:vertical!important;border:1px solid #ddd9d3!important;border-radius:13px!important;background:#fff!important;color:#111!important;
    font:11px/1.35 Arial,Helvetica,sans-serif!important;box-shadow:none!important;
}
html body .rsfy-message-center-v2 .rsfy-provider-compose button{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:92px!important;height:42px!important;
    margin:0!important;padding:0 17px!important;border:1px solid #111!important;border-radius:999px!important;background:#111!important;color:#fff!important;
    font-size:9px!important;font-weight:800!important;box-shadow:none!important;
}
html body .rsfy-message-center-v2 [data-message-status]{display:block!important;margin-top:6px!important;color:#77716a!important;font-size:8px!important}
html body .rsfy-message-center-v2 .rsfy-message-empty{padding:28px 16px!important;text-align:center!important;color:#77716a!important}
html body .rsfy-message-center-v2 .rsfy-message-empty strong{display:block!important;color:#111!important;font-size:11px!important}
html body .rsfy-message-center-v2 .rsfy-message-empty p{margin:5px auto 0!important;max-width:230px!important;color:#8e8982!important;font-size:9px!important;line-height:1.45!important}
html body .rsfy-message-center-v2 .rsfy-message-empty.is-feed{margin:auto!important}
@media(max-width:900px){
    html body .rsfy-message-center-v2 .rsfy-message-layout{grid-template-columns:1fr!important}
    html body .rsfy-message-center-v2 .rsfy-message-threads{max-height:280px!important;overflow:auto!important;border-right:0!important;border-bottom:1px solid #e8e5df!important}
    html body .rsfy-message-center-v2 .rsfy-message-conversation-head{align-items:flex-start!important;flex-direction:column!important}
    html body .rsfy-message-center-v2 .rsfy-message-booking-summary{width:100%!important;justify-items:start!important;text-align:left!important}
}


/* ============================================================
   v0.8.40 — Agenda readability + compact controls + mobile
   ============================================================ */

/* 1. Every reservation bubble keeps the same readable structure,
   even for short appointments. */
.rsfy-time-event{
    min-height:66px!important;
    height:auto;
    box-sizing:border-box!important;
    overflow:hidden!important;
    justify-content:flex-start!important;
}
.rsfy-time-event b,
.rsfy-time-event strong,
.rsfy-time-event span{
    display:block!important;
    flex:0 0 auto!important;
    max-width:100%!important;
}
.rsfy-time-event strong{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:break-word!important;
}
.rsfy-time-event span{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

/* 2. Perfectly circular close button on the client-message modal. */
.rsfy-booking-message-close{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
    padding:0!important;
    margin:0!important;
    line-height:1!important;
    border-radius:999px!important;
    box-sizing:border-box!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:16px!important;
    font-weight:400!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}

/* 3. Period arrows + date-range button form one compact left-side group. */
.rsfy-agenda-compact-tools{
    justify-content:flex-start!important;
    gap:10px!important;
}
.rsfy-agenda-period-arrows{
    order:1!important;
    flex:0 0 auto!important;
}
.rsfy-agenda-range-trigger-wrap,
.rsfy-agenda-card .rsfy-agenda-range-trigger-wrap{
    order:2!important;
    flex:0 0 auto!important;
    width:auto!important;
    margin-left:0!important;
    justify-content:flex-start!important;
}
.rsfy-agenda-view-switch,
.rsfy-agenda-card .rsfy-agenda-view-switch{
    order:3!important;
    margin-left:auto!important;
}

/* 4. Mobile agenda: day view fits the viewport; week view stays swipeable. */
@media(max-width:680px){
    .rsfy-calendar-panel{
        overflow:visible!important;
    }
    .rsfy-calendar-head{
        gap:10px!important;
    }
    .rsfy-agenda-compact-tools,
    .rsfy-agenda-card .rsfy-agenda-compact-tools{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:wrap!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:8px!important;
    }
    .rsfy-agenda-period-arrows{
        order:1!important;
    }
    .rsfy-agenda-range-trigger-wrap,
    .rsfy-agenda-card .rsfy-agenda-range-trigger-wrap{
        order:2!important;
        width:auto!important;
        flex:1 1 auto!important;
        min-width:0!important;
        justify-content:flex-start!important;
    }
    .rsfy-agenda-calendar-trigger{
        width:auto!important;
        min-width:0!important;
        max-width:100%!important;
        min-height:38px!important;
        padding:0 11px!important;
        white-space:nowrap!important;
    }
    .rsfy-agenda-view-switch,
    .rsfy-agenda-card .rsfy-agenda-view-switch{
        order:3!important;
        flex:1 0 100%!important;
        width:100%!important;
        margin-left:0!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }
    .rsfy-agenda-legend{
        overflow-x:auto!important;
        flex-wrap:nowrap!important;
        scrollbar-width:none!important;
        padding-bottom:2px!important;
    }
    .rsfy-agenda-legend::-webkit-scrollbar{display:none!important}
    .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid-head,
    .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid{
        min-width:100%!important;
        width:100%!important;
    }
    .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid{
        grid-template-columns:54px minmax(0,1fr)!important;
    }
    .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid-head{
        grid-template-columns:54px minmax(0,1fr)!important;
    }
    .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-head,
    .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid{
        min-width:760px!important;
    }
    .rsfy-timegrid-scroll{
        max-height:610px!important;
        border-radius:0 0 12px 12px!important;
        -webkit-overflow-scrolling:touch!important;
    }
    .rsfy-time-event{
        left:4px!important;
        right:4px!important;
        min-height:66px!important;
        padding:6px 7px!important;
    }
    .rsfy-time-event b{font-size:9px!important}
    .rsfy-time-event strong{font-size:10px!important;line-height:1.18!important}
    .rsfy-time-event span{font-size:9px!important}
}

@media(max-width:420px){
    .rsfy-agenda-period-arrows button{
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
    }
    .rsfy-agenda-calendar-trigger{
        font-size:11px!important;
    }
    .rsfy-booking-message-card{
        width:calc(100vw - 20px)!important;
        padding:18px!important;
        border-radius:18px!important;
    }
}


/* ============================================================
   v0.8.42 — Agenda mobile controls + uniform booking bubbles
   ============================================================ */

/* Every reservation card uses exactly the same visual height,
   independently from duration, service, category or color. */
.rsfy-time-event{
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
.rsfy-time-event b,
.rsfy-time-event strong,
.rsfy-time-event span{
    max-width:100%!important;
}
.rsfy-time-event strong{
    display:block!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

@media(max-width:680px){
    /* Keep the agenda fully contained by the mobile viewport. */
    .rsfy-booking-workspace,
    .rsfy-calendar-panel,
    .rsfy-agenda-card{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    /* Premium, predictable mobile control layout:
       view selector on row 1; arrows + date range on row 2. */
    .rsfy-agenda-compact-tools,
    .rsfy-agenda-card .rsfy-agenda-compact-tools{
        display:grid!important;
        grid-template-columns:auto minmax(0,1fr)!important;
        grid-template-areas:
            "views views"
            "arrows range"!important;
        align-items:center!important;
        width:100%!important;
        gap:10px 8px!important;
        overflow:visible!important;
    }

    .rsfy-agenda-view-switch,
    .rsfy-agenda-card .rsfy-agenda-view-switch{
        grid-area:views!important;
        order:unset!important;
        width:100%!important;
        min-width:0!important;
        margin:0!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:3px!important;
    }
    .rsfy-agenda-view-switch button,
    .rsfy-agenda-card .rsfy-agenda-view-switch button{
        width:100%!important;
        min-width:0!important;
        min-height:40px!important;
        margin:0!important;
        padding:0 10px!important;
        border-radius:9px!important;
        box-sizing:border-box!important;
        white-space:nowrap!important;
    }

    .rsfy-agenda-period-arrows,
    .rsfy-agenda-card .rsfy-agenda-period-arrows{
        grid-area:arrows!important;
        order:unset!important;
        display:flex!important;
        flex-direction:row!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:7px!important;
        width:auto!important;
        min-width:max-content!important;
        margin:0!important;
        padding:0!important;
    }
    .rsfy-agenda-period-arrows button,
    .rsfy-agenda-card .rsfy-agenda-period-arrows button{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        flex:0 0 36px!important;
        width:36px!important;
        height:36px!important;
        min-width:36px!important;
        min-height:36px!important;
        max-width:36px!important;
        max-height:36px!important;
        margin:0!important;
        padding:0!important;
        border:1px solid #dedbd5!important;
        border-radius:50%!important;
        background:#fff!important;
        color:#111!important;
        box-shadow:none!important;
        box-sizing:border-box!important;
        appearance:none!important;
        -webkit-appearance:none!important;
    }
    .rsfy-agenda-period-arrows button svg,
    .rsfy-agenda-card .rsfy-agenda-period-arrows button svg{
        display:block!important;
        width:15px!important;
        height:15px!important;
        min-width:15px!important;
        max-width:15px!important;
        fill:none!important;
        stroke:currentColor!important;
        stroke-width:1.8!important;
        stroke-linecap:round!important;
        stroke-linejoin:round!important;
    }

    .rsfy-agenda-range-trigger-wrap,
    .rsfy-agenda-card .rsfy-agenda-range-trigger-wrap{
        grid-area:range!important;
        order:unset!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        width:100%!important;
        min-width:0!important;
        margin:0!important;
        gap:6px!important;
        flex-wrap:nowrap!important;
    }
    .rsfy-agenda-calendar-trigger,
    .rsfy-agenda-card .rsfy-agenda-calendar-trigger{
        flex:1 1 auto!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        min-height:36px!important;
        margin:0!important;
        padding:0 10px!important;
        box-sizing:border-box!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    /* Category pills remain one clean horizontal line. */
    .rsfy-agenda-legend{
        display:flex!important;
        flex-wrap:nowrap!important;
        width:100%!important;
        max-width:100%!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        padding:2px 0 4px!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-width:none!important;
    }
    .rsfy-agenda-legend::-webkit-scrollbar{display:none!important}
    .rsfy-agenda-legend span{flex:0 0 auto!important}

    /* Day view uses the whole available width without horizontal drift. */
    .rsfy-timegrid-shell[data-rsfy-agenda-view="day"]{
        width:100%!important;
        max-width:100%!important;
        overflow:hidden!important;
    }
    .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid-scroll{
        width:100%!important;
        max-width:100%!important;
        overflow-x:hidden!important;
    }
    .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid-head,
    .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid{
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
    }
    .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid-head,
    .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid{
        grid-template-columns:54px minmax(0,1fr)!important;
    }

    .rsfy-time-event{
        left:5px!important;
        right:5px!important;
        height:72px!important;
        min-height:72px!important;
        max-height:72px!important;
        padding:6px 8px!important;
        border-radius:9px!important;
    }
}

@media(max-width:420px){
    .rsfy-agenda-compact-tools,
    .rsfy-agenda-card .rsfy-agenda-compact-tools{
        grid-template-columns:76px minmax(0,1fr)!important;
        gap:9px 7px!important;
    }
    .rsfy-agenda-period-arrows,
    .rsfy-agenda-card .rsfy-agenda-period-arrows{gap:6px!important}
    .rsfy-agenda-period-arrows button,
    .rsfy-agenda-card .rsfy-agenda-period-arrows button{
        flex-basis:34px!important;
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
        min-height:34px!important;
        max-width:34px!important;
        max-height:34px!important;
    }
}


/* 0.8.68 — Invitation avis client : éditeur premium */
.rsfy-msg-option--review{align-items:flex-start!important;padding:16px 0!important}
.rsfy-review-request-copy{width:100%;min-width:0}
.rsfy-review-message-editor{display:none;margin-top:14px;padding:14px;border:1px solid #e6e3dd;border-radius:16px;background:#faf9f7}
.rsfy-review-message-editor.is-visible{display:block}
.rsfy-review-message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:9px}
.rsfy-review-message-head span{font-size:10px;font-weight:750;color:#111}
.rsfy-review-message-head small{font-size:8px!important;color:#9a958d!important;text-align:right}
.rsfy-review-message-editor textarea{box-sizing:border-box;width:100%;min-height:118px;padding:14px 15px;border:1px solid #d9d5ce;border-radius:13px;background:#fff;color:#111;font:400 11px/1.6 inherit;resize:vertical;outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.rsfy-review-message-editor textarea:focus{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.05)}
.rsfy-review-message-foot{display:flex;justify-content:space-between;gap:15px;margin-top:8px;color:#918c84;font-size:8px;line-height:1.4}
.rsfy-review-message-foot b{flex:0 0 auto;color:#111;font-weight:700}
@media(max-width:700px){.rsfy-review-message-head,.rsfy-review-message-foot{flex-direction:column;gap:5px}.rsfy-review-message-head small{text-align:left}}

/* 0.8.69 — moderation des avis */
.rsfy-review-status-badge{display:inline-flex;align-items:center;width:max-content;margin-top:5px;padding:4px 8px;border-radius:999px;background:#f2f1ee;color:#6f6b65;font-size:9px;font-style:normal;font-weight:750}
.rsfy-review-status-badge.is-approved{background:#edf8f0;color:#24683b}.rsfy-review-status-badge.is-rejected{background:#f7eeee;color:#8b3030}.rsfy-review-status-badge.is-pending{background:#fff7df;color:#765900}
.rsfy-review-moderation{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.rsfy-review-moderation button{min-height:34px;padding:0 12px;border:1px solid #dedbd5;border-radius:10px;background:#fff;color:#111;font-size:10px;font-weight:700;cursor:pointer}.rsfy-review-moderation button.is-approve{border-color:#111;background:#111;color:#fff}

/* 0.8.70 — Avis clients : réglage unique avatar */
.rsfy-cb-reviews-display-card{display:flex;flex-direction:column;gap:14px}
.rsfy-cb-review-avatar-toggle{min-height:58px;padding:14px 12px!important;border:1px solid var(--cb-border,#deded8);border-radius:14px;background:#fff}
.rsfy-cb-review-avatar-toggle>span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.rsfy-cb-review-avatar-toggle>span:first-child strong{font-size:12px;line-height:1.25}
.rsfy-cb-review-avatar-toggle>span:first-child small{font-size:10px;line-height:1.35;color:#73736f}


/* ============================================================
   v0.8.75 — Avis clients : filtre de notes premium
   ============================================================ */
.rsfy-reviews-rating-select{position:relative;flex:0 0 180px;min-width:180px}
.rsfy-reviews-rating-select>select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.rsfy-reviews-rating-trigger{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important;height:44px!important;padding:0 14px!important;border:1px solid #deded9!important;border-radius:12px!important;background:#fff!important;color:#111!important;box-shadow:0 1px 2px rgba(17,17,17,.03)!important;font:600 10px/1 Arial,sans-serif!important;cursor:pointer!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important}
.rsfy-reviews-rating-trigger:hover,.rsfy-reviews-rating-select.is-open .rsfy-reviews-rating-trigger{border-color:#bdbdb6!important;box-shadow:0 8px 24px rgba(17,17,17,.08)!important}
.rsfy-reviews-rating-trigger:focus-visible{outline:2px solid #111!important;outline-offset:2px!important}
.rsfy-reviews-rating-trigger svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}
.rsfy-reviews-rating-select.is-open .rsfy-reviews-rating-trigger svg{transform:rotate(180deg)}
.rsfy-reviews-rating-menu{position:absolute;z-index:1000;top:calc(100% + 8px);left:0;right:0;padding:6px;border:1px solid #deded9;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(17,17,17,.14);overflow:hidden}
.rsfy-reviews-rating-menu[hidden]{display:none!important}
.rsfy-reviews-rating-menu button{appearance:none!important;-webkit-appearance:none!important;display:flex!important;align-items:center!important;width:100%!important;min-height:38px!important;padding:0 11px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#2f2f2b!important;font:500 10px/1 Arial,sans-serif!important;text-align:left!important;cursor:pointer!important;box-shadow:none!important}
.rsfy-reviews-rating-menu button:hover,.rsfy-reviews-rating-menu button:focus-visible{background:#f4f4f1!important;color:#111!important;outline:none!important}
.rsfy-reviews-rating-menu button[aria-selected="true"]{background:#111!important;color:#fff!important;font-weight:700!important}
@media(max-width:640px){.rsfy-reviews-rating-select{flex:1 1 auto;width:100%;min-width:0}.rsfy-reviews-rating-trigger{height:46px!important}.rsfy-reviews-rating-menu{position:fixed;left:14px;right:14px;top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);padding:8px;border-radius:18px;box-shadow:0 22px 80px rgba(17,17,17,.20)}}

/* Reseefy 0.8.78 — Encaissements */
.rsfy-collections-workspace{max-width:1180px;margin:0 auto 70px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111}.rsfy-collections-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px}.rsfy-collections-summary article{padding:20px 22px;border:1px solid #e6e3de;border-radius:18px;background:#fff}.rsfy-collections-summary span,.rsfy-collections-head span,.rsfy-collection-top span,.rsfy-collection-qr-wrap>span{font-size:8px;font-weight:800;letter-spacing:.14em;color:#8a857e}.rsfy-collections-summary strong{display:block;margin-top:9px;font-size:24px;letter-spacing:-.035em}.rsfy-collections-summary small{display:block;margin-top:4px;color:#807b74;font-size:10px}.rsfy-collections-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:25px 0 17px;border-bottom:1px solid #e9e6e1}.rsfy-collections-head h2{margin:5px 0 5px;font-size:25px;letter-spacing:-.035em}.rsfy-collections-head p{margin:0;max-width:670px;color:#77716b;font-size:11px;line-height:1.55}.rsfy-collections-sync{padding:9px 12px;border-radius:999px;background:#f4f3f0;font-size:9px;font-weight:700;color:#555}.rsfy-collections-list{display:grid;gap:14px;padding-top:18px}.rsfy-collection-card{display:grid;grid-template-columns:minmax(0,1fr) 205px;border:1px solid #e5e1dc;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 12px 40px rgba(17,17,17,.035)}.rsfy-collection-customer{display:flex;gap:17px;padding:23px}.rsfy-collection-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-weight:800;font-size:13px}.rsfy-collection-main{min-width:0;flex:1}.rsfy-collection-top{display:flex;justify-content:space-between;gap:20px}.rsfy-collection-top h3{margin:4px 0 2px;font-size:17px;letter-spacing:-.02em}.rsfy-collection-top p{margin:0;color:#76716a;font-size:11px}.rsfy-collection-date{text-align:right}.rsfy-collection-date strong{display:block;margin-top:5px;font-size:11px}.rsfy-collection-service{margin-top:16px;padding:10px 12px;border-radius:11px;background:#f7f6f3;font-size:11px;font-weight:700}.rsfy-collection-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.rsfy-collection-amounts div{padding:11px 12px;border:1px solid #ece8e2;border-radius:12px}.rsfy-collection-amounts span{display:block;color:#807a73;font-size:9px}.rsfy-collection-amounts strong{display:block;margin-top:4px;font-size:13px}.rsfy-collection-qr-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;border-left:1px solid #ece8e2;background:#fbfaf8;text-align:center}.rsfy-collection-qr{position:relative;width:118px;height:118px;margin:10px 0 8px;padding:7px;border:1px solid #dedad4;border-radius:15px;background:#fff}.rsfy-collection-qr img{display:block;width:100%;height:100%;border-radius:7px}.rsfy-collection-qr b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;border:4px solid #fff;border-radius:8px;background:#111;color:#fff;display:grid;place-items:center;font-size:14px}.rsfy-collection-qr-wrap>strong{font-size:14px}.rsfy-collection-qr-wrap>small{margin-top:2px;color:#858078;font-size:9px}.rsfy-collection-qr-wrap>a{margin-top:10px;color:#111;font-size:9px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.rsfy-collection-paid{display:flex;flex-direction:column;align-items:center}.rsfy-collection-paid span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#111;color:#fff;font-weight:800}.rsfy-collection-paid strong{margin-top:8px}.rsfy-collection-paid small{color:#8a857e}.rsfy-collections-empty{padding:42px;border:1px dashed #ddd8d1;border-radius:20px;text-align:center}.rsfy-collections-empty p{color:#7e7871;font-size:11px}@media(max-width:760px){.rsfy-collections-workspace{padding:0 14px}.rsfy-collections-summary{grid-template-columns:1fr}.rsfy-collections-head{align-items:flex-start;flex-direction:column}.rsfy-collection-card{grid-template-columns:1fr}.rsfy-collection-customer{padding:18px 16px}.rsfy-collection-top{flex-direction:column;gap:10px}.rsfy-collection-date{text-align:left}.rsfy-collection-amounts{grid-template-columns:1fr}.rsfy-collection-qr-wrap{border-left:0;border-top:1px solid #ece8e2;padding:22px}.rsfy-collection-qr{width:150px;height:150px}}

/* Reseefy 0.8.79 — Recherche encaissements + référence réservation */
.rsfy-collections-search-wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0 2px}.rsfy-collections-search{position:relative;display:flex;align-items:center;width:min(560px,100%);height:48px;border:1px solid #dfdcd6;border-radius:15px;background:#fff;box-shadow:0 6px 24px rgba(17,17,17,.025);transition:border-color .18s ease,box-shadow .18s ease}.rsfy-collections-search:focus-within{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.06)}.rsfy-collections-search svg{width:18px;height:18px;margin-left:15px;fill:none;stroke:#111;stroke-width:1.7;stroke-linecap:round}.rsfy-collections-search input{flex:1;min-width:0;height:100%;padding:0 42px 0 11px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#111;font:500 12px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.rsfy-collections-search input::placeholder{color:#98928a}.rsfy-collections-search button{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0!important;border-radius:50%!important;background:#f3f1ed!important;color:#111!important;font:400 18px/1 Arial,sans-serif!important;cursor:pointer}.rsfy-collections-search-count{white-space:nowrap;color:#807a73;font-size:10px;font-weight:700}.rsfy-collection-service{display:flex;align-items:center;justify-content:space-between;gap:12px}.rsfy-collection-service small{flex:0 0 auto;color:#888178;font-size:8px;font-weight:700;letter-spacing:.04em}.rsfy-collections-no-results{margin-top:18px;padding:42px;border:1px dashed #ddd8d1;border-radius:20px;text-align:center}.rsfy-collections-no-results p{margin:5px 0 0;color:#7e7871;font-size:11px}
@media(max-width:760px){.rsfy-collections-search-wrap{align-items:stretch;flex-direction:column;gap:8px}.rsfy-collections-search{width:100%}.rsfy-collections-search-count{padding-left:3px}.rsfy-collection-service{align-items:flex-start;flex-direction:column;gap:5px}}

/* Reseefy 0.8.80 — Suggestions de recherche encaissements */
.rsfy-collections-search{overflow:visible!important;z-index:20}
.rsfy-collections-search button#rsfy-collections-search-clear{display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;box-sizing:border-box!important;border:1px solid #ebe8e2!important;background:#f5f3ef!important;box-shadow:none!important;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.rsfy-collections-search button#rsfy-collections-search-clear[hidden]{display:none!important}
.rsfy-collections-search button#rsfy-collections-search-clear span{display:block!important;font:400 16px/1 Arial,sans-serif!important;transform:translateY(-1px)}
.rsfy-collections-search button#rsfy-collections-search-clear:hover{background:#ece9e3!important;border-color:#ddd8d0!important}
.rsfy-collections-search button#rsfy-collections-search-clear:active{transform:translateY(-50%) scale(.96)!important}
.rsfy-collections-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:80;padding:7px;background:#fff;border:1px solid #e5e1da;border-radius:16px;box-shadow:0 18px 45px rgba(17,17,17,.12);max-height:360px;overflow:auto}
.rsfy-collections-suggestions[hidden]{display:none!important}
.rsfy-collection-suggestion{position:static!important;transform:none!important;width:100%!important;height:auto!important;display:flex!important;align-items:center!important;gap:11px!important;text-align:left!important;padding:10px!important;margin:0!important;border:0!important;border-radius:12px!important;background:#fff!important;color:#111!important;cursor:pointer!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.rsfy-collection-suggestion:hover,.rsfy-collection-suggestion:focus{background:#f7f5f1!important;outline:none!important}
.rsfy-collection-suggestion-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-size:11px;font-weight:700}
.rsfy-collection-suggestion-copy{display:grid;min-width:0;gap:2px;flex:1}
.rsfy-collection-suggestion-copy strong{font-size:12px;line-height:1.25;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsfy-collection-suggestion-copy small{font-size:10px;line-height:1.25;color:#756f68;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsfy-collection-suggestion-copy em{font-size:8px;line-height:1.2;color:#9a948d;font-style:normal;font-weight:700;letter-spacing:.03em}
@media(max-width:760px){.rsfy-collections-suggestions{top:calc(100% + 6px);border-radius:14px}.rsfy-collection-suggestion{padding:11px!important}}

/* Reseefy 0.8.81 — Envoi du lien de paiement + désactivation après règlement */
.rsfy-collection-send-link{margin-top:12px;width:100%;min-height:38px;padding:9px 14px;border:1px solid #111;border-radius:999px;background:#111;color:#fff;font:700 10px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;transition:opacity .18s ease,transform .18s ease,background .18s ease}
.rsfy-collection-send-link:hover{transform:translateY(-1px)}
.rsfy-collection-send-link:disabled{cursor:default;opacity:.62;transform:none}
.rsfy-collection-send-link.is-sent{background:#fff;color:#111;border-color:#d8d4ce}
.rsfy-collection-send-status{min-height:14px;margin-top:7px;color:#7f7a73;font-size:9px;line-height:1.35;text-align:center}
.rsfy-collection-card.is-paid .rsfy-collection-qr-wrap,.rsfy-collection-qr-wrap.is-disabled{background:#f3f2ef;color:#999;border-color:#e6e2dc;filter:grayscale(1)}
.rsfy-collection-card.is-paid .rsfy-collection-qr-wrap *{pointer-events:none}
.rsfy-collection-card.is-paid .rsfy-collection-qr-wrap a,.rsfy-collection-card.is-paid .rsfy-collection-qr-wrap button{opacity:.45;text-decoration:none}
.rsfy-collection-card.is-paid .rsfy-collection-paid span{background:#c7c3bd;color:#fff}
.rsfy-collection-card.is-paid .rsfy-collection-paid strong{color:#777}
@media(max-width:760px){.rsfy-collection-send-link{min-height:44px;font-size:11px}.rsfy-collection-send-status{font-size:10px}}

/* Reseefy 0.8.82 — verrouillage du CTA Encaissements contre les styles du thème */
.rsfy-cloud-portal .rsfy-collection-qr-wrap button.rsfy-collection-send-link,
.rsfy-cloud-portal button.rsfy-collection-send-link,
button.rsfy-collection-send-link{
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:40px !important;
  height:40px !important;
  margin:12px 0 0 !important;
  padding:0 16px !important;
  border:1px solid #111111 !important;
  border-radius:12px !important;
  background:#111111 !important;
  background-image:none !important;
  color:#ffffff !important;
  box-shadow:none !important;
  text-shadow:none !important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  font-style:normal !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
  opacity:1 !important;
  transform:none !important;
  transition:background-color .18s ease,opacity .18s ease !important;
}
.rsfy-cloud-portal .rsfy-collection-qr-wrap button.rsfy-collection-send-link:hover,
.rsfy-cloud-portal button.rsfy-collection-send-link:hover,
button.rsfy-collection-send-link:hover{
  background:#242424 !important;
  border-color:#242424 !important;
  color:#ffffff !important;
  transform:none !important;
}
.rsfy-cloud-portal .rsfy-collection-qr-wrap button.rsfy-collection-send-link:focus,
.rsfy-cloud-portal button.rsfy-collection-send-link:focus,
button.rsfy-collection-send-link:focus{
  outline:2px solid rgba(17,17,17,.16) !important;
  outline-offset:2px !important;
}
.rsfy-cloud-portal .rsfy-collection-qr-wrap button.rsfy-collection-send-link:disabled,
.rsfy-cloud-portal button.rsfy-collection-send-link:disabled,
button.rsfy-collection-send-link:disabled{
  background:#111111 !important;
  border-color:#111111 !important;
  color:#ffffff !important;
  opacity:.55 !important;
  cursor:default !important;
}
.rsfy-cloud-portal .rsfy-collection-qr-wrap button.rsfy-collection-send-link.is-sent,
.rsfy-cloud-portal button.rsfy-collection-send-link.is-sent,
button.rsfy-collection-send-link.is-sent{
  background:#f5f3ef !important;
  border-color:#dedad4 !important;
  color:#111111 !important;
}
@media(max-width:760px){
  .rsfy-cloud-portal .rsfy-collection-qr-wrap button.rsfy-collection-send-link,
  .rsfy-cloud-portal button.rsfy-collection-send-link,
  button.rsfy-collection-send-link{height:44px !important;min-height:44px !important;font-size:12px !important;border-radius:12px !important;}
}

/* Reseefy 0.8.83 — verrouillage des cartes de suggestions Encaissements contre le thème */
.rsfy-collections-workspace .rsfy-collections-search .rsfy-collections-suggestions{
  border-radius:16px!important;
  overflow:hidden!important;
}
.rsfy-collections-workspace .rsfy-collections-search .rsfy-collections-suggestions .rsfy-collection-suggestion,
.rsfy-collections-workspace .rsfy-collections-search .rsfy-collections-suggestions button.rsfy-collection-suggestion{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  display:flex!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:54px!important;
  margin:0!important;
  padding:9px 12px!important;
  border:0!important;
  border-radius:10px!important;
  clip-path:none!important;
  background:#f5f3ef!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#111!important;
  text-align:left!important;
  line-height:normal!important;
}
.rsfy-collections-workspace .rsfy-collections-search .rsfy-collections-suggestions .rsfy-collection-suggestion + .rsfy-collection-suggestion{
  margin-top:6px!important;
}
.rsfy-collections-workspace .rsfy-collections-search .rsfy-collections-suggestions .rsfy-collection-suggestion::before,
.rsfy-collections-workspace .rsfy-collections-search .rsfy-collections-suggestions .rsfy-collection-suggestion::after{
  content:none!important;
  display:none!important;
}
.rsfy-collections-workspace .rsfy-collections-search .rsfy-collections-suggestions .rsfy-collection-suggestion:hover,
.rsfy-collections-workspace .rsfy-collections-search .rsfy-collections-suggestions .rsfy-collection-suggestion:focus-visible{
  border-radius:10px!important;
  background:#ece9e3!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Reseefy 0.8.84 — lien de paiement libre + inscription client avant paiement */
.rsfy-collections-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.rsfy-collections-new-link{appearance:none!important;-webkit-appearance:none!important;border:1px solid #111!important;background:#111!important;color:#fff!important;border-radius:12px!important;min-height:42px!important;padding:0 18px!important;font:600 13px/1 Arial,sans-serif!important;box-shadow:none!important;transform:none!important;cursor:pointer!important}
.rsfy-collections-new-link:hover{background:#242424!important;border-color:#242424!important;color:#fff!important}
.rsfy-payment-request-modal[hidden]{display:none!important}.rsfy-payment-request-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:24px}.rsfy-payment-request-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.36);backdrop-filter:blur(6px)}
.rsfy-payment-request-dialog{position:relative;z-index:1;width:min(560px,calc(100vw - 32px));background:#fff;border:1px solid #e5e2dc;border-radius:24px;padding:30px;box-shadow:0 28px 80px rgba(17,17,17,.18);font-family:Arial,sans-serif;color:#111}
.rsfy-payment-request-close{position:absolute;top:18px;right:18px;width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;border:1px solid #dedbd5!important;border-radius:50%!important;background:#fff!important;color:#111!important;font:400 22px/38px Arial,sans-serif!important;box-shadow:none!important;transform:none!important}
.rsfy-payment-request-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;color:#85817a;margin-bottom:8px}.rsfy-payment-request-dialog h3{font:700 28px/1.08 Arial,sans-serif;margin:0 52px 10px 0}.rsfy-payment-request-dialog>p{margin:0 0 24px;color:#6f6a63;font:400 14px/1.55 Arial,sans-serif}
.rsfy-payment-request-dialog form{display:grid;gap:16px}.rsfy-payment-request-dialog label{display:grid;gap:7px;color:#111;font:600 12px/1.2 Arial,sans-serif}.rsfy-payment-request-dialog label span em{font-style:normal;color:#918d86;font-weight:400;margin-left:5px}
.rsfy-payment-request-dialog input,.rsfy-payment-request-dialog select{appearance:none!important;-webkit-appearance:none!important;width:100%!important;box-sizing:border-box!important;min-height:48px!important;border:1px solid #dedbd5!important;border-radius:12px!important;background:#fff!important;color:#111!important;padding:0 14px!important;font:400 14px/1.2 Arial,sans-serif!important;box-shadow:none!important;outline:none!important}.rsfy-payment-request-dialog input:focus,.rsfy-payment-request-dialog select:focus{border-color:#111!important}
.rsfy-payment-request-note{padding:14px 16px;border-radius:14px;background:#f6f5f2;display:grid;gap:4px}.rsfy-payment-request-note strong{font:600 12px/1.2 Arial,sans-serif}.rsfy-payment-request-note small{font:400 12px/1.45 Arial,sans-serif;color:#747069}
.rsfy-payment-request-submit{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:48px!important;border:1px solid #111!important;border-radius:12px!important;background:#111!important;color:#fff!important;font:600 14px/1 Arial,sans-serif!important;box-shadow:none!important;transform:none!important}.rsfy-payment-request-submit:disabled{opacity:.55!important}.rsfy-payment-request-status{min-height:18px;text-align:center;font:500 12px/1.4 Arial,sans-serif}.rsfy-payment-request-status.is-error{color:#b42318}.rsfy-payment-request-status.is-success{color:#1d6b46}.rsfy-collection-scheduled{display:block;margin-top:3px;color:#7f7a73!important}
html.rsfy-modal-open{overflow:hidden}
@media(max-width:700px){.rsfy-collections-head-actions{width:100%;justify-content:stretch}.rsfy-collections-new-link{width:100%!important}.rsfy-payment-request-modal{padding:12px;align-items:end}.rsfy-payment-request-dialog{width:100%;border-radius:24px 24px 0 0;padding:26px 20px 24px;max-height:92vh;overflow:auto}.rsfy-payment-request-dialog h3{font-size:24px}}

/* Reseefy 0.8.87 — Personnalisation avancée des disponibilités */
.rsfy-dh-advanced-card{background:linear-gradient(180deg,#fff 0%,#fbfaf8 100%);border-color:#ddd8d0!important}
.rsfy-dh-advanced-head{align-items:flex-start!important;gap:18px}
.rsfy-dh-kicker{display:block;margin:0 0 7px;font:700 9px/1.2 Arial,sans-serif;letter-spacing:.15em;color:#8b867f}
.rsfy-dh-advanced-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.rsfy-dh-primary,.rsfy-dh-ghost,.rsfy-dh-customizations-button,
.rsfy-dh-modal-dialog button,.rsfy-dh-filter-tabs button,.rsfy-dh-status-choice button{
  -webkit-appearance:none!important;appearance:none!important;box-shadow:none!important;transform:none!important;background-image:none!important
}
.rsfy-dh-primary{min-height:42px!important;padding:0 17px!important;border:1px solid #111!important;border-radius:11px!important;background:#111!important;color:#fff!important;font:600 12px/1 Arial,sans-serif!important;cursor:pointer!important}
.rsfy-dh-primary:hover{background:#272727!important;border-color:#272727!important;color:#fff!important}
.rsfy-dh-primary:disabled{opacity:.38!important;cursor:not-allowed!important}
.rsfy-dh-customizations-button{display:inline-flex!important;align-items:center!important;gap:8px!important}
.rsfy-dh-customizations-button span{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#111;color:#fff;font:700 10px/1 Arial,sans-serif}
.rsfy-dh-customizations-preview{margin-top:18px;display:grid;gap:8px}
.rsfy-dh-empty-customization,.rsfy-dh-mini-customization{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid #ebe7e1;border-radius:14px;background:#fff}
.rsfy-dh-empty-customization>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f4f1ec;color:#8b867f;font-size:10px}
.rsfy-dh-empty-customization div,.rsfy-dh-mini-customization div{display:grid;gap:3px}
.rsfy-dh-empty-customization strong,.rsfy-dh-mini-customization strong{font:600 12px/1.3 Arial,sans-serif;color:#111}
.rsfy-dh-empty-customization small,.rsfy-dh-mini-customization small{font:400 11px/1.35 Arial,sans-serif;color:#77726c}
.rsfy-dh-mini-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:#111}.rsfy-dh-mini-dot.is-open{background:#3b8f68}.rsfy-dh-mini-dot.is-closed{background:#111}
.rsfy-dh-advanced-modal[hidden],.rsfy-dh-list-modal[hidden]{display:none!important}
.rsfy-dh-advanced-modal,.rsfy-dh-list-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:24px}
.rsfy-dh-modal-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.34);backdrop-filter:blur(7px)}
.rsfy-dh-modal-dialog{position:relative;z-index:1;width:min(520px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 40px));overflow:auto;box-sizing:border-box;padding:28px;border:1px solid #e2ded8;border-radius:24px;background:#fff;box-shadow:0 30px 85px rgba(17,17,17,.18);color:#111;font-family:Arial,sans-serif}
.rsfy-dh-modal-dialog h3{margin:0 46px 8px 0;font:700 26px/1.08 Arial,sans-serif;letter-spacing:-.02em;color:#111}.rsfy-dh-modal-dialog>p,.rsfy-dh-modal-step>p{margin:0 0 20px;font:400 13px/1.5 Arial,sans-serif;color:#716d67}
.rsfy-dh-modal-close{position:absolute!important;top:16px!important;right:16px!important;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border:1px solid #dfdbd5!important;border-radius:50%!important;background:#fff!important;color:#111!important;font:400 22px/36px Arial,sans-serif!important;cursor:pointer!important}
.rsfy-dh-modal-close::before,.rsfy-dh-modal-close::after,.rsfy-dh-primary::before,.rsfy-dh-primary::after,.rsfy-dh-ghost::before,.rsfy-dh-ghost::after,.rsfy-dh-filter-tabs button::before,.rsfy-dh-filter-tabs button::after,.rsfy-dh-status-choice button::before,.rsfy-dh-status-choice button::after{content:none!important;display:none!important}
.rsfy-dh-calendar{border:1px solid #e2ded8;border-radius:18px;padding:14px;background:#fff}
.rsfy-dh-calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:10px}.rsfy-dh-calendar-head strong{text-align:center;font:700 14px/1.2 Arial,sans-serif;color:#111}.rsfy-dh-calendar-head button{width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border:1px solid #e0ddd8!important;border-radius:10px!important;background:#fff!important;color:#111!important;font:500 22px/36px Arial,sans-serif!important;cursor:pointer!important}
.rsfy-dh-calendar-week,.rsfy-dh-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.rsfy-dh-calendar-week{margin:4px 0 6px}.rsfy-dh-calendar-week span{text-align:center;color:#96918a;font:700 9px/1 Arial,sans-serif}
.rsfy-dh-calendar-grid button{height:39px!important;min-height:39px!important;min-width:0!important;padding:0!important;border:0!important;border-radius:10px!important;background:#fff!important;color:#111!important;font:500 12px/39px Arial,sans-serif!important;cursor:pointer!important}.rsfy-dh-calendar-grid button:hover{background:#f3f1ed!important}.rsfy-dh-calendar-grid button.is-range{background:#f0ede8!important;border-radius:8px!important}.rsfy-dh-calendar-grid button.is-selected{background:#111!important;color:#fff!important}.rsfy-dh-calendar-grid .is-empty{height:39px}
.rsfy-dh-range-summary{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#f6f4f1;color:#6d6963;font:500 11px/1.35 Arial,sans-serif}
.rsfy-dh-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.rsfy-dh-ghost{min-height:42px!important;padding:0 15px!important;border:1px solid #ddd9d3!important;border-radius:11px!important;background:#fff!important;color:#66615b!important;font:600 12px/1 Arial,sans-serif!important;cursor:pointer!important}
.rsfy-dh-status-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.rsfy-dh-status-choice button{position:relative!important;display:grid!important;grid-template-columns:34px 1fr!important;grid-template-rows:auto auto!important;column-gap:10px!important;text-align:left!important;min-height:88px!important;padding:14px!important;border:1px solid #e3dfd9!important;border-radius:15px!important;background:#fff!important;color:#111!important;cursor:pointer!important}.rsfy-dh-status-choice button.is-selected{border-color:#111!important;box-shadow:0 0 0 1px #111 inset!important}.rsfy-dh-status-choice strong{align-self:end;font:700 13px/1.2 Arial,sans-serif}.rsfy-dh-status-choice small{grid-column:2;font:400 10px/1.35 Arial,sans-serif;color:#7c7771}.rsfy-dh-choice-icon{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f2f0ec;color:#111;font:700 15px/1 Arial,sans-serif}.rsfy-dh-choice-icon.is-open{background:#eaf6ef;color:#2f7f59}.rsfy-dh-choice-icon.is-closed{background:#f2f0ec;color:#111}
.rsfy-dh-holiday-toggle{position:relative;display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:14px!important;padding:14px 15px!important;border:1px solid #e5e1db!important;border-radius:14px!important;background:#faf9f7!important;cursor:pointer!important}.rsfy-dh-holiday-toggle input{position:absolute;opacity:0;pointer-events:none}.rsfy-dh-holiday-toggle span{display:grid;gap:2px}.rsfy-dh-holiday-toggle strong{font:600 12px/1.2 Arial,sans-serif}.rsfy-dh-holiday-toggle small{font:400 10px/1.35 Arial,sans-serif;color:#817c75}.rsfy-dh-holiday-toggle i{position:relative;width:38px;height:22px;border-radius:999px;background:#d8d4ce;transition:.2s}.rsfy-dh-holiday-toggle i::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}.rsfy-dh-holiday-toggle input:checked~i{background:#111}.rsfy-dh-holiday-toggle input:checked~i::after{left:19px}
.rsfy-dh-open-hours{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;margin-top:14px;padding:14px;border:1px solid #e7e3dd;border-radius:14px;background:#fff}.rsfy-dh-open-hours label{display:grid;gap:6px;font:600 10px/1.2 Arial,sans-serif;color:#555}.rsfy-dh-open-hours input{width:100%!important;min-height:42px!important;border:1px solid #ddd9d3!important;border-radius:10px!important;background:#fff!important;color:#111!important;padding:0 11px!important;box-sizing:border-box!important}
.rsfy-dh-filter-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.rsfy-dh-filter-tabs button{min-height:36px!important;padding:0 13px!important;border:1px solid #e1ddd7!important;border-radius:999px!important;background:#fff!important;color:#66615b!important;font:600 10px/1 Arial,sans-serif!important;cursor:pointer!important}.rsfy-dh-filter-tabs button.is-active{background:#111!important;border-color:#111!important;color:#fff!important}
.rsfy-dh-customization-list{display:grid;gap:9px}.rsfy-dh-customization-item{display:grid;grid-template-columns:38px 1fr 34px;align-items:center;gap:11px;padding:13px;border:1px solid #e7e3dd;border-radius:14px;background:#fff}.rsfy-dh-customization-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f2f0ec;color:#111;font:700 15px/1 Arial,sans-serif}.rsfy-dh-customization-icon.is-open{background:#eaf6ef;color:#2f7f59}.rsfy-dh-customization-copy{display:grid;gap:4px;min-width:0}.rsfy-dh-customization-copy strong{font:600 12px/1.25 Arial,sans-serif}.rsfy-dh-customization-copy span{font:400 10px/1.35 Arial,sans-serif;color:#78736d}.rsfy-dh-list-delete{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;border:1px solid #e0ddd7!important;border-radius:10px!important;background:#fff!important;color:#111!important;font:400 18px/32px Arial,sans-serif!important;cursor:pointer!important}.rsfy-dh-list-empty{padding:26px 18px;border:1px dashed #ddd8d1;border-radius:14px;text-align:center;color:#817c75;font:500 11px/1.4 Arial,sans-serif}
html.rsfy-modal-open{overflow:hidden}
@media(max-width:760px){
 .rsfy-dh-advanced-head{display:grid!important}.rsfy-dh-advanced-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.rsfy-dh-advanced-actions button{width:100%!important;justify-content:center!important;padding-left:10px!important;padding-right:10px!important}
 .rsfy-dh-advanced-modal,.rsfy-dh-list-modal{padding:10px;align-items:end}.rsfy-dh-modal-dialog{width:100%;max-height:92vh;border-radius:24px 24px 0 0;padding:24px 18px}.rsfy-dh-modal-dialog h3{font-size:23px}
 .rsfy-dh-status-choice{grid-template-columns:1fr}.rsfy-dh-modal-actions{position:sticky;bottom:-24px;margin:18px -18px -24px;padding:12px 18px 18px;background:linear-gradient(180deg,rgba(255,255,255,.7),#fff 30%);z-index:5}.rsfy-dh-modal-actions .rsfy-dh-primary{flex:1}
 .rsfy-dh-calendar-grid button{height:42px!important;min-height:42px!important;line-height:42px!important}.rsfy-dh-calendar-grid .is-empty{height:42px}.rsfy-dh-open-hours{grid-template-columns:1fr}.rsfy-dh-open-hours>span{display:none}
}
@media(max-width:420px){.rsfy-dh-advanced-actions{grid-template-columns:1fr}.rsfy-dh-calendar{padding:10px}.rsfy-dh-calendar-week,.rsfy-dh-calendar-grid{gap:3px}.rsfy-dh-calendar-grid button{height:39px!important;min-height:39px!important;line-height:39px!important}.rsfy-dh-calendar-grid .is-empty{height:39px}}

/* 0.8.89 — Tarification sur devis */
.rsfy-service-meta-grid select[data-key="quote_only"]{min-height:44px!important;border:1px solid #dedbd5!important;border-radius:12px!important;background:#fff!important;color:#111!important;font-weight:650!important;padding:0 38px 0 12px!important;box-shadow:none!important}
.rsfy-quote-badge{display:inline-flex;align-items:center;width:max-content;margin-top:6px;padding:5px 9px;border-radius:999px;background:#f1edff;color:#5c3be7;font-size:11px;font-weight:800;letter-spacing:.01em}


/* 0.9.03 — Les réservations sur devis utilisent un libellé texte sobre, sans pastille. */
.rsfy-cloud-portal .rsfy-quote-badge,
.rsfy-quote-badge{
  display:inline!important;
  width:auto!important;
  margin:0 0 0 8px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#111!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  line-height:inherit!important;
  box-shadow:none!important;
}


/* 0.9.04 — Tarification Sur devis: champ prix masqué et libellé sobre. */
.rsfy-service-price-field[hidden]{display:none!important}
.rsfy-service-editor:has(select[data-key="quote_only"] option:checked[value="1"]) .rsfy-service-price-field{display:none!important}
.rp-quote-label{display:inline!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#111!important;font-size:13px!important;font-weight:700!important;line-height:1.35!important;box-shadow:none!important}

/* ===== v0.9.12 — Navigation Cloud mobile premium : drawer latéral + compte séparé ===== */
.rsfy-sidebar-drawer{display:contents}
.rsfy-sidebar-drawer-head,.rsfy-mobile-sidebar-backdrop,.rsfy-user-more{display:none}

@media(max-width:980px){
  body.rsfy-mobile-nav-open{overflow:hidden!important;touch-action:none}

  /* Sur mobile la barre du haut ne contient plus les anciens onglets horizontaux. */
  .rsfy-portal>.rsfy-sidebar{
    position:sticky!important;
    top:0!important;
    z-index:120!important;
    width:100%!important;
    height:auto!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    border-bottom:1px solid #ecece8!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:saturate(180%) blur(18px)!important;
    -webkit-backdrop-filter:saturate(180%) blur(18px)!important;
  }
  .rsfy-sidebar>.rsfy-mobile-topbar{
    position:relative!important;
    z-index:126!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:78px!important;
    margin:0!important;
    padding:14px 18px!important;
    box-sizing:border-box!important;
    background:transparent!important;
  }
  .rsfy-mobile-topbar .rsfy-brand{margin:0!important;min-width:0!important}
  .rsfy-mobile-topbar .rsfy-cloud-brand-logo{height:27px!important;max-width:146px!important}
  .rsfy-mobile-menu-toggle{
    display:inline-flex!important;
    width:46px!important;
    height:46px!important;
    flex:0 0 46px!important;
    border:0!important;
    border-radius:14px!important;
    background:transparent!important;
    box-shadow:none!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:7px!important;
    padding:0!important;
    cursor:pointer!important;
  }
  .rsfy-mobile-menu-toggle span{width:24px!important;height:2px!important;background:#111!important;border-radius:999px!important}
  .rsfy-mobile-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)!important}
  .rsfy-mobile-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)!important}

  /* Fond assombri du menu principal. */
  .rsfy-mobile-sidebar-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:122!important;
    background:rgba(17,17,17,.28)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .24s ease!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
  }
  .rsfy-sidebar.is-mobile-open .rsfy-mobile-sidebar-backdrop{opacity:1!important;pointer-events:auto!important}

  /* Drawer principal : apparition de gauche vers la droite. */
  .rsfy-sidebar-drawer{
    display:flex!important;
    position:fixed!important;
    inset:0 auto 0 0!important;
    z-index:124!important;
    width:min(88vw,368px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-right:1px solid #e8e8e4!important;
    border-radius:0 22px 22px 0!important;
    background:#fff!important;
    box-shadow:22px 0 54px rgba(0,0,0,.12)!important;
    transform:translateX(-103%)!important;
    transition:transform .28s cubic-bezier(.22,.8,.22,1)!important;
  }
  .rsfy-sidebar.is-mobile-open .rsfy-sidebar-drawer{transform:translateX(0)!important}
  .rsfy-sidebar-drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    min-height:80px!important;
    padding:16px 18px!important;
    border-bottom:1px solid #efefeb!important;
    background:#fff!important;
    flex:0 0 auto!important;
  }
  .rsfy-sidebar-drawer-head .rsfy-cloud-brand-logo{height:27px!important;max-width:146px!important}
  .rsfy-sidebar-drawer-close{
    display:inline-grid!important;
    place-items:center!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    padding:0!important;
    border:1px solid #e5e5e1!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#111!important;
    cursor:pointer!important;
  }
  .rsfy-sidebar-drawer-close svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important}

  /* Même menu, mêmes icônes et mêmes onglets que sur desktop. */
  .rsfy-sidebar .rsfy-desktop-nav{
    display:flex!important;
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    flex-direction:column!important;
    gap:3px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    margin:0!important;
    padding:14px 12px 18px!important;
    scroll-snap-type:none!important;
    scrollbar-width:none!important;
    overscroll-behavior:contain!important;
    box-sizing:border-box!important;
  }
  .rsfy-sidebar .rsfy-desktop-nav::-webkit-scrollbar{display:none!important}
  .rsfy-sidebar .rsfy-desktop-nav>a,
  .rsfy-sidebar .rsfy-desktop-nav>button{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-height:46px!important;
    gap:12px!important;
    margin:0!important;
    padding:0 13px!important;
    border:0!important;
    border-radius:12px!important;
    background:transparent!important;
    color:#111!important;
    text-align:left!important;
    text-decoration:none!important;
    white-space:normal!important;
    font:500 14px/1.2 Arial,Helvetica,sans-serif!important;
    scroll-snap-align:none!important;
    box-sizing:border-box!important;
    cursor:pointer!important;
  }
  .rsfy-sidebar .rsfy-desktop-nav>a:hover,
  .rsfy-sidebar .rsfy-desktop-nav>button:hover{background:#f5f5f2!important}
  .rsfy-sidebar .rsfy-desktop-nav>a.active,
  .rsfy-sidebar .rsfy-desktop-nav>button.active{background:#eeeeeb!important;color:#111!important;font-weight:700!important}
  .rsfy-sidebar .rsfy-nav-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
    margin:0!important;
  }
  .rsfy-sidebar .rsfy-nav-icon img{display:block!important;width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important;object-fit:contain!important}
  .rsfy-sidebar .rsfy-nav-icon svg{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  .rsfy-sidebar .rsfy-nav-label{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .rsfy-sidebar .rsfy-nav-alert{margin-left:auto!important}

  /* La fiche utilisateur est la seule zone fixe du bas dans le menu principal. */
  .rsfy-sidebar .rsfy-user{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-height:82px!important;
    gap:12px!important;
    margin:0!important;
    padding:14px 14px calc(14px + env(safe-area-inset-bottom))!important;
    border-top:1px solid #e8e8e4!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  .rsfy-sidebar .rsfy-user>span{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;flex:0 0 46px!important;border-radius:50%!important;background:#111!important;color:#fff!important;font:700 17px/1 Arial,Helvetica,sans-serif!important}
  .rsfy-sidebar .rsfy-user>div{flex:1 1 auto!important;min-width:0!important}
  .rsfy-sidebar .rsfy-user strong,.rsfy-sidebar .rsfy-user small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .rsfy-sidebar .rsfy-user strong{font-size:14px!important;line-height:1.25!important;color:#111!important}
  .rsfy-sidebar .rsfy-user small{margin-top:3px!important;font-size:11px!important;color:#7a7a76!important}
  .rsfy-sidebar .rsfy-user-more{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    padding:0 0 7px!important;
    border:0!important;
    border-radius:12px!important;
    background:transparent!important;
    color:#111!important;
    font:700 20px/1 Arial,Helvetica,sans-serif!important;
    letter-spacing:2px!important;
    cursor:pointer!important;
  }
  .rsfy-sidebar .rsfy-user-more:hover{background:#f3f3f0!important}

  /* Le menu compte est désormais le second drawer, complémentaire, depuis la droite. */
  .rsfy-profile-overlay{
    z-index:140!important;
    padding:0!important;
    justify-content:flex-end!important;
    background:rgba(17,17,17,.30)!important;
    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
  }
  .rsfy-profile-panel{
    width:min(92vw,410px)!important;
    max-width:410px!important;
    height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-left:1px solid #e7e7e2!important;
    border-radius:22px 0 0 22px!important;
    box-shadow:-22px 0 54px rgba(0,0,0,.12)!important;
    background:#fff!important;
    animation:rsfyProfileMobileRightIn .28s cubic-bezier(.22,.8,.22,1) both!important;
  }
  @keyframes rsfyProfileMobileRightIn{from{transform:translateX(104%)}to{transform:translateX(0)}}
  .rsfy-profile-head{background:#fff!important;border-bottom:1px solid #ededE8!important;min-height:92px!important;padding:18px!important}
  .rsfy-profile-layout{background:#fff!important}
  .rsfy-profile-nav{background:#fff!important}
  .rsfy-profile-mobile-account{background:#fff!important}

  /* Le contenu de la page démarre directement sous la topbar, sans bandeau d'onglets. */
  .rsfy-main{padding-top:24px!important}
}

@media(max-width:520px){
  .rsfy-sidebar-drawer{width:min(91vw,352px)!important;border-radius:0 18px 18px 0!important}
  .rsfy-sidebar>.rsfy-mobile-topbar{min-height:72px!important;padding:12px 14px!important}
  .rsfy-profile-panel{width:94vw!important;max-width:94vw!important;border-radius:18px 0 0 18px!important}
}


/* ===== v0.9.13 — Finitions navigation mobile : un seul header, angles droits, lisibilité renforcée ===== */
@media(max-width:980px){
  /* Le drawer passe au-dessus de la topbar : plus de logo ni de croix en double à l'ouverture. */
  .rsfy-sidebar-drawer{z-index:132!important;border-radius:0!important}
  .rsfy-mobile-sidebar-backdrop{z-index:130!important}
  .rsfy-sidebar.is-mobile-open>.rsfy-mobile-topbar{visibility:hidden!important;pointer-events:none!important}

  /* En-tête du drawer propre, sans doublon, avec fermeture parfaitement alignée. */
  .rsfy-sidebar-drawer-head{
    min-height:78px!important;
    padding:14px 18px!important;
    border-radius:0!important;
  }
  .rsfy-sidebar-drawer-close{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    margin:0!important;
  }
  .rsfy-sidebar-drawer-close svg{width:24px!important;height:24px!important;stroke-width:2.2!important}

  /* Hamburger fermé : alignement net dans la topbar. */
  .rsfy-mobile-menu-toggle{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    margin:0!important;
    border-radius:0!important;
  }
  .rsfy-mobile-menu-toggle span{width:27px!important;height:2.4px!important}

  /* Menu principal façon ChatGPT : icônes et libellés plus grands, plus aérés. */
  .rsfy-sidebar .rsfy-desktop-nav{
    gap:4px!important;
    padding:12px 14px 18px!important;
  }
  .rsfy-sidebar .rsfy-desktop-nav>a,
  .rsfy-sidebar .rsfy-desktop-nav>button{
    min-height:56px!important;
    gap:15px!important;
    padding:0 16px!important;
    border-radius:10px!important;
    font:500 17px/1.25 Arial,Helvetica,sans-serif!important;
  }
  .rsfy-sidebar .rsfy-nav-icon{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
  }
  .rsfy-sidebar .rsfy-nav-icon img{
    width:24px!important;
    height:24px!important;
    max-width:24px!important;
    max-height:24px!important;
  }
  .rsfy-sidebar .rsfy-nav-icon svg{
    width:24px!important;
    height:24px!important;
    stroke-width:1.8!important;
  }

  /* Conteneur principal du menu : angles droits en haut et en bas. */
  .rsfy-sidebar-drawer,
  .rsfy-sidebar-drawer-head,
  .rsfy-sidebar .rsfy-user{border-radius:0!important}
}
@media(max-width:520px){
  .rsfy-sidebar-drawer{width:min(91vw,352px)!important;border-radius:0!important}
  .rsfy-sidebar .rsfy-desktop-nav>a,
  .rsfy-sidebar .rsfy-desktop-nav>button{min-height:55px!important;font-size:16.5px!important}
  .rsfy-sidebar .rsfy-nav-icon{width:27px!important;height:27px!important;flex-basis:27px!important}
  .rsfy-sidebar .rsfy-nav-icon img,
  .rsfy-sidebar .rsfy-nav-icon svg{width:23px!important;height:23px!important;max-width:23px!important;max-height:23px!important}
}


/* ===== v0.9.14 — Menu compte mobile : points discrets, panneau carré, icônes + alignement premium ===== */
@media(max-width:980px){
  /* Bouton trois points du menu principal : plus discret et mieux proportionné. */
  .rsfy-sidebar .rsfy-user-more{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px!important;
    padding:0 0 5px!important;
    border-radius:0!important;
    font-size:14px!important;
    line-height:1!important;
    letter-spacing:1.1px!important;
  }

  /* Le second drawer (Profil et gestion) garde des bords parfaitement droits. */
  .rsfy-profile-panel{
    border-radius:0!important;
  }
  .rsfy-profile-head,
  .rsfy-profile-layout,
  .rsfy-profile-mobile-account{
    border-radius:0!important;
  }

  /* Navigation du menu compte : grille cohérente, icônes alignées comme le menu principal. */
  .rsfy-profile-nav{
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
    padding:18px 16px 22px!important;
    background:#fff!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:none!important;
  }
  .rsfy-profile-nav::-webkit-scrollbar{display:none!important}
  .rsfy-profile-nav button,
  .rsfy-profile-nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:56px!important;
    gap:15px!important;
    margin:0!important;
    padding:0 16px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    font:500 16.5px/1.25 Arial,Helvetica,sans-serif!important;
    text-align:left!important;
    text-decoration:none!important;
    box-sizing:border-box!important;
    white-space:normal!important;
  }
  .rsfy-profile-nav button:hover,
  .rsfy-profile-nav a:hover{background:#f5f5f2!important;color:#111!important}
  .rsfy-profile-nav button.active,
  .rsfy-profile-nav button.active:hover{
    background:#111!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  .rsfy-profile-menu-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:27px!important;
    height:27px!important;
    flex:0 0 27px!important;
    margin:0!important;
    color:currentColor!important;
  }
  .rsfy-profile-menu-icon img{
    display:block!important;
    width:23px!important;
    height:23px!important;
    max-width:23px!important;
    max-height:23px!important;
    object-fit:contain!important;
  }
  .rsfy-profile-nav button.active .rsfy-profile-menu-icon img{
    filter:brightness(0)!important;
  }
  .rsfy-profile-menu-icon svg{
    display:block!important;
    width:23px!important;
    height:23px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .rsfy-profile-menu-text{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .rsfy-profile-alert{
    flex:0 0 20px!important;
    margin-left:auto!important;
  }
  .rsfy-profile-nav-label{
    display:block!important;
    margin:10px 16px 8px!important;
    padding:0!important;
    border:0!important;
    color:#7d7d78!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }
  .rsfy-profile-nav-label--cloud{
    margin-top:18px!important;
    padding-top:16px!important;
    border-top:1px solid #ecece8!important;
  }

  /* Trois points du footer du second drawer également plus discret. */
  .rsfy-profile-mobile-more{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    padding:0 0 4px!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:1px!important;
  }
}
@media(max-width:520px){
  .rsfy-profile-panel{border-radius:0!important}
  .rsfy-profile-nav{padding:16px 14px 20px!important}
  .rsfy-profile-nav button,
  .rsfy-profile-nav a{min-height:54px!important;font-size:16px!important;padding:0 14px!important;gap:14px!important}
  .rsfy-profile-menu-icon{width:26px!important;height:26px!important;flex-basis:26px!important}
  .rsfy-profile-menu-icon img,
  .rsfy-profile-menu-icon svg{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important}
}

/* ===== v0.9.16 — Avatar Cloud synchronisé + navigation Profil desktop alignée ===== */
.rsfy-account-avatar{
  overflow:hidden!important;
  padding:0!important;
}
.rsfy-account-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
.rsfy-profile-avatar-field{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
  margin:0 0 22px!important;
  padding:18px!important;
  border:1px solid #e5e5e1!important;
  border-radius:16px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.rsfy-profile-avatar-preview{
  display:grid!important;
  place-items:center!important;
  flex:0 0 72px!important;
  width:72px!important;
  height:72px!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background:#111!important;
  color:#fff!important;
  font:700 24px/1 Arial,Helvetica,sans-serif!important;
}
.rsfy-profile-avatar-preview img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.rsfy-profile-avatar-copy{display:flex!important;flex:1 1 auto!important;min-width:0!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important}
.rsfy-profile-avatar-copy>strong{font-size:14px!important;line-height:1.3!important;color:#111!important}
.rsfy-profile-avatar-copy>small{font-size:11px!important;line-height:1.45!important;color:#77736d!important}
.rsfy-profile-avatar-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:5px!important}
.rsfy-profile-avatar-actions button{min-height:36px!important;padding:0 14px!important;border:1px solid #deded8!important;border-radius:10px!important;background:#fff!important;color:#111!important;font:600 11px/1 Arial,Helvetica,sans-serif!important;cursor:pointer!important}
.rsfy-profile-avatar-actions button:first-child{background:#111!important;border-color:#111!important;color:#fff!important}

@media(min-width:981px){
  .rsfy-profile-nav{
    gap:3px!important;
    padding:18px 14px 22px!important;
  }
  .rsfy-profile-nav button,
  .rsfy-profile-nav a{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:11px!important;
    min-height:40px!important;
    padding:7px 11px!important;
    border-radius:8px!important;
    font:500 13px/1.25 Arial,Helvetica,sans-serif!important;
  }
  .rsfy-profile-menu-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
  }
  .rsfy-profile-menu-icon img,
  .rsfy-profile-menu-icon svg{
    width:18px!important;
    height:18px!important;
    max-width:18px!important;
    max-height:18px!important;
  }
  .rsfy-profile-menu-text{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .rsfy-profile-alert{margin-left:0!important;justify-self:end!important}
}

@media(max-width:760px){
  .rsfy-profile-avatar-field{align-items:flex-start!important;gap:14px!important;padding:16px!important;border-radius:14px!important}
  .rsfy-profile-avatar-preview{flex-basis:62px!important;width:62px!important;height:62px!important;font-size:21px!important}
  .rsfy-profile-avatar-actions{width:100%!important}
  .rsfy-profile-avatar-actions button{min-height:38px!important}
}

/* ===== v0.9.17 — Menu principal mobile harmonisé + identité Cloud synchronisée ===== */
@media(max-width:980px){
  /* Même métrique que le menu compte : lecture plus calme et homogène. */
  .rsfy-sidebar .rsfy-desktop-nav{
    gap:4px!important;
    padding:18px 16px 22px!important;
  }
  .rsfy-sidebar .rsfy-desktop-nav>a,
  .rsfy-sidebar .rsfy-desktop-nav>button{
    min-height:56px!important;
    gap:15px!important;
    margin:0!important;
    padding:0 16px!important;
    border-radius:10px!important;
    font:500 16.5px/1.25 Arial,Helvetica,sans-serif!important;
  }
  .rsfy-sidebar .rsfy-nav-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:27px!important;
    height:27px!important;
    flex:0 0 27px!important;
    margin:0!important;
  }
  .rsfy-sidebar .rsfy-nav-icon img,
  .rsfy-sidebar .rsfy-nav-icon svg{
    width:23px!important;
    height:23px!important;
    max-width:23px!important;
    max-height:23px!important;
  }
  .rsfy-sidebar .rsfy-nav-icon svg{
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.65!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .rsfy-sidebar .rsfy-nav-label{
    font:500 16.5px/1.25 Arial,Helvetica,sans-serif!important;
  }
}
@media(max-width:520px){
  .rsfy-sidebar .rsfy-desktop-nav{padding:16px 14px 20px!important}
  .rsfy-sidebar .rsfy-desktop-nav>a,
  .rsfy-sidebar .rsfy-desktop-nav>button{
    min-height:54px!important;
    gap:14px!important;
    padding:0 14px!important;
    font-size:16px!important;
  }
  .rsfy-sidebar .rsfy-nav-icon{width:26px!important;height:26px!important;flex-basis:26px!important}
  .rsfy-sidebar .rsfy-nav-icon img,
  .rsfy-sidebar .rsfy-nav-icon svg{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important}
  .rsfy-sidebar .rsfy-nav-label{font-size:16px!important}
}

/* ===== v0.9.18 — Cloud secondaire premium / Store / Mes accès ===== */
.rsfy-portal[data-section="sites"] .rsfy-main,
.rsfy-portal[data-section="licenses"] .rsfy-main,
.rsfy-portal[data-section="billing"] .rsfy-main,
.rsfy-portal[data-section="modules"] .rsfy-main,
.rsfy-portal[data-section="downloads"] .rsfy-main,
.rsfy-portal[data-section="marketplace"] .rsfy-main{
  max-width:1320px!important;
}
.rsfy-portal[data-section="sites"] .rsfy-page-header,
.rsfy-portal[data-section="licenses"] .rsfy-page-header,
.rsfy-portal[data-section="billing"] .rsfy-page-header,
.rsfy-portal[data-section="modules"] .rsfy-page-header,
.rsfy-portal[data-section="downloads"] .rsfy-page-header,
.rsfy-portal[data-section="marketplace"] .rsfy-page-header{
  min-height:96px!important;
  margin-bottom:10px!important;
}
.rsfy-portal[data-section="sites"] .rsfy-section-page,
.rsfy-portal[data-section="licenses"] .rsfy-section-page,
.rsfy-portal[data-section="billing"] .rsfy-section-page,
.rsfy-portal[data-section="modules"] .rsfy-section-page,
.rsfy-portal[data-section="downloads"] .rsfy-section-page,
.rsfy-portal[data-section="marketplace"] .rsfy-section-page{
  min-height:0!important;
  padding:30px!important;
  border-radius:24px!important;
  overflow:hidden!important;
}
.rsfy-portal[data-section="sites"] .site-grid,
.rsfy-portal[data-section="licenses"] .license-grid,
.rsfy-portal[data-section="modules"] .rsfy-modules-grid,
.rsfy-portal[data-section="downloads"] .rsfy-download-grid{
  width:100%!important;
}
.rsfy-portal[data-section="sites"] .empty{max-width:760px!important;min-height:220px!important}
.rsfy-portal[data-section="licenses"] .license-card.dark{max-width:760px!important}
.rsfy-portal[data-section="billing"] .rsfy-billing-card{max-width:880px!important;margin:0!important}
.rsfy-portal[data-section="modules"] .rsfy-modules-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.rsfy-portal[data-section="downloads"] .rsfy-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Store */
.rsfy-store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.rsfy-store-card{min-width:0;border:1px solid var(--rs-line);border-radius:20px;background:#fff;padding:24px;display:flex;flex-direction:column}
.rsfy-store-card-featured{min-height:370px;background:#111;color:#fff;border-color:#111}
.rsfy-store-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.rsfy-store-product-icon{width:52px;height:52px;border-radius:15px;background:#fff;color:#111;display:grid;place-items:center;font-size:22px;font-weight:700;flex:0 0 auto}
.rsfy-store-status{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:max-content!important;flex:0 0 auto!important;min-height:34px;padding:0 13px;border-radius:999px;background:#eafbf1;color:#087a43;font-size:12px;font-weight:700;white-space:nowrap}
.rsfy-store-copy{margin:32px 0 22px}.rsfy-store-card-featured .eyebrow{color:#aaa!important}.rsfy-store-copy h3{margin:7px 0 10px!important;font-size:29px!important;line-height:1.12!important;color:inherit!important}.rsfy-store-copy p:last-child{margin:0!important;color:#b7b7b2!important;line-height:1.55!important}
.rsfy-store-price{display:flex;align-items:baseline;gap:6px;margin-top:auto;margin-bottom:18px}.rsfy-store-price strong{font-size:30px!important;color:#fff!important}.rsfy-store-price span{font-size:13px;color:#aaa}
.rsfy-store-subscribe{width:100%;background:#fff!important;color:#111!important;border-color:#fff!important;cursor:default!important}.rsfy-store-note{display:block;margin-top:10px;color:#8f8f8a;font-size:11px;text-align:center}
.rsfy-store-card.is-coming{min-height:220px}.rsfy-store-card.is-coming h3{font-size:22px!important;margin:34px 0 8px!important}.rsfy-store-card.is-coming p{margin:0!important;color:var(--rs-muted)!important}

/* Menu principal : Store conserve exactement les mêmes métriques et le même trait d'icône. */
.rsfy-nav-icon img[src*="store.svg"]{width:100%!important;height:100%!important;object-fit:contain!important}

@media(max-width:1024px){
  .rsfy-portal[data-section="sites"] .rsfy-main,
  .rsfy-portal[data-section="licenses"] .rsfy-main,
  .rsfy-portal[data-section="billing"] .rsfy-main,
  .rsfy-portal[data-section="modules"] .rsfy-main,
  .rsfy-portal[data-section="downloads"] .rsfy-main,
  .rsfy-portal[data-section="marketplace"] .rsfy-main{max-width:none!important}
  .rsfy-portal[data-section="modules"] .rsfy-modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rsfy-portal[data-section="downloads"] .rsfy-download-grid,.rsfy-store-grid{grid-template-columns:1fr!important}
}

@media(max-width:700px){
  .rsfy-portal[data-section="sites"] .rsfy-main,
  .rsfy-portal[data-section="licenses"] .rsfy-main,
  .rsfy-portal[data-section="billing"] .rsfy-main,
  .rsfy-portal[data-section="modules"] .rsfy-main,
  .rsfy-portal[data-section="downloads"] .rsfy-main,
  .rsfy-portal[data-section="marketplace"] .rsfy-main{
    width:100%!important;max-width:100%!important;margin:0!important;padding:22px 16px 54px!important;overflow:hidden!important;
  }
  .rsfy-portal[data-section="sites"] .rsfy-page-header,
  .rsfy-portal[data-section="licenses"] .rsfy-page-header,
  .rsfy-portal[data-section="billing"] .rsfy-page-header,
  .rsfy-portal[data-section="modules"] .rsfy-page-header,
  .rsfy-portal[data-section="downloads"] .rsfy-page-header,
  .rsfy-portal[data-section="marketplace"] .rsfy-page-header{margin-bottom:18px!important}
  .rsfy-portal[data-section="sites"] .rsfy-page-header h1,
  .rsfy-portal[data-section="licenses"] .rsfy-page-header h1,
  .rsfy-portal[data-section="billing"] .rsfy-page-header h1,
  .rsfy-portal[data-section="modules"] .rsfy-page-header h1,
  .rsfy-portal[data-section="downloads"] .rsfy-page-header h1,
  .rsfy-portal[data-section="marketplace"] .rsfy-page-header h1{font-size:34px!important;letter-spacing:-1px!important;margin-top:0!important}
  .rsfy-portal[data-section="sites"] .rsfy-page-header p:not(.eyebrow),
  .rsfy-portal[data-section="licenses"] .rsfy-page-header p:not(.eyebrow),
  .rsfy-portal[data-section="billing"] .rsfy-page-header p:not(.eyebrow),
  .rsfy-portal[data-section="modules"] .rsfy-page-header p:not(.eyebrow),
  .rsfy-portal[data-section="downloads"] .rsfy-page-header p:not(.eyebrow),
  .rsfy-portal[data-section="marketplace"] .rsfy-page-header p:not(.eyebrow){font-size:15px!important;line-height:1.45!important}
  .rsfy-portal[data-section="sites"] .rsfy-section-page,
  .rsfy-portal[data-section="licenses"] .rsfy-section-page,
  .rsfy-portal[data-section="billing"] .rsfy-section-page,
  .rsfy-portal[data-section="modules"] .rsfy-section-page,
  .rsfy-portal[data-section="downloads"] .rsfy-section-page,
  .rsfy-portal[data-section="marketplace"] .rsfy-section-page{
    width:100%!important;max-width:100%!important;margin:0!important;padding:20px!important;border-radius:22px!important;
  }
  .rsfy-portal[data-section="modules"] .rsfy-modules-grid{grid-template-columns:1fr!important}
  .rsfy-portal[data-section="modules"] .rsfy-modules-grid article{min-height:190px!important;padding:22px!important}
  .rsfy-portal[data-section="downloads"] .rsfy-download-card{padding:22px!important;border-radius:20px!important}
  .rsfy-portal[data-section="downloads"] .rsfy-download-meta{font-size:13px!important;gap:14px!important}
  .rsfy-portal[data-section="licenses"] .license-card.dark{padding:22px!important;border-radius:20px!important}
  .rsfy-portal[data-section="licenses"] .rsfy-license-head h3{font-size:28px!important}
  .rsfy-portal[data-section="billing"] .rsfy-billing-top{padding:22px!important}
  .rsfy-portal[data-section="billing"] .rsfy-billing-details{padding:6px 20px!important}
  .rsfy-store-grid{margin-top:14px!important}
  .rsfy-store-card{padding:22px!important;border-radius:20px!important}.rsfy-store-card-featured{min-height:340px!important}.rsfy-store-copy h3{font-size:27px!important}
  .rsfy-marketplace-intro{padding:22px!important;border-radius:20px!important;margin-bottom:14px!important}.rsfy-marketplace-intro h3{font-size:28px!important}.rsfy-marketplace-intro .rsfy-btn{width:100%!important}
}

@media(max-width:390px){
  .rsfy-portal[data-section="sites"] .rsfy-main,
  .rsfy-portal[data-section="licenses"] .rsfy-main,
  .rsfy-portal[data-section="billing"] .rsfy-main,
  .rsfy-portal[data-section="modules"] .rsfy-main,
  .rsfy-portal[data-section="downloads"] .rsfy-main,
  .rsfy-portal[data-section="marketplace"] .rsfy-main{padding-left:12px!important;padding-right:12px!important}
  .rsfy-portal[data-section="sites"] .rsfy-section-page,
  .rsfy-portal[data-section="licenses"] .rsfy-section-page,
  .rsfy-portal[data-section="billing"] .rsfy-section-page,
  .rsfy-portal[data-section="modules"] .rsfy-section-page,
  .rsfy-portal[data-section="downloads"] .rsfy-section-page,
  .rsfy-portal[data-section="marketplace"] .rsfy-section-page{padding:16px!important}
}

/* ===== v0.9.19 — Store WordPress + statut compact ===== */
@media (max-width: 782px){.rsfy-store-card-top{align-items:center!important}.rsfy-store-status{width:auto!important;max-width:max-content!important;min-height:32px!important;padding:0 12px!important;font-size:12px!important;line-height:1!important}}

/* ===== v0.9.21 — Icônes Profil desktop uniformes + pastille Régularisation conditionnelle ===== */
/* Le hidden natif ne doit jamais être écrasé par les règles de mise en page. */
.rsfy-profile-alert[hidden]{display:none!important}
.rsfy-profile-alert:not([hidden]){
  display:block!important;
  width:9px!important;
  height:9px!important;
  min-width:9px!important;
  min-height:9px!important;
  flex:0 0 9px!important;
  padding:0!important;
  margin-left:auto!important;
  border-radius:999px!important;
  background:#e11919!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  box-shadow:none!important;
}
/* Les icônes du panneau Profil utilisent toutes des SVG externes au même trait. */
.rsfy-profile-menu-icon img{
  display:block!important;
  object-fit:contain!important;
  filter:none!important;
}
@media(min-width:981px){
  .rsfy-profile-menu-icon img{
    width:18px!important;
    height:18px!important;
    max-width:18px!important;
    max-height:18px!important;
  }
  .rsfy-profile-nav button.active .rsfy-profile-menu-icon img{
    filter:brightness(0)!important;
  }
}


/* ===== v0.9.22 — Store premium 3 produits ===== */
@media (min-width: 783px){
  .rsfy-portal[data-section="marketplace"] .rsfy-store-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
  .rsfy-portal[data-section="marketplace"] .rsfy-store-card{min-height:390px!important;height:100%!important}
  .rsfy-portal[data-section="marketplace"] .rsfy-store-card.is-coming{min-height:390px!important}
}
@media (max-width: 782px){
  .rsfy-portal[data-section="marketplace"] .rsfy-store-grid{grid-template-columns:1fr!important}
  .rsfy-portal[data-section="marketplace"] .rsfy-store-card{width:100%!important;min-height:0!important}
}

/* Store 0.9.23 — catalogue piloté par Center */
.rsfy-store-page .section-head p{margin:8px 0 0;color:var(--rs-muted)}
.rsfy-store-page .rsfy-store-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
.rsfy-store-product-card{position:relative;overflow:hidden;min-height:430px!important;height:100%!important;padding:0!important;background:#fff!important;border:1px solid var(--rs-line)!important;color:#111!important}
.rsfy-store-product-card.has-background{background-image:linear-gradient(180deg,rgba(17,17,17,.48),rgba(17,17,17,.88)),var(--rsfy-store-bg)!important;background-size:cover!important;background-position:center!important;color:#fff!important;border-color:#111!important}
.rsfy-store-card-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:24px}
.rsfy-store-product-card .rsfy-marketplace-top strong{font-size:11px;padding:7px 10px;border-radius:999px;background:#f1f1ef;color:#666}
.rsfy-store-product-card.has-background .rsfy-marketplace-top strong{background:rgba(255,255,255,.92);color:#111}
.rsfy-store-product-card .rsfy-store-copy{margin:44px 0 20px!important}.rsfy-store-product-card .rsfy-store-copy h3{font-size:27px!important;margin:0 0 12px!important;color:inherit!important}.rsfy-store-product-card .rsfy-store-copy p{font-size:14px!important;line-height:1.55!important;color:#6e6e69!important}.rsfy-store-product-card.has-background .rsfy-store-copy p{color:rgba(255,255,255,.8)!important}
.rsfy-store-version{margin-top:14px!important;font-size:12px!important}.rsfy-store-version strong{color:inherit!important}
.rsfy-store-product-card .rsfy-store-price{margin-top:auto!important;margin-bottom:18px!important}.rsfy-store-product-card .rsfy-store-price strong{color:inherit!important;font-size:28px!important}.rsfy-store-product-card .rsfy-store-price span{color:inherit!important;opacity:.65}
.rsfy-store-actions{display:grid;gap:10px;margin-top:auto}.rsfy-store-more{width:100%;background:#111!important;color:#fff!important;border-color:#111!important}.rsfy-store-product-card.has-background .rsfy-store-more{background:#fff!important;color:#111!important;border-color:#fff!important}.rsfy-store-subscribe{width:100%}.rsfy-store-subscribe[disabled]{opacity:.62;cursor:not-allowed!important}.rsfy-store-note{margin-top:10px!important;font-size:11px!important;line-height:1.4!important;color:#858580!important;text-align:center}.rsfy-store-product-card.has-background .rsfy-store-note{color:rgba(255,255,255,.64)!important}
.rsfy-store-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:24px}.rsfy-store-modal[aria-hidden="false"]{display:flex}.rsfy-store-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.52);backdrop-filter:blur(5px)}.rsfy-store-modal-dialog{position:relative;z-index:1;width:min(920px,94vw);max-height:86vh;overflow:auto;background:#fff;border-radius:24px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);box-shadow:0 30px 90px rgba(0,0,0,.24)}.rsfy-store-modal-media{min-height:480px;background:#f1f1ef}.rsfy-store-modal-media img{width:100%;height:100%;object-fit:cover;display:block}.rsfy-store-modal-body{padding:46px;display:flex;flex-direction:column;justify-content:center}.rsfy-store-modal-body h3{font-size:36px!important;line-height:1.08!important;margin:12px 0 18px!important}.rsfy-store-modal-description{font-size:16px!important;line-height:1.65!important;color:#666!important}.rsfy-store-modal-version{font-size:13px;color:#555}.rsfy-store-modal-price{margin-top:24px;font-size:22px;font-weight:700}.rsfy-store-modal-close{position:absolute;right:18px;top:18px;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:27px;line-height:1;cursor:pointer}
@media(max-width:980px){.rsfy-store-page .rsfy-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.rsfy-store-modal-dialog{grid-template-columns:1fr}.rsfy-store-modal-media{min-height:260px;max-height:300px}.rsfy-store-modal-body{padding:30px}}
@media(max-width:782px){.rsfy-store-page .rsfy-store-grid{grid-template-columns:1fr!important}.rsfy-store-product-card{min-height:360px!important}.rsfy-store-card-content{padding:22px!important}.rsfy-store-modal{padding:14px}.rsfy-store-modal-dialog{width:100%;max-height:90vh;border-radius:20px}.rsfy-store-modal-media{min-height:220px}.rsfy-store-modal-body{padding:26px 22px}.rsfy-store-modal-body h3{font-size:28px!important}}
html.rsfy-store-modal-open{overflow:hidden}.rsfy-store-modal-media.is-empty{background:linear-gradient(135deg,#f4f4f1,#e9e9e5)}.rsfy-store-modal-media.is-empty img{display:none}

/* Store + Mes modules 0.9.24 */
.rsfy-store-page .rsfy-store-product-card{min-height:430px!important}
.rsfy-store-product-card .rsfy-store-copy{margin:8px 0 20px!important}
.rsfy-store-product-card .rsfy-store-price.is-empty{min-height:40px!important;display:flex;align-items:flex-end}
.rsfy-store-subscribe{background:#fff!important;color:#111!important;border:1px solid #d8d8d4!important;box-shadow:none!important}
.rsfy-store-subscribe:hover:not(:disabled){background:#f7f7f5!important;border-color:#c7c7c2!important}
.rsfy-store-subscribe[disabled]{opacity:1!important;color:#767672!important;background:#fff!important;border:1px solid #d8d8d4!important;cursor:not-allowed!important}
.rsfy-store-product-card.has-background .rsfy-store-subscribe,.rsfy-store-product-card.has-background .rsfy-store-subscribe[disabled]{background:rgba(255,255,255,.96)!important;color:#111!important;border-color:rgba(255,255,255,.82)!important}
.rsfy-store-note.is-available{color:#198754!important;font-weight:750!important}
.rsfy-store-product-card.has-background .rsfy-store-note.is-available{color:#dff8e9!important}
.rsfy-store-modal-close,.rsfy-store-modal-close:hover,.rsfy-store-modal-close:focus{appearance:none!important;-webkit-appearance:none!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;padding:0!important;margin:0!important;border:1px solid #d9d9d5!important;border-radius:50%!important;background:#fff!important;background-image:none!important;color:#111!important;font-family:Arial,Helvetica,sans-serif!important;font-size:27px!important;font-weight:400!important;line-height:1!important;box-shadow:0 2px 8px rgba(0,0,0,.06)!important;text-shadow:none!important;outline:none!important}
.rsfy-store-modal-close:hover{background:#f5f5f2!important;border-color:#c8c8c3!important}

.rsfy-store-library-page .section-head{align-items:flex-end!important;gap:20px!important}.rsfy-store-library-page .section-head p{margin:8px 0 0;color:var(--rs-muted)}
.rsfy-store-library-link{white-space:nowrap}
.rsfy-store-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.rsfy-store-library-card{position:relative;overflow:hidden;min-height:330px;border:1px solid var(--rs-line);border-radius:22px;background:#fff;color:#111}
.rsfy-store-library-card.has-background{background-image:linear-gradient(180deg,rgba(17,17,17,.52),rgba(17,17,17,.9)),var(--rsfy-library-bg);background-size:cover;background-position:center;color:#fff;border-color:#111}
.rsfy-store-library-card-inner{display:flex;flex-direction:column;height:100%;padding:22px}
.rsfy-store-library-card-head{display:flex;justify-content:flex-end}.rsfy-store-library-status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f1f1ef;color:#666;font-size:11px;font-weight:750}.rsfy-store-library-status.is-active{background:#e7f8ee;color:#17834b}
.rsfy-store-library-copy{margin:44px 0 24px}.rsfy-store-library-copy h3{margin:0 0 10px!important;font-size:24px!important;line-height:1.1!important;color:inherit!important}.rsfy-store-library-copy p{margin:0!important;font-size:13px!important;line-height:1.55!important;color:#6b6b67!important}.rsfy-store-library-card.has-background .rsfy-store-library-copy p{color:rgba(255,255,255,.78)!important}.rsfy-store-library-copy small{display:block;margin-top:12px;color:inherit;opacity:.7}
.rsfy-store-library-meta{display:flex;justify-content:space-between;gap:16px;margin-top:auto;padding:14px 0;border-top:1px solid rgba(127,127,120,.18);font-size:12px}.rsfy-store-library-card.has-background .rsfy-store-library-meta{border-color:rgba(255,255,255,.18)}
.rsfy-store-library-download{width:100%;margin-top:8px}.rsfy-store-library-download[disabled]{opacity:.55;cursor:not-allowed!important}
.rsfy-store-library-empty{margin-top:24px;min-height:330px;padding:46px;border:1px solid var(--rs-line);border-radius:24px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.rsfy-store-library-empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#111;color:#fff;font-size:24px}.rsfy-store-library-empty h3{margin:22px 0 8px!important;font-size:28px!important}.rsfy-store-library-empty p{max-width:520px;margin:0 0 22px!important;color:var(--rs-muted)!important}
@media(max-width:1200px){.rsfy-store-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:782px){.rsfy-store-library-page .section-head{align-items:stretch!important;flex-direction:column!important}.rsfy-store-library-link{width:100%!important}.rsfy-store-library-grid{grid-template-columns:1fr}.rsfy-store-library-card{min-height:300px}.rsfy-store-library-empty{padding:28px 22px;border-radius:20px}}


/* ===== v0.9.26 — Agenda mobile : panneau repliable + boutons isolés du thème ===== */
.rsfy-agenda-mobile-collapse-toggle{display:none}

@media(max-width:700px){
  .rsfy-calendar-panel{
    position:relative!important;
    overflow:visible!important;
  }

  .rsfy-calendar-head{
    position:relative!important;
    display:block!important;
    padding-right:58px!important;
  }

  .rsfy-calendar-head-copy{
    min-width:0!important;
  }

  .rsfy-agenda-mobile-collapse-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    right:14px!important;
    top:16px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #deded9!important;
    border-radius:50%!important;
    background:#fff!important;
    background-image:none!important;
    color:#111!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    line-height:1!important;
    text-decoration:none!important;
    text-indent:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    cursor:pointer!important;
    z-index:8!important;
  }

  .rsfy-agenda-mobile-collapse-toggle::before,
  .rsfy-agenda-mobile-collapse-toggle::after{
    content:none!important;
    display:none!important;
  }

  .rsfy-agenda-mobile-collapse-toggle svg{
    display:block!important;
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    transform:rotate(0deg)!important;
    transition:transform .2s ease!important;
  }

  .rsfy-calendar-panel.is-mobile-tools-open .rsfy-agenda-mobile-collapse-toggle svg{
    transform:rotate(180deg)!important;
  }

  /* État fermé par défaut :
     après le texte "par catégorie.", seul le choix Jour / Semaine reste visible. */
  .rsfy-calendar-panel:not(.is-mobile-tools-open) .rsfy-calendar-actions,
  .rsfy-calendar-panel:not(.is-mobile-tools-open) .rsfy-agenda-controlbar,
  .rsfy-calendar-panel:not(.is-mobile-tools-open) .rsfy-agenda-colors-panel,
  .rsfy-calendar-panel:not(.is-mobile-tools-open) .rsfy-agenda-legend,
  .rsfy-calendar-panel:not(.is-mobile-tools-open) .rsfy-agenda-compact-tools > .rsfy-agenda-period-arrows,
  .rsfy-calendar-panel:not(.is-mobile-tools-open) .rsfy-agenda-compact-tools > .rsfy-agenda-range-trigger-wrap{
    display:none!important;
  }

  .rsfy-calendar-panel:not(.is-mobile-tools-open) .rsfy-agenda-compact-tools{
    display:block!important;
    margin:14px 0 12px!important;
    padding:0!important;
  }

  .rsfy-calendar-panel:not(.is-mobile-tools-open) .rsfy-agenda-view-switch{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    gap:8px!important;
    margin:0!important;
  }

  /* État ouvert : on réaffiche tous les outils existants sans changer leur logique. */
  .rsfy-calendar-panel.is-mobile-tools-open .rsfy-calendar-actions{
    display:grid!important;
  }
  .rsfy-calendar-panel.is-mobile-tools-open .rsfy-agenda-controlbar{
    display:flex!important;
  }
  .rsfy-calendar-panel.is-mobile-tools-open .rsfy-agenda-compact-tools{
    display:flex!important;
  }

  /* Isolation complète des deux boutons de navigation entourés :
     aucun style de bouton provenant du thème ne peut les transformer en capsules. */
  .rsfy-calendar-panel button.rsfy-timegrid-range-arrow,
  .rsfy-calendar-panel #rsfy-timegrid-range-prev,
  .rsfy-calendar-panel #rsfy-timegrid-range-next{
    all:unset!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 36px!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    box-sizing:border-box!important;
    border:1px solid #deded9!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#111!important;
    line-height:1!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .rsfy-calendar-panel button.rsfy-timegrid-range-arrow::before,
  .rsfy-calendar-panel button.rsfy-timegrid-range-arrow::after,
  .rsfy-calendar-panel #rsfy-timegrid-range-prev::before,
  .rsfy-calendar-panel #rsfy-timegrid-range-prev::after,
  .rsfy-calendar-panel #rsfy-timegrid-range-next::before,
  .rsfy-calendar-panel #rsfy-timegrid-range-next::after{
    content:none!important;
    display:none!important;
  }

  .rsfy-calendar-panel button.rsfy-timegrid-range-arrow svg,
  .rsfy-calendar-panel #rsfy-timegrid-range-prev svg,
  .rsfy-calendar-panel #rsfy-timegrid-range-next svg{
    display:block!important;
    width:17px!important;
    height:17px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    pointer-events:none!important;
  }

  .rsfy-calendar-panel button.rsfy-timegrid-range-arrow:disabled,
  .rsfy-calendar-panel #rsfy-timegrid-range-prev:disabled,
  .rsfy-calendar-panel #rsfy-timegrid-range-next:disabled{
    background:#f4f4f1!important;
    color:#aaa!important;
    border-color:#e6e6e1!important;
    cursor:default!important;
    opacity:1!important;
  }

  .rsfy-calendar-panel .rsfy-timegrid-range-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    width:auto!important;
    max-width:none!important;
  }

  .rsfy-calendar-panel .rsfy-timegrid-range-nav[hidden]{
    display:none!important;
  }
}

/* ===== v0.9.27 — Agenda mobile : date du jour centrée + glissement tactile horizontal ===== */
@media(max-width:700px){
  /* Recentre visuellement la pastille du jour dans l'entête sans déplacer le libellé du jour. */
  .rsfy-timegrid-dayhead.is-today strong{
    position:relative!important;
    top:-3px!important;
    margin-bottom:-3px!important;
  }

  /* La semaine se déplace comme une vraie frise tactile :
     l'entête et la grille glissent ensemble, au doigt, dans le même conteneur. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scroll-behavior:smooth!important;
    touch-action:pan-x pan-y!important;
    scrollbar-width:none!important;
    cursor:grab!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]::-webkit-scrollbar{
    display:none!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]:active{
    cursor:grabbing!important;
  }

  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-head,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid{
    width:760px!important;
    min-width:760px!important;
    max-width:none!important;
  }

  /* Le scroll vertical reste dans la grille ; le déplacement horizontal est pris
     en charge par le shell parent pour garder dates et créneaux parfaitement alignés. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
  }

  /* En vue du jour, aucun déplacement latéral parasite. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="day"]{
    overflow-x:hidden!important;
  }
}


/* ===== v0.9.28 — Agenda mobile : semaine horizontale + accès calendrier premium ===== */
.rsfy-agenda-mobile-head-actions,
.rsfy-agenda-mobile-calendar-button{display:none}

@media(max-width:700px){
  /* Les deux actions restent exclusivement mobiles, alignées verticalement à droite. */
  .rsfy-calendar-head{padding-right:66px!important}
  .rsfy-agenda-mobile-head-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:8px!important;
    position:absolute!important;
    top:14px!important;
    right:14px!important;
    z-index:12!important;
  }
  .rsfy-agenda-mobile-head-actions .rsfy-agenda-mobile-collapse-toggle{
    position:static!important;
    inset:auto!important;
  }
  .rsfy-agenda-mobile-calendar-button{
    all:unset!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    box-sizing:border-box!important;
    border:1px solid #deded9!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#111!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .rsfy-agenda-mobile-calendar-button svg{
    display:block!important;
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    pointer-events:none!important;
  }
  .rsfy-agenda-mobile-calendar-button[aria-expanded="true"]{
    background:#111!important;
    color:#fff!important;
    border-color:#111!important;
  }

  /* Vue semaine : les 7 jours sont impérativement sur UNE ligne horizontale.
     Le shell est le seul conteneur horizontal pour conserver en-tête et grille synchronisés. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]::-webkit-scrollbar{display:none!important}

  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-head{
    display:grid!important;
    grid-template-columns:54px repeat(7,101px)!important;
    grid-auto-flow:column!important;
    grid-auto-rows:64px!important;
    width:761px!important;
    min-width:761px!important;
    max-width:761px!important;
    height:64px!important;
    min-height:64px!important;
    padding:0!important;
    margin:0!important;
    align-items:stretch!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-head-spacer{
    grid-column:1!important;
    grid-row:1!important;
    width:54px!important;
    min-width:54px!important;
    height:64px!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-dayhead{
    min-width:101px!important;
    width:101px!important;
    max-width:101px!important;
    min-height:64px!important;
    height:64px!important;
    max-height:64px!important;
    padding:5px 0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-dayhead span{
    font-size:10px!important;
    line-height:1!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-dayhead strong{
    position:static!important;
    top:auto!important;
    margin:1px 0 0!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll{
    width:761px!important;
    min-width:761px!important;
    max-width:761px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid{
    display:grid!important;
    grid-template-columns:54px 707px!important;
    width:761px!important;
    min-width:761px!important;
    max-width:761px!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-time-columns{
    display:grid!important;
    grid-template-columns:repeat(7,101px)!important;
    width:707px!important;
    min-width:707px!important;
    max-width:707px!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-time-daycol{
    width:101px!important;
    min-width:101px!important;
    max-width:101px!important;
  }

  /* Le calendrier existant devient un vrai panneau premium mobile. */
  .rsfy-date-range-popover:popover-open,
  .rsfy-date-range-popover:not([hidden]){
    border-radius:22px!important;
  }
}


/* ===== v0.9.29 — Agenda mobile : ancrage stable, calendrier cliquable, suppression du vide ===== */
@media(max-width:700px){
  /* Le titre jour peut occuper deux lignes alors que le titre semaine n'en prend qu'une.
     On réserve la même hauteur pour empêcher tout le bloc inférieur de remonter au changement de vue. */
  .rsfy-calendar-head-copy h2,
  .rsfy-calendar-head #rsfy-calendar-title{
    min-height:2.25em!important;
    display:block!important;
    margin-bottom:7px!important;
  }

  /* La copie garde également une hauteur stable : les boutons calendrier et accordéon
     restent donc au même emplacement en vue jour comme en vue semaine. */
  .rsfy-calendar-head-copy{
    min-height:118px!important;
  }

  /* Aucun espace fantôme entre le sélecteur Jour/Semaine et le planning lorsque
     les flèches de navigation de plage ne sont pas nécessaires. */
  .rsfy-timegrid-nav-row[hidden]{
    display:none!important;
    margin:0!important;
    padding:0!important;
    min-height:0!important;
    height:0!important;
  }

  .rsfy-timegrid-nav-row:has(.rsfy-timegrid-range-nav[hidden]){
    display:none!important;
    margin:0!important;
    padding:0!important;
    min-height:0!important;
    height:0!important;
  }

  /* Espace constant et volontaire avant le planning, identique dans les deux vues. */
  .rsfy-timegrid-shell{
    margin-top:12px!important;
  }

  /* Le bouton calendrier mobile reste réellement interactif et au-dessus des contrôles. */
  #rsfy-agenda-mobile-calendar-button{
    pointer-events:auto!important;
    position:relative!important;
    z-index:30!important;
    touch-action:manipulation!important;
  }

  /* Le sélecteur de plage s'ouvre dans la couche supérieure du navigateur et reste
     totalement exploitable au doigt sur petit écran. */
  #rsfy-date-range-popover[popover]:popover-open{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:2147483647!important;
  }
}
\n\n/* ===== v0.9.30 — Agenda mobile : ancrage réellement fixe + calendrier fonctionnel + grille sans bande vide ===== */\n@media(max-width:700px){\n  /* Le bandeau supérieur garde la même hauteur en Jour et en Semaine.\n     Le switch ne peut plus remonter sous le bouton calendrier. */\n  .rsfy-calendar-panel > .rsfy-calendar-head{\n    display:block!important;\n    min-height:152px!important;\n    height:152px!important;\n    padding-right:72px!important;\n    box-sizing:border-box!important;\n    margin:0!important;\n  }\n  .rsfy-calendar-panel > .rsfy-calendar-head .rsfy-calendar-head-copy{\n    min-height:0!important;\n    height:auto!important;\n    max-width:100%!important;\n    padding:0!important;\n    margin:0!important;\n  }\n  .rsfy-calendar-panel > .rsfy-calendar-head .rsfy-calendar-head-copy h2,\n  .rsfy-calendar-panel > .rsfy-calendar-head #rsfy-calendar-title{\n    min-height:58px!important;\n    height:58px!important;\n    display:flex!important;\n    align-items:flex-start!important;\n    margin:0 0 8px!important;\n    overflow:hidden!important;\n  }\n  .rsfy-calendar-panel > .rsfy-calendar-head .rsfy-calendar-head-copy p{\n    min-height:50px!important;\n    height:50px!important;\n    margin:0!important;\n    overflow:hidden!important;\n  }\n  .rsfy-calendar-panel > .rsfy-agenda-compact-tools{\n    clear:both!important;\n    margin-top:14px!important;\n  }\n\n  /* Le popover mobile vit désormais dans <body>. On lui impose une vraie couche\n     indépendante du thème et de l'accordéon masqué. */\n  body > #rsfy-date-range-popover{\n    position:fixed!important;\n    left:var(--rsfy-picker-left,12px)!important;\n    top:var(--rsfy-picker-top,120px)!important;\n    right:auto!important;\n    bottom:auto!important;\n    z-index:2147483647!important;\n    width:min(360px,calc(100vw - 24px))!important;\n    max-width:calc(100vw - 24px)!important;\n    margin:0!important;\n    border:1px solid #deded9!important;\n    border-radius:20px!important;\n    background:#fff!important;\n    box-shadow:0 24px 70px rgba(0,0,0,.22)!important;\n  }\n\n  /* Aucun espace artificiel entre l'en-tête des jours et les créneaux. */\n  .rsfy-timegrid-shell{\n    margin-top:10px!important;\n  }\n  .rsfy-timegrid-head{\n    margin:0!important;\n    border-bottom:1px solid #e3e3df!important;\n  }\n  .rsfy-timegrid-scroll{\n    margin:0!important;\n    padding:0!important;\n    border-top:0!important;\n  }\n  .rsfy-timegrid{\n    margin:0!important;\n    padding:0!important;\n  }\n  .rsfy-time-axis,\n  .rsfy-time-columns{\n    margin:0!important;\n    padding:0!important;\n  }\n  .rsfy-time-axis span:first-child{\n    display:none!important;\n  }\n}\n

/* ===== v0.9.31 — Agenda : plage complète + jonction dates/grille sans vide ===== */
/* La jonction entre l'en-tête des dates et la grille ne doit jamais créer
   une bande vide, sur desktop, tablette ou mobile. */
.rsfy-timegrid-shell{
  display:flex!important;
  flex-direction:column!important;
}
.rsfy-timegrid-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border-bottom:1px solid #e3e3df!important;
}
.rsfy-timegrid-scroll{
  flex:1 1 auto!important;
  margin:0!important;
  padding:0!important;
  border-top:0!important;
}
.rsfy-timegrid{
  margin-top:0!important;
  padding-top:0!important;
}
.rsfy-time-axis,
.rsfy-time-columns,
.rsfy-time-daycol{
  margin-top:0!important;
  padding-top:0!important;
}
/* La première ligne horaire commence exactement au bord supérieur de la grille. */
.rsfy-time-line:first-child{
  top:0!important;
}

@media(max-width:700px){
  /* Une plage personnalisée peut contenir plus de 7 jours. La largeur est calculée
     en JS puis appliquée ici afin de rendre TOUS les jours accessibles au swipe. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-head{
    grid-template-columns:54px repeat(var(--rsfy-mobile-agenda-days,7),101px)!important;
    width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    min-width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    max-width:none!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll{
    width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    min-width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    max-width:none!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid{
    grid-template-columns:54px var(--rsfy-mobile-agenda-columns-width,707px)!important;
    width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    min-width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    max-width:none!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-time-columns{
    grid-template-columns:repeat(var(--rsfy-mobile-agenda-days,7),101px)!important;
    width:var(--rsfy-mobile-agenda-columns-width,707px)!important;
    min-width:var(--rsfy-mobile-agenda-columns-width,707px)!important;
    max-width:none!important;
  }

  /* Pas de bande de respiration supplémentaire entre dates et contenu. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-head,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid-head{
    margin-bottom:0!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid-scroll{
    margin-top:0!important;
  }
}


/* ===== v0.9.32 — Agenda : plage réellement parcourable + suppression visuelle du faux vide ===== */
/* La première heure est visible au bord exact de la grille sur tous les écrans. */
.rsfy-time-axis span:first-child{
  display:block!important;
  top:5px!important;
  transform:none!important;
}
.rsfy-time-daycol .rsfy-time-line:first-child{
  top:0!important;
  background:#ddddda!important;
  z-index:2!important;
}
.rsfy-timegrid-head{
  border-bottom:0!important;
}
.rsfy-timegrid-scroll{
  border-top:1px solid #e3e3df!important;
}

@media(max-width:700px){
  /* Le shell est le SEUL viewport horizontal. Les descendants ne capturent plus le swipe. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]{
    display:block!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]::-webkit-scrollbar{display:none!important}
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll{
    overflow-x:visible!important;
    overflow-y:auto!important;
    touch-action:pan-y!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-head{
    grid-template-columns:54px repeat(var(--rsfy-mobile-agenda-days,7),101px)!important;
    width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    min-width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    max-width:none!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid{
    width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    min-width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    max-width:none!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-time-columns{
    grid-template-columns:repeat(var(--rsfy-mobile-agenda-days,7),101px)!important;
    width:var(--rsfy-mobile-agenda-columns-width,707px)!important;
    min-width:var(--rsfy-mobile-agenda-columns-width,707px)!important;
    max-width:none!important;
  }
  /* Plus de bande visuelle vide entre les dates et la première heure. */
  .rsfy-timegrid-head{
    margin:0!important;
    padding:0!important;
  }
  .rsfy-timegrid-scroll,
  .rsfy-timegrid,
  .rsfy-time-axis,
  .rsfy-time-columns,
  .rsfy-time-daycol{
    margin:0!important;
    padding-top:0!important;
  }
}

/* ===== v0.9.36 — Agenda mobile : suppression de plage, sans modifier la mise en page 0.9.32 ===== */
.rsfy-agenda-mobile-range-clear{display:none!important;}
@media (max-width:700px){
  .rsfy-calendar-panel > .rsfy-calendar-head .rsfy-calendar-head-copy{position:relative!important;}
  .rsfy-calendar-panel .rsfy-agenda-mobile-range-clear{
    position:absolute!important;
    left:0!important;
    top:44px!important;
    z-index:4!important;
    display:inline!important;
    width:auto!important;
    min-width:0!important;
    max-width:max-content!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#8a8a86!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:11px!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-transform:none!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    cursor:pointer!important;
  }
  .rsfy-calendar-panel .rsfy-agenda-mobile-range-clear[hidden]{display:none!important;}
  .rsfy-calendar-panel .rsfy-agenda-mobile-range-clear:hover,
  .rsfy-calendar-panel .rsfy-agenda-mobile-range-clear:focus,
  .rsfy-calendar-panel .rsfy-agenda-mobile-range-clear:active{
    color:#666!important;
    background:transparent!important;
    box-shadow:none!important;
    outline:none!important;
  }
}

/* ===== v0.9.37 — Agenda mobile : centrage date + jonction grille verrouillée ===== */
@media (max-width:700px){
  /* Verrouille la jonction entre l'entête des dates et la grille. */
  .rsfy-timegrid-shell,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="day"],
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]{
    gap:0!important;
  }
  .rsfy-timegrid-head,
  .rsfy-timegrid-scroll,
  .rsfy-timegrid{
    margin-top:0!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  .rsfy-timegrid-head + .rsfy-timegrid-scroll{
    margin-top:-1px!important;
  }

  /* Le libellé du jour reste en haut, le numéro est centré dans sa cellule
     et ne vient plus toucher la bordure basse. */
  .rsfy-timegrid-dayhead{
    position:relative!important;
    display:block!important;
    box-sizing:border-box!important;
    padding:8px 0!important;
    overflow:hidden!important;
  }
  .rsfy-timegrid-dayhead > span{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    line-height:1.1!important;
  }
  .rsfy-timegrid-dayhead > strong{
    position:absolute!important;
    left:50%!important;
    top:57%!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  /* En vue jour, on conserve exactement la même géométrie quelle que soit
     la présence d'une plage de dates ou du lien de suppression. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid-head{
    min-height:72px!important;
    height:72px!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid-dayhead,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="day"] .rsfy-timegrid-head-spacer{
    min-height:72px!important;
    height:72px!important;
  }
}


/* ===== v0.9.39 — Agenda mobile : masque le doublon « Choisir une plage » ===== */
@media (max-width:700px){
  /* Le bouton calendrier rond dans l’en-tête mobile reste l’unique accès au sélecteur de plage. */
  .rsfy-calendar-panel .rsfy-agenda-compact-tools > .rsfy-agenda-range-trigger-wrap{
    display:none!important;
  }
}

/* Reseefy Cloud 0.9.40 — dashboard live activity */
.rsfy-dashboard-live{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.rsfy-dashboard-live-card{position:relative;display:flex;flex-direction:column;min-height:238px;padding:22px;border:1px solid #e4e3df;border-radius:24px;background:#fff;overflow:hidden}
.rsfy-dashboard-live-card *{box-sizing:border-box}
.rsfy-dashboard-live-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.rsfy-dashboard-live-icon{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid #e3e2de;border-radius:11px;background:#faf9f7;flex:0 0 34px}
.rsfy-dashboard-live-icon svg{width:18px;height:18px;fill:none;stroke:#111;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rsfy-dashboard-live-kicker{color:#7d7a74;font-size:10px;font-weight:800;letter-spacing:.16em}
.rsfy-dashboard-live-card h3{margin:0 0 8px;color:#111;font-size:20px;line-height:1.18;letter-spacing:-.02em}
.rsfy-dashboard-live-card p{margin:0;color:#74716c;font-size:13px;line-height:1.55}
.rsfy-dashboard-message-person{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.rsfy-dashboard-message-person>span{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:#111;color:#fff;font-size:13px;font-weight:800;flex:0 0 38px}
.rsfy-dashboard-message-person div{min-width:0}
.rsfy-dashboard-message-person strong,.rsfy-dashboard-message-person small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsfy-dashboard-message-person strong{font-size:14px;color:#111}.rsfy-dashboard-message-person small{margin-top:2px;color:#8a8781;font-size:11px}
.rsfy-dashboard-message-preview{color:#333!important;font-size:14px!important;line-height:1.55!important;font-weight:500}
.rsfy-dashboard-live-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px}
.rsfy-dashboard-live-foot small{color:#96938e;font-size:10px}
.rsfy-dashboard-live-foot a{display:inline-flex;align-items:center;gap:7px;color:#111;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap}
.rsfy-dashboard-live-foot a span{font-size:15px;font-weight:400}
.rsfy-dashboard-live-today{background:#111;border-color:#111;color:#fff}
.rsfy-dashboard-live-today .rsfy-dashboard-live-icon{background:#1c1c1c;border-color:#2b2b2b}.rsfy-dashboard-live-today .rsfy-dashboard-live-icon svg{stroke:#fff}
.rsfy-dashboard-live-today .rsfy-dashboard-live-kicker,.rsfy-dashboard-live-today p,.rsfy-dashboard-live-today .rsfy-dashboard-today-next span,.rsfy-dashboard-live-today .rsfy-dashboard-today-next small{color:#a7a7a7}
.rsfy-dashboard-live-today h3,.rsfy-dashboard-live-today .rsfy-dashboard-live-foot a{color:#fff}
.rsfy-dashboard-live-number{display:block;margin:-4px 0 2px;font-size:46px;line-height:1;font-weight:700;letter-spacing:-.04em}
.rsfy-dashboard-live-status{display:inline-flex;align-self:flex-start;padding:7px 10px;margin:0 0 14px;border-radius:999px;background:#242424;color:#d8d8d8;font-size:10px;font-weight:700}
.rsfy-dashboard-today-next{margin-top:13px;padding-top:13px;border-top:1px solid #2e2e2e}.rsfy-dashboard-today-next span,.rsfy-dashboard-today-next strong,.rsfy-dashboard-today-next small{display:block}.rsfy-dashboard-today-next span{font-size:9px;text-transform:uppercase;letter-spacing:.14em}.rsfy-dashboard-today-next strong{margin-top:5px;color:#fff;font-size:12px}.rsfy-dashboard-today-next small{margin-top:3px;font-size:10px}
.rsfy-dashboard-live-empty{padding:14px 0}.rsfy-dashboard-live-empty strong{display:block;margin-bottom:6px;font-size:16px}.rsfy-dashboard-live-empty.is-compact{padding:8px 0}.rsfy-dashboard-live-empty.is-compact strong{font-size:13px}.rsfy-dashboard-live-empty.is-compact p{font-size:11px}
.rsfy-dashboard-live-upcoming h3{font-size:17px;margin-bottom:10px}.rsfy-dashboard-upcoming-list{display:flex;flex-direction:column;gap:3px}
.rsfy-dashboard-upcoming-row{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:8px 0;color:#111;text-decoration:none;border-top:1px solid #efeeeb}.rsfy-dashboard-upcoming-row:first-child{border-top:0}
.rsfy-dashboard-upcoming-date{display:flex;width:38px;height:38px;flex-direction:column;align-items:center;justify-content:center;border-radius:11px;background:#f4f3f0}.rsfy-dashboard-upcoming-date b{font-size:13px;line-height:1}.rsfy-dashboard-upcoming-date small{margin-top:3px;color:#898680;font-size:8px;text-transform:uppercase}
.rsfy-dashboard-upcoming-copy{min-width:0}.rsfy-dashboard-upcoming-copy strong,.rsfy-dashboard-upcoming-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rsfy-dashboard-upcoming-copy strong{font-size:12px}.rsfy-dashboard-upcoming-copy small{margin-top:3px;color:#88847e;font-size:10px}.rsfy-dashboard-upcoming-arrow{color:#aaa;font-size:20px;text-align:right}
@media(max-width:1100px){.rsfy-dashboard-live{grid-template-columns:repeat(2,minmax(0,1fr))}.rsfy-dashboard-live-upcoming{grid-column:1/-1}}
@media(max-width:680px){.rsfy-dashboard-live{grid-template-columns:1fr;gap:12px}.rsfy-dashboard-live-upcoming{grid-column:auto}.rsfy-dashboard-live-card{min-height:220px;padding:19px;border-radius:20px}.rsfy-dashboard-live-card h3{font-size:18px}.rsfy-dashboard-live-number{font-size:42px}}

/* Reseefy Cloud 0.9.41 — dashboard live cards polish */
.rsfy-dashboard-live-today .rsfy-dashboard-live-status{
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  padding:6px 10px!important;
  margin:0 0 14px!important;
  border:0!important;
  border-radius:999px!important;
  background:#242424!important;
  color:#d8d8d8!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.rsfy-dashboard-live-upcoming,
.rsfy-dashboard-live-upcoming h3,
.rsfy-dashboard-live-upcoming a,
.rsfy-dashboard-live-upcoming strong,
.rsfy-dashboard-live-upcoming b,
.rsfy-dashboard-live-upcoming .rsfy-dashboard-upcoming-copy strong{
  color:#111!important;
}
.rsfy-dashboard-live-upcoming .rsfy-dashboard-upcoming-copy small,
.rsfy-dashboard-live-upcoming .rsfy-dashboard-upcoming-date small{
  color:#88847e!important;
}


/* ===== v0.9.43 — Agenda : verrouillage définitif de la jonction dates / grille ===== */
.rsfy-timegrid-head{border-bottom:0!important;margin-bottom:0!important;}
.rsfy-timegrid-scroll{border-top:1px solid #e3e3df!important;margin-top:0!important;padding-top:0!important;}
.rsfy-timegrid{margin-top:0!important;padding-top:0!important;}
.rsfy-time-axis,.rsfy-time-columns,.rsfy-time-daycol{margin-top:0!important;padding-top:0!important;}
.rsfy-time-daycol .rsfy-time-line:first-child{top:0!important;}
.rsfy-time-axis span:first-child{display:block!important;top:5px!important;transform:none!important;}
@media(max-width:700px){
 .rsfy-timegrid-shell,.rsfy-timegrid-shell[data-rsfy-agenda-view="day"],.rsfy-timegrid-shell[data-rsfy-agenda-view="week"]{gap:0!important;}
 .rsfy-timegrid-head{margin:0!important;padding-top:0!important;padding-bottom:0!important;border-bottom:0!important;}
 .rsfy-timegrid-head + .rsfy-timegrid-scroll{margin-top:0!important;}
 .rsfy-timegrid-scroll{margin:0!important;padding:0!important;border-top:1px solid #e3e3df!important;}
 .rsfy-timegrid,.rsfy-time-axis,.rsfy-time-columns,.rsfy-time-daycol{margin:0!important;padding-top:0!important;}
}

/* ===== v0.9.44 — Agenda mobile : restaure le centrage de la date de la v0.9.32 ===== */
@media(max-width:700px){
  /* Reprend la géométrie visuelle validée en 0.9.32 sans toucher au verrouillage du gap 0.9.43. */
  .rsfy-timegrid-dayhead{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .rsfy-timegrid-dayhead > span{
    display:block!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    line-height:1.1!important;
  }
  .rsfy-timegrid-dayhead > strong{
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  /* Exact ajustement du jour courant utilisé dans la 0.9.32. */
  .rsfy-timegrid-dayhead.is-today > strong{
    position:relative!important;
    top:-3px!important;
    margin-bottom:-3px!important;
  }
  /* La vue semaine conserve son positionnement validé en 0.9.32. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-dayhead > strong{
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    margin:1px 0 0!important;
  }
}

/* ===== v0.9.45 — Agenda mobile : largeur intégrale + swipe horizontal fiable ===== */
@media(max-width:700px){
  /* Ne touche ni à la jonction dates/grille (0.9.43), ni au centrage du jour (0.9.44).
     Le shell devient l'unique viewport horizontal de l'agenda mobile. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x pan-y!important;
    scrollbar-width:none!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]::-webkit-scrollbar{
    display:none!important;
  }

  /* En-tête et contenu utilisent strictement la même largeur calculée par le JS.
     Ainsi, le dernier jour possède toujours sa vraie colonne jusqu'au bord droit. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-head,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid{
    box-sizing:border-box!important;
    width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    min-width:var(--rsfy-mobile-agenda-full-width,761px)!important;
    max-width:var(--rsfy-mobile-agenda-full-width,761px)!important;
  }

  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-head{
    grid-template-columns:54px repeat(var(--rsfy-mobile-agenda-days,7),101px)!important;
  }

  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll{
    overflow-x:visible!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
  }

  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid{
    grid-template-columns:54px var(--rsfy-mobile-agenda-columns-width,707px)!important;
  }

  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-time-columns{
    display:grid!important;
    grid-template-columns:repeat(var(--rsfy-mobile-agenda-days,7),101px)!important;
    width:var(--rsfy-mobile-agenda-columns-width,707px)!important;
    min-width:var(--rsfy-mobile-agenda-columns-width,707px)!important;
    max-width:var(--rsfy-mobile-agenda-columns-width,707px)!important;
    box-sizing:border-box!important;
  }

  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-time-daycol{
    width:101px!important;
    min-width:101px!important;
    max-width:101px!important;
    box-sizing:border-box!important;
  }

  /* Empêche le dernier bord de disparaître visuellement en fin de glissement. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-time-daycol:last-child,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-dayhead:last-child{
    border-right:1px solid #e8e8e4!important;
  }
}

/* ===== v0.9.47 — Agenda mobile : supprime le blanc en fin de swipe sans toucher au rendu validé ===== */
@media(max-width:700px){
  /* Le shell reste l'unique axe horizontal. Le conteneur vertical interne ne peut
     plus prendre un second scroll horizontal, ce qui désynchronisait la grille
     de l'en-tête et faisait apparaître une grande zone blanche au dernier jour. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    touch-action:pan-x pan-y!important;
    overscroll-behavior-x:none!important;
  }

  /* L'en-tête et la grille gardent exactement la largeur calculée en 0.9.45. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-head,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll,
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid{
    margin-right:0!important;
    padding-right:0!important;
  }
}

/* ===== v0.9.52 — Agenda mobile : raccord vertical légèrement prolongé + fin de grille sans blanc ===== */
@media(max-width:700px){
  /* Prolonge très légèrement les séparateurs des jours pour qu'ils rejoignent
     proprement la ligne de départ de la grille, sans débordement visible. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-dayhead{
    position:relative!important;
    overflow:visible!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-dayhead::after{
    content:""!important;
    position:absolute!important;
    right:-1px!important;
    bottom:-2px!important;
    width:1px!important;
    height:3px!important;
    background:#ecece8!important;
    pointer-events:none!important;
    z-index:3!important;
  }

  /* Les lignes horaires sont également dessinées sur toute la largeur réelle des
     colonnes. Ainsi, même au dernier jour du swipe, aucune zone blanche ne peut
     apparaître après la grille. La géométrie/scroll de la 0.9.47 reste intacte. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-time-columns{
    position:relative!important;
    background-image:
      linear-gradient(to bottom,#e4e4df 0,#e4e4df 1px,transparent 1px),
      linear-gradient(to bottom,transparent 34px,#f0f0ed 34px,#f0f0ed 35px,transparent 35px)!important;
    background-size:100% 69px,100% 69px!important;
    background-repeat:repeat-y!important;
    background-position:0 0,0 0!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-dayhead:last-child::after{
    right:0!important;
  }
}


/* ===== v0.9.53 — Agenda mobile : butée réelle au dernier jour ===== */
@media(max-width:700px){
  /* Neutralise tout espace/gouttière pouvant agrandir artificiellement la zone
     scrollable. La largeur utile reste celle calculée par l'agenda. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]{
    padding-right:0!important;
    scroll-padding-right:0!important;
    overscroll-behavior-x:none!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-scroll{
    scrollbar-gutter:auto!important;
  }
}


/* Reseefy Cloud 0.9.54 — carte Aujourd’hui */
.rsfy-dashboard-live-today{background:#0c1409!important;border-color:#0c1409!important;}
.rsfy-dashboard-live-today .rsfy-dashboard-live-icon{background:#070d06!important;border-color:#162012!important;}


/* ===== v0.9.55 — Agenda mobile : fin de swipe verrouillée + séparateurs raccordés ===== */
@media(max-width:700px){
  /* Safari iOS : aucun espace élastique visible après le dernier jour. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"]{
    overscroll-behavior-x:none!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* Les séparateurs de l'en-tête rejoignent franchement la grille, sans trou
     entre les dates et les colonnes horaires. */
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-dayhead::after{
    bottom:-5px!important;
    height:6px!important;
  }
  .rsfy-timegrid-shell[data-rsfy-agenda-view="week"] .rsfy-timegrid-dayhead:last-child::after{
    right:0!important;
  }
}
\n\n/* ============================================================\n   Reseefy Cloud 0.9.56 — centrage viewport fiche rendez-vous\n   Mobile uniquement : la modale de l'Agenda et de Mes réservations\n   est strictement centrée dans le viewport, sans décalage du shell.\n   ============================================================ */\n@media (max-width:680px){\n    html body > .rsfy-booking-detail{\n        position:fixed!important;\n        inset:0!important;\n        width:100vw!important;\n        height:100dvh!important;\n        min-height:100dvh!important;\n        margin:0!important;\n        padding:0!important;\n        display:flex!important;\n        align-items:center!important;\n        justify-content:center!important;\n        transform:none!important;\n        box-sizing:border-box!important;\n        overflow:hidden!important;\n    }\n    html body > .rsfy-booking-detail > .rsfy-booking-detail-backdrop{\n        position:absolute!important;\n        inset:0!important;\n        width:100%!important;\n        height:100%!important;\n    }\n    html body > .rsfy-booking-detail > .rsfy-booking-detail-panel{\n        position:absolute!important;\n        inset:0!important;\n        width:100%!important;\n        height:100%!important;\n        margin:0!important;\n        padding:12px!important;\n        display:flex!important;\n        align-items:center!important;\n        justify-content:center!important;\n        transform:none!important;\n        box-sizing:border-box!important;\n    }\n    html body > .rsfy-booking-detail .rsfy-booking-detail-card{\n        position:relative!important;\n        left:auto!important;\n        right:auto!important;\n        top:auto!important;\n        bottom:auto!important;\n        transform:none!important;\n        width:min(520px,calc(100vw - 24px))!important;\n        max-width:calc(100vw - 24px)!important;\n        max-height:calc(100dvh - 24px)!important;\n        margin:auto!important;\n        flex:0 0 auto!important;\n        box-sizing:border-box!important;\n        overflow-x:hidden!important;\n        overflow-y:auto!important;\n        -webkit-overflow-scrolling:touch;\n    }\n}\n\n\n/* ============================================================\n   Reseefy Cloud 0.9.58 — popup « Laisser un message » mobile\n   Agenda + Mes messages / Mes réservations : centrage strict viewport\n   Safari iOS inclus, sans dépendre des conteneurs transformés du portail.\n   ============================================================ */\nbody.rsfy-message-modal-open{\n    overflow:hidden!important;\n}\n@media (max-width:680px){\n    html body > .rsfy-booking-message-modal{\n        position:fixed!important;\n        inset:0!important;\n        left:0!important;\n        right:0!important;\n        top:0!important;\n        bottom:0!important;\n        width:100vw!important;\n        height:100dvh!important;\n        min-height:100dvh!important;\n        max-height:100dvh!important;\n        margin:0!important;\n        padding:0!important;\n        display:flex!important;\n        align-items:center!important;\n        justify-content:center!important;\n        transform:none!important;\n        overflow:hidden!important;\n        box-sizing:border-box!important;\n        z-index:1000002!important;\n    }\n    html body > .rsfy-booking-message-modal[hidden]{\n        display:none!important;\n    }\n    html body > .rsfy-booking-message-modal > .rsfy-booking-message-backdrop{\n        position:absolute!important;\n        inset:0!important;\n        width:100%!important;\n        height:100%!important;\n        margin:0!important;\n        transform:none!important;\n    }\n    html body > .rsfy-booking-message-modal > .rsfy-booking-message-panel{\n        position:absolute!important;\n        inset:0!important;\n        width:100%!important;\n        height:100%!important;\n        min-height:100%!important;\n        max-height:100%!important;\n        margin:0!important;\n        padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;\n        display:flex!important;\n        align-items:center!important;\n        justify-content:center!important;\n        transform:none!important;\n        overflow:hidden!important;\n        box-sizing:border-box!important;\n        pointer-events:none!important;\n    }\n    html body > .rsfy-booking-message-modal .rsfy-booking-message-card{\n        position:relative!important;\n        inset:auto!important;\n        left:auto!important;\n        right:auto!important;\n        top:auto!important;\n        bottom:auto!important;\n        transform:none!important;\n        width:min(520px,calc(100vw - 24px))!important;\n        max-width:calc(100vw - 24px)!important;\n        min-width:0!important;\n        height:auto!important;\n        max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;\n        margin:auto!important;\n        padding:18px!important;\n        flex:0 0 auto!important;\n        box-sizing:border-box!important;\n        overflow-x:hidden!important;\n        overflow-y:auto!important;\n        -webkit-overflow-scrolling:touch;\n        pointer-events:auto!important;\n    }\n    html body > .rsfy-booking-message-modal .rsfy-booking-message-card textarea{\n        width:100%!important;\n        min-height:110px!important;\n        max-height:150px!important;\n        box-sizing:border-box!important;\n    }\n}\n\n\n/* ============================================================\n   Reseefy Cloud 0.9.60 — scroll de la fiche RDV mobile, sans toucher à l'Agenda\n   Seul le panel interne de la modale défile ; la carte entière se déplace.\n   ============================================================ */\n@media (max-width:680px){\n  html body > .rsfy-booking-detail{\n    position:fixed!important;\n    inset:0!important;\n    overflow:hidden!important;\n  }\n  html body > .rsfy-booking-detail > .rsfy-booking-detail-panel{\n    position:absolute!important;\n    inset:0!important;\n    display:block!important;\n    overflow-x:hidden!important;\n    overflow-y:auto!important;\n    -webkit-overflow-scrolling:touch!important;\n    overscroll-behavior:contain!important;\n    touch-action:pan-y!important;\n    pointer-events:auto!important;\n  }\n  html body > .rsfy-booking-detail .rsfy-booking-detail-card{\n    max-height:none!important;\n    overflow:visible!important;\n    touch-action:pan-y!important;\n  }\n}\n

/* ===== v0.9.73 — Compte : réglages via menu trois points + pictogrammes navigation ===== */
@media(min-width:981px){
  .rsfy-sidebar .rsfy-user{position:relative!important;padding-right:2px!important}
  .rsfy-sidebar .rsfy-user>div{flex:1 1 auto!important;min-width:0!important}
  .rsfy-sidebar .rsfy-user-more{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:30px!important;height:30px!important;flex:0 0 30px!important;margin-left:auto!important;
    padding:0 0 5px!important;border:0!important;border-radius:8px!important;background:transparent!important;
    color:#111!important;font:700 15px/1 Arial,Helvetica,sans-serif!important;letter-spacing:1.2px!important;cursor:pointer!important
  }
  .rsfy-sidebar .rsfy-user-more:hover{background:#f1f1ee!important}
  .rsfy-sidebar .rsfy-user-more:focus-visible{outline:2px solid #111!important;outline-offset:2px!important}
}

/* ===== v0.9.75 — compte desktop + pictogramme Mes clients anti-cache ===== */
@media(min-width:981px){
  .rsfy-sidebar .rsfy-user{
    position:relative!important;
    padding-right:52px!important;
    overflow:visible!important;
  }
  .rsfy-sidebar .rsfy-user>div{min-width:0!important;padding-right:0!important}
  .rsfy-sidebar .rsfy-user>.rsfy-user-more{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:absolute!important;
    right:12px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:12!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    flex:0 0 34px!important;
    margin:0!important;
    padding:0 0 6px!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#111!important;
    font:800 18px/1 Arial,Helvetica,sans-serif!important;
    letter-spacing:1.5px!important;
    cursor:pointer!important;
  }
  .rsfy-sidebar .rsfy-user>.rsfy-user-more:hover{background:#f1f1ee!important}
}


/* ===== v0.9.76 — bouton compte trois points compact, sans héritage de CTA ===== */
@media(min-width:981px){
  .rsfy-sidebar .rsfy-user{
    padding-right:48px!important;
  }
  .rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu]{
    all:unset!important;
    box-sizing:border-box!important;
    position:absolute!important;
    right:10px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:25!important;
    display:grid!important;
    place-items:center!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#111!important;
    box-shadow:none!important;
    cursor:pointer!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }
  .rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu] svg{
    display:block!important;
    width:18px!important;
    height:18px!important;
    overflow:visible!important;
    fill:currentColor!important;
    stroke:none!important;
  }
  .rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu]:hover{
    background:#f1f1ee!important;
  }
  .rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu]:focus-visible{
    outline:2px solid #111!important;
    outline-offset:2px!important;
  }
}

/* ===== v0.9.77 — Mes prestations : sélecteurs premium, publication fiable, mobile clean ===== */
.rsfy-profile-workspace[data-active="services"] .rsfy-service-meta-grid label{position:relative}
.rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-native{
  position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;
  margin:0!important;padding:0!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger{
  width:100%!important;min-height:52px!important;padding:0 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
  border:1px solid #dcd8d2!important;border-radius:14px!important;background:#fff!important;color:#111!important;box-shadow:0 1px 0 rgba(17,17,17,.02)!important;
  font:600 14px/1 Arial,sans-serif!important;text-align:left!important;cursor:pointer!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger:hover,
.rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger:focus-visible,
.rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger[aria-expanded="true"]{
  border-color:#111!important;box-shadow:0 0 0 3px rgba(17,17,17,.06)!important;outline:none!important;background:#fff!important;
}
.rsfy-premium-select-trigger svg{width:18px!important;height:18px!important;flex:0 0 18px!important;fill:none!important;stroke:#111!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;transition:transform .18s ease!important}
.rsfy-premium-select-trigger[aria-expanded="true"] svg{transform:rotate(180deg)!important}
html.rsfy-premium-select-open{overflow:hidden}
.rsfy-premium-select-popover[hidden]{display:none!important}
.rsfy-premium-select-popover{position:fixed!important;inset:0!important;z-index:1000015!important;pointer-events:none!important}
.rsfy-premium-select-backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;pointer-events:auto!important}
.rsfy-premium-select-panel{
  position:fixed!important;left:var(--rsfy-pop-left,20px)!important;top:var(--rsfy-pop-top,20px)!important;width:var(--rsfy-pop-width,320px)!important;max-height:min(420px,70vh)!important;overflow:hidden!important;
  border:1px solid #e5e1db!important;border-radius:18px!important;background:#fff!important;box-shadow:0 24px 70px rgba(17,17,17,.18),0 3px 12px rgba(17,17,17,.08)!important;pointer-events:auto!important;
}
.rsfy-premium-select-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:15px 16px 12px!important;border-bottom:1px solid #efede9!important}
.rsfy-premium-select-head strong{font:700 13px/1.2 Arial,sans-serif!important;color:#111!important}
.rsfy-premium-select-close{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border:1px solid #e4e0da!important;border-radius:50%!important;background:#fff!important;color:#111!important;font:400 19px/28px Arial,sans-serif!important;cursor:pointer!important}
.rsfy-premium-select-options{padding:7px!important;overflow:auto!important;max-height:330px!important}
.rsfy-premium-select-option{width:100%!important;min-height:46px!important;padding:0 12px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border:0!important;border-radius:11px!important;background:#fff!important;color:#111!important;font:600 13px/1.2 Arial,sans-serif!important;text-align:left!important;cursor:pointer!important}
.rsfy-premium-select-option:hover,.rsfy-premium-select-option.is-selected{background:#f3f1ed!important}
.rsfy-premium-select-option i{display:grid!important;place-items:center!important;width:22px!important;height:22px!important;border-radius:50%!important;background:#111!important;color:#fff!important;font-style:normal!important;font-size:12px!important}
.rsfy-premium-select-option.is-add{margin-top:5px!important;border-top:1px solid #efede9!important;border-radius:0 0 11px 11px!important;color:#5f5b55!important}
.rsfy-services-savebar #rsfy-publish-services-bottom:not(:disabled){background:#111!important;border-color:#111!important;color:#fff!important;opacity:1!important;cursor:pointer!important}
.rsfy-services-savebar #rsfy-publish-services-bottom:disabled,.rsfy-services-savebar #rsfy-save-services-draft-bottom:disabled{opacity:.55!important;cursor:wait!important}
/* Le bouton de suppression d'un supplément ne doit plus apparaître comme un point noir sur mobile. */
.rsfy-profile-workspace[data-active="services"] .rsfy-supplement-row .rsfy-remove-supplement{
  background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;border:1px solid #ddd9d3!important;box-shadow:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;font-weight:400!important;
}
@media(max-width:760px){
  .rsfy-premium-select-popover{display:flex!important;align-items:flex-end!important;padding:0!important;background:rgba(17,17,17,.28)!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important}
  .rsfy-premium-select-backdrop{background:transparent!important}
  .rsfy-premium-select-panel{position:relative!important;left:auto!important;top:auto!important;width:100%!important;max-height:72vh!important;margin:0!important;border-radius:24px 24px 0 0!important;box-shadow:0 -18px 55px rgba(17,17,17,.16)!important}
  .rsfy-premium-select-head{padding:20px 20px 14px!important}.rsfy-premium-select-options{padding:8px 12px calc(16px + env(safe-area-inset-bottom))!important;max-height:58vh!important}
  .rsfy-premium-select-option{min-height:54px!important;padding:0 14px!important;border-radius:13px!important;font-size:14px!important}
  .rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger{min-height:54px!important;border-radius:14px!important;font-size:15px!important}
  .rsfy-profile-workspace[data-active="services"] .rsfy-supplement-row .rsfy-remove-supplement{width:38px!important;height:38px!important;min-width:38px!important;margin:2px 0 0 auto!important;border-radius:12px!important}
}


/* ===== v0.9.78 — Mes prestations : sélecteurs réellement custom + publication mobile/web ===== */
.rsfy-profile-workspace[data-active="services"] select.rsfy-premium-select-native{
 position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important;margin:0!important;padding:0!important;border:0!important;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-service-meta-grid>label{position:relative!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger{
 width:100%!important;min-height:52px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:0 16px!important;border:1px solid #ddd9d3!important;border-radius:15px!important;background:#fff!important;color:#111!important;box-shadow:0 1px 0 rgba(17,17,17,.02)!important;font:600 14px/1.2 Arial,sans-serif!important;text-align:left!important;cursor:pointer!important;-webkit-appearance:none!important;appearance:none!important;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger:active{transform:scale(.997)!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger:focus-visible,.rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger[aria-expanded="true"]{outline:none!important;border-color:#111!important;box-shadow:0 0 0 3px rgba(17,17,17,.08)!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger svg{width:17px!important;height:17px!important;stroke:#111!important;stroke-width:1.8!important;fill:none!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-services-savebar .rsfy-btn{pointer-events:auto!important;position:relative!important;z-index:5!important;touch-action:manipulation!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-supplement-row{position:relative!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-supplement-row .rsfy-remove-supplement{background:#fff!important;color:#111!important;border:1px solid #ddd9d3!important;box-shadow:none!important;font-size:18px!important;font-weight:400!important;line-height:1!important;display:grid!important;place-items:center!important}
@media(max-width:760px){
 .rsfy-profile-workspace[data-active="services"] .rsfy-supplement-row .rsfy-remove-supplement{position:absolute!important;top:12px!important;right:12px!important;width:34px!important;height:34px!important;min-width:34px!important;margin:0!important;border-radius:50%!important;z-index:3!important}
 .rsfy-profile-workspace[data-active="services"] .rsfy-premium-select-trigger{min-height:58px!important;border-radius:16px!important;padding:0 16px!important;font-size:16px!important}
 .rsfy-profile-workspace[data-active="services"] .rsfy-services-savebar{position:relative!important;z-index:10!important}
}

/* ===== v0.9.79 — sélecteurs prestations : sélection lisible + zéro décalage ===== */
/* Le texte de l'option sélectionnée reste noir, y compris face aux anciens styles génériques. */
.rsfy-premium-select-popover .rsfy-premium-select-option.is-selected,
.rsfy-premium-select-popover .rsfy-premium-select-option.is-selected span{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
}
.rsfy-premium-select-popover .rsfy-premium-select-option.is-selected{
  background:#f3f1ed!important;
}
.rsfy-premium-select-popover .rsfy-premium-select-option.is-selected i{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
/* Ouvrir un popup ne doit jamais modifier la largeur du viewport ni recentrer le workspace. */
html.rsfy-premium-select-open{
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable!important;
}
body:has(#rsfy-premium-select-popover:not([hidden])){
  width:auto!important;
  margin-right:0!important;
  padding-right:0!important;
}
.rsfy-profile-workspace[data-active="services"]{
  max-width:100%!important;
}
@media(max-width:760px){
  html.rsfy-premium-select-open{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:auto!important;
  }
  .rsfy-premium-select-popover{
    width:100vw!important;
    max-width:100vw!important;
  }
}


/* ===== v0.9.80 — Mes prestations : workspace totalement stable à l'ouverture des contrôles ===== */
/*
 * Les popups Tarification/Catégorie sont des overlays fixes. Ils ne doivent jamais
 * changer le scroll du document ni participer au calcul de largeur du workspace.
 */
html{scrollbar-gutter:stable!important}
html.rsfy-premium-select-open{overflow:visible!important;overflow-x:clip!important;scrollbar-gutter:stable!important}
body:has(#rsfy-premium-select-popover:not([hidden])){overflow:visible!important;width:auto!important;max-width:none!important;margin:0!important;padding-right:0!important}
#rsfy-premium-select-popover{contain:layout style paint!important;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;margin:0!important;padding:0!important;transform:none!important}

/* Le bloc Mes prestations conserve exactement sa largeur et sa position avant/après clic. */
.rsfy-profile-workspace[data-active="services"]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
  translate:none!important;
  box-sizing:border-box!important;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-profile-card,
.rsfy-profile-workspace[data-active="services"] .rsfy-services-editor,
.rsfy-profile-workspace[data-active="services"] .rsfy-service-editor{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
  translate:none!important;
  box-sizing:border-box!important;
}

/* Un clic/focus ne doit jamais provoquer un déplacement visuel du conteneur. */
.rsfy-profile-workspace[data-active="services"] button:focus,
.rsfy-profile-workspace[data-active="services"] button:active,
.rsfy-profile-workspace[data-active="services"] input:focus,
.rsfy-profile-workspace[data-active="services"] textarea:focus,
.rsfy-profile-workspace[data-active="services"] select:focus{
  scroll-margin-inline:0!important;
}

/* Texte sélectionné toujours noir, y compris sur WebKit/iOS et anciens thèmes. */
#rsfy-premium-select-popover .rsfy-premium-select-option,
#rsfy-premium-select-popover .rsfy-premium-select-option span,
#rsfy-premium-select-popover .rsfy-premium-select-option.is-selected,
#rsfy-premium-select-popover .rsfy-premium-select-option.is-selected span{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
}
#rsfy-premium-select-popover .rsfy-premium-select-option.is-selected i{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

@media(max-width:980px){
  html{scrollbar-gutter:auto!important}
  #rsfy-premium-select-popover{width:100%!important;max-width:100%!important;height:100dvh!important}
  .rsfy-profile-workspace[data-active="services"],
  .rsfy-profile-workspace[data-active="services"] .rsfy-profile-card,
  .rsfy-profile-workspace[data-active="services"] .rsfy-service-editor{left:auto!important;right:auto!important}
}

/* 0.9.84 — notifications premium universelles */
.rsfy-sidebar .rsfy-nav-alert,.rsfy-desktop-nav .rsfy-nav-alert{
  flex:0 0 auto!important;min-width:20px!important;width:auto!important;height:20px!important;padding:0 6px!important;
  margin-left:auto!important;border:0!important;border-radius:999px!important;background:#e3262e!important;color:#fff!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;
  font-family:Arial,sans-serif!important;font-size:10px!important;font-weight:700!important;line-height:20px!important;text-align:center!important;
}
@media(max-width:900px){.rsfy-sidebar .rsfy-nav-alert,.rsfy-desktop-nav .rsfy-nav-alert{min-width:20px!important;height:20px!important;padding:0 6px!important;font-size:10px!important;line-height:20px!important}}


/* ===== Reseefy Cloud 0.9.85 — ordre des prestations drag & drop ===== */
.rsfy-profile-workspace[data-active="services"] .rsfy-service-grip{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:22px!important;min-width:22px!important;height:28px!important;
  color:#111!important;cursor:grab!important;touch-action:none!important;
  user-select:none!important;-webkit-user-select:none!important;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-service-grip:active{cursor:grabbing!important}
.rsfy-profile-workspace[data-active="services"] .rsfy-services-editor.is-service-dragging,
.rsfy-profile-workspace[data-active="services"] .rsfy-services-editor.is-service-dragging *{
  user-select:none!important;-webkit-user-select:none!important;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-service-editor.is-dragging{
  position:relative!important;z-index:50!important;opacity:.96!important;
  border-color:#111!important;box-shadow:0 18px 48px rgba(0,0,0,.14)!important;
  transform:scale(.995)!important;transition:box-shadow .12s ease,transform .12s ease!important;
}
.rsfy-profile-workspace[data-active="services"] .rsfy-service-editor.is-drag-unlocked .rsfy-service-editor-head{
  background:#f7f7f5!important;
}
html.rsfy-service-drag-lock,body.rsfy-service-drag-lock{overflow:hidden!important;overscroll-behavior:none!important}
@media (pointer:coarse){
  .rsfy-profile-workspace[data-active="services"] .rsfy-service-editor-head{touch-action:pan-y!important}
  .rsfy-profile-workspace[data-active="services"] .rsfy-service-editor.is-drag-unlocked .rsfy-service-editor-head{touch-action:none!important}
  .rsfy-profile-workspace[data-active="services"] .rsfy-service-grip{cursor:default!important}
}


/* ===== v0.9.96 — Drawer mobile fixe + verrouillage iOS du contenu arrière ===== */
@media(max-width:980px){
  html.rsfy-mobile-nav-open,
  body.rsfy-mobile-nav-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  body.rsfy-mobile-nav-open{
    position:fixed!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    touch-action:none!important;
  }
  .rsfy-sidebar.is-mobile-open{
    position:fixed!important;
    inset:0!important;
    z-index:130!important;
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    pointer-events:none!important;
    background:transparent!important;
    border:0!important;
  }
  .rsfy-sidebar.is-mobile-open .rsfy-mobile-sidebar-backdrop,
  .rsfy-sidebar.is-mobile-open .rsfy-sidebar-drawer{pointer-events:auto!important}
  .rsfy-sidebar-drawer{
    top:0!important;
    bottom:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:contain!important;
  }
  .rsfy-sidebar-drawer-head{position:relative!important;flex:0 0 auto!important}
  .rsfy-sidebar .rsfy-desktop-nav{
    flex:1 1 0!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
}
/* ===== v0.9.97 — verrou tactile total du drawer mobile iOS ===== */
@media(max-width:980px){
 html.rsfy-mobile-nav-open,body.rsfy-mobile-nav-open{height:100%!important;max-height:100%!important;overflow:hidden!important;overscroll-behavior:none!important}
 body.rsfy-mobile-nav-open{position:fixed!important;width:100%!important;touch-action:none!important;-webkit-overflow-scrolling:auto!important}
 .rsfy-sidebar.is-mobile-open{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}
 .rsfy-sidebar.is-mobile-open .rsfy-sidebar-drawer{position:fixed!important;top:0!important;bottom:0!important;left:0!important;height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important;transform:translate3d(0,0,0)!important;-webkit-transform:translate3d(0,0,0)!important}
 .rsfy-sidebar.is-mobile-open .rsfy-desktop-nav{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}
}

/* ===== v0.9.98 — menu mobile ancré au viewport, contenu Cloud seul scrollable ===== */
@media(max-width:980px){
  html.rsfy-mobile-nav-open,html.rsfy-mobile-nav-open body{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important;}
  html.rsfy-mobile-nav-open body{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:auto!important;height:auto!important;}
  html.rsfy-mobile-nav-open .rsfy-portal>.rsfy-sidebar.is-mobile-open{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;transform:none!important;overflow:hidden!important;z-index:2147483000!important;touch-action:none!important;}
  html.rsfy-mobile-nav-open .rsfy-sidebar.is-mobile-open .rsfy-sidebar-drawer{position:fixed!important;inset:0 auto 0 0!important;width:min(91vw,352px)!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;margin:0!important;transform:translate3d(0,0,0)!important;overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important;contain:layout paint!important;}
  html.rsfy-mobile-nav-open .rsfy-sidebar.is-mobile-open .rsfy-desktop-nav{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important;}
}

/* ===== v0.9.106 — Profil et gestion : taille réelle des trois points mobile ===== */
@media (max-width:980px){
  .rsfy-profile-panel[data-mobile-view="menu"] .rsfy-profile-mobile-account .rsfy-profile-mobile-more-wrap > button.rsfy-profile-mobile-more{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:0 0 5px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    font-family:Arial,sans-serif!important;
    font-size:18px!important;
    font-weight:700!important;
    line-height:1!important;
    letter-spacing:2px!important;
    text-transform:none!important;
    opacity:1!important;
    transform:none!important;
  }
}

/* ===== v0.9.107 — Profil et gestion : déconnexion premium sans footer compte ===== */
.rsfy-profile-nav .rsfy-profile-logout{width:100%;border:0;background:transparent;color:#111;cursor:pointer;text-align:left;font:inherit;}
.rsfy-profile-nav .rsfy-profile-logout .rsfy-profile-menu-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.rsfy-logout-confirm{position:fixed;inset:0;z-index:2147483646;background:rgba(12,12,12,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px;}
.rsfy-logout-confirm.is-open{display:flex;}
.rsfy-logout-confirm-card{width:min(440px,100%);background:#fff;border:1px solid #e5e5e1;border-radius:24px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.2);font-family:Arial,sans-serif;}
.rsfy-logout-confirm-icon{width:48px;height:48px;border-radius:14px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.rsfy-logout-confirm-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.rsfy-logout-confirm-card h3{margin:0 0 8px;font-size:24px;line-height:1.15;color:#111;}
.rsfy-logout-confirm-card p{margin:0 0 24px;color:#6f6f6a;font-size:15px;line-height:1.5;}
.rsfy-logout-confirm-actions{display:flex;gap:10px;justify-content:flex-end;}
.rsfy-logout-confirm-actions button,.rsfy-logout-confirm-actions a{min-height:46px;border-radius:12px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;}
.rsfy-logout-cancel{background:#f3f3f0;color:#111;border:1px solid #e1e1dc;}
.rsfy-logout-submit{background:#111;color:#fff;border:1px solid #111;}
@media(max-width:980px){.rsfy-profile-mobile-account{display:none!important}.rsfy-profile-nav .rsfy-profile-logout{display:flex!important}.rsfy-logout-confirm{padding:16px}.rsfy-logout-confirm-card{border-radius:20px;padding:22px}.rsfy-logout-confirm-actions{flex-direction:column-reverse}.rsfy-logout-confirm-actions button,.rsfy-logout-confirm-actions a{width:100%}}

/* ===== v0.9.109 — Logout modal: theme isolation + first-click reliability ===== */
.rsfy-logout-confirm,.rsfy-logout-confirm *{box-sizing:border-box;}
.rsfy-logout-confirm .rsfy-logout-confirm-actions{display:flex!important;gap:10px!important;justify-content:flex-end!important;}
.rsfy-logout-confirm .rsfy-logout-cancel,.rsfy-logout-confirm .rsfy-logout-submit{appearance:none!important;-webkit-appearance:none!important;min-height:46px!important;border-radius:12px!important;padding:0 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:Arial,sans-serif!important;font-size:14px!important;font-weight:700!important;line-height:1!important;text-transform:none!important;letter-spacing:0!important;text-decoration:none!important;box-shadow:none!important;opacity:1!important;filter:none!important;transform:none!important;cursor:pointer!important;}
.rsfy-logout-confirm .rsfy-logout-submit{background:#111!important;background-image:none!important;color:#fff!important;border:1px solid #111!important;}
.rsfy-logout-confirm .rsfy-logout-submit:visited,.rsfy-logout-confirm .rsfy-logout-submit:hover,.rsfy-logout-confirm .rsfy-logout-submit:focus,.rsfy-logout-confirm .rsfy-logout-submit:active{background:#111!important;background-image:none!important;color:#fff!important;border-color:#111!important;}
.rsfy-logout-confirm .rsfy-logout-cancel{background:#f3f3f0!important;background-image:none!important;color:#111!important;border:1px solid #e1e1dc!important;}
.rsfy-logout-confirm .rsfy-logout-cancel:hover,.rsfy-logout-confirm .rsfy-logout-cancel:focus,.rsfy-logout-confirm .rsfy-logout-cancel:active{background:#eaeae6!important;background-image:none!important;color:#111!important;border-color:#d8d8d2!important;}
@media(max-width:980px){.rsfy-logout-confirm .rsfy-logout-confirm-actions{flex-direction:column-reverse!important}.rsfy-logout-confirm .rsfy-logout-cancel,.rsfy-logout-confirm .rsfy-logout-submit{width:100%!important}}

/* ===== v0.9.110 — Desktop account footer + logout reliable ===== */
@media (min-width:981px){
  .rsfy-sidebar .rsfy-user{position:relative!important;display:flex!important;align-items:center!important;gap:9px!important;min-height:58px!important;padding:12px 42px 10px 4px!important;overflow:visible!important}
  .rsfy-sidebar .rsfy-user>.rsfy-account-avatar{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;flex:0 0 34px!important;border-radius:50%!important;overflow:hidden!important;padding:0!important}
  .rsfy-sidebar .rsfy-user>.rsfy-account-avatar img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;border-radius:50%!important;margin:0!important;padding:0!important}
  .rsfy-sidebar .rsfy-user>div{flex:1 1 auto!important;min-width:0!important}
  .rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu]{right:7px!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important}
  .rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu] svg{width:15px!important;height:15px!important}
  .rsfy-profile-nav .rsfy-profile-logout{display:flex!important;align-items:center!important;gap:14px!important;min-height:54px!important;padding:0 14px!important;border:0!important;border-radius:12px!important;background:transparent!important;color:#111!important;-webkit-text-fill-color:#111!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important}
  .rsfy-profile-nav .rsfy-profile-logout:hover{background:#f3f3f0!important}
  .rsfy-profile-nav .rsfy-profile-logout .rsfy-profile-menu-icon{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;flex:0 0 26px!important;color:#111!important}
  .rsfy-profile-nav .rsfy-profile-logout .rsfy-profile-menu-icon svg{display:block!important;width:22px!important;height:22px!important;fill:none!important;stroke:#111!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;overflow:visible!important}
}
.rsfy-logout-confirm .rsfy-logout-submit,.rsfy-logout-confirm .rsfy-logout-submit:visited,.rsfy-logout-confirm .rsfy-logout-submit:hover,.rsfy-logout-confirm .rsfy-logout-submit:focus,.rsfy-logout-confirm .rsfy-logout-submit:active{background:#111!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#111!important}
.rsfy-logout-confirm .rsfy-logout-cancel,.rsfy-logout-confirm .rsfy-logout-cancel:hover,.rsfy-logout-confirm .rsfy-logout-cancel:focus,.rsfy-logout-confirm .rsfy-logout-cancel:active{background:#f4f4f2!important;background-image:none!important;color:#111!important;-webkit-text-fill-color:#111!important;border-color:#e5e5e1!important}

/* ===== v0.9.112 — Desktop footer account + logout hard fix ===== */
@media (min-width:981px){
  .rsfy-sidebar .rsfy-user{display:grid!important;grid-template-columns:34px minmax(0,1fr) 26px!important;align-items:center!important;column-gap:9px!important;width:100%!important;min-height:58px!important;padding:10px 5px 10px 4px!important;overflow:visible!important;position:relative!important}
  .rsfy-sidebar .rsfy-user>.rsfy-account-avatar{display:block!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;border-radius:999px!important;overflow:hidden!important;padding:0!important;margin:0!important;background:#f2f2ef!important;line-height:34px!important;text-align:center!important}
  .rsfy-sidebar .rsfy-user>.rsfy-account-avatar>img{display:block!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;object-fit:cover!important;object-position:center!important;border-radius:999px!important;margin:0!important;padding:0!important;border:0!important}
  .rsfy-sidebar .rsfy-user>div{min-width:0!important;width:auto!important;overflow:hidden!important}
  .rsfy-sidebar .rsfy-user>div>strong,.rsfy-sidebar .rsfy-user>div>small{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu]{position:static!important;transform:none!important;display:grid!important;place-items:center!important;width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#111!important;opacity:1!important;visibility:visible!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important}
  .rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu] svg{display:block!important;width:14px!important;height:14px!important;overflow:visible!important;fill:#111!important;stroke:none!important}
  .rsfy-profile-nav button.rsfy-profile-logout{display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important;column-gap:14px!important;width:100%!important;min-height:54px!important;padding:0 14px!important;margin:0!important;border:0!important;border-radius:12px!important;background:transparent!important;background-image:none!important;color:#111!important;-webkit-text-fill-color:#111!important;text-align:left!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important}
  .rsfy-profile-nav button.rsfy-profile-logout:hover{background:#f3f3f0!important}
  .rsfy-profile-nav button.rsfy-profile-logout .rsfy-profile-logout-icon{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;min-width:26px!important;overflow:visible!important;color:#111!important}
  .rsfy-profile-nav button.rsfy-profile-logout .rsfy-profile-logout-icon svg{display:block!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;overflow:visible!important;fill:none!important;stroke:#111!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
}
.rsfy-logout-confirm .rsfy-logout-submit,.rsfy-logout-confirm .rsfy-logout-submit:visited,.rsfy-logout-confirm .rsfy-logout-submit:hover,.rsfy-logout-confirm .rsfy-logout-submit:focus,.rsfy-logout-confirm .rsfy-logout-submit:active{background:#111!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#111!important}
.rsfy-logout-confirm .rsfy-logout-cancel,.rsfy-logout-confirm .rsfy-logout-cancel:hover,.rsfy-logout-confirm .rsfy-logout-cancel:focus,.rsfy-logout-confirm .rsfy-logout-cancel:active{background:#f4f4f2!important;background-image:none!important;color:#111!important;-webkit-text-fill-color:#111!important;border-color:#e5e5e1!important}

/* ===== v0.9.113 — Desktop premium footer proportions ===== */
@media (min-width:981px){
  .rsfy-sidebar .rsfy-user{
    grid-template-columns:40px minmax(0,1fr) 28px!important;
    column-gap:10px!important;
    min-height:70px!important;
    padding:12px 7px 12px 6px!important;
    border-top:1px solid #e5e5e1!important;
  }
  .rsfy-sidebar .rsfy-user>.rsfy-account-avatar{
    width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
    max-width:40px!important;max-height:40px!important;flex:0 0 40px!important;
    border-radius:999px!important;overflow:hidden!important;background:#f2f2ef!important;
  }
  .rsfy-sidebar .rsfy-user>.rsfy-account-avatar>img{
    width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
    max-width:40px!important;max-height:40px!important;object-fit:cover!important;object-position:center!important;
    border-radius:999px!important;
  }
  .rsfy-sidebar .rsfy-user>div>strong{font-size:13px!important;line-height:1.2!important;font-weight:700!important}
  .rsfy-sidebar .rsfy-user>div>small{font-size:10px!important;line-height:1.25!important;margin-top:3px!important}
  .rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu]{
    width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;
    justify-self:end!important;
  }
  .rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu] svg{width:13px!important;height:13px!important}
}

/* ===== v0.9.115 — direct mother-plugin desktop footer + no-JS logout fallback ===== */
.rsfy-logout-confirm:target{display:flex!important;}
.rsfy-profile-nav a.rsfy-profile-logout{
  display:flex!important;align-items:center!important;gap:14px!important;width:100%!important;
  min-height:54px!important;padding:0 14px!important;border-radius:12px!important;
  color:#111!important;-webkit-text-fill-color:#111!important;text-decoration:none!important;background:transparent!important;
}
.rsfy-profile-nav a.rsfy-profile-logout:hover{background:#f3f3f0!important;}
.rsfy-profile-nav a.rsfy-profile-logout .rsfy-profile-menu-icon{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;flex:0 0 26px!important;}
.rsfy-profile-nav a.rsfy-profile-logout .rsfy-profile-menu-icon svg{display:block!important;width:22px!important;height:22px!important;fill:none!important;stroke:#111!important;overflow:visible!important;}
.rsfy-logout-confirm .rsfy-logout-submit{background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
.rsfy-logout-confirm .rsfy-logout-cancel{background:#f4f4f2!important;color:#111!important;-webkit-text-fill-color:#111!important;border:1px solid #e5e5e1!important;}
@media (min-width:981px){
  .rsfy-sidebar>.rsfy-user{display:grid!important;grid-template-columns:40px minmax(0,1fr) 24px!important;align-items:center!important;column-gap:10px!important;width:100%!important;min-height:70px!important;padding:12px 6px!important;border-top:1px solid #e5e5e1!important;overflow:visible!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-account-avatar{display:block!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;border-radius:50%!important;overflow:hidden!important;padding:0!important;margin:0!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-account-avatar>img{display:block!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;margin:0!important;padding:0!important;}
  .rsfy-sidebar>.rsfy-user>div{min-width:0!important;overflow:hidden!important;}
  .rsfy-sidebar>.rsfy-user>div>strong,.rsfy-sidebar>.rsfy-user>div>small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-user-more[data-rsfy-account-menu]{display:grid!important;place-items:center!important;position:static!important;justify-self:end!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;opacity:1!important;visibility:visible!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-user-more[data-rsfy-account-menu] svg{display:block!important;width:12px!important;height:12px!important;fill:#111!important;overflow:visible!important;}
}

/* ===== v0.9.116 — desktop logout viewport modal + premium footer final source fix ===== */
@media (min-width:981px){
  .rsfy-sidebar>.rsfy-user{box-sizing:border-box!important;grid-template-columns:40px minmax(0,1fr) 22px!important;column-gap:10px!important;padding:12px 4px!important;overflow:hidden!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-account-avatar,.rsfy-sidebar>.rsfy-user>.rsfy-account-avatar>img{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important;border-radius:999px!important;object-fit:cover!important;object-position:center!important;}
  .rsfy-sidebar>.rsfy-user>div{min-width:0!important;max-width:100%!important;overflow:hidden!important;}
  .rsfy-sidebar>.rsfy-user>div>strong,.rsfy-sidebar>.rsfy-user>div>small{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-user-more[data-rsfy-account-menu]{justify-self:end!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-user-more[data-rsfy-account-menu] svg{width:11px!important;height:11px!important;}
}
.rsfy-logout-confirm{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:2147483647!important;}
\n\n/* ===== v0.9.117 — source desktop sidebar logout + footer premium ===== */
.rsfy-sidebar-logout{display:none!important;}
@media (min-width:981px){
  .rsfy-sidebar>.rsfy-sidebar-logout{display:flex!important;align-items:center!important;gap:14px!important;flex:0 0 auto!important;min-height:54px!important;margin:4px 0 8px!important;padding:0 14px!important;border-radius:12px!important;color:#111!important;-webkit-text-fill-color:#111!important;text-decoration:none!important;background:transparent!important;box-sizing:border-box!important;cursor:pointer!important;}
  .rsfy-sidebar>.rsfy-sidebar-logout:hover{background:#f3f3f0!important;}
  .rsfy-sidebar>.rsfy-sidebar-logout .rsfy-nav-icon{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;flex:0 0 26px!important;margin:0!important;}
  .rsfy-sidebar>.rsfy-sidebar-logout .rsfy-nav-icon svg{display:block!important;width:22px!important;height:22px!important;fill:none!important;stroke:#111!important;overflow:visible!important;}
  .rsfy-sidebar>.rsfy-sidebar-logout .rsfy-nav-label{display:block!important;min-width:0!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important;white-space:nowrap!important;}
  .rsfy-sidebar>.rsfy-user{flex:0 0 auto!important;display:grid!important;grid-template-columns:40px minmax(0,1fr) 22px!important;align-items:center!important;column-gap:10px!important;width:100%!important;min-height:70px!important;padding:12px 4px!important;border-top:1px solid #e5e5e1!important;box-sizing:border-box!important;overflow:hidden!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-account-avatar{display:block!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;border-radius:50%!important;overflow:hidden!important;margin:0!important;padding:0!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-account-avatar>img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;margin:0!important;padding:0!important;}
  .rsfy-sidebar>.rsfy-user>div{min-width:0!important;overflow:hidden!important;}
  .rsfy-sidebar>.rsfy-user>div>strong,.rsfy-sidebar>.rsfy-user>div>small{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-user-more[data-rsfy-account-menu]{all:unset!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;justify-self:end!important;width:22px!important;height:22px!important;cursor:pointer!important;border-radius:6px!important;}
  .rsfy-sidebar>.rsfy-user>.rsfy-user-more[data-rsfy-account-menu] svg{display:block!important;width:11px!important;height:11px!important;fill:#111!important;stroke:none!important;overflow:visible!important;}
}
/* Reseefy 0.9.119 — definitive desktop account footer */
@media (min-width:981px){
.rsfy-sidebar .rsfy-sidebar-logout{display:none!important}
.rsfy-sidebar .rsfy-user{display:grid!important;grid-template-columns:40px minmax(0,1fr) 22px!important;column-gap:10px!important;align-items:center!important;width:100%!important;padding:12px 2px 8px 2px!important;overflow:visible!important}
.rsfy-sidebar .rsfy-user>.rsfy-account-avatar{box-sizing:border-box!important;display:block!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;aspect-ratio:1/1!important;border-radius:50%!important;overflow:hidden!important;padding:0!important;margin:0!important;line-height:40px!important}
.rsfy-sidebar .rsfy-user>.rsfy-account-avatar>img{box-sizing:border-box!important;display:block!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;margin:0!important;padding:0!important}
.rsfy-sidebar .rsfy-user>div{min-width:0!important;overflow:hidden!important}
.rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu]{position:static!important;justify-self:end!important;display:grid!important;place-items:center!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}
.rsfy-sidebar .rsfy-user>.rsfy-user-more[data-rsfy-account-menu] svg{display:block!important;width:12px!important;height:12px!important;max-width:12px!important;max-height:12px!important}
}

/* ===== v0.9.122 — real desktop sidebar logout + reliable modal/cancel ===== */
@media (min-width:981px){
 .rsfy-sidebar .rsfy-sidebar-logout{display:flex!important;align-items:center!important;gap:12px!important;width:calc(100% - 24px)!important;min-height:48px!important;margin:8px 12px 10px!important;padding:0 12px!important;border:0!important;border-radius:12px!important;background:transparent!important;color:#111!important;font:inherit!important;text-align:left!important;cursor:pointer!important;box-sizing:border-box!important;flex:0 0 auto!important}
 .rsfy-sidebar .rsfy-sidebar-logout:hover{background:#f3f3f0!important}
 .rsfy-sidebar .rsfy-sidebar-logout .rsfy-nav-icon{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;flex:0 0 24px!important}
 .rsfy-sidebar .rsfy-sidebar-logout .rsfy-nav-icon svg{display:block!important;width:22px!important;height:22px!important}
 .rsfy-sidebar .rsfy-user{display:grid!important;grid-template-columns:40px minmax(0,1fr) 22px!important;gap:9px!important;align-items:center!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important}
 .rsfy-sidebar .rsfy-user>.rsfy-account-avatar{width:40px!important;height:40px!important;min-width:40px!important;border-radius:50%!important;overflow:hidden!important}
 .rsfy-sidebar .rsfy-user>.rsfy-account-avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important}
 .rsfy-sidebar .rsfy-user>div{min-width:0!important;overflow:hidden!important}
 .rsfy-sidebar .rsfy-user>div>strong,.rsfy-sidebar .rsfy-user>div>small{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
 .rsfy-sidebar .rsfy-user>.rsfy-user-more{justify-self:end!important;width:22px!important;height:22px!important;min-width:22px!important;padding:0!important;display:grid!important;place-items:center!important}
 .rsfy-sidebar .rsfy-user>.rsfy-user-more svg{width:13px!important;height:13px!important}
 .rsfy-logout-confirm .rsfy-logout-confirm-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
 .rsfy-logout-confirm .rsfy-logout-cancel,.rsfy-logout-confirm .rsfy-logout-submit{width:100%!important;min-height:48px!important}
}
@media (max-width:980px){.rsfy-sidebar .rsfy-sidebar-logout{display:none!important}}
.rsfy-logout-confirm .rsfy-logout-cancel{background:#f4f4f2!important;color:#111!important;border:1px solid #e5e5e1!important}

/* Reseefy Cloud 0.9.122 — ordre mobile définitif de la confirmation de déconnexion. */
@media (max-width:980px){
  .rsfy-logout-confirm .rsfy-logout-confirm-actions{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important}
  .rsfy-logout-confirm .rsfy-logout-submit{order:1!important;width:100%!important}
  .rsfy-logout-confirm .rsfy-logout-cancel{order:2!important;width:100%!important;margin:0!important}
}
