
:root{--bg:#f4f1e9;--card:#fff;--ink:#183126;--muted:#6b786f;--green:#214d38;--green2:#dfeae3;--gold:#d2a45c;--line:#dce2dc;--danger:#a33d32;--shadow:0 20px 60px rgba(22,46,34,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.hidden{display:none!important}button,input,select,textarea{font:inherit}.app-header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,5vw);background:rgba(244,241,233,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand-symbol{width:40px;height:40px;border-radius:13px;background:var(--green);color:#fff;display:grid;place-items:center;font:26px Georgia}.brand strong,.brand small{display:block}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}nav{display:flex;gap:8px}nav a{color:var(--muted);text-decoration:none;font-weight:750;padding:10px 13px;border-radius:12px}nav a.active{background:#fff;color:var(--ink);box-shadow:0 3px 12px rgba(30,50,40,.05)}nav span{background:var(--green2);border-radius:999px;padding:2px 7px;font-size:11px;margin-left:4px}.page{max-width:1400px;margin:auto;padding:42px max(22px,5vw) 80px}.hero{min-height:385px;border-radius:30px;background:linear-gradient(125deg,#173a2a,#42765b);color:#fff;padding:54px;display:grid;grid-template-columns:1.5fr .7fr;gap:40px;align-items:end;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;border:80px solid rgba(255,255,255,.055);right:-165px;top:-185px}.hero h1,.page-head h1{font-family:Georgia,serif;font-weight:500;line-height:1.03;margin:0;font-size:clamp(44px,6vw,76px);max-width:860px}.hero-copy{max-width:700px;font-size:18px;color:rgba(255,255,255,.78);line-height:1.6}.eyebrow{margin:0 0 10px;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.17em}.hero-actions{display:flex;gap:10px;margin-top:24px}.primary,.secondary,.link-btn,.danger{border:0;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{background:var(--green);color:#fff}.hero .primary{background:#fff;color:var(--green)}.secondary{background:var(--green2);color:var(--green)}.hero .secondary{background:rgba(255,255,255,.13);color:#fff}.link-btn{background:transparent;color:var(--muted)}.danger{background:#f8e5e2;color:var(--danger)}.full{width:100%;margin-top:20px}.hero-panel{z-index:1;display:grid;grid-template-columns:1fr;gap:12px}.hero-panel div{background:rgba(255,255,255,.12);padding:18px 20px;border-radius:18px}.hero-panel strong{font-size:32px;display:block}.hero-panel span{color:rgba(255,255,255,.7);font-size:12px}.filters-panel{display:grid;grid-template-columns:minmax(260px,1fr) 180px 210px 210px auto;gap:10px;margin:28px 0 18px}.search-wrap{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:0 14px}.search-wrap input{border:0;padding:14px 0;background:transparent}.search-wrap input:focus{outline:none}.filters-panel select,.results-head select,input,textarea,form select{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;border-radius:12px;color:var(--ink);outline:none}.results-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);margin-bottom:16px}.results-head select{width:auto}.plant-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.plant-card{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 8px 28px rgba(30,50,40,.045);transition:.2s}.plant-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.plant-visual{height:170px;display:grid;place-items:center;font-size:75px;background:linear-gradient(135deg,#e5eee8,#cdded3);position:relative}.type-tag{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.88);padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900}.heart{position:absolute;right:13px;top:13px;border:0;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.88);font-size:20px;cursor:pointer;color:var(--muted)}.heart.active{color:#b54048}.plant-body{padding:20px}.plant-body h3{font:25px Georgia;margin:0 0 5px}.latin{font-size:12px;font-style:italic;color:var(--muted);margin:0 0 16px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{font-size:11px;background:#f2f5f2;padding:7px 8px;border-radius:8px}.card-actions{display:flex;gap:8px;margin-top:17px}.card-actions button{flex:1}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.page-head h1{font-size:52px}.page-head p{color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.project-card h3{font:28px Georgia;margin:0 0 6px}.project-meta,.project-notes{color:var(--muted);font-size:13px}.project-summary{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.project-summary span{background:#f1f5f2;padding:8px 10px;border-radius:9px;font-size:12px}.palette-list{display:grid;gap:8px;margin:16px 0}.palette-item{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px;background:#f7f8f6;border-radius:11px;font-size:13px}.palette-item button{border:0;background:transparent;cursor:pointer;color:var(--danger)}.project-actions{display:flex;gap:8px}.empty{text-align:center;padding:80px 20px;color:var(--muted)}.empty>div{font-size:52px}.modal{position:fixed;inset:0;background:rgba(13,28,21,.58);display:grid;place-items:center;padding:20px;z-index:60}.modal-card{background:#fff;width:min(520px,100%);max-height:90vh;overflow:auto;border-radius:24px;padding:30px;position:relative;box-shadow:var(--shadow)}.modal-large{width:min(980px,100%)}.modal-close{position:absolute;right:15px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#f0f2ef;font-size:24px;cursor:pointer}.modal-card h2{font:38px Georgia;margin:0 0 18px}.modal-card label{display:block;font-size:12px;font-weight:850;margin-top:13px}.modal-card label input,.modal-card label textarea,.modal-card label select{margin-top:7px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-head{display:grid;grid-template-columns:230px 1fr;gap:30px;align-items:center}.detail-icon{height:220px;border-radius:22px;background:linear-gradient(135deg,#e5eee8,#cdded3);display:grid;place-items:center;font-size:105px}.detail-head h2{font:48px Georgia;margin:0 0 5px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.fact{background:#f5f7f4;border-radius:13px;padding:15px}.fact b{display:block;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:10px;margin-bottom:6px}.picker-btn{display:block;width:100%;border:1px solid var(--line);background:#fff;text-align:left;padding:14px;border-radius:12px;margin-bottom:8px;cursor:pointer}.picker-btn:hover{background:var(--green2);border-color:var(--green)}.toast{position:fixed;right:22px;bottom:22px;background:var(--ink);color:#fff;padding:14px 17px;border-radius:12px;box-shadow:var(--shadow);z-index:80}
@media(max-width:1100px){.plant-grid{grid-template-columns:repeat(3,1fr)}.filters-panel{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-header{height:auto;align-items:flex-start;padding:13px 16px}.brand small{display:none}nav{display:grid;gap:3px}nav a{padding:7px 9px;font-size:13px}.page{padding:26px 16px 60px}.hero{grid-template-columns:1fr;padding:32px 24px;min-height:480px;align-items:start}.hero-panel{grid-template-columns:repeat(3,1fr)}.hero-panel div{padding:14px 10px}.hero-panel strong{font-size:23px}.hero h1{font-size:44px}.filters-panel{grid-template-columns:1fr}.plant-grid,.project-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:42px}.detail-head{grid-template-columns:1fr}.detail-icon{height:150px}.detail-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}}

