:root{--navy:#173247;--navy2:#23475e;--ivory:#f5f0e7;--paper:#fffdf9;--gold:#bd9666;--sage:#718378;--ink:#23313a;--muted:#72808a;--line:#e7dfd3;--shadow:0 18px 55px rgba(23,50,71,.10);--r:24px}*{box-sizing:border-box}html{background:var(--ivory)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 92% 4%,rgba(189,150,102,.14),transparent 24%),var(--ivory)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--gold);margin:0 0 8px}.app-body{min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:linear-gradient(180deg,var(--navy),#102838);color:#fff;padding:28px 20px;display:flex;flex-direction:column;z-index:20}.side-brand,.admin-brand{display:flex;align-items:center;gap:13px;margin:0 8px 36px}.brand-monogram{width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px;color:#f3d5a9}.side-brand strong,.admin-brand strong{display:block;font-family:Georgia,serif;font-size:21px}.side-brand small,.admin-brand small{opacity:.62}.app-sidebar nav,.admin-sidebar nav{display:grid;gap:8px}.app-sidebar nav a,.admin-sidebar nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:14px;color:rgba(255,255,255,.72)}.app-sidebar nav a:hover,.app-sidebar nav a.active,.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:rgba(255,255,255,.11);color:#fff}.app-sidebar nav em{margin-left:auto;background:var(--gold);color:#fff;border-radius:20px;padding:2px 8px;font-style:normal;font-size:.74rem}.side-profile{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:20px 6px 0;display:flex;align-items:center;gap:10px}.side-profile>span,.user-avatar,.user-chip span{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:800}.side-profile div{flex:1}.side-profile strong,.side-profile small{display:block}.side-profile small{opacity:.6;font-size:.75rem}.app-main{margin-left:260px;padding:34px 42px 60px;min-height:100vh}.desktop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.desktop-header h1,.admin-header h1{font-family:Georgia,serif;font-size:34px;margin:0;color:var(--navy)}.date-switch{display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.76);padding:7px;border:1px solid var(--line);border-radius:16px}.date-switch a,.date-switch input{border:0;background:transparent;padding:10px 13px;border-radius:10px;color:var(--navy)}.date-switch a:hover{background:#fff}.desktop-hero{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:30px 34px;border-radius:var(--r);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.desktop-hero:after,.botanical-card:after{content:"";position:absolute;right:-40px;bottom:-70px;width:230px;height:230px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.desktop-hero h2{font-family:Georgia,serif;font-size:34px;margin:2px 0 10px}.desktop-hero p{max-width:650px;color:rgba(255,255,255,.72)}.hero-progress{min-width:230px}.hero-progress span{font-family:Georgia,serif;font-size:32px}.hero-progress small{display:block;color:rgba(255,255,255,.65);margin:4px 0 13px}.hero-progress div{height:7px;background:rgba(255,255,255,.15);border-radius:99px;overflow:hidden}.hero-progress i{display:block;height:100%;background:var(--gold)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 32px}.stats article{background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 22px rgba(23,50,71,.04)}.stats article span{color:var(--gold);font-size:20px}.stats strong{display:block;font-family:Georgia,serif;color:var(--navy);font-size:29px;margin:8px 0 2px}.stats small{color:var(--muted)}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.section-head h2,.panel h2,.rail-card h3{font-family:Georgia,serif;color:var(--navy);margin:0;font-size:25px}.property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.property-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(23,50,71,.06);transition:.25s}.property-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-cover{height:108px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 84%,#fff),var(--accent));padding:18px;display:flex;justify-content:space-between;align-items:flex-start;position:relative}.card-cover:after{content:"";position:absolute;right:-35px;bottom:-50px;width:150px;height:150px;border:1px solid rgba(255,255,255,.3);border-radius:50%}.property-icon{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.88);display:grid;place-items:center;font-size:25px;box-shadow:0 10px 20px rgba(0,0,0,.08)}.status-pill{background:rgba(255,255,255,.9);padding:7px 10px;border-radius:99px;font-size:.72rem;font-weight:800;color:var(--navy)}.card-body{padding:20px}.card-body h3{font-family:Georgia,serif;font-size:23px;color:var(--navy);margin:0 0 16px}.stay-info{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stay-info div{padding:12px;background:#f7f3ed;border-radius:13px}.stay-info span,.stay-info strong{display:block}.stay-info span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stay-info strong{margin-top:5px;color:var(--navy)}.guest-line{color:var(--muted);font-size:.86rem}.card-cta{display:flex;justify-content:space-between;color:var(--navy);font-weight:800;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.right-rail{display:grid;align-content:start;gap:16px}.rail-card,.panel{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 25px rgba(23,50,71,.05)}.botanical-card{background:linear-gradient(145deg,#e8e0d3,#f8f4ec);position:relative;overflow:hidden;min-height:190px}.rail-card p{color:var(--muted);line-height:1.55}.rail-card>a{color:var(--navy);font-weight:800}.rail-title{display:flex;gap:13px;align-items:center;margin-bottom:16px}.rail-title>span{width:42px;height:42px;background:var(--navy);color:#fff;border-radius:13px;display:grid;place-items:center}.rail-title strong,.rail-title small{display:block}.rail-title small{color:var(--muted);margin-top:4px}.rail-link{display:flex!important;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.topbar{background:var(--navy);color:#fff;padding:14px 28px;display:flex;align-items:center;justify-content:space-between}.shell{max-width:1180px;margin:auto;padding:30px}.shell.narrow{max-width:850px}.property-hero{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 65%,#173247));color:#fff;border-radius:24px;padding:30px;margin-bottom:18px}.property-hero h1{font-family:Georgia,serif;font-size:36px}.property-icon.large{width:62px;height:62px}.panel{margin-bottom:18px}.note{border-left:5px solid var(--gold)}.mission-actions{display:flex;gap:10px;margin:18px 0}.primary,.secondary,.danger,button{border:0;border-radius:12px;padding:12px 16px;cursor:pointer;font-weight:800}.primary{background:var(--navy);color:#fff}.secondary{background:#ebe4d9;color:var(--navy)}.danger{background:#a54c45;color:#fff}.checklist{display:grid;gap:9px}.check-row{display:flex;gap:13px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.check-row input{width:20px}.check-row b,.check-row small{display:block}.check-row small{color:var(--muted);margin-top:3px}.stock-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}label{display:grid;gap:7px;font-weight:700;color:var(--navy)}input,select,textarea{width:100%;border:1px solid #d9d1c6;border-radius:12px;background:#fff;padding:12px;color:var(--ink)}.stack{display:grid;gap:15px}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(115deg,var(--navy) 0 52%,var(--ivory) 52%)}.login-card{width:min(430px,92vw);background:#fff;padding:40px;border-radius:26px;box-shadow:var(--shadow)}.brand-mark{width:64px;height:64px;background:var(--navy);color:#f1d3a6;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:34px;margin-bottom:18px}.login-card h1{font-family:Georgia,serif;color:var(--navy);font-size:38px;margin:0}.muted{color:var(--muted)}.flash{padding:13px;border-radius:12px;margin:12px 0}.success{background:#e3f1e8;color:#2e6845}.error{background:#f6e5e3;color:#8b3b35}.admin-body{background:var(--ivory)}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--navy);color:#fff;padding:24px 18px}.admin-main{margin-left:250px;padding:34px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.user-chip{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:7px 12px;border-radius:99px}.admin-stats,.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.admin-stats{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.admin-stats article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.admin-stats strong{display:block;font-size:30px;color:var(--navy)}.welcome-panel{display:flex;justify-content:space-between;align-items:center}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.compact-list article,.property-admin-list article{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.compact-list article>div:nth-child(2),.property-admin-list article>div{flex:1}.compact-list small,.property-admin-list small{display:block;color:var(--muted)}.incident-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.empty{grid-column:1/-1;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:20px;padding:50px}.app-sidebar+.app-main{}@media(max-width:1050px){.content-layout{grid-template-columns:1fr}.right-rail{grid-template-columns:repeat(3,1fr)}.property-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-sidebar{position:fixed;inset:auto 0 0 0;width:auto;height:70px;padding:8px 12px;display:block}.side-brand,.side-profile{display:none}.app-sidebar nav{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.app-sidebar nav a{justify-content:center;display:grid;text-align:center;padding:7px;font-size:.72rem}.app-sidebar nav a span{display:block}.app-main{margin:0;padding:18px 16px 92px}.desktop-header{display:block}.desktop-header h1{font-size:27px}.date-switch{margin-top:15px;overflow:auto}.desktop-hero{padding:24px;display:block}.hero-progress{margin-top:20px}.stats{grid-template-columns:repeat(2,1fr)}.content-layout{display:block}.right-rail{display:none}.property-grid{grid-template-columns:1fr}.card-cover{height:94px}.topbar{padding:13px 15px}.shell{padding:16px}.admin-sidebar{position:static;width:auto}.admin-main{margin:0;padding:18px}.admin-grid,.admin-stats,.incident-grid{grid-template-columns:1fr}.admin-header{align-items:flex-start}.welcome-panel{display:block}.login-body{background:var(--ivory)}}

/* =========================================================
   EVASIONBNB CENTRE MENAGE — V4.0 BRAND SYSTEM
   Palette alignée sur reservation.evasionbnb.fr
   ========================================================= */
:root{
  --navy:#12344d;
  --navy2:#0b2639;
  --ivory:#f7f5f1;
  --paper:#ffffff;
  --gold:#13aaa8;
  --sage:#31d5cf;
  --turquoise:#31d5cf;
  --turquoise-dark:#13aaa8;
  --turquoise-soft:#e9fbfa;
  --ink:#18344a;
  --muted:#627586;
  --line:#dbe6eb;
  --shadow:0 22px 60px rgba(11,38,57,.12);
  --shadow-soft:0 10px 30px rgba(11,38,57,.07);
}
html{background:var(--ivory)}
body{color:var(--ink);background:
 radial-gradient(circle at 7% 5%,rgba(49,213,207,.15),transparent 29rem),
 radial-gradient(circle at 97% 94%,rgba(18,52,77,.09),transparent 32rem),
 var(--ivory)}
.eyebrow{color:var(--turquoise-dark)}
.app-sidebar,.admin-sidebar{background:
 radial-gradient(circle at 15% 2%,rgba(49,213,207,.16),transparent 210px),
 linear-gradient(180deg,var(--navy),var(--navy2));}
.side-brand,.admin-brand{display:grid;gap:8px;margin:0 7px 30px;padding:8px 4px}
.brand-logo-horizontal{display:block;width:190px;max-width:100%;height:auto;opacity:1}
.brand-version{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.57);padding-left:2px}
.app-sidebar nav a,.admin-sidebar nav a{border:1px solid transparent;transition:background .2s,border-color .2s,transform .2s}
.app-sidebar nav a:hover,.app-sidebar nav a.active,.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:rgba(49,213,207,.12);border-color:rgba(49,213,207,.18);color:#fff;transform:translateX(2px)}
.app-sidebar nav em{background:var(--turquoise);color:var(--navy2)}
.desktop-header h1,.admin-header h1,.section-head h2,.panel h2,.rail-card h3,.card-body h3{color:var(--navy)}
.desktop-hero{background:
 radial-gradient(circle at 92% 15%,rgba(49,213,207,.22),transparent 260px),
 linear-gradient(120deg,var(--navy),#164a67);box-shadow:0 24px 60px rgba(11,38,57,.2)}
.desktop-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 54%,rgba(255,255,255,.045));pointer-events:none}
.hero-progress i{background:linear-gradient(90deg,var(--turquoise),#7be8e3)}
.stats article,.property-card,.rail-card,.panel,.login-card,.user-chip{border-color:var(--line);box-shadow:var(--shadow-soft)}
.stats article span{color:var(--turquoise-dark)}
.property-card:hover{box-shadow:var(--shadow);border-color:rgba(19,170,168,.28)}
.card-cover{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 72%,#12344d),color-mix(in srgb,var(--accent) 70%,#31d5cf))}
.stay-info div{background:#f4fbfb;border:1px solid rgba(19,170,168,.10)}
.card-cta,.rail-card>a{color:var(--turquoise-dark)}
.botanical-card{background:
 radial-gradient(circle at 95% 5%,rgba(49,213,207,.24),transparent 170px),
 linear-gradient(145deg,#eefbfa,#fff);border-color:rgba(19,170,168,.18)}
.rail-title>span{background:linear-gradient(135deg,var(--turquoise-dark),var(--navy));box-shadow:0 8px 20px rgba(19,170,168,.2)}
.primary{background:linear-gradient(135deg,var(--turquoise-dark),#0e8e8c);color:#fff;box-shadow:0 9px 22px rgba(19,170,168,.2);transition:.2s}
.primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(19,170,168,.28)}
.secondary{background:var(--turquoise-soft);color:var(--navy);border:1px solid rgba(19,170,168,.18);transition:.2s}
.secondary:hover{background:#d9f7f5;border-color:rgba(19,170,168,.35)}
.link-btn{color:var(--turquoise-dark)}
.note{border-left-color:var(--turquoise-dark)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(49,213,207,.16);border-color:var(--turquoise-dark)}
.login-body{background:
 radial-gradient(circle at 18% 12%,rgba(49,213,207,.28),transparent 32rem),
 linear-gradient(115deg,var(--navy2) 0 50%,var(--ivory) 50%)}
.login-card{position:relative;overflow:hidden;border:1px solid rgba(18,52,77,.08)}
.login-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--turquoise),var(--turquoise-dark),var(--navy))}
.login-logo{display:block;width:235px;max-width:80%;height:auto;margin:0 0 28px}
.login-card h1{color:var(--navy)}
.admin-header{gap:20px}
.user-chip span,.user-avatar,.side-profile>span{background:var(--turquoise-soft);color:var(--navy);border:1px solid rgba(19,170,168,.18)}
.admin-quick-actions{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);display:grid;gap:9px}
.admin-quick-link{display:flex!important;align-items:center;gap:11px;width:100%;min-height:46px;padding:11px 13px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:13px!important;background:rgba(255,255,255,.07);color:rgba(255,255,255,.88)!important;font-size:.88rem;font-weight:750;transition:.2s}
.admin-quick-link:hover{background:rgba(49,213,207,.14)!important;border-color:rgba(49,213,207,.30)!important;transform:translateY(-1px)!important}
.admin-quick-link.logout-link{background:transparent;color:rgba(255,255,255,.7)!important}
.admin-quick-link.logout-link:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
.quick-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:rgba(49,213,207,.16);color:var(--turquoise)}
.source-badge.smoobu{background:var(--turquoise-soft);color:#087d7b}
.status-pill{color:var(--navy)}
@media(max-width:820px){
 .brand-logo-horizontal{width:155px}
 .login-body{background:linear-gradient(180deg,var(--navy2) 0 23%,var(--ivory) 23%)}
 .login-card{margin-top:30px}
}

/* EVASIONBNB V4.0 — identité reservation.evasionbnb.fr */
:root{--navy:#12344d;--navy2:#0b2639;--ivory:#f7f5f1;--paper:#fff;--gold:#13aaa8;--sage:#31d5cf;--turquoise:#31d5cf;--turquoise-dark:#13aaa8;--turquoise-soft:#e9fbfa;--ink:#18344a;--muted:#627586;--line:#dbe6eb;--shadow:0 22px 60px rgba(11,38,57,.12);--shadow-soft:0 10px 30px rgba(11,38,57,.07)}
html{background:var(--ivory)}body{color:var(--ink);background:radial-gradient(circle at 7% 5%,rgba(49,213,207,.15),transparent 29rem),radial-gradient(circle at 97% 94%,rgba(18,52,77,.09),transparent 32rem),var(--ivory)}.eyebrow{color:var(--turquoise-dark)}
.app-sidebar,.admin-sidebar{background:radial-gradient(circle at 15% 2%,rgba(49,213,207,.16),transparent 210px),linear-gradient(180deg,var(--navy),var(--navy2))}.side-brand,.admin-brand{display:grid;gap:8px;margin:0 7px 30px;padding:8px 4px}.brand-logo-horizontal{display:block;width:190px;max-width:100%;height:auto;opacity:1}.brand-version{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.57);padding-left:2px}
.app-sidebar nav a,.admin-sidebar nav a{border:1px solid transparent;transition:.2s}.app-sidebar nav a:hover,.app-sidebar nav a.active,.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:rgba(49,213,207,.12);border-color:rgba(49,213,207,.18);color:#fff;transform:translateX(2px)}.app-sidebar nav em{background:var(--turquoise);color:var(--navy2)}
.desktop-header h1,.admin-header h1,.section-head h2,.panel h2,.rail-card h3,.card-body h3{color:var(--navy)}.desktop-hero{background:radial-gradient(circle at 92% 15%,rgba(49,213,207,.22),transparent 260px),linear-gradient(120deg,var(--navy),#164a67);box-shadow:0 24px 60px rgba(11,38,57,.2)}.hero-progress i{background:linear-gradient(90deg,var(--turquoise),#7be8e3)}
.stats article,.property-card,.rail-card,.panel,.login-card,.user-chip{border-color:var(--line);box-shadow:var(--shadow-soft)}.stats article span{color:var(--turquoise-dark)}.property-card:hover{box-shadow:var(--shadow);border-color:rgba(19,170,168,.28)}.card-cover{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 72%,#12344d),color-mix(in srgb,var(--accent) 70%,#31d5cf))}.stay-info div{background:#f4fbfb;border:1px solid rgba(19,170,168,.10)}.card-cta,.rail-card>a{color:var(--turquoise-dark)}
.botanical-card{background:radial-gradient(circle at 95% 5%,rgba(49,213,207,.24),transparent 170px),linear-gradient(145deg,#eefbfa,#fff);border-color:rgba(19,170,168,.18)}.rail-title>span{background:linear-gradient(135deg,var(--turquoise-dark),var(--navy));box-shadow:0 8px 20px rgba(19,170,168,.2)}
.primary{background:linear-gradient(135deg,var(--turquoise-dark),#0e8e8c);color:#fff;box-shadow:0 9px 22px rgba(19,170,168,.2);transition:.2s}.primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(19,170,168,.28)}.secondary{background:var(--turquoise-soft);color:var(--navy);border:1px solid rgba(19,170,168,.18);transition:.2s}.secondary:hover{background:#d9f7f5;border-color:rgba(19,170,168,.35)}.link-btn{color:var(--turquoise-dark)}.note{border-left-color:var(--turquoise-dark)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(49,213,207,.16);border-color:var(--turquoise-dark)}
.login-body{background:radial-gradient(circle at 18% 12%,rgba(49,213,207,.28),transparent 32rem),linear-gradient(115deg,var(--navy2) 0 50%,var(--ivory) 50%)}.login-card{position:relative;overflow:hidden;border:1px solid rgba(18,52,77,.08)}.login-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--turquoise),var(--turquoise-dark),var(--navy))}.login-logo{display:block;width:235px;max-width:80%;height:auto;margin:0 0 28px}.login-card h1{color:var(--navy)}
.user-chip span,.user-avatar,.side-profile>span{background:var(--turquoise-soft);color:var(--navy);border:1px solid rgba(19,170,168,.18)}.admin-quick-actions{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);display:grid;gap:9px}.admin-quick-link{display:flex!important;align-items:center;gap:11px;width:100%;min-height:46px;padding:11px 13px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:13px!important;background:rgba(255,255,255,.07);color:rgba(255,255,255,.88)!important;font-size:.88rem;font-weight:750;transition:.2s}.admin-quick-link:hover{background:rgba(49,213,207,.14)!important;border-color:rgba(49,213,207,.30)!important;transform:translateY(-1px)!important}.admin-quick-link.logout-link{background:transparent;color:rgba(255,255,255,.7)!important}.admin-quick-link.logout-link:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}.quick-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:rgba(49,213,207,.16);color:var(--turquoise)}.source-badge.smoobu{background:var(--turquoise-soft);color:#087d7b}
@media(max-width:820px){.brand-logo-horizontal{width:155px}.login-body{background:linear-gradient(180deg,var(--navy2) 0 23%,var(--ivory) 23%)}.login-card{margin-top:30px}}

/* =========================================================
   EVASIONBNB CENTRE MENAGE V4.0 — dashboard premium
   ========================================================= */
:root{--v4-navy:#062f4a;--v4-navy-2:#04253a;--v4-cyan:#23d1cc;--v4-cyan-dark:#08aaa7;--v4-bg:#f8fafb;--v4-card:#fff;--v4-text:#0d2d47;--v4-muted:#6d8192;--v4-border:#e8eef1;--v4-danger:#f03250;--v4-radius:18px;--v4-shadow:0 8px 28px rgba(7,47,74,.08)}
.v4-ui{background:var(--v4-bg);color:var(--v4-text)}
.v4-ui .app-sidebar,.admin-sidebar{width:300px;background:linear-gradient(180deg,#073552 0%,#032943 100%);padding:26px 18px;border-radius:0 22px 22px 0;box-shadow:8px 0 30px rgba(4,37,58,.08)}
.v4-ui .brand-logo-horizontal,.admin-sidebar .brand-logo-horizontal{width:220px;max-height:72px;object-fit:contain;object-position:left center}
.v4-ui .side-brand,.admin-brand{margin:0 12px 30px;gap:6px}.v4-ui .brand-version,.admin-brand .brand-version{padding-left:0;margin-left:0;font-size:.72rem;letter-spacing:.18em;color:#fff;text-align:left}
.v4-ui .app-sidebar nav,.admin-sidebar nav{gap:5px}.v4-ui .app-sidebar nav a,.admin-sidebar nav a{min-height:51px;padding:13px 18px;border-radius:10px;font-weight:700;color:rgba(255,255,255,.82)}
.v4-ui .app-sidebar nav a.active,.v4-ui .app-sidebar nav a:hover,.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:linear-gradient(135deg,#23d1cc,#13bdbc);color:#fff;border-color:transparent;box-shadow:0 8px 22px rgba(35,209,204,.2);transform:none}
.nav-divider{margin:20px 18px 8px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.nav-divider span{font-size:.72rem;letter-spacing:.12em;color:var(--v4-cyan);font-weight:800}
.v4-ui .side-profile{margin:18px 12px 0;padding:18px 4px 0}.v4-ui .side-profile>span{background:#0c4160;color:#fff;border:1px solid rgba(35,209,204,.35)}
.v4-ui .app-main{margin-left:300px;padding:0 34px 45px;max-width:none}.v4-topbar{height:72px;margin:0 -34px 28px;padding:0 34px;border-bottom:1px solid var(--v4-border);background:#fff;display:flex;align-items:center;justify-content:space-between}.menu-button{background:#fff;color:var(--v4-navy);font-size:21px;padding:8px 11px;box-shadow:0 5px 18px rgba(7,47,74,.06)}.top-user{display:flex;align-items:center;gap:10px}.top-user>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--v4-navy);color:#fff;font-weight:800}.top-user strong,.top-user small{display:block}.top-user small{font-size:.74rem;color:var(--v4-muted)}
.v4-page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.v4-page-head h1{font-family:Georgia,serif;font-size:36px;margin:0 0 6px;color:var(--v4-navy)}.v4-page-head p{margin:0;color:var(--v4-muted)}.date-picker-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--v4-border);border-radius:13px;padding:8px 14px;box-shadow:var(--v4-shadow)}.date-picker-card input{border:0;padding:8px;background:transparent;font-weight:700;color:var(--v4-navy)}
.v4-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.v4-kpis article{min-height:118px;background:#fff;border:1px solid var(--v4-border);border-radius:17px;padding:22px;display:flex;align-items:center;gap:18px;box-shadow:var(--v4-shadow)}.kpi-icon{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--v4-cyan),var(--v4-cyan-dark));color:#fff;font-size:23px}.kpi-icon.pale{background:#d9f7f6;color:var(--v4-cyan-dark)}.kpi-icon.sand{background:#f4eee5;color:#a98c69}.v4-kpis strong{display:block;font-size:28px;color:var(--v4-navy)}.v4-kpis small{display:block;color:var(--v4-muted);margin-top:5px}
.v4-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);gap:24px}.mission-panel,.v4-card{background:#fff;border:1px solid var(--v4-border);border-radius:17px;box-shadow:var(--v4-shadow);overflow:hidden}.mission-panel>header{display:flex;gap:15px;align-items:center;background:linear-gradient(135deg,#073b5b,#052d48);color:#fff;padding:22px 25px}.mission-panel>header>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12)}.mission-panel h2{margin:0;font-size:20px}.mission-panel h2 small{font-size:.8em}.mission-panel header p{margin:5px 0 0;color:rgba(255,255,255,.82);font-size:.87rem}.mission-list{padding:10px}.mission-row{display:grid;grid-template-columns:180px 1fr 45px;align-items:center;gap:18px;padding:12px;border:1px solid var(--v4-border);border-radius:15px;margin-bottom:10px;background:#fff;transition:.2s}.mission-row:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(7,47,74,.09);border-color:rgba(35,209,204,.35)}.mission-photo{height:120px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 70%,#073b5b),color-mix(in srgb,var(--accent) 80%,#23d1cc));display:grid;place-items:center;overflow:hidden}.mission-photo span{font-size:46px;filter:drop-shadow(0 5px 12px rgba(0,0,0,.16))}.mission-copy h3{margin:0 0 4px;font-size:20px;color:var(--v4-navy)}.mission-copy>small{color:var(--v4-muted)}.mission-copy p{color:var(--v4-danger);margin:13px 0 10px}.mission-copy>div{display:flex;gap:20px;color:var(--v4-text);font-size:.85rem}.mission-arrow{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--v4-border);font-size:20px}.status-done{opacity:.65}.v4-right{display:grid;gap:18px;align-content:start}.v4-card{padding:20px}.v4-card-title{display:flex;align-items:center;gap:11px;margin-bottom:13px}.v4-card-title h3{margin:0;font-size:18px;color:var(--v4-navy);flex:1}.v4-card-title>a{font-size:.82rem;color:var(--v4-cyan-dark);font-weight:800}.v4-card-title em{font-style:normal;background:#dff8f7;color:var(--v4-navy);border-radius:20px;padding:4px 9px}.stock-alert,.task-link{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--v4-border)}.stock-alert>span,.task-link>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f5efe8;color:#9d815f}.stock-alert strong,.stock-alert small,.task-link strong,.task-link small{display:block}.stock-alert small,.task-link small{margin-top:3px}.stock-out,.stock-low{color:var(--v4-danger)}.quick-row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--v4-border);padding:14px;border-radius:12px;margin-top:10px;color:var(--v4-navy);font-size:.88rem}.quick-row:hover{border-color:var(--v4-cyan);background:#f5ffff}.task-link{color:var(--v4-navy)}.task-link>div{flex:1}.task-link small{color:var(--v4-cyan-dark)}
/* Administration V4 */
.admin-body{background:var(--v4-bg)}.admin-sidebar{width:280px;border-radius:0 22px 22px 0}.admin-main{margin-left:280px;padding:34px 38px}.admin-header{background:#fff;border:1px solid var(--v4-border);border-radius:16px;padding:18px 22px;box-shadow:var(--v4-shadow)}.admin-stats article,.panel{border-color:var(--v4-border);border-radius:17px;box-shadow:var(--v4-shadow)}.admin-stats article span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#dcf8f7;color:var(--v4-cyan-dark);margin-bottom:12px}.admin-stats strong{font-size:32px}.admin-quick-link{background:rgba(255,255,255,.07)!important}.admin-quick-link:hover{background:rgba(35,209,204,.15)!important}
@media(max-width:1100px){.v4-kpis{grid-template-columns:repeat(2,1fr)}.v4-dashboard-grid{grid-template-columns:1fr}.v4-right{grid-template-columns:repeat(2,1fr)}.v4-right .v4-card:last-child{grid-column:1/-1}}
@media(max-width:820px){.v4-ui .app-sidebar{transform:translateX(-100%);width:280px}.v4-ui .app-main{margin-left:0;padding:0 16px 90px}.v4-topbar{margin:0 -16px 22px;padding:0 16px}.top-user div{display:none}.v4-page-head{align-items:flex-start;gap:14px}.v4-page-head h1{font-size:29px}.date-picker-card{padding:6px 9px}.date-picker-card input{max-width:145px}.v4-kpis{grid-template-columns:repeat(2,1fr);gap:10px}.v4-kpis article{min-height:95px;padding:14px;gap:10px}.kpi-icon{width:43px;height:43px}.v4-kpis strong{font-size:23px}.v4-kpis small{font-size:.72rem}.mission-row{grid-template-columns:88px 1fr 34px;gap:11px}.mission-photo{height:88px}.mission-photo span{font-size:34px}.mission-copy h3{font-size:17px}.mission-copy>div{display:grid;gap:4px}.v4-right{grid-template-columns:1fr}.admin-sidebar{display:none}.admin-main{margin-left:0;padding:18px}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}}
@media(max-width:480px){.v4-kpis{grid-template-columns:1fr 1fr}.v4-kpis article{display:block}.kpi-icon{margin-bottom:9px}.mission-panel>header{padding:17px}.mission-row{grid-template-columns:72px 1fr}.mission-photo{height:72px}.mission-arrow{display:none}.mission-copy p{margin:8px 0}.v4-page-head{display:block}.date-picker-card{margin-top:14px;width:max-content}}

/* V4.2 — administration ergonomique : checklists et consommables */
.management-page{display:grid;gap:18px}.management-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 28px;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fcfc);border:1px solid var(--v4-border);box-shadow:var(--v4-shadow)}.management-hero h2{margin:3px 0 7px;font-size:26px;color:var(--navy)}.management-hero p:last-child{margin:0;color:var(--muted);max-width:720px}.management-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.management-kpis article{padding:18px 20px;border-radius:16px;background:#fff;border:1px solid var(--v4-border);box-shadow:var(--v4-shadow);position:relative;overflow:hidden}.management-kpis article:after{content:"";position:absolute;inset:auto 18px 0;height:3px;background:var(--turquoise);border-radius:8px 8px 0 0}.management-kpis article.warning:after{background:#e5a640}.management-kpis article.danger:after{background:#ef596b}.management-kpis article.success:after{background:#35b879}.management-kpis small{display:block;color:var(--muted);font-weight:700}.management-kpis strong{display:block;margin-top:6px;color:var(--navy);font-size:29px}.management-toolbar{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(150px,.7fr));gap:11px;padding:13px;background:#fff;border:1px solid var(--v4-border);border-radius:16px;box-shadow:var(--v4-shadow)}.management-toolbar select,.search-box{min-height:46px;border:1px solid #dde7eb;border-radius:12px;background:#fafcfd}.search-box{display:flex;align-items:center;padding:0 13px;gap:8px}.search-box span{font-size:22px;color:var(--muted)}.search-box input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;width:100%}.management-groups{display:grid;gap:13px}.management-group{background:#fff;border:1px solid var(--v4-border);border-radius:17px;box-shadow:var(--v4-shadow);overflow:hidden}.management-group[hidden]{display:none}.management-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;background:#fff}.management-group summary::-webkit-details-marker{display:none}.group-title{display:flex;align-items:center;gap:13px}.group-icon{width:42px;height:42px;border-radius:12px;background:#dff8f7;color:var(--v4-cyan-dark);display:grid;place-items:center;font-size:20px;font-weight:900}.group-title strong{display:block;color:var(--navy);font-size:17px}.group-title small{display:block;color:var(--muted);margin-top:2px}.group-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.group-summary span{padding:6px 9px;border-radius:999px;background:#f1f6f8;color:#577180;font-size:.72rem;font-weight:750}.group-summary b{font-size:20px;color:var(--muted);transition:.2s}.management-group[open] .group-summary b{transform:rotate(180deg)}.alert-text{background:#fff0f2!important;color:#d94a5e!important}.management-rows{border-top:1px solid var(--v4-border)}.management-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid #edf1f3;transition:.18s}.management-row:last-child{border-bottom:0}.management-row:hover{background:#fbfefe}.management-row.is-disabled{opacity:.52;background:#fafafa}.drag-handle{font-size:22px;color:#a6b6bf;cursor:grab}.stock-symbol{width:37px;height:37px;border-radius:11px;background:#f4eee5;color:#a98351;display:grid;place-items:center}.row-main strong{display:block;color:var(--navy);font-size:15px}.row-main>small{display:block;margin-top:5px;color:var(--muted)}.row-main>div{display:flex;align-items:center;gap:9px;margin-top:5px;flex-wrap:wrap}.row-main small{color:var(--muted)}.category-badge{font-size:.7rem;font-weight:800;border-radius:999px;padding:5px 8px}.category-badge.daily{color:#087d7b;background:#dcf8f7}.category-badge.weekly{color:#2c5b9b;background:#eaf1fb}.category-badge.monthly{color:#8a5a12;background:#fbf0dd}.category-badge.periodic{color:#7647a3;background:#f1e9f8}.row-actions{display:flex;align-items:center;gap:7px}.row-actions form{margin:0}.icon-action{width:35px;height:35px;border:1px solid #dfe7eb;border-radius:10px;background:#fff;color:#567080;display:grid;place-items:center;padding:0;cursor:pointer}.icon-action:hover{border-color:var(--turquoise);color:var(--v4-cyan-dark);background:#f2ffff}.toggle-control{position:relative;width:45px;height:25px;padding:0;border:0;border-radius:999px;background:#cbd6dc;cursor:pointer}.toggle-control i{position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s}.toggle-control.on{background:var(--turquoise)}.toggle-control.on i{transform:translateX(20px)}.quick-stock{display:flex;padding:3px;border-radius:11px;background:#f2f5f6;gap:2px}.quick-stock button{border:0;background:transparent;border-radius:8px;padding:8px 10px;color:#687e89;font-size:.72rem;font-weight:800;cursor:pointer}.quick-stock button[data-status="ok"].active{background:#e0f6eb;color:#14814d}.quick-stock button[data-status="low"].active{background:#fff0d9;color:#a86a0a}.quick-stock button[data-status="out"].active{background:#ffe3e7;color:#d63d54}.drawer-backdrop{position:fixed;inset:0;background:rgba(4,31,47,.42);backdrop-filter:blur(2px);z-index:80;opacity:0;pointer-events:none;transition:.22s}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}.admin-drawer{position:fixed;z-index:90;right:0;top:0;height:100vh;width:min(470px,94vw);background:#fff;box-shadow:-18px 0 50px rgba(5,35,53,.22);transform:translateX(102%);transition:.28s ease;display:flex;flex-direction:column}.admin-drawer.is-open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:24px 25px;border-bottom:1px solid var(--v4-border)}.drawer-head h2{margin:3px 0 0;color:var(--navy)}.drawer-close{border:0;background:#eff4f6;color:var(--navy);width:38px;height:38px;border-radius:12px;font-size:25px;cursor:pointer}.drawer-form{display:grid;gap:18px;padding:24px 25px;overflow:auto}.drawer-form fieldset{border:1px solid #dde7eb;border-radius:14px;padding:15px}.drawer-form legend{padding:0 7px;font-weight:800;color:var(--navy)}.property-checkboxes{display:grid;gap:8px;margin-top:8px}.check-option{display:flex!important;align-items:center;gap:9px;padding:10px 11px;border-radius:10px;background:#f7fafb;cursor:pointer}.check-option input{width:18px;height:18px;margin:0}.conditional-fields{display:grid;gap:12px}.conditional-fields label{display:none}.conditional-fields label.is-visible{display:grid}.drawer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:18px;border-top:1px solid var(--v4-border)}.no-filter-results{padding:30px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--v4-border);border-radius:16px}
@media(max-width:1050px){.management-kpis{grid-template-columns:repeat(2,1fr)}.management-toolbar{grid-template-columns:1fr 1fr}.management-row{grid-template-columns:auto minmax(0,1fr)}.management-row>.row-actions,.management-row>.quick-stock{grid-column:2}.quick-stock{justify-self:start}}
@media(max-width:700px){.management-hero{display:grid;padding:20px}.management-hero .primary{width:100%}.management-kpis{grid-template-columns:1fr 1fr}.management-toolbar{grid-template-columns:1fr}.management-group summary{align-items:flex-start}.group-summary span{display:none}.management-row{padding:13px;gap:10px}.quick-stock{width:100%}.quick-stock button{flex:1;padding:9px 4px}.row-actions{justify-content:flex-end}.admin-drawer{width:100vw}.drawer-actions{position:sticky;bottom:0;background:#fff;padding-bottom:10px}}


/* V4.4 — Alignement optimisé de l’état des stocks dans les fiches logement */
.stock-list{display:grid;gap:10px;margin-top:18px}
.stock-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:24px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.stock-row>span{min-width:0;color:var(--navy);font-weight:750;line-height:1.35}
.stock-row .stock-select{width:180px;min-width:180px;justify-self:end;margin:0;padding:11px 38px 11px 13px;border-color:#d7e2e7;background-color:#fff;color:var(--ink)}
.stock-row:last-child{border-bottom:1px solid var(--line)}
@media(max-width:560px){
  .stock-row{grid-template-columns:minmax(0,1fr) 145px;gap:14px;padding:13px 14px}
  .stock-row .stock-select{width:145px;min-width:145px;padding-left:10px;padding-right:30px}
}
@media(max-width:390px){
  .stock-row{grid-template-columns:minmax(0,1fr) 132px;gap:10px}
  .stock-row .stock-select{width:132px;min-width:132px;font-size:.9rem}
}

/* V4.5 — Retour de validation pour les photos de signalement */
.photo-upload-feedback{display:block;min-height:1.25em;color:var(--muted);font-weight:600}.photo-upload-feedback.is-error{color:#a53f3f}.photo-upload-feedback.is-valid{color:#25725a}


/* V4.7 — Heure de départ personnalisable depuis l’administration */
.bookings-admin .section-head{align-items:flex-start}.departure-override-form{min-width:310px}.departure-time-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.departure-time-control input[type="time"]{width:116px;min-height:39px;padding:8px 10px;border:1px solid #d7e2e7;border-radius:10px;background:#fff;color:var(--navy);font-weight:800}.departure-time-control .small-btn{min-height:39px;padding:8px 11px}.departure-time-meta{display:block;margin-top:6px;color:var(--muted);font-size:.72rem;font-weight:700}.departure-time-meta.is-overridden{color:#c64755}.edited-booking{background:#effcfb!important}.reset-time{white-space:nowrap}
@media(max-width:800px){.departure-override-form{min-width:250px}.departure-time-control{align-items:stretch}.departure-time-control input[type="time"]{width:100%}.departure-time-control .small-btn{flex:1}}

/* V4.7 — suppression sécurisée des anomalies */
.incident-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.incident-delete-button{border:1px solid #f0c8cd;background:#fff5f6;color:#b63e4e;border-radius:10px;padding:8px 11px;font-weight:800;cursor:pointer;transition:.18s}.incident-delete-button:hover{background:#b63e4e;border-color:#b63e4e;color:#fff}.confirmation-modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.2s}.confirmation-modal.is-open{opacity:1;visibility:visible}.confirmation-modal-backdrop{position:absolute;inset:0;background:rgba(4,31,47,.58);backdrop-filter:blur(4px)}.confirmation-modal-dialog{position:relative;width:min(480px,100%);padding:30px;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(4,31,47,.3);text-align:center;transform:translateY(12px) scale(.98);transition:.22s}.confirmation-modal.is-open .confirmation-modal-dialog{transform:none}.confirmation-modal-dialog h2{margin:5px 0 10px;color:var(--navy)}.confirmation-modal-dialog>p:not(.eyebrow){margin:0 auto;color:var(--muted);line-height:1.6;max-width:390px}.confirmation-icon{width:58px;height:58px;margin:0 auto 16px;border-radius:18px;display:grid;place-items:center;background:#fff0f2;color:#c64457;font-size:28px;font-weight:900}.confirmation-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.confirmation-actions button{min-width:150px}.confirmation-actions .danger{background:#bd4051;color:#fff;border-color:#bd4051}.confirmation-actions .danger:hover{background:#a63242}@media(max-width:560px){.confirmation-modal-dialog{padding:24px 18px}.confirmation-actions{display:grid}.confirmation-actions button{width:100%}}


/* V4.8 — menus mobiles fonctionnels front-office et administration */
.menu-button{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--v4-border);border-radius:12px;background:#fff;color:var(--v4-navy);font-size:23px;line-height:1;box-shadow:0 5px 18px rgba(7,47,74,.06);cursor:pointer}
.mobile-nav-backdrop{position:fixed;inset:0;z-index:109;display:block;border:0;border-radius:0;padding:0;background:rgba(3,31,48,.55);backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,visibility .22s}
.mobile-nav-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
body.mobile-nav-open{overflow:hidden}
@media(min-width:821px){.v4-topbar{justify-content:flex-end}.menu-button{display:none!important}.mobile-nav-backdrop{display:none!important}}
@media(max-width:820px){
  .menu-button{display:inline-flex}
  .v4-topbar{justify-content:space-between}
  .v4-ui .app-sidebar{display:flex;position:fixed;inset:0 auto 0 0;height:100dvh;width:min(300px,88vw);z-index:120;transform:translateX(-105%);transition:transform .26s ease;overflow-y:auto;border-radius:0 22px 22px 0}
  .v4-ui .app-sidebar.is-open{transform:translateX(0)}
  .v4-ui .app-sidebar .side-brand,.v4-ui .app-sidebar .side-profile{display:flex}
  .v4-ui .app-sidebar .side-brand{display:grid}
  .v4-ui .app-sidebar nav{display:grid;grid-template-columns:1fr;gap:5px}
  .v4-ui .app-sidebar nav a{display:flex;justify-content:flex-start;text-align:left;padding:13px 18px;font-size:.9rem}
  .v4-ui .app-sidebar nav a span{display:inline}
  .admin-sidebar{display:flex!important;flex-direction:column;position:fixed;inset:0 auto 0 0;height:100dvh;width:min(290px,88vw);z-index:120;transform:translateX(-105%);transition:transform .26s ease;overflow-y:auto;border-radius:0 22px 22px 0}
  .admin-sidebar.is-open{transform:translateX(0)}
  .admin-main{margin-left:0;padding:18px}
  .admin-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
  .admin-header .user-chip{justify-self:end}
}
@media(max-width:520px){.admin-header{grid-template-columns:auto minmax(0,1fr)}.admin-header .user-chip{display:none}}

/* V4.8.1 — alignement du libellé de marque avec le logo */
.side-brand .brand-version,.admin-brand .brand-version{padding-left:0!important;margin-left:0!important;text-align:left!important;}

/* V4.9.4 */
.danger-action{color:#d63d54;border-color:#f1cbd1}.danger-action:hover{color:#fff!important;background:#d94a5e!important;border-color:#d94a5e!important}

/* V4.9.4 — connexion persistante */
.remember-option{display:flex!important;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid #dce7eb;border-radius:13px;background:#f8fbfc;cursor:pointer;text-align:left}.remember-option input{width:19px!important;height:19px!important;min-height:0!important;margin:2px 0 0;padding:0!important;accent-color:var(--turquoise)}.remember-option span{display:grid;gap:3px}.remember-option strong{color:var(--navy);font-size:.94rem}.remember-option small{color:var(--muted);font-size:.78rem;line-height:1.35}.remember-option:hover{border-color:var(--turquoise);background:#f1ffff}

/* V4.9.6 — Photos de couverture synchronisées depuis Smoobu */
.mission-photo img{width:100%;height:100%;object-fit:cover;display:block}.property-avatar-cover{overflow:hidden}.property-avatar-cover img{width:100%;height:100%;object-fit:cover;display:block}


/* V4.9.6 — édition des logements et photos de couverture dans Parc actuel */
.property-edit-list{display:grid;gap:14px}.property-edit-card{border:1px solid rgba(18,52,77,.12);border-radius:18px;background:#fff;overflow:hidden}.property-edit-card>summary{list-style:none;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;cursor:pointer}.property-edit-card>summary::-webkit-details-marker{display:none}.property-edit-card[open]>summary{border-bottom:1px solid rgba(18,52,77,.1);background:rgba(49,213,207,.05)}.property-edit-summary-copy{min-width:0;display:grid;gap:3px}.property-edit-summary-copy strong,.property-edit-summary-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-edit-trigger{pointer-events:none}.property-edit-body{padding:18px;display:grid;gap:16px}.property-edit-form{display:grid;gap:14px}.property-edit-form label{display:grid;gap:7px}.property-edit-form input[type=file]{padding:10px;background:#f8fafb;border:1px dashed rgba(18,52,77,.25)}.property-edit-form small{color:#687883}.remove-cover-option{width:max-content}.property-edit-actions{display:flex;justify-content:flex-end}.property-avatar-cover img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.property-edit-card>summary{grid-template-columns:52px minmax(0,1fr);padding:12px}.property-edit-trigger{grid-column:1/-1;width:100%;text-align:center}.property-edit-body{padding:14px}.property-edit-actions,.property-edit-actions .primary{width:100%}}


/* V4.9.8 — Réservations ergonomiques et horaires arrivée/départ */
.mission-times{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 8px}.mission-times span{display:inline-flex;align-items:center;gap:7px;background:#fff3f1;border:1px solid #ffd9d4;border-radius:10px;padding:7px 10px;color:#6d2a24;font-size:.88rem}.mission-times b{color:#d33a2c;font-size:1rem}.bookings-admin-v498{overflow:visible}.bookings-head{align-items:flex-start}.bookings-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0}.bookings-toolbar input{max-width:420px}.bookings-toolbar span{color:var(--muted);font-size:.9rem}.booking-card-list{display:grid;gap:14px}.booking-admin-card{border:1px solid rgba(18,52,77,.11);border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(18,52,77,.055);overflow:hidden}.booking-admin-card.edited-booking{border-color:var(--accent,#31d5cf);box-shadow:0 0 0 3px rgba(49,213,207,.14)}.booking-card-main{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:20px;padding:18px 20px;background:linear-gradient(135deg,#fff,#fbfcfc)}.booking-property{display:flex;align-items:center;gap:12px;min-width:0}.booking-property h3{margin:0 0 4px}.booking-property p{margin:0;color:var(--muted);font-size:.9rem}.booking-house{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e7fbfa;color:#0b7877;font-size:1.35rem}.booking-dates{display:flex;align-items:center;gap:12px}.booking-dates span:not(.date-arrow){display:flex;flex-direction:column}.booking-dates small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.booking-dates b{font-size:.94rem}.date-arrow{color:#a9b8c3}.booking-time-editor{padding:16px 20px 18px;border-top:1px solid rgba(18,52,77,.08)}.time-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.time-editor-grid label{display:grid;grid-template-columns:minmax(115px,1fr) 140px;align-items:center;gap:10px;border:1px solid rgba(18,52,77,.1);border-radius:14px;padding:12px 14px;background:#fafcfc}.time-editor-grid label>span{font-weight:700}.time-editor-grid input{width:100%}.time-editor-grid small{grid-column:1/-1;color:var(--muted)}.time-editor-grid small.is-overridden{color:#c94738;font-weight:700}.booking-time-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.booking-time-actions button{margin:0}
@media(max-width:900px){.booking-card-main{grid-template-columns:1fr auto}.booking-dates{grid-column:1/-1;justify-content:flex-start;border-top:1px solid rgba(18,52,77,.07);padding-top:12px}.time-editor-grid{grid-template-columns:1fr}}
@media(max-width:600px){.bookings-admin-v498{padding:14px}.bookings-toolbar{align-items:stretch;flex-direction:column}.bookings-toolbar input{max-width:none}.booking-card-main{display:flex;flex-direction:column;align-items:stretch;padding:15px}.booking-card-main>.source-badge{align-self:flex-start}.booking-dates{justify-content:space-between}.booking-time-editor{padding:14px}.time-editor-grid label{grid-template-columns:1fr}.time-editor-grid label input{height:48px;font-size:1rem}.booking-time-actions{display:grid}.booking-time-actions button{width:100%}.mission-times{display:grid;grid-template-columns:1fr 1fr}.mission-times span{justify-content:space-between}}

/* V4.9.8 — ergonomie mobile des logements à préparer */
.mission-panel,.mission-list,.mission-row,.mission-copy{min-width:0}
.mission-copy{overflow:hidden}
.mission-copy h3,.mission-copy>small{overflow-wrap:anywhere}
.mission-times span{min-width:0}

@media(max-width:820px){
  html,body,.v4-ui,.v4-ui .app-main{max-width:100%;overflow-x:hidden}
  .v4-dashboard-grid,.mission-panel,.mission-list{width:100%;min-width:0}
  .mission-panel>header{align-items:flex-start}
  .mission-panel h2 small{display:block;margin-top:3px;line-height:1.25}
  .mission-row{
    grid-template-columns:96px minmax(0,1fr);
    align-items:start;
    gap:13px;
    width:100%;
    padding:12px;
  }
  .mission-photo{width:96px;height:96px}
  .mission-copy{width:100%;min-width:0}
  .mission-copy>div:not(.mission-times){display:flex;flex-wrap:wrap;gap:8px}
  .mission-times{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    width:100%;
    margin:11px 0 9px;
  }
  .mission-times span{
    display:flex;
    width:100%;
    max-width:100%;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:9px 11px;
    white-space:normal;
  }
  .mission-times b{
    flex:0 0 auto;
    white-space:nowrap;
    text-align:right;
  }
  .mission-arrow{display:none}
}

@media(max-width:520px){
  .v4-ui .app-main{padding-left:12px;padding-right:12px}
  .v4-topbar{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
  .mission-list{padding:8px}
  .mission-row{
    display:block;
    padding:10px;
    border-radius:16px;
  }
  .mission-photo{
    width:100%;
    height:150px;
    margin-bottom:13px;
    border-radius:13px;
  }
  .mission-copy h3{font-size:19px;line-height:1.2}
  .mission-copy>small{display:block;margin-top:3px}
  .mission-times{margin-top:12px}
  .mission-times span{font-size:.86rem;border-radius:12px}
  .mission-times b{font-size:1.02rem}
  .mission-copy>div:not(.mission-times){font-size:.82rem}
  .mission-panel>header{padding:16px 14px;gap:11px}
  .mission-panel>header>span{width:38px;height:38px;flex:0 0 38px}
  .mission-panel h2{font-size:18px;line-height:1.25}
  .mission-panel header p{font-size:.8rem;line-height:1.4}
}

@media(max-width:360px){
  .v4-ui .app-main{padding-left:9px;padding-right:9px}
  .v4-topbar{margin-left:-9px;margin-right:-9px;padding-left:9px;padding-right:9px}
  .mission-list{padding:6px}
  .mission-row{padding:8px}
  .mission-photo{height:132px}
  .mission-times span{padding:8px 9px;gap:8px}
}

/* V4.9.9 — Vue d'ensemble : réapprovisionnement et anomalies */
.dashboard-alert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}.dashboard-feed{min-width:0}.dashboard-feed .section-head{align-items:center;margin-bottom:14px}.secondary.compact{padding:9px 13px;white-space:nowrap}.dashboard-feed-list{display:grid;gap:9px}.dashboard-feed-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid rgba(18,52,77,.09);border-radius:15px;background:#fbfcfc;color:inherit;text-decoration:none;min-width:0}.dashboard-feed-row>div{min-width:0}.dashboard-feed-row strong,.dashboard-feed-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-feed-row small{margin-top:3px;color:var(--muted,#72808b);font-size:.78rem}.feed-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;font-weight:800}.stock-feed-icon.low{background:#fff4d9;color:#ad7410}.stock-feed-icon.out{background:#ffe5e5;color:#b72f3c}.incident-feed-icon{background:#ffe9e9;color:#b72f3c}.feed-status{padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.feed-status.low{background:#fff2cf;color:#96650e}.feed-status.out{background:#ffe1e1;color:#a82331}.incident-status{background:#e9f5f5;color:#157d7b}.dashboard-empty{display:flex;align-items:center;gap:10px;padding:20px;border:1px dashed rgba(18,52,77,.15);border-radius:15px;color:var(--muted,#72808b)}.dashboard-empty span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e5f7f5;color:#128f8a;font-weight:900}.dashboard-empty p{margin:0}
@media(max-width:900px){.dashboard-alert-grid{grid-template-columns:1fr}}@media(max-width:520px){.dashboard-alert-grid{gap:14px;margin-top:14px}.dashboard-feed-row{grid-template-columns:38px minmax(0,1fr);gap:10px}.dashboard-feed-row .feed-status{grid-column:2;justify-self:start}.dashboard-feed .section-head{gap:10px}.dashboard-feed .section-head h2{font-size:1.18rem}.secondary.compact{padding:8px 10px;font-size:.78rem}}


/* V4.9.9.1 — Liste d’achats ergonomique */
.shopping-body{min-height:100vh;background:#f3f7f8;color:#12344d}.shopping-topbar{position:sticky;top:0;z-index:30;height:72px;padding:0 max(18px,env(safe-area-inset-left));display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;background:#12344d;color:#fff;box-shadow:0 8px 30px rgba(18,52,77,.14)}.shopping-topbar>div{text-align:center}.shopping-topbar strong,.shopping-topbar small{display:block}.shopping-topbar strong{font-size:1rem}.shopping-topbar small{margin-top:2px;color:rgba(255,255,255,.62);font-size:.72rem}.shopping-back,.shopping-reset{width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff;font-size:20px}.shopping-reset{padding:0}.shopping-shell{width:min(1060px,calc(100% - 36px));margin:0 auto;padding:28px 0 80px}.shopping-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:31px 34px;border-radius:25px;background:linear-gradient(130deg,#12344d,#1c5570);color:#fff;box-shadow:0 18px 45px rgba(18,52,77,.16)}.shopping-hero:after{content:"";position:absolute;right:-45px;top:-75px;width:230px;height:230px;border:1px solid rgba(49,213,207,.20);border-radius:50%}.shopping-hero h1{margin:0 0 8px;font-family:Georgia,serif;font-size:34px}.shopping-hero p:not(.eyebrow){max-width:600px;margin:0;color:rgba(255,255,255,.72);line-height:1.55}.shopping-progress-wrap{position:relative;z-index:1;min-width:235px}.shopping-progress-wrap strong{display:block;margin-bottom:10px;font-size:.84rem}.shopping-progress{height:8px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.15)}.shopping-progress i{display:block;height:100%;border-radius:inherit;background:#31d5cf;transition:width .25s ease}.shopping-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0}.shopping-kpis article{display:flex;align-items:center;gap:13px;min-width:0;padding:17px 18px;border:1px solid #dbe7e9;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(18,52,77,.045)}.shopping-kpis strong,.shopping-kpis small{display:block}.shopping-kpis strong{font-size:24px;color:#12344d}.shopping-kpis small{margin-top:1px;color:#6e818d;font-size:.76rem}.shopping-kpi-icon{flex:0 0 42px;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:900}.danger-kpi{background:#fee9e8;color:#bd3d38}.warning-kpi{background:#fff0d5;color:#b57413}.property-kpi{background:#e5f5f5;color:#148e8b}.cart-kpi{background:#e7f4eb;color:#348052}.shopping-toolbar{position:sticky;top:84px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:11px;border:1px solid #dbe7e9;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(18,52,77,.07);backdrop-filter:blur(12px)}.shopping-search{position:relative;display:block;flex:1}.shopping-search>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:20px;color:#78909d}.shopping-search input{height:44px;padding-left:42px;border-color:#dce6e8;background:#f7fafb}.shopping-filters{display:flex;gap:5px}.shopping-filters button{padding:10px 13px;border-radius:11px;background:transparent;color:#617886;white-space:nowrap}.shopping-filters button b{margin-left:4px}.shopping-filters button.active{background:#12344d;color:#fff}.shopping-groups{display:grid;gap:15px}.shopping-property{overflow:hidden;border:1px solid #dbe6e8;border-radius:22px;background:#fff;box-shadow:0 10px 27px rgba(18,52,77,.055)}.shopping-property>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 21px;border-bottom:1px solid #e5edef;background:linear-gradient(90deg,#fbfdfd,#f2f8f8)}.shopping-property-title{display:flex;align-items:center;gap:13px;min-width:0}.shopping-property-title>span{flex:0 0 43px;width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#12344d;color:#31d5cf}.shopping-property-title h2{overflow:hidden;margin:0;color:#12344d;font-family:Georgia,serif;font-size:21px;text-overflow:ellipsis;white-space:nowrap}.shopping-property-title small{display:block;margin-top:3px;color:#748894}.shopping-check-group{padding:9px 12px;border:1px solid #cfe0e3;background:#fff;color:#12344d;font-size:.77rem}.shopping-items{display:grid}.shopping-item{position:relative;grid-template-columns:28px 1fr auto;align-items:center;gap:13px;padding:16px 21px;border-bottom:1px solid #edf2f3;background:#fff;cursor:pointer;transition:.18s}.shopping-item:last-child{border-bottom:0}.shopping-item:hover{background:#f8fbfb}.shopping-item input{position:absolute;opacity:0;pointer-events:none}.shopping-checkbox{width:26px;height:26px;border:2px solid #c7d6da;border-radius:8px;display:grid;place-items:center;color:transparent;font-size:14px;transition:.18s}.shopping-item input:checked+.shopping-checkbox{border-color:#13aaa8;background:#13aaa8;color:#fff}.shopping-item-copy{min-width:0}.shopping-item-copy strong,.shopping-item-copy small{display:block}.shopping-item-copy strong{overflow:hidden;color:#173247;text-overflow:ellipsis;white-space:nowrap}.shopping-item-copy small{margin-top:4px;color:#7a8c96;font-size:.75rem}.shopping-item.is-checked{background:#f4faf7}.shopping-item.is-checked .shopping-item-copy strong{text-decoration:line-through;color:#81928c}.shopping-item.is-checked .stock-badge{opacity:.45}.shopping-item[hidden],.shopping-property[hidden]{display:none!important}.shopping-body .stock-badge{min-width:74px;padding:7px 10px;border-radius:99px;text-align:center;font-size:.7rem;font-weight:900}.shopping-body .stock-badge.out{background:#fee9e8;color:#b83d39}.shopping-body .stock-badge.low{background:#fff0d7;color:#a96b0d}.shopping-no-result,.shopping-empty{margin-top:20px;padding:45px 24px;border:1px dashed #c9dadd;border-radius:22px;background:#fff;text-align:center}.shopping-no-result>span,.shopping-empty>span{width:60px;height:60px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;background:#e7f7f5;color:#129a96;font-size:27px}.shopping-no-result h3,.shopping-empty h2{margin:0 0 7px;color:#12344d;font-family:Georgia,serif}.shopping-no-result p,.shopping-empty p{margin:0 0 20px;color:#718590}
@media(max-width:760px){.shopping-shell{width:min(100% - 24px,680px);padding-top:16px}.shopping-hero{display:block;padding:24px 21px}.shopping-hero h1{font-size:28px}.shopping-progress-wrap{min-width:0;margin-top:20px}.shopping-kpis{grid-template-columns:repeat(2,1fr);gap:9px}.shopping-kpis article{padding:14px 12px;gap:9px}.shopping-kpi-icon{flex-basis:38px;width:38px;height:38px}.shopping-toolbar{top:79px;display:block;padding:9px}.shopping-filters{margin-top:8px;overflow-x:auto}.shopping-filters button{flex:1}.shopping-property>header{padding:16px}.shopping-item{padding:15px 16px}.shopping-property-title h2{font-size:19px}}
@media(max-width:430px){.shopping-shell{width:calc(100% - 18px)}.shopping-topbar{height:66px;padding-left:9px;padding-right:9px}.shopping-hero{border-radius:20px}.shopping-kpis article{display:block}.shopping-kpi-icon{margin-bottom:7px}.shopping-kpis strong{font-size:22px}.shopping-property>header{align-items:flex-start}.shopping-check-group{flex:0 0 auto;padding:8px;font-size:.68rem}.shopping-property-title>span{display:none}.shopping-item{grid-template-columns:26px minmax(0,1fr);gap:10px}.shopping-item .stock-badge{grid-column:2;justify-self:start;margin-top:-3px}.shopping-item-copy strong{white-space:normal}.shopping-toolbar{top:73px}}


/* V5.1 — Tutorial administrable */
.tutorial-body{background:#f3f7f8}.tutorial-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:28px 34px 20px;padding:36px 40px;border-radius:27px;background:linear-gradient(135deg,#12344d,#1d5872);color:#fff;box-shadow:0 18px 45px rgba(18,52,77,.15)}.tutorial-hero:after{content:"";position:absolute;right:-65px;top:-95px;width:280px;height:280px;border:1px solid rgba(49,213,207,.2);border-radius:50%}.tutorial-hero h1{margin:0 0 8px;font-family:Georgia,serif;font-size:40px}.tutorial-hero p:not(.eyebrow){max-width:720px;margin:0;color:rgba(255,255,255,.73);line-height:1.6}.tutorial-hero-icon{position:relative;z-index:1;flex:0 0 78px;width:78px;height:78px;border-radius:23px;display:grid;place-items:center;background:rgba(49,213,207,.13);border:1px solid rgba(49,213,207,.25);color:#31d5cf;font-size:34px}.tutorial-shell{display:grid;gap:20px;margin:0 34px 70px}.tutorial-card{overflow:hidden;border:1px solid #dbe7e9;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(18,52,77,.055)}.tutorial-card>header{display:flex;align-items:center;gap:17px;padding:23px 27px;border-bottom:1px solid #e8eff0;background:linear-gradient(90deg,#fbfdfd,#f3f8f8)}.tutorial-card h2{margin:0;color:#12344d;font-family:Georgia,serif;font-size:25px}.tutorial-number{flex:0 0 46px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#12344d;color:#31d5cf;font-weight:900}.tutorial-content{padding:26px 28px;color:#425c6c;font-size:1rem;line-height:1.75;white-space:normal}.tutorial-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 28px 28px}.tutorial-gallery.single{grid-template-columns:minmax(0,720px)}.tutorial-gallery a{overflow:hidden;min-height:190px;border-radius:16px;background:#e9f0f1}.tutorial-gallery img{display:block;width:100%;height:100%;max-height:360px;object-fit:cover;transition:transform .25s}.tutorial-gallery a:hover img{transform:scale(1.025)}.tutorial-empty{text-align:center;padding:50px}.tutorial-empty>span{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 15px;border-radius:19px;background:#e5f7f5;color:#129a96;font-size:29px}
.tutorial-admin-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:20px;align-items:start}.tutorial-admin-layout>.tutorial-admin-list:only-child{grid-column:1/-1}.tutorial-admin-items{display:grid;gap:10px;margin-top:18px}.tutorial-admin-item{display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;border:1px solid #e0eaec;border-radius:15px;background:#fbfdfd}.tutorial-admin-item.is-disabled{opacity:.58}.tutorial-admin-item strong,.tutorial-admin-item small{display:block}.tutorial-admin-item small{margin-top:4px;color:#768994}.tutorial-order{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#12344d;color:#31d5cf;font-weight:900}.tutorial-item-actions{display:flex;align-items:center;gap:7px}.tutorial-editor{position:sticky;top:20px}.tutorial-photo-admin{margin-top:25px;padding-top:20px;border-top:1px solid #e5edef}.tutorial-admin-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tutorial-admin-gallery figure{position:relative;overflow:hidden;margin:0;border-radius:14px;background:#edf3f4}.tutorial-admin-gallery img{display:block;width:100%;height:130px;object-fit:cover}.tutorial-admin-gallery form{position:absolute;right:7px;bottom:7px}.tutorial-admin-gallery .danger{padding:7px 9px;font-size:.7rem}.tutorial-editor textarea{resize:vertical;min-height:220px}
@media(max-width:1050px){.tutorial-admin-layout{grid-template-columns:1fr}.tutorial-editor{position:static}.tutorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tutorial-hero{margin:16px 12px;padding:27px 21px;border-radius:21px}.tutorial-hero h1{font-size:31px}.tutorial-hero-icon{display:none}.tutorial-shell{margin:0 12px 60px;gap:14px}.tutorial-card{border-radius:20px}.tutorial-card>header{padding:18px}.tutorial-card h2{font-size:21px}.tutorial-content{padding:21px 19px;font-size:.95rem}.tutorial-gallery{grid-template-columns:1fr;padding:0 18px 18px}.tutorial-gallery a{min-height:205px}.tutorial-admin-item{grid-template-columns:40px minmax(0,1fr)}.tutorial-item-actions{grid-column:2;flex-wrap:wrap}.tutorial-admin-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.tutorial-admin-gallery{grid-template-columns:1fr}.tutorial-admin-gallery img{height:190px}.tutorial-number{display:none}}

/* V5.2 — Éditeur Tutorial avancé par blocs */
.v52-editor-layout{grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr)}
.tutorial-block-editor{position:static}.tutorial-builder-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid #dce8ea;border-radius:16px;background:#f6fafb}.tutorial-builder-toolbar>div{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.tutorial-builder-help{margin:-4px 0 2px}.tutorial-blocks{display:grid;gap:12px}.tutorial-edit-block{position:relative;padding:15px;border:1px solid #dbe7e9;border-radius:17px;background:#fff;box-shadow:0 5px 15px rgba(18,52,77,.045)}.tutorial-edit-block:focus-within{border-color:#31bdb8;box-shadow:0 0 0 3px rgba(49,213,207,.12)}.tutorial-edit-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.tutorial-edit-block-head>div{display:flex;gap:5px}.block-kind{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:#e7f7f6;color:#117f7c;font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.tutorial-edit-block textarea{min-height:105px;resize:vertical}.tutorial-edit-block[data-block-type=heading] input[type=text]{font-family:Georgia,serif;font-size:1.08rem;font-weight:700}.tutorial-edit-block[data-block-type=callout]{border-left:4px solid #31d5cf;background:#f4fbfa}.tutorial-edit-block[data-block-type=image]{background:#f7fafb}.hidden-file-placeholder{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.tutorial-image-block-preview{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:14px;margin-bottom:12px;padding:9px;border-radius:13px;background:#edf4f5}.tutorial-image-block-preview img,.new-image-preview{display:block;width:110px;height:78px;object-fit:cover;border-radius:10px}.new-image-preview{width:100%;height:auto;max-height:280px;margin-top:11px}.tutorial-separator-preview{padding:18px 3px}.tutorial-separator-preview span{display:block;height:2px;background:linear-gradient(90deg,transparent,#b4c8cc 20%,#31d5cf 50%,#b4c8cc 80%,transparent)}.tutorial-empty-builder{padding:28px;text-align:center;border:2px dashed #cbdcdf;border-radius:17px;color:#6f858f}.tutorial-empty-builder span{font-size:28px;color:#20aaa6}.tutorial-empty-builder p{margin:6px 0 0}.tutorial-edit-block .icon-action:disabled{opacity:.25;cursor:not-allowed}
.tutorial-rich-content{display:grid;gap:20px;padding:26px 28px}.tutorial-rich-content h3{margin:4px 0 -5px;color:#12344d;font-family:Georgia,serif;font-size:1.35rem;line-height:1.25}.tutorial-text-block{color:#425c6c;font-size:1rem;line-height:1.78}.tutorial-callout{display:grid;grid-template-columns:35px minmax(0,1fr);gap:13px;padding:17px 18px;border-left:4px solid #31d5cf;border-radius:13px;background:#eff9f8;color:#365866;line-height:1.65}.tutorial-callout>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#12344d;color:#31d5cf;font-family:Georgia,serif;font-weight:bold}.tutorial-inline-image{width:min(var(--tutorial-image-width,100%),100%);margin:0 auto}.tutorial-inline-image a{display:block;overflow:hidden;border-radius:18px;background:#fff}.tutorial-inline-image img{display:block;width:100%;max-height:620px;object-fit:contain;background:#FFF}.tutorial-image-width{max-width:190px}.tutorial-separator{width:100%;height:1px;margin:5px 0;border:0;background:linear-gradient(90deg,transparent,#bdd0d3 20%,#31d5cf 50%,#bdd0d3 80%,transparent)}
@media(max-width:1180px){.v52-editor-layout{grid-template-columns:1fr}.tutorial-builder-toolbar{flex-direction:column}.tutorial-builder-toolbar>div{justify-content:flex-start}}
@media(max-width:650px){.tutorial-builder-toolbar>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.tutorial-builder-toolbar button{width:100%}.tutorial-edit-block{padding:12px}.tutorial-image-block-preview{grid-template-columns:86px minmax(0,1fr)}.tutorial-image-block-preview img{width:86px;height:66px}.tutorial-rich-content{padding:21px 18px;gap:17px}.tutorial-rich-content h3{font-size:1.2rem}.tutorial-text-block{font-size:.95rem}.tutorial-callout{grid-template-columns:30px minmax(0,1fr);padding:14px}}

.tutorial-percent-control{display:flex;align-items:center;gap:9px;max-width:210px}.tutorial-percent-control input{max-width:145px}.tutorial-percent-control span{font-weight:900;color:#12344d}

/* Administration — Mise à jour V5.3.5 */
.update-page{display:grid;gap:22px}.update-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(135deg,#fff 0%,#f0fbfa 100%);overflow:hidden;position:relative}.update-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(49,213,207,.12);right:-90px;top:-130px}.update-hero>div:first-child{position:relative;z-index:1;max-width:680px}.current-version-card{position:relative;z-index:1;min-width:180px;padding:22px 28px;border-radius:22px;background:#12344d;color:#fff;box-shadow:0 16px 35px rgba(18,52,77,.18);display:grid;gap:5px;text-align:center}.current-version-card small{color:#aee9e6;text-transform:uppercase;letter-spacing:.1em}.current-version-card strong{font-size:2rem}.update-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:22px}.update-upload-card{min-width:0}.update-dropzone{border:2px dashed #b7d9d6;border-radius:22px;padding:30px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:#f8fcfb;cursor:pointer;transition:.2s}.update-dropzone:hover{border-color:#31d5cf;background:#f0fbfa;transform:translateY(-1px)}.update-dropzone input{margin-top:13px;width:100%;max-width:430px}.update-drop-icon{width:58px;height:58px;border-radius:18px;background:#dff8f6;color:#12344d;display:grid;place-items:center;font-size:1.8rem;font-weight:800}.update-dropzone strong{font-size:1.05rem}.update-preserve{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:16px;background:#edf9f2}.update-preserve>span{width:28px;height:28px;border-radius:50%;background:#28a66a;color:#fff;display:grid;place-items:center;flex:0 0 auto}.update-preserve div{display:grid;gap:2px}.update-preserve small{color:#527064}.update-check-list{display:grid;gap:11px;margin-top:18px}.update-check-row{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid #e6ecec;border-radius:15px}.update-check-row>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.update-check-row.ok>span{background:#dff5e9;color:#177346}.update-check-row.error>span{background:#fde5e4;color:#b52f2b}.update-check-row div{display:grid}.update-check-row small{color:#738181}.last-update-box{margin-top:18px;padding:16px;border-radius:16px;background:#12344d;color:#fff;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.last-update-box small{width:100%;color:#aee9e6;text-transform:uppercase;letter-spacing:.08em}.last-update-box strong{font-size:1.25rem}.last-update-box span{color:#d6e2e8}.backup-panel{min-width:0}.backup-count{padding:7px 11px;border-radius:999px;background:#eaf6f5;color:#176c69;font-size:.82rem;font-weight:700}.backup-list{display:grid;gap:10px;margin-top:18px}.backup-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid #e5ebec;border-radius:16px;background:#fff}.backup-icon{width:48px;height:48px;border-radius:14px;background:#edf5f7;color:#12344d;display:grid;place-items:center;font-size:.75rem;font-weight:900}.backup-row>div:nth-child(2){display:grid;min-width:0}.backup-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-row small{color:#748287}.backup-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.backup-actions form{margin:0}.danger.compact{padding:8px 11px}.update-security .security-points{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.security-points>div{padding:16px;border-radius:17px;background:#f6f9f9;display:flex;gap:11px;align-items:flex-start}.security-points span{width:28px;height:28px;border-radius:50%;background:#12344d;color:#fff;display:grid;place-items:center;flex:0 0 auto;font-weight:700}.security-points p{margin:3px 0 0;color:#506368}.security-points code{font-size:.82em}.admin-sidebar nav a[href*="tab=updates"] span{white-space:nowrap}
@media(max-width:1050px){.update-grid{grid-template-columns:1fr}.update-security .security-points{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.update-hero{align-items:flex-start;flex-direction:column}.current-version-card{width:100%;min-width:0}.update-dropzone{padding:23px 15px}.backup-row{grid-template-columns:auto minmax(0,1fr)}.backup-actions{grid-column:1/-1}.backup-actions>*{flex:1}.backup-actions .compact{width:100%;text-align:center}.update-security .security-points{grid-template-columns:1fr}.section-head{gap:12px;align-items:flex-start}.backup-count{white-space:nowrap}}

/* Sauvegardes complètes — V5.3.5 */
.full-data-backup-panel{scroll-margin-top:24px;overflow:hidden}.full-backup-heading{align-items:flex-start}.full-backup-heading>div{max-width:760px}.full-backup-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.full-backup-action-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center;padding:18px;border:1px solid #e1eaeb;border-radius:19px;background:linear-gradient(145deg,#fff,#f8fbfb)}.full-backup-action-card>div{display:grid;gap:3px}.full-backup-action-card small{color:#6f7f83}.full-backup-action-card button,.full-backup-action-card .compact-file-field{grid-column:1/-1}.full-backup-action-icon{width:48px;height:48px;border-radius:15px;background:#12344d;color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.1rem}.full-backup-action-icon.import{background:#dff8f6;color:#176c69}.compact-file-field{display:block;padding:10px 12px;border-radius:13px;background:#f0f6f6}.compact-file-field input{width:100%;font-size:.88rem}.full-backup-includes{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.full-backup-includes span{padding:7px 10px;border-radius:999px;background:#edf9f2;color:#28704d;font-size:.79rem;font-weight:700}.backup-icon.full{background:#dff8f6;color:#176c69}.full-backup-row{border-color:#dbe9e9}.full-backup-warning{margin-top:18px;padding:14px 16px;border-radius:16px;background:#fff8e8;border:1px solid #f2dfad;display:flex;gap:12px;align-items:flex-start;color:#725b21}.full-backup-warning>span{width:28px;height:28px;border-radius:50%;background:#f4c75e;color:#5d4815;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.full-backup-warning p{margin:3px 0 0}.full-backup-list{margin-top:6px}
@media(max-width:850px){.full-backup-actions-grid{grid-template-columns:1fr}}
@media(max-width:680px){.full-backup-action-card{padding:15px}.full-backup-includes{gap:6px}.full-backup-includes span{font-size:.73rem}.full-backup-heading{flex-direction:column}.full-backup-heading .backup-count{align-self:flex-start}}


/* Inventaire synchronisé Google Sites — V5.7 */
.inventory-admin-page{display:grid;gap:22px}.inventory-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff,#eefaf9)}.inventory-admin-hero>div{max-width:760px}.inventory-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.inventory-source-card{display:grid;gap:16px}.inventory-source-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center}.inventory-source-head>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#e6f7f5;font-size:1.5rem}.inventory-source-head h3{margin:0;color:#12344d}.inventory-source-head small{color:#72848c}.inventory-sync-badge{padding:6px 9px;border-radius:999px;font-style:normal;font-size:.75rem;font-weight:800}.inventory-sync-badge.ok{background:#e3f5ea;color:#187044}.inventory-sync-badge.error{background:#fde9e7;color:#ae332d}.inventory-source-actions{display:flex;gap:9px;flex-wrap:wrap}.inventory-sync-message{margin:0;padding:10px 12px;border-radius:12px;font-size:.86rem}.inventory-sync-message.ok{background:#edf8f2;color:#2b684a}.inventory-sync-message.error{background:#fff0ef;color:#9b3833}.inventory-cron-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:25px;align-items:center}.inventory-page-head{align-items:end}.inventory-search{min-width:min(400px,100%);position:relative}.inventory-search span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#68808b}.inventory-search input{padding-left:42px}.inventory-front-grid{display:grid;gap:18px}.inventory-property{padding:0;overflow:hidden}.inventory-property>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:17px 20px;cursor:pointer}.inventory-property>summary::-webkit-details-marker{display:none}.inventory-property>summary>b{font-size:1.4rem;transition:.2s}.inventory-property[open]>summary>b{transform:rotate(180deg)}.inventory-property-visual{width:68px;height:54px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:#eaf6f5;font-size:1.5rem}.inventory-property-visual img{width:100%;height:100%;object-fit:cover}.inventory-property h2{margin:0;color:#12344d;font-size:1.18rem}.inventory-property small{color:#71818a}.inventory-google-content{border-top:1px solid #e7eeee;padding:25px 28px;color:#3e5664;line-height:1.7;overflow-wrap:anywhere}.inventory-google-content h1,.inventory-google-content h2,.inventory-google-content h3,.inventory-google-content h4{font-family:Georgia,serif;color:#12344d;line-height:1.25}.inventory-google-content h1{font-size:1.65rem}.inventory-google-content h2{font-size:1.35rem;border-bottom:1px solid #dce9e8;padding-bottom:8px}.inventory-google-content h3{font-size:1.12rem}.inventory-google-content ul,.inventory-google-content ol{padding-left:22px}.inventory-google-content li{margin:6px 0}.inventory-google-content img{max-width:100%;height:auto;border-radius:15px;background:#fff;display:block;margin:14px auto}.inventory-google-content table{width:100%;border-collapse:collapse;display:block;overflow:auto}.inventory-google-content th,.inventory-google-content td{padding:9px 11px;border:1px solid #dde7e8}.inventory-google-content a{color:#148d8a;font-weight:700}.inventory-no-result{padding:18px 25px;color:#78898f}.inventory-empty{grid-column:1/-1;text-align:center;padding:45px}.inventory-empty>span{font-size:2rem}
@media(max-width:1000px){.inventory-admin-grid{grid-template-columns:1fr}.inventory-cron-card{grid-template-columns:1fr}.inventory-admin-hero{align-items:flex-start;flex-direction:column}.inventory-admin-hero form,.inventory-admin-hero button{width:100%}}
@media(max-width:680px){.inventory-page-head{align-items:stretch}.inventory-search{width:100%;min-width:0}.inventory-property>summary{grid-template-columns:auto minmax(0,1fr) auto;padding:14px}.inventory-property-visual{width:55px;height:48px}.inventory-google-content{padding:19px 16px;font-size:.94rem}.inventory-source-head{grid-template-columns:auto minmax(0,1fr)}.inventory-sync-badge{grid-column:1/-1;justify-self:start}.inventory-source-actions>*{width:100%}}

.inventory-category{margin:12px 0;border:1px solid #dfeaea;border-radius:14px;overflow:hidden}.inventory-category>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#f3f9f8;cursor:pointer;list-style:none}.inventory-category>summary::-webkit-details-marker{display:none}.inventory-category>summary span{font-family:Georgia,serif;font-weight:700;color:#12344d}.inventory-category>summary b{transition:.2s}.inventory-category[open]>summary b{transform:rotate(180deg)}.inventory-category>*:not(summary){margin-left:17px;margin-right:17px}.inventory-category>ul,.inventory-category>ol{padding-left:22px}

/* Inventaire Google Sites intégré — V5.7 */
.inventory-embed-grid{display:grid;gap:22px}.inventory-embed-card{padding:0;overflow:hidden}.inventory-embed-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid #e1ecec}.inventory-embed-head h2{margin:0;color:#12344d;font-size:1.2rem}.inventory-embed-head small{color:#71818a}.inventory-iframe-wrap{position:relative;width:100%;height:min(76vh,900px);min-height:620px;background:#fff}.inventory-iframe-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}.inventory-embed-help{margin:0;padding:11px 18px;background:#f5f9f9;color:#6e8189;font-size:.82rem;border-top:1px solid #e5eded}.inventory-admin-hero>a{flex:0 0 auto}
@media(max-width:700px){.inventory-embed-grid{gap:16px}.inventory-embed-head{grid-template-columns:auto minmax(0,1fr);padding:13px}.inventory-embed-head>a{grid-column:1/-1;width:100%;text-align:center}.inventory-iframe-wrap{height:72vh;min-height:540px}.inventory-embed-help{padding:10px 13px}.inventory-admin-hero>a{width:100%;text-align:center}}


/* Inventaire Google Sites — cartes externes V5.7 */
.inventory-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.inventory-link-card{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:100%;border:1px solid #dce8e8}.inventory-link-cover{height:240px;background:#eaf2f2;overflow:hidden;display:flex;align-items:center;justify-content:center}.inventory-link-cover img{width:100%;height:100%;object-fit:cover;display:block}.inventory-link-cover-fallback{background:linear-gradient(135deg,#0b3d59,#0d5b72);color:#fff;font-size:4rem}.inventory-link-body{padding:24px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.inventory-link-kicker{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:#14aaa8;margin-bottom:8px}.inventory-link-body h2{margin:0 0 10px;color:#12344d;font-size:1.45rem}.inventory-link-body p{margin:0 0 22px;color:#667b84;line-height:1.6}.inventory-open-button{margin-top:auto;width:100%;text-align:center;justify-content:center;text-decoration:none}.inventory-empty{grid-column:1/-1}
@media(max-width:850px){.inventory-link-grid{grid-template-columns:1fr}.inventory-link-cover{height:220px}}
@media(max-width:520px){.inventory-link-grid{gap:15px}.inventory-link-cover{height:190px}.inventory-link-body{padding:18px}.inventory-link-body h2{font-size:1.28rem}.inventory-open-button{min-height:50px;display:flex;align-items:center}}
/* V5.7 — Index des tutorials et page dédiée */
.tutorial-index-shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 34px 70px}.tutorial-index-card{min-width:0;display:grid;grid-template-columns:190px minmax(0,1fr);overflow:hidden;border:1px solid #dbe7e9;border-radius:24px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 10px 28px rgba(18,52,77,.055);transition:transform .2s,box-shadow .2s,border-color .2s}.tutorial-index-card:hover{transform:translateY(-3px);border-color:#9ddfdc;box-shadow:0 18px 36px rgba(18,52,77,.11)}.tutorial-index-cover{min-height:220px;background:linear-gradient(145deg,#12344d,#1d5872);display:grid;place-items:center;overflow:hidden}.tutorial-index-cover img{width:100%;height:100%;object-fit:cover;display:block}.tutorial-index-cover>span{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:rgba(49,213,207,.14);border:1px solid rgba(49,213,207,.28);color:#31d5cf;font-size:32px}.tutorial-index-content{display:flex;flex-direction:column;min-width:0;padding:24px}.tutorial-index-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.tutorial-index-meta span{font-size:.72rem;font-weight:900;letter-spacing:.13em;color:#129a96}.tutorial-index-meta small{color:#78909c}.tutorial-index-card h2{margin:0 0 10px;color:#12344d;font-family:Georgia,serif;font-size:24px;line-height:1.2}.tutorial-index-card p{margin:0 0 20px;color:#5b7380;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tutorial-open-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid #e8eff0;color:#12344d;font-weight:800}.tutorial-open-link b{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e4f8f6;color:#129a96;font-size:18px}.tutorial-detail-shell{margin:28px 34px 70px}.tutorial-back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:10px 14px;border:1px solid #d5e4e6;border-radius:12px;background:#fff;color:#12344d;text-decoration:none;font-weight:800}.tutorial-back-link:hover{border-color:#31d5cf}.tutorial-detail-card{max-width:980px;margin:0 auto}.tutorial-detail-card>header h1{margin:0;color:#12344d;font-family:Georgia,serif;font-size:31px;line-height:1.2}
@media(max-width:1050px){.tutorial-index-shell{grid-template-columns:1fr}.tutorial-index-card{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){.tutorial-index-shell{margin:0 12px 60px;gap:14px}.tutorial-index-card{display:block;border-radius:20px}.tutorial-index-cover{min-height:190px;max-height:230px}.tutorial-index-content{padding:20px}.tutorial-index-card h2{font-size:22px}.tutorial-detail-shell{margin:16px 12px 60px}.tutorial-detail-card>header h1{font-size:24px}.tutorial-back-link{width:100%;justify-content:center;box-sizing:border-box}}

/* V5.7 — Codes d'accès logements */
.property-access-codes{margin-top:20px;padding:16px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(255,255,255,.13);backdrop-filter:blur(8px)}
.access-codes-title{margin:0 0 11px;font-size:.76rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.access-codes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.access-codes-grid>div{min-width:0;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.92);color:var(--navy)}
.access-codes-grid span,.access-codes-grid strong{display:block}
.access-codes-grid span{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.access-codes-grid strong{margin-top:5px;font-size:1.15rem;overflow-wrap:anywhere}
@media(max-width:520px){.access-codes-grid{grid-template-columns:1fr}.property-access-codes{padding:13px}.access-code-fields{grid-template-columns:1fr!important}}

/* V5.7 — navigation uniforme des fiches logement */
.property-topbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:14px 28px}
.property-topbar>strong{min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.property-topbar .shopping-back{justify-self:start}
.property-topbar-spacer{width:44px;height:44px}
@media(max-width:700px){.property-topbar{padding:13px 15px}}

/* V5.7 — installation et mise à jour PWA Android / iOS */
.pwa-action-layer{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:10000;display:grid;gap:12px;width:min(430px,calc(100vw - 36px));pointer-events:none}
.pwa-action-card{pointer-events:auto;display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px 14px;align-items:start;padding:16px;border:1px solid rgba(18,52,77,.12);border-radius:20px;background:rgba(255,255,255,.98);box-shadow:0 22px 70px rgba(6,47,74,.24);transform:translateY(18px);opacity:0;transition:opacity .22s ease,transform .22s ease;backdrop-filter:blur(14px)}
.pwa-action-card.is-visible{transform:none;opacity:1}.pwa-action-card.is-leaving{transform:translateY(12px);opacity:0}
.pwa-action-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#e7fbfa;color:#12344d;font-size:1.45rem}
.pwa-action-copy{min-width:0}.pwa-action-copy strong{display:block;color:#12344d;font-size:1rem;line-height:1.25}.pwa-action-copy p{margin:5px 0 0;color:#647681;font-size:.86rem;line-height:1.45}
.pwa-action-buttons{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.pwa-action-buttons button{min-height:42px;border-radius:12px;padding:0 15px;font:inherit;font-weight:750;cursor:pointer}
.pwa-action-primary{border:0;background:#21c9c5;color:#062f4a}.pwa-action-primary:disabled{opacity:.65;cursor:wait}.pwa-action-secondary{border:1px solid #d6e0e5;background:#fff;color:#526873}
@media(max-width:600px){.pwa-action-layer{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto}.pwa-action-card{grid-template-columns:42px minmax(0,1fr);padding:14px;border-radius:17px}.pwa-action-icon{width:42px;height:42px;border-radius:13px}.pwa-action-buttons{display:grid;grid-template-columns:1fr 1fr}.pwa-action-buttons button{width:100%;padding:0 10px}}
@media(display-mode:standalone){body{overscroll-behavior-y:none}}

/* V5.7 — Safe Areas iOS / Android PWA */
:root{
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}
@media (max-width:820px){
  .v4-topbar{
    height:auto;
    min-height:calc(72px + var(--safe-top));
    padding-top:var(--safe-top);
    padding-left:calc(16px + var(--safe-left));
    padding-right:calc(16px + var(--safe-right));
  }
  .v4-ui .app-sidebar,
  .admin-sidebar{
    padding-top:calc(24px + var(--safe-top));
    padding-bottom:calc(24px + var(--safe-bottom));
  }
  .admin-main{
    padding-top:calc(18px + var(--safe-top));
    padding-left:calc(18px + var(--safe-left));
    padding-right:calc(18px + var(--safe-right));
    padding-bottom:calc(18px + var(--safe-bottom));
  }
  .admin-header{
    min-height:72px;
  }
  .shopping-topbar,
  .property-topbar,
  .topbar{
    min-height:calc(64px + var(--safe-top));
    padding-top:calc(12px + var(--safe-top));
    padding-left:calc(15px + var(--safe-left));
    padding-right:calc(15px + var(--safe-right));
  }
  .shell{
    padding-left:calc(16px + var(--safe-left));
    padding-right:calc(16px + var(--safe-right));
    padding-bottom:calc(16px + var(--safe-bottom));
  }
  .pwa-install-card,
  .pwa-update-banner{
    left:calc(12px + var(--safe-left));
    right:calc(12px + var(--safe-right));
    bottom:calc(12px + var(--safe-bottom));
  }
}
@media (max-width:520px){
  .v4-topbar{
    padding-left:calc(12px + var(--safe-left));
    padding-right:calc(12px + var(--safe-right));
  }
  .admin-main{
    padding-left:calc(12px + var(--safe-left));
    padding-right:calc(12px + var(--safe-right));
  }
}

/* V5.7 — échéances glissantes des tâches périodiques */
.task-frequency-help{margin:0;padding:12px 14px;border-radius:12px;background:#f1f8f8;color:#385a64;font-size:.9rem;line-height:1.45}

/* V5.7.1 — suppression fiable des tâches */
.inline-delete-form{display:inline-flex;margin:0;padding:0}
.inline-delete-form button{margin:0}