.admin-warning{background:#fff5dc;border:1px solid #ead39f;border-radius:14px;padding:15px 17px;margin-bottom:18px;color:#6d5527}
.admin-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.file-button{background:var(--green2);color:var(--green);border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}.file-button input{display:none}
.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.admin-stats div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.admin-stats strong,.admin-stats span{display:block}.admin-stats strong{font-size:28px}.admin-stats span{font-size:12px;color:var(--muted)}
.admin-search{margin-bottom:14px}.admin-search input{max-width:500px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{text-align:left;padding:15px;border-bottom:1px solid var(--line)}.admin-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.admin-table tr:last-child td{border-bottom:0}.admin-name strong,.admin-name small{display:block}.admin-name small{font-style:italic;color:var(--muted);margin-top:3px}.table-actions{display:flex;gap:7px}.table-actions button{border:0;border-radius:8px;padding:8px 10px;font-weight:750;cursor:pointer}.edit-btn{background:var(--green2);color:var(--green)}.delete-btn{background:#f8e5e2;color:var(--danger)}
.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.checkbox-row{display:flex;gap:25px;margin-top:18px}.checkbox-row label{display:flex;align-items:center;gap:8px}.checkbox-row input{width:auto;margin:0}
@media(max-width:760px){.admin-stats,.form-grid-3,.form-grid-2{grid-template-columns:1fr}.admin-toolbar>*{width:100%;text-align:center}}
.maintenance-toolbar{display:flex;align-items:end;gap:12px;margin:0 0 18px}.maintenance-toolbar label{flex:1;max-width:320px;margin:0}.maintenance-summary{background:var(--green2);border-radius:14px;padding:14px 17px;margin-bottom:14px}.maintenance-summary strong{font-size:27px;margin-right:7px}.maintenance-list{display:grid;gap:12px}.maintenance-item{display:grid;grid-template-columns:62px 1fr;gap:15px;border:1px solid var(--line);border-radius:17px;padding:16px;background:#fff}.maintenance-icon{width:62px;height:62px;border-radius:14px;background:#eef4ef;display:grid;place-items:center;font-size:32px}.maintenance-item-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.maintenance-item h3{font:25px Georgia;margin:0}.maintenance-item p{margin:7px 0;line-height:1.45}.maintenance-qty{font-weight:900;background:#eef4ef;padding:6px 9px;border-radius:9px}.client-note{background:#fff6df;padding:9px 11px;border-radius:9px}.maintenance-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.maintenance-tags span{font-size:11px;padding:6px 8px;border-radius:999px;background:#f0f3f0}.maintenance-tags .estimated{background:#fff0ce;color:#77571c}.maintenance-tags .verified{background:#dff0e5;color:#245b3c}.maintenance-disclaimer{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.project-actions{flex-wrap:wrap}.project-actions .primary{flex:1 0 100%}
@media(max-width:760px){.maintenance-toolbar{align-items:stretch;flex-direction:column}.maintenance-toolbar label{max-width:none}.maintenance-item{grid-template-columns:1fr}.maintenance-icon{width:50px;height:50px}}

.plant-photo{width:100%;height:100%;object-fit:cover;display:block}.photo-fallback{width:100%;height:100%;display:grid;place-items:center}.detail-photo{border-radius:22px}.image-manager{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:20px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.image-manager h2{font:30px Georgia;margin:0 0 6px}.image-manager p{margin:0;color:var(--muted)}.image-manager-actions{display:flex;gap:8px;flex-wrap:wrap}.image-progress{grid-column:1/-1;background:#e8ece8;height:9px;border-radius:999px;overflow:hidden}.image-progress div{height:100%;width:0;background:var(--green);transition:.25s}.image-manager>.project-meta{grid-column:1/-1}.admin-thumb{width:72px;height:55px;border-radius:9px;overflow:hidden;background:#edf2ee;font-size:25px}.image-btn{background:#e7effa;color:#28588d}.image-modal-actions{display:flex;gap:9px;margin-bottom:14px}.image-results{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:15px}.image-choice{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.image-choice>img,.image-choice>.plant-photo{width:100%;height:190px;object-fit:cover}.image-choice>div{padding:13px}.image-choice p{font-size:12px;color:var(--muted);min-height:34px}.current-image{grid-column:1/-1;display:grid;grid-template-columns:240px 1fr}.current-image>img{height:160px}.current-image>div{align-self:center}@media(max-width:760px){.image-manager{grid-template-columns:1fr}.image-manager-actions{flex-direction:column}.image-results{grid-template-columns:1fr}.current-image{grid-template-columns:1fr}.image-modal-actions{flex-direction:column}}
#accountBtn{margin-left:.5rem;white-space:nowrap}.cloud-status{font-size:.8rem}.cloud-online{color:#236b45}.cloud-local{color:#8a5a18}

/* Florathèque Pro V7 */
.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:2rem 0 1.2rem}.dashboard-hero h1{max-width:760px;margin:.25rem 0}.dashboard-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1rem 0 2rem}.dashboard-kpis article{background:#fff;border:1px solid var(--line,#dfe7e1);border-radius:18px;padding:1.25rem;box-shadow:0 8px 24px rgba(23,53,39,.06);display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:center}.dashboard-kpis article span{font-size:1.45rem;grid-row:1/3}.dashboard-kpis article strong{font-size:1.8rem;line-height:1}.dashboard-kpis article small{color:#6b786f;margin-top:.25rem}.dashboard-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:1.2rem}.dashboard-panel{background:#fff;border:1px solid var(--line,#dfe7e1);border-radius:20px;padding:1.4rem;min-height:300px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line,#e3e9e5);padding-bottom:1rem;margin-bottom:.5rem}.panel-head h2{margin:.15rem 0}.panel-head a{color:#245b42;font-weight:700}.dashboard-row{display:flex;gap:.9rem;align-items:center;padding:.9rem .15rem;border-bottom:1px solid #edf1ee}.dashboard-row:last-child{border-bottom:0}.dashboard-row>span{width:42px;height:42px;border-radius:12px;background:#edf5f0;display:grid;place-items:center;font-size:1.2rem}.dashboard-row div{display:grid;gap:.2rem}.dashboard-row small{color:#6b786f}.planning-summary{display:flex;gap:.45rem;align-items:baseline;background:#edf5f0;border-radius:16px;padding:1rem 1.2rem;margin:0 0 1.2rem}.planning-summary strong{font-size:1.6rem;color:#214d38}.client-card .project-actions{margin-top:auto}
@media(max-width:1050px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.app-header nav{overflow-x:auto;max-width:72vw}}
@media(max-width:700px){.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-kpis article:last-child{grid-column:1/-1}.app-header nav a{white-space:nowrap}}

/* Identité Émile & Un Jardin — V7.1 */
.brand-icon{width:46px;height:46px;object-fit:cover;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 4px 12px rgba(30,70,45,.08)}
.dashboard-intro{display:flex;align-items:center;gap:1.6rem;min-width:0}
.dashboard-company-logo{width:190px;max-height:125px;object-fit:contain;background:#fff;border-radius:20px;padding:10px;box-shadow:0 10px 30px rgba(23,53,39,.08);flex:0 0 auto}
.auth-company-logo{display:block;width:min(280px,78%);height:auto;margin:0 auto 20px;object-fit:contain}
.account-text-button{display:block;margin:10px auto 0;border:0;background:transparent;color:var(--green);font-weight:800;padding:7px}.account-summary{display:grid;gap:9px;margin-top:14px}.account-summary>div{display:grid;gap:3px;padding:11px 13px;border-radius:11px;background:#f4f7f4}.account-summary span{font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.account-summary strong{font-size:13px}.account-summary .secondary{margin-top:2px}
@media(max-width:900px){.dashboard-intro{align-items:flex-start;flex-direction:column}.dashboard-company-logo{width:165px}.brand-icon{width:42px;height:42px}}
@media(max-width:760px){.brand span{display:none}.brand-icon{width:48px;height:48px}.dashboard-company-logo{width:145px}}

/* Navigation mobile — V13.0.3 */
.app-mobile-menu,.app-nav-backdrop{display:none}
body.app-menu-open{overflow:hidden}
@media(max-width:760px){
  .app-header{height:74px;align-items:center;padding:10px 16px;backdrop-filter:none;-webkit-backdrop-filter:none;background:#f4f1e9}
  .app-mobile-menu{display:grid;place-items:center;position:relative;z-index:104;width:46px;height:46px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--green);font-size:27px;font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation}
  .app-header>nav{display:flex;position:fixed;inset:0 0 auto auto;width:min(85vw,340px);height:100vh;height:100dvh;max-width:none;overflow-y:auto;flex-direction:column;gap:6px;padding:88px 20px 28px;background:#f8f7f2;box-shadow:-18px 0 45px rgba(20,43,31,.18);transform:translateX(105%);visibility:hidden;pointer-events:none;z-index:103;transition:transform .22s ease,visibility .22s}
  .app-header>nav.open{transform:none;visibility:visible;pointer-events:auto}
  .app-header>nav a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 14px;border-radius:12px;color:var(--ink);font-size:14px;white-space:normal;touch-action:manipulation}
  .app-header>nav a.active{background:var(--green2);color:var(--green);box-shadow:none}
  .app-header>nav #accountBtn{width:100%;min-height:48px;margin:10px 0 0;touch-action:manipulation}
  .app-nav-backdrop{display:block;position:fixed;inset:0 auto auto 0;width:100vw;height:100vh;height:100dvh;border:0;padding:0;background:rgba(12,27,20,.48);opacity:0;visibility:hidden;pointer-events:none;z-index:102;transition:opacity .22s ease,visibility .22s}
  .app-nav-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}
}

.color-tag{display:inline-flex;align-items:center;gap:5px;max-width:100%}.color-dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex:0 0 11px;border:1px solid rgba(20,40,30,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.color-tag span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* Florathèque Pro V8 — jardins et compositions */
.garden-zone{border:1px solid var(--border,#dfe7df);border-radius:12px;padding:10px;margin:8px 0;background:rgba(255,255,255,.55)}
.garden-zone-title{display:block;margin-bottom:6px;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--green-700,#316b45)}
.garden-zone .palette-item{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}
.garden-zone .palette-item small{grid-column:1/-1;padding-left:4px;color:#69736b}
.client-gardens{display:grid;gap:7px;margin:12px 0}
.client-garden-row{width:100%;border:1px solid var(--border,#dfe7df);background:#fff;border-radius:10px;padding:9px 11px;text-align:left;display:flex;justify-content:space-between;gap:10px;cursor:pointer}
.client-garden-row:hover{border-color:#79a889;background:#f5faf6}
.client-garden-row small{color:#6a746c}
@media(max-width:680px){.client-garden-row{flex-direction:column}.garden-zone .palette-item{grid-template-columns:1fr auto auto}}


/* Sélection groupée des végétaux - V8.1 */
.modal-card-wide{width:min(1080px,96vw);max-height:92vh;overflow:auto}
.bulk-toolbar{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:16px 0}
.bulk-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bulk-selection-bar>div{display:flex;gap:8px;flex-wrap:wrap}
.bulk-plant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:10px;margin:14px 0;max-height:48vh;overflow:auto;padding-right:4px}
.bulk-plant-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:9px;background:var(--card);transition:.15s ease}
.bulk-plant-card.selected{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 18%,transparent)}
.bulk-plant-check{display:grid;grid-template-columns:auto 56px 1fr;gap:8px;align-items:center;cursor:pointer;margin:0}
.bulk-plant-check input{width:18px;height:18px}
.bulk-plant-check .plant-photo,.bulk-plant-check .photo-fallback{width:56px;height:56px;border-radius:10px;object-fit:cover}
.bulk-plant-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.bulk-plant-info strong,.bulk-plant-info small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bulk-plant-info .color-tag{width:max-content;max-width:100%}
.bulk-qty{font-size:.78rem;margin:0;display:flex;flex-direction:column;gap:3px;align-items:center}
.bulk-qty input{width:60px;padding:7px;text-align:center}
.bulk-footer-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
@media(max-width:700px){.bulk-toolbar,.bulk-footer-fields{grid-template-columns:1fr}.bulk-plant-grid{grid-template-columns:1fr;max-height:44vh}.modal-card-wide{width:96vw}}

/* V8.2 — Plan interactif */
.modal-plan-wide{width:min(1180px,96vw);max-height:94vh;overflow:auto}
.plan-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}
.plan-file-label{flex:1;min-width:240px}
.plan-file-label input{display:block;width:100%;margin-top:7px}
.plan-empty{border:2px dashed var(--line,#d8ddd7);border-radius:18px;padding:34px;text-align:center;display:grid;gap:8px;color:var(--muted,#657066);background:#f8faf7}
.plan-empty>div{font-size:42px}.plan-empty span{font-size:.92rem}
.plan-workspace{margin-top:14px}
.plan-canvas{position:relative;display:inline-block;width:100%;background:#eef2ec;border:1px solid var(--line,#d8ddd7);border-radius:18px;overflow:hidden;cursor:crosshair;line-height:0}
.plan-canvas img{display:block;width:100%;height:auto;max-height:68vh;object-fit:contain;background:#eef2ec}
.plan-markers{position:absolute;inset:0;pointer-events:none}
.plan-marker{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;border:3px solid #fff;background:#315e39;color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,.28);pointer-events:auto;cursor:pointer;line-height:1}
.plan-marker:hover{transform:translate(-50%,-50%) scale(1.08)}
.plan-marker::after{content:attr(data-label);position:absolute;top:38px;left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(24,40,27,.92);color:#fff;padding:5px 8px;border-radius:8px;font-size:12px;font-weight:600;opacity:0;pointer-events:none;line-height:1.2}
.plan-marker:hover::after{opacity:1}
.plan-help{margin:14px 0;padding:12px 14px;border-radius:12px;background:#edf5ec;color:#315e39;font-size:.94rem}
.plan-controls-grid{display:grid;grid-template-columns:2fr 1.2fr .8fr;gap:12px;margin:14px 0}
.plan-marker-list{display:grid;gap:8px;margin-top:10px}
.plan-marker-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line,#d8ddd7);border-radius:12px;background:#fff}
.plan-marker-index{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#315e39;color:white;font-weight:700}
.plan-marker-row small{display:block;color:var(--muted,#657066);margin-top:3px}
@media(max-width:760px){.plan-controls-grid{grid-template-columns:1fr}.modal-plan-wide{width:97vw}.plan-marker{width:30px;height:30px}.plan-canvas img{max-height:58vh}}

/* Sprint 1 — sélection lisible Client → Jardin */
.project-picker-search{display:block;margin:0 0 14px}.project-picker-results{display:grid;gap:12px;max-height:52vh;overflow:auto;padding-right:4px}.project-picker-client{border:1px solid var(--line);border-radius:16px;background:#f8faf8;overflow:hidden}.project-picker-client>header{display:flex;flex-direction:column;gap:3px;padding:13px 14px;background:var(--green2)}.project-picker-client>header strong{font-size:14px}.project-picker-client>header small{color:var(--muted)}.project-picker-client>div{padding:8px}.project-picker-garden{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 7px}.project-picker-garden:last-child{margin-bottom:0}.project-picker-garden span{display:flex;flex-direction:column;gap:3px;min-width:0}.project-picker-garden small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-picker-garden em{font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap;background:#eef3ef;padding:6px 8px;border-radius:999px}

/* Recherche d’images multi-sources */
.image-choice-head{display:flex;gap:.6rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.confidence-badge{display:inline-flex;padding:.25rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;background:#eee;color:#444}
.confidence-badge.high{background:#dff3e4;color:#17652e}
.confidence-badge.medium{background:#fff1c9;color:#7a5700}
.confidence-badge.low{background:#f7dddd;color:#7a2323}
.link-button{display:inline-block;text-decoration:none;margin-left:.35rem;padding:.55rem .75rem}

.image-manager-actions .primary,.image-manager-actions .secondary{white-space:nowrap}.image-manager-actions button:disabled{opacity:.55;cursor:not-allowed}

/* Galerie de comparaison des photos */
.modal-photo-gallery{width:min(1180px,97vw);max-height:94vh;padding:32px}
.image-plant-scientific{margin:-12px 0 20px;color:var(--muted);font-style:italic}
.image-search-form{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:10px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:17px;background:#f8faf8}
.image-search-form label{margin:0}.image-search-form button,.image-upload-button{min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center}
.image-upload-button{margin:0!important;cursor:pointer}.image-upload-button input{display:none}
.image-current-selection{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;margin:18px 0;padding:14px;border:1px solid #bdd6c5;background:#f1f8f3;border-radius:18px}
.image-current-selection>div:first-child{height:125px;border-radius:13px;overflow:hidden;background:#e8eee9}
.image-current-selection h3{font:26px Georgia;margin:0 0 6px}.image-current-selection p{margin:4px 0 12px}
.image-best-proposal{margin:18px 0 20px;border:1px solid var(--line);border-radius:22px;padding:20px;background:#fff;box-shadow:0 10px 35px rgba(28,58,43,.07)}
.best-proposal-heading{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:14px}.best-proposal-heading h3{font:31px Georgia;margin:0}.best-proposal-heading .eyebrow{margin-bottom:5px}
.best-proposal-layout{display:grid;grid-template-columns:minmax(360px,1.25fr) minmax(310px,.75fr);gap:22px}
.best-proposal-image{border:0;padding:0;border-radius:17px;overflow:hidden;position:relative;min-height:370px;background:#e8eee9;cursor:zoom-in}
.best-proposal-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.best-proposal-image span,.image-preview-button span{position:absolute;right:12px;bottom:12px;background:rgba(20,42,31,.84);color:#fff;padding:7px 10px;border-radius:9px;font-size:12px;font-weight:800}
.best-proposal-details dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.best-proposal-details dl div{background:#f5f7f4;border-radius:11px;padding:10px}.best-proposal-details dt{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:9px;font-weight:900}.best-proposal-details dd{margin:4px 0 0;font-size:13px;line-height:1.35}
.best-proposal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.best-proposal-actions .primary{grid-column:1/-1}
.image-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 12px;border-bottom:1px solid var(--line)}
.image-gallery-controls>div{display:flex;gap:4px}.image-gallery-controls>strong{font-size:12px;color:var(--muted);padding-bottom:10px}
.gallery-tab{border:0;background:transparent;color:var(--muted);font-weight:850;padding:11px 14px;cursor:pointer;border-bottom:3px solid transparent}.gallery-tab.active{color:var(--green);border-bottom-color:var(--green)}
.image-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.image-comparison-card{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.image-comparison-card.selected{border-color:#6c9f7e;box-shadow:0 0 0 2px rgba(70,126,91,.12)}.image-comparison-card.reported{opacity:.62;background:#f6f4f2}
.image-preview-button{height:210px;border:0;padding:0;position:relative;background:#e7ede8;cursor:zoom-in;overflow:hidden}.image-preview-button img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.image-preview-button:hover img{transform:scale(1.025)}
.image-comparison-body{display:flex;flex-direction:column;gap:8px;padding:14px;flex:1}.image-comparison-body p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.image-comparison-body .reported-notice{color:var(--danger);font-weight:750}
.selected-photo-label{display:inline-flex;width:max-content;max-width:100%;background:#dff0e5;color:#245b3c;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:850}
.image-card-actions{display:grid;gap:5px;margin-top:auto;padding-top:4px}.image-card-actions .link-btn{font-size:11px;padding:8px}
.image-history-notice{margin:15px 0 0;padding:11px 13px;border-radius:11px;background:#f5f2e8;color:var(--muted);font-size:12px}
.image-gallery-empty{grid-column:1/-1;display:grid;place-items:center;text-align:center;min-height:230px;color:var(--muted);border:2px dashed var(--line);border-radius:17px}.image-gallery-empty span{font-size:42px}.image-gallery-empty strong{color:var(--ink)}
.image-lightbox-card{width:min(1100px,96vw);padding:18px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.55fr);gap:20px;align-items:center}.image-lightbox-card>img{width:100%;height:min(78vh,760px);object-fit:contain;border-radius:16px;background:#142119}.image-lightbox-card h2{margin-top:0}
.review-image-btn{background:#fff0ce!important;color:#77571c!important}
@media(max-width:950px){.image-search-form{grid-template-columns:1fr 1fr}.image-search-form label:first-child{grid-column:1/-1}.best-proposal-layout{grid-template-columns:1fr}.best-proposal-image{min-height:420px}.image-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-lightbox-card{grid-template-columns:1fr}}
@media(max-width:650px){.modal-photo-gallery{padding:24px 15px}.image-search-form{grid-template-columns:1fr}.image-search-form label:first-child{grid-column:auto}.image-current-selection{grid-template-columns:1fr}.image-current-selection>div:first-child{height:190px}.best-proposal-image{min-height:280px}.best-proposal-details dl,.best-proposal-actions{grid-template-columns:1fr}.best-proposal-actions .primary{grid-column:auto}.image-gallery-controls{align-items:flex-start;flex-direction:column}.image-gallery-controls>strong{padding:0 0 8px}.image-comparison-grid{grid-template-columns:1fr}.image-lightbox-card>img{height:58vh}}

/* V12.2 — centre d’aide, informations et comptes */
.help-nav{border:1px solid var(--line);background:rgba(255,255,255,.55)}
.help-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:end;padding:36px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,#fff,#eef4ee)}
.help-hero h1{font:clamp(40px,5vw,64px)/1.04 Georgia,serif;margin:0;max-width:720px}
.help-hero>div>p:last-child{max-width:670px;color:var(--muted);line-height:1.6}
.help-search{height:58px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:0 16px;box-shadow:0 10px 30px rgba(30,50,40,.06)}
.help-search span{font-size:23px;color:var(--muted)}
.help-search input{border:0!important;padding:0!important;background:transparent;width:100%;font-size:15px}
.help-search input:focus{outline:0}
.help-quick-start{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 30px}
.help-quick-start article{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px}
.help-quick-start article>span{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--green2);color:var(--green);font-weight:900}
.help-quick-start strong{display:block;margin:2px 0 4px}.help-quick-start p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.help-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.help-summary{position:sticky;top:98px;display:grid;gap:4px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:17px}
.help-summary button{border:0;background:transparent;color:var(--muted);text-align:left;font:inherit;font-size:13px;font-weight:750;padding:9px 10px;border-radius:9px;cursor:pointer}
.help-summary button:hover{background:var(--green2);color:var(--green)}
.help-content{display:grid;gap:16px}
.help-group{scroll-margin-top:96px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}
.help-group-title{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.help-group-title>span{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:var(--green2);color:var(--green);font-size:20px}
.help-group-title h2{font:30px Georgia,serif;margin:0}.help-group-title .eyebrow{margin-bottom:3px}
.help-group details{border-top:1px solid #edf0ed;padding:0 2px}
.help-group summary{padding:15px 0;cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:12px}
.help-group summary::-webkit-details-marker{display:none}
.help-group summary:after{content:"+";font-size:20px;font-weight:500;color:var(--muted)}
.help-group details[open] summary:after{content:"−"}
.help-group details p{margin:0 0 17px;color:var(--muted);line-height:1.65;max-width:900px}
.help-empty{text-align:center;padding:55px 20px;background:#fff;border:1px dashed var(--line);border-radius:20px}
.help-empty strong{font:27px Georgia,serif}.help-empty p{color:var(--muted)}
.app-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px max(22px,5vw);border-top:1px solid var(--line);background:#edf1eb;color:var(--muted)}
.app-footer>div{display:flex;gap:12px;align-items:baseline}.app-footer strong{color:var(--ink)}.app-footer span{font-size:12px}
.app-footer nav{display:flex;gap:4px}.app-footer a,.app-footer button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:750;text-decoration:none;padding:8px 9px;cursor:pointer;border-radius:8px}
.app-footer a:hover,.app-footer button:hover{background:#fff;color:var(--green)}
.info-modal-card{width:min(650px,100%)}.info-modal-card>p{color:var(--muted);line-height:1.65}
.info-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}
.info-list div{padding:14px;border-radius:12px;background:#f3f6f3}.info-list dt{font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.info-list dd{margin:5px 0 0;font-weight:800}
.info-note{padding:13px 15px;border-radius:12px;background:#f5f1e6;color:#6d5a2b!important;font-size:12px}
.privacy-list{display:grid;gap:9px;margin:18px 0;padding-left:20px;color:var(--muted);line-height:1.55}
@media(max-width:900px){.help-hero{grid-template-columns:1fr}.help-layout{grid-template-columns:1fr}.help-summary{position:static;grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.help-hero{padding:27px 21px}.help-quick-start{grid-template-columns:1fr}.help-summary{grid-template-columns:1fr 1fr;padding:12px}.help-group{padding:18px 16px}.app-footer{align-items:flex-start;flex-direction:column}.app-footer>div{align-items:flex-start;flex-direction:column;gap:4px}.info-list{grid-template-columns:1fr}}
