:root{
  --sb-green-950:#082f28;
  --sb-green-900:#0a3b31;
  --sb-green-800:#0c4a3c;
  --sb-green-700:#0f624d;
  --sb-green-600:#167a5e;
  --sb-green-500:#21906e;
  --sb-green-100:#dff2ea;
  --sb-green-50:#eef8f4;
  --sb-ink:#12211d;
  --sb-text:#32463f;
  --sb-muted:#71827c;
  --sb-line:#dce6e2;
  --sb-line-strong:#c7d8d1;
  --sb-canvas:#f4f7f6;
  --sb-card:#ffffff;
  --sb-warm:#fbfaf6;
  --sb-good:#157455;
  --sb-warn:#a66a14;
  --sb-bad:#b64545;
  --sb-shadow:0 18px 46px rgba(14,52,42,.08);
  --sb-shadow-sm:0 8px 26px rgba(14,52,42,.07);
  --sb-radius:22px;
  --sb-radius-sm:14px;
  --sb-max:1480px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--sb-canvas)}
body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;overflow-y:auto;background:var(--sb-canvas);color:var(--sb-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
body.sb-history-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
svg{display:block;max-width:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sb-shell{min-height:100vh;background:var(--sb-canvas)}
.sb-topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;height:76px;padding:0 clamp(18px,4vw,56px);border-bottom:1px solid rgba(200,216,210,.85);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}
.sb-brand{display:inline-flex;align-items:center;min-width:0}
.sb-logo-picture{display:flex;align-items:center;min-width:0}
.sb-logo{display:block;width:auto;height:58px;max-width:220px;object-fit:contain;object-position:left center}
.sb-appbar .sb-logo{height:54px;max-width:205px}
.sb-topbar-actions{display:flex;align-items:center;gap:10px}
.sb-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 16px;border:1px solid transparent;border-radius:13px;background:#fff;color:var(--sb-ink);font-weight:700;font-size:.9rem;transition:.18s ease;white-space:nowrap}
.sb-button:hover{transform:translateY(-1px)}
.sb-button:focus-visible,.sb-step:focus-visible,.sb-icon-button:focus-visible,input:focus-visible,.sb-dropzone:focus-within{outline:3px solid rgba(33,144,110,.2);outline-offset:2px}
.sb-button-primary{background:var(--sb-green-900);border-color:var(--sb-green-900);color:#fff;box-shadow:0 8px 18px rgba(10,59,49,.14)}
.sb-button-primary:hover{background:var(--sb-green-800)}
.sb-button-secondary{background:var(--sb-green-50);border-color:#cce7dc;color:var(--sb-green-800)}
.sb-button-secondary:hover{background:#e4f4ee}
.sb-button-ghost{border-color:var(--sb-line);background:#fff;color:var(--sb-ink)}
.sb-button-ghost:hover{border-color:#bfcfc9;background:#fafcfb}
.sb-button-dark{background:var(--sb-green-950);color:#fff}
.sb-button-lg{min-height:50px;padding:12px 20px;border-radius:14px}
.sb-full{width:100%}
.sb-main{width:100%;max-width:var(--sb-max);margin:0 auto;padding:0 clamp(18px,4vw,56px)}
.sb-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--sb-green-700);font-size:.73rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sb-live-dot{display:inline-block;width:7px;height:7px;border-radius:999px;background:var(--sb-green-500);box-shadow:0 0 0 5px rgba(33,144,110,.09)}
.sb-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.sb-chip{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid #d8e5e0;border-radius:999px;background:rgba(255,255,255,.8);color:#52645e;font-size:.78rem;font-weight:700}

/* Public */
.sb-public-shell{background:radial-gradient(circle at 8% 8%,rgba(36,143,109,.09),transparent 28%),linear-gradient(180deg,#fbfdfc 0,#f4f8f6 65%,#eef4f1 100%)}
.sb-public-main{padding-top:clamp(44px,6vw,84px);padding-bottom:70px}
.sb-landing-hero{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(460px,.97fr);align-items:center;gap:clamp(40px,6vw,86px);min-height:580px}
.sb-landing-copy h1{max-width:780px;margin:16px 0 20px;font-size:clamp(2.7rem,5.2vw,5.2rem);line-height:.97;letter-spacing:-.058em;font-weight:780}
.sb-landing-copy h1 em{display:block;color:var(--sb-green-600);font-style:normal}
.sb-landing-copy>p{max-width:700px;margin:0;color:#5e716a;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.75}
.sb-landing-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}
.sb-trust-points{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;color:#52655e;font-size:.83rem;font-weight:650}
.sb-trust-points span{display:flex;align-items:center;gap:7px}.sb-trust-points b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#dff2ea;color:var(--sb-green-700);font-size:.7rem}
.sb-preview-card{overflow:hidden;border:1px solid rgba(201,218,211,.9);border-radius:28px;background:rgba(255,255,255,.95);box-shadow:0 30px 80px rgba(16,63,50,.14)}
.sb-preview-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--sb-line);color:#667972;font-size:.78rem;font-weight:750}
.sb-preview-head span{display:flex;align-items:center;gap:8px}.sb-preview-head i{width:8px;height:8px;border-radius:50%;background:#21a477;box-shadow:0 0 0 5px rgba(33,164,119,.1)}.sb-preview-head b{padding:5px 9px;border-radius:999px;background:var(--sb-green-50);color:var(--sb-green-700)}
.sb-preview-body{padding:18px 18px 0}.sb-preview-map{position:relative;overflow:hidden;height:330px;border-radius:19px;background:linear-gradient(145deg,#edf4f1,#f7faf8)}
.sb-preview-map svg{width:100%;height:100%;color:#89a99e}.sb-preview-grid{stroke:#d6e4df;stroke-width:1}.sb-preview-road{stroke:#c5d4cf;stroke-width:16;opacity:.75}.sb-preview-parcel{fill:rgba(28,137,103,.16);stroke:var(--sb-green-600);stroke-width:4}.sb-preview-map circle{fill:#fff;stroke:var(--sb-green-600);stroke-width:4}
.sb-preview-tag{position:absolute;left:16px;bottom:15px;padding:7px 11px;border:1px solid #d5e5df;border-radius:999px;background:rgba(255,255,255,.93);color:var(--sb-green-800);font-size:.75rem;font-weight:750;box-shadow:var(--sb-shadow-sm)}
.sb-preview-verdict{display:flex;align-items:center;gap:11px;margin:15px 0;padding:14px;border-radius:17px;background:var(--sb-green-50)}
.sb-verdict-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sb-green-700);color:#fff;font-weight:900}.sb-preview-verdict div{display:grid;flex:1}.sb-preview-verdict small{color:var(--sb-muted);font-size:.68rem}.sb-preview-verdict strong{font-size:.94rem}.sb-preview-verdict span{color:#64766f;font-size:.74rem}.sb-preview-verdict>b{font-size:1.45rem;color:var(--sb-green-700)}
.sb-preview-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--sb-line)}.sb-preview-metrics>div{display:grid;padding:15px 17px}.sb-preview-metrics>div+div{border-left:1px solid var(--sb-line)}.sb-preview-metrics small{color:var(--sb-muted);font-size:.67rem}.sb-preview-metrics strong{margin-top:4px;font-size:.84rem}
.sb-trust-strip{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:26px;margin:40px 0 100px;padding:20px 24px;border:1px solid #dfe9e5;border-radius:20px;background:rgba(255,255,255,.76)}
.sb-trust-strip>div{display:flex;align-items:center;gap:13px}.sb-trust-strip>div>b{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--sb-green-50);color:var(--sb-green-700)}.sb-trust-strip span{display:grid}.sb-trust-strip strong{font-size:.86rem}.sb-trust-strip small{margin-top:2px;color:var(--sb-muted);font-size:.72rem}.sb-trust-strip>i{width:48px;height:1px;background:#d7e3de}
.sb-method-section{padding:0 0 90px}.sb-section-intro{max-width:760px;margin-bottom:34px}.sb-section-intro h2{margin:11px 0 12px;font-size:clamp(2rem,3vw,3.2rem);line-height:1.08;letter-spacing:-.04em}.sb-section-intro p{margin:0;color:#64766f;font-size:1rem;line-height:1.7}
.sb-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.sb-feature-card{position:relative;min-height:245px;padding:23px;border:1px solid #dce7e3;border-radius:20px;background:#fff}.sb-feature-card>span:first-child{position:absolute;right:18px;top:16px;color:#a8b8b2;font-size:.72rem;font-weight:800}.sb-feature-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:26px;border-radius:13px;background:var(--sb-green-50);color:var(--sb-green-700);font-size:1.3rem}.sb-feature-card h3{margin:0 0 10px;font-size:1.05rem}.sb-feature-card p{margin:0;color:#687a73;font-size:.88rem;line-height:1.65}
.sb-public-disclaimer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 26px;border-radius:20px;background:var(--sb-green-950);color:#fff}.sb-public-disclaimer>div{display:flex;align-items:flex-start;gap:14px;max-width:930px}.sb-note-icon{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;background:rgba(255,255,255,.13);font-weight:800}.sb-public-disclaimer strong{font-size:.94rem}.sb-public-disclaimer p{margin:5px 0 0;color:#bfd1ca;font-size:.82rem;line-height:1.6}.sb-public-disclaimer .sb-button-primary{background:#fff;border-color:#fff;color:var(--sb-green-950)}
.sb-public-footer{display:flex;justify-content:space-between;gap:20px;max-width:var(--sb-max);margin:0 auto;padding:0 clamp(18px,4vw,56px) 30px;color:#7b8b85;font-size:.74rem}

/* App */
.sb-app-shell{background:linear-gradient(180deg,#f8faf9 0,#f1f5f3 100%)}
.sb-appbar{height:72px}.sb-system-pill{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dce8e3;border-radius:999px;background:#f7faf8;color:#60736c;font-size:.72rem}.sb-system-pill i{width:7px;height:7px;border-radius:50%;background:#2ba477}.sb-system-pill b{color:var(--sb-green-800)}
.sb-user-avatar{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d5e2dd;border-radius:50%;background:#f3f7f5;color:var(--sb-green-800);font-size:.84rem;font-weight:850}
.sb-show-mobile{display:none}
.sb-app-main{padding-top:30px;padding-bottom:80px}
.sb-dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-bottom:22px;padding:0 4px}.sb-dashboard-welcome h1{margin:8px 0 6px;font-size:clamp(1.65rem,2.5vw,2.4rem);line-height:1.05;letter-spacing:-.038em}.sb-dashboard-welcome p{max-width:820px;margin:0;color:#687b74;font-size:.91rem}.sb-welcome-note{display:flex;align-items:center;gap:12px;min-width:320px;padding:13px 15px;border:1px solid #dce8e3;border-radius:16px;background:#fff}.sb-welcome-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--sb-green-50);color:var(--sb-green-700);font-weight:900}.sb-welcome-note div{display:grid}.sb-welcome-note strong{font-size:.8rem}.sb-welcome-note small{margin-top:3px;color:var(--sb-muted);font-size:.7rem}
.sb-workspace{position:relative;min-width:0}
.sb-stepper{display:grid;grid-template-columns:1fr 70px 1fr 70px 1fr;align-items:center;margin-bottom:16px;padding:10px 14px;border:1px solid var(--sb-line);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 6px 22px rgba(13,54,43,.035)}
.sb-step{display:flex;align-items:center;gap:10px;width:100%;padding:7px;border:0;background:transparent;color:#87958f;text-align:left}.sb-step b{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:11px;background:#eef3f1;color:#6f8079;font-size:.78rem}.sb-step span{display:grid}.sb-step strong{font-size:.82rem}.sb-step small{margin-top:1px;font-size:.67rem}.sb-step.active{color:var(--sb-ink)}.sb-step.active b{background:var(--sb-green-800);color:#fff}.sb-step.done b{background:#dff2ea;color:var(--sb-green-700)}.sb-step.done b::after{content:"✓";font-size:.76rem}.sb-step.done b{font-size:0}.sb-step-line{height:1px;background:#dbe5e1}.sb-step.done+.sb-step-line{background:#83b9a7}
.sb-content{min-width:0}.sb-panel{display:none;min-width:0}.sb-panel.active{display:block;animation:sbFade .25s ease}@keyframes sbFade{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
.sb-panel-head,.sb-result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:23px 26px;border:1px solid var(--sb-line);border-radius:20px;background:#fff}.sb-panel-head h2,.sb-result-header h2{margin:7px 0 5px;font-size:1.42rem;letter-spacing:-.026em}.sb-panel-head p,.sb-result-header p{margin:0;color:var(--sb-muted);font-size:.86rem}.sb-badge{display:inline-flex;align-items:center;justify-content:center;min-width:102px;padding:8px 11px;border-radius:999px;background:var(--sb-green-50);color:var(--sb-green-700);font-size:.74rem;font-weight:850}


.sb-card,.sb-table-card,.sb-map-card,.sb-diagnosis-card,.sb-summary-card{border:1px solid var(--sb-line);border-radius:20px;background:#fff;box-shadow:0 8px 26px rgba(13,54,43,.035)}
.sb-card{padding:20px}.sb-card-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}.sb-card-number{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:10px;background:var(--sb-green-50);color:var(--sb-green-700);font-size:.73rem;font-weight:850}.sb-card-title>div{display:grid}.sb-card-title strong{font-size:.9rem}.sb-card-title small{margin-top:3px;color:var(--sb-muted);font-size:.72rem}
.sb-dropzone{display:grid;place-items:center;min-height:190px;padding:22px;border:1.5px dashed #bad0c7;border-radius:17px;background:#fbfdfc;text-align:center;cursor:pointer;transition:.18s ease}.sb-dropzone:hover,.sb-dropzone.dragging{border-color:var(--sb-green-500);background:var(--sb-green-50)}.sb-dropzone input{position:absolute;opacity:0;pointer-events:none}.sb-drop-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:8px;border-radius:14px;background:var(--sb-green-50);color:var(--sb-green-700);font-size:1.25rem;font-weight:800}.sb-dropzone strong{font-size:.9rem}.sb-dropzone small{margin-top:4px;color:var(--sb-muted);font-size:.72rem}.sb-file-types{margin-top:11px;padding:5px 8px;border-radius:999px;background:#eef4f1;color:#788b83;font-size:.62rem;font-weight:800;letter-spacing:.04em}.sb-upload-card .sb-button{margin-top:12px}
.sb-import-quality-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;padding:12px 13px;border:1px solid #ead8ad;border-radius:13px;background:#fffaf0;color:#6f5a2f}.sb-import-quality-note>span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#f4dfaa;color:#77530d;font-size:.7rem;font-weight:900}.sb-import-quality-note>div{display:grid;gap:3px}.sb-import-quality-note strong{font-size:.72rem;color:#5d4516}.sb-import-quality-note p{margin:0;font-size:.66rem;line-height:1.5}.sb-import-quality-note b{color:#3c3422}
.sb-field{display:grid;gap:6px;margin-bottom:13px;color:#30443d;font-size:.76rem;font-weight:750}.sb-field input,.sb-unit-wrap input{width:100%;min-width:0;height:45px;padding:0 12px;border:1px solid #d6e1dd;border-radius:12px;background:#fff;color:var(--sb-ink);font-size:.88rem;font-weight:500;outline:0;transition:.15s ease}.sb-field input:focus,.sb-unit-wrap input:focus{border-color:#79b7a2;box-shadow:0 0 0 3px rgba(33,144,110,.09)}.sb-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:11px}.sb-unit-wrap{display:flex;align-items:center;border:1px solid #d6e1dd;border-radius:12px;overflow:hidden;background:#fff}.sb-unit-wrap:focus-within{border-color:#79b7a2;box-shadow:0 0 0 3px rgba(33,144,110,.09)}.sb-unit-wrap input{border:0;border-radius:0;box-shadow:none!important}.sb-unit-wrap b{display:grid;place-items:center;align-self:stretch;padding:0 12px;background:#f3f6f5;color:#667871;font-size:.74rem}
.sb-reference-box{display:flex;align-items:flex-start;gap:11px;padding:13px;border-radius:14px;background:#f5f8f7;color:#53665f}.sb-reference-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#e5f2ed;color:var(--sb-green-700)}.sb-reference-box div{display:grid}.sb-reference-box strong{font-size:.75rem;color:#263a33}.sb-reference-box p{margin:3px 0 2px;font-size:.72rem}.sb-reference-box small{font-size:.66rem;color:#82918c}
/* V34 - garde-fous après lecture d’un plan */
.sb-extraction-review[hidden]{display:none!important}
.sb-extraction-review{display:grid;gap:12px;margin:14px 16px 0;padding:14px 15px;border:1px solid #c9ded6;border-radius:16px;background:#f3faf7}
.sb-extraction-review.warning{border-color:#ead2a8;background:#fff9ef}
.sb-extraction-review-main{display:flex;align-items:flex-start;gap:12px}
.sb-review-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#dcefe8;color:var(--sb-green-700);font-weight:900}
.sb-extraction-review.warning .sb-review-icon{background:#f6e7c9;color:var(--sb-warn)}
.sb-extraction-review-main>div{min-width:0;flex:1}
.sb-review-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sb-review-heading strong{font-size:.82rem}
.sb-review-state{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#e2f2ec;color:var(--sb-green-700);font-size:.62rem;font-weight:850}
.sb-review-state.warning{background:#f7e7c8;color:#8f5c12}
.sb-review-state.confirmed{background:#d9f0e6;color:#126148}
.sb-extraction-review p{margin:4px 0 0;color:#5f726a;font-size:.72rem;line-height:1.55}
.sb-review-warnings{display:grid;gap:5px;margin-top:9px}
.sb-review-warnings details{border:1px solid rgba(211,189,136,.5);border-radius:10px;background:rgba(255,255,255,.64);overflow:hidden}
.sb-review-warnings summary{padding:8px 10px;color:#806022;font-size:.66rem;font-weight:800;cursor:pointer;list-style:none}
.sb-review-warnings summary::-webkit-details-marker{display:none}
.sb-review-warnings summary:after{content:"＋";float:right;font-weight:900}.sb-review-warnings details[open] summary:after{content:"−"}
.sb-review-warnings ul{display:grid;gap:6px;margin:0;padding:0 10px 10px 27px;color:#7b5c24;font-size:.64rem;line-height:1.45}
.sb-review-guidance{margin-top:8px;padding:11px 12px;border-radius:11px;background:rgba(255,255,255,.82);border:1px solid rgba(211,189,136,.55);color:#5e4a22;font-size:.69rem;line-height:1.62}
.sb-review-guidance[hidden]{display:none!important}
.sb-review-guidance p{margin:0}
.sb-review-expert-help{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid #d9e6e1;border-radius:13px;background:#fff}
.sb-review-expert-help[hidden]{display:none!important}
.sb-review-expert-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sb-review-expert-head>div{min-width:0}.sb-review-expert-head strong{display:block;color:#24473d;font-size:.72rem}.sb-review-expert-head p{margin:3px 0 0;color:#667a72;font-size:.66rem;line-height:1.55}.sb-review-expert-head .sb-button{flex:0 0 auto;min-height:34px;padding:7px 10px;font-size:.64rem}
.sb-review-expert-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sb-review-expert-suggestions .sb-expert-mini{padding:9px}.sb-review-expert-help>small{color:#7c8e87;font-size:.59rem;line-height:1.45}.sb-review-expert-loading{grid-column:1/-1;padding:10px;border:1px dashed #dce7e3;border-radius:10px;color:#75877f;font-size:.64rem;text-align:center}
.sb-review-confirm{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-top:1px solid rgba(167,194,183,.45);color:#3f554c;font-size:.72rem;line-height:1.5;cursor:pointer}
.sb-review-confirm input{flex:0 0 auto;width:17px;height:17px;margin-top:2px;accent-color:var(--sb-green-700)}
.sb-point-label-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px}
.sb-point-origin{padding:3px 6px;border-radius:999px;background:#e8f5f0;color:var(--sb-green-700);font-size:.56rem;font-weight:850;white-space:nowrap}
.sb-point-origin.missing{background:#fff1d9;color:#966313}
.sb-point-origin.review{background:#fff1d9;color:#8a5a00}
#pointsBody tr.review{box-shadow:inset 4px 0 0 #c88a17}
.sb-coordinate-table tr.detected td{background:linear-gradient(90deg,rgba(238,248,244,.42),rgba(255,255,255,0))}
.sb-coordinate-table tr.missing td{background:linear-gradient(90deg,rgba(255,248,235,.48),rgba(255,255,255,0))}
.sb-inline-status.warning{background:#fff8ed;color:#8f5d18}

.sb-table-card{margin-top:14px;overflow:hidden}.sb-table-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid var(--sb-line)}.sb-table-head>div:first-child{display:grid}.sb-table-head>div:first-child strong{margin-top:3px;font-size:.94rem}.sb-table-head>div:first-child small{margin-top:2px;color:var(--sb-muted);font-size:.7rem}.sb-table-head-actions{display:flex;align-items:center;gap:10px}.sb-points-summary{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:11px;background:#f4f7f6;font-size:.68rem}.sb-points-summary span{color:var(--sb-muted)}.sb-points-summary b{color:var(--sb-green-700)}.sb-table-wrap{width:100%;overflow-x:auto}.sb-coordinate-table{width:100%;border-collapse:collapse}.sb-coordinate-table th{padding:10px 14px;background:#f8faf9;color:#75867f;font-size:.67rem;font-weight:800;text-align:left;text-transform:uppercase;letter-spacing:.04em}.sb-coordinate-table th span{font-weight:600;text-transform:none}.sb-coordinate-table td{padding:9px 12px;border-top:1px solid #edf1ef}.sb-coordinate-table tbody tr:hover{background:#fcfefd}.sb-coordinate-table input{width:100%;min-width:0;height:40px;padding:0 10px;border:1px solid #dbe4e0;border-radius:10px;background:#fff;color:var(--sb-ink);font-size:.84rem;outline:0}.sb-coordinate-table input:focus{border-color:#7db6a3;box-shadow:0 0 0 3px rgba(33,144,110,.08)}.sb-coordinate-table input.invalid-coordinate{border-color:#d69a49;background:#fff9ef;box-shadow:0 0 0 3px rgba(196,132,42,.08)}.sb-coordinate-table td:first-child{width:19%}.sb-coordinate-table td:nth-child(2),.sb-coordinate-table td:nth-child(3){width:36%}.sb-coordinate-table td:last-child{width:9%;text-align:center}.sb-remove-point{width:34px;height:34px;border:0;border-radius:9px;background:#f6f8f7;color:#809089;font-size:1.05rem}.sb-remove-point:hover{background:#fff0f0;color:var(--sb-bad)}.sb-example-note{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--sb-line);background:#fbfcfb;color:#778780;font-size:.68rem}.sb-example-dot{width:7px;height:7px;border-radius:50%;background:var(--sb-green-500)}.sb-example-ref{margin-left:auto;padding:4px 7px;border-radius:7px;background:#eef4f1;color:#5f746b;font-weight:800}
.sb-action-bar{position:sticky;bottom:14px;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:12px 14px;border:1px solid #cddbd5;border-radius:17px;background:rgba(255,255,255,.96);box-shadow:0 18px 42px rgba(12,56,45,.13);backdrop-filter:blur(12px)}.sb-action-readiness{display:flex;align-items:center;gap:9px;color:#71827c;font-size:.76rem;font-weight:650}.sb-action-readiness>span{width:9px;height:9px;border-radius:50%;background:#b7c4bf}.sb-action-readiness.ready{color:var(--sb-good)}.sb-action-readiness.ready>span{background:#28a779;box-shadow:0 0 0 5px rgba(40,167,121,.1)}.sb-actions-row{display:flex;align-items:center;gap:8px}.sb-check-button{min-width:210px}.sb-button:disabled{opacity:.46;transform:none;box-shadow:none}.sb-inline-status{min-height:0;margin-top:8px;padding:0;color:var(--sb-muted);font-size:.76rem}.sb-inline-status:not(:empty){min-height:38px;padding:10px 12px;border-radius:12px}.sb-inline-status.loading{background:#f4f7f6;color:#63756e}.sb-inline-status.success{background:#edf8f3;color:#176c51}.sb-inline-status.error{background:#fff1f1;color:#a23e3e}.sb-main-status{margin-bottom:4px}

/* Results */
.sb-result-header{align-items:center}.sb-result-actions{display:flex;align-items:center;gap:8px}.sb-result-actions .disabled{pointer-events:none;opacity:.45}
.sb-result-overview{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.7fr);gap:14px;margin-top:14px}.sb-score-card{display:flex;align-items:center;gap:17px;padding:18px 20px;border:1px solid #cfe2da;border-radius:20px;background:linear-gradient(145deg,#eff9f5,#fff);box-shadow:var(--sb-shadow-sm)}.sb-score-ring{display:grid;place-items:center;flex:0 0 80px;width:80px;height:80px;border-radius:50%;background:conic-gradient(var(--sb-green-600) 0 270deg,#dcebe5 270deg);box-shadow:inset 0 0 0 10px #fff}.sb-score-ring strong{font-size:1.25rem;color:var(--sb-green-800)}.sb-score-card>div:last-child{display:grid}.sb-score-card small{color:var(--sb-muted);font-size:.67rem}.sb-score-card>div:last-child>strong{margin:3px 0;font-size:1rem}.sb-score-card>div:last-child>span{color:#6f817a;font-size:.72rem}.sb-score-card.warn{background:#fff8ed;border-color:#ead2a8}.sb-score-card.bad{background:#fff1f1;border-color:#e8c2c2}
.sb-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sb-metric{position:relative;display:grid;align-content:center;min-width:0;padding:16px 17px;border:1px solid var(--sb-line);border-radius:18px;background:#fff}.sb-metric-icon{position:absolute;right:13px;top:12px;display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#f0f6f3;color:var(--sb-green-700);font-size:.9rem}.sb-metric small{padding-right:34px;color:var(--sb-muted);font-size:.67rem}.sb-metric strong{overflow:hidden;margin:5px 0 3px;font-size:1rem;text-overflow:ellipsis}.sb-metric>span:last-child{overflow:hidden;color:#72847d;font-size:.68rem;text-overflow:ellipsis}
.sb-result-grid{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(330px,.62fr);gap:14px;margin-top:14px}.sb-map-card,.sb-diagnosis-card{padding:18px}.sb-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.sb-section-title h3{margin:3px 0 0;font-size:1rem;letter-spacing:-.015em}.sb-map-status{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f1f6f3;color:#61736c;font-size:.66rem;font-weight:750}.sb-map-status i{width:7px;height:7px;border-radius:50%;background:#2fa77b}.sb-map{display:grid;place-items:center;min-height:410px;overflow:hidden;border:1px solid #dce5e1;border-radius:16px;background:linear-gradient(145deg,#edf3f1,#f8faf9)}.sb-map-placeholder{display:grid;place-items:center;text-align:center;color:#6f827a}.sb-map-placeholder-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:9px;border-radius:14px;background:#fff;color:var(--sb-green-700);font-size:1.35rem;box-shadow:var(--sb-shadow-sm)}.sb-map-placeholder strong{font-size:.86rem}.sb-map-placeholder small{max-width:300px;margin-top:4px;font-size:.68rem}.sb-location-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:10px;border:1px solid var(--sb-line);border-radius:13px;overflow:hidden}.sb-location-grid>div{display:grid;padding:10px 11px;background:#fbfcfb}.sb-location-grid>div+div{border-left:1px solid var(--sb-line)}.sb-location-grid small{color:var(--sb-muted);font-size:.62rem}.sb-location-grid strong{margin-top:2px;overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
.sb-diagnosis-card{display:flex;flex-direction:column}.sb-diagnostic-group{margin-top:9px;padding:13px;border-radius:14px;background:#f7f9f8}.sb-diagnostic-head{display:flex;align-items:center;gap:8px}.sb-diagnostic-head>span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;font-size:.72rem;font-weight:900}.sb-diagnostic-head strong{font-size:.78rem}.sb-diagnostic-group.good{background:#eff8f4}.sb-diagnostic-group.good .sb-diagnostic-head>span{background:#d6efe5;color:var(--sb-good)}.sb-diagnostic-group.warn{background:#fff8ed}.sb-diagnostic-group.warn .sb-diagnostic-head>span{background:#f5e6c7;color:var(--sb-warn)}.sb-diagnostic-group.bad{background:#fff2f2}.sb-diagnostic-group.bad .sb-diagnostic-head>span{background:#f4dada;color:var(--sb-bad)}.sb-diagnostic-list{display:grid;gap:6px;margin-top:8px}.sb-diagnostic-item,.sb-diagnostic-empty{padding-left:11px;border-left:2px solid rgba(105,127,118,.2);color:#5d7068;font-size:.72rem;line-height:1.5}.sb-diagnostic-empty{font-style:italic;color:#899690}
.sb-summary-card{display:grid;grid-template-columns:auto 1fr;gap:15px;margin-top:14px;padding:19px 20px;background:linear-gradient(135deg,#0b493b,#0a382f);color:#fff}.sb-summary-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.1);font-size:1.15rem}.sb-summary-card .sb-eyebrow{color:#9dd5c3}.sb-summary-card h3{margin:3px 0 7px;font-size:.96rem}.sb-summary-card p{margin:0;color:#c8dbd4;font-size:.82rem;line-height:1.65}
.sb-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.sb-key-values{display:grid}.sb-key-value{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:9px 0;border-top:1px solid #edf1ef}.sb-key-value:first-child{border-top:0}.sb-key-value span{color:var(--sb-muted);font-size:.72rem}.sb-key-value strong{max-width:65%;text-align:right;font-size:.75rem;word-break:break-word}
.sb-legal-callout{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:15px 17px;border:1px solid #e5dfc7;border-radius:16px;background:#fffdf5}.sb-legal-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#f4ecd1;color:#8a6a1e;font-weight:850}.sb-legal-callout strong{font-size:.78rem}.sb-legal-callout p{margin:3px 0 0;color:#756f5e;font-size:.7rem;line-height:1.55}

/* History */
.sb-history-backdrop{position:fixed;inset:0;z-index:79;background:rgba(5,25,20,.36);backdrop-filter:blur(2px)}.sb-history{position:fixed;z-index:80;top:0;right:0;bottom:0;width:min(430px,94vw);padding:22px;background:#fff;box-shadow:-24px 0 70px rgba(8,47,40,.2);transform:translateX(103%);transition:transform .22s ease}.sb-history.open{transform:none}.sb-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--sb-line)}.sb-history-head h2{margin:4px 0 2px;font-size:1.28rem}.sb-history-head p{margin:0;color:var(--sb-muted);font-size:.76rem}.sb-icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--sb-line);border-radius:11px;background:#fff;color:#667870;font-size:1.2rem}.sb-history-list{display:grid;gap:9px;margin-top:14px;max-height:calc(100vh - 150px);overflow-y:auto;padding-right:2px}.sb-history-item{display:grid;gap:4px;padding:13px;border:1px solid var(--sb-line);border-radius:14px;background:#fbfcfb;cursor:pointer;transition:.15s ease}.sb-history-item:hover{border-color:#a9c9bd;background:var(--sb-green-50)}.sb-history-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sb-history-item-head strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.sb-history-score{padding:4px 7px;border-radius:999px;background:#e5f3ed;color:var(--sb-green-700);font-size:.68rem;font-weight:850}.sb-history-item small{color:var(--sb-muted);font-size:.67rem}.sb-empty{color:var(--sb-muted);font-size:.8rem}.sb-toast{position:fixed;z-index:120;left:50%;bottom:24px;max-width:min(520px,90vw);padding:11px 15px;border-radius:12px;background:var(--sb-green-950);color:#fff;font-size:.78rem;font-weight:700;box-shadow:0 16px 45px rgba(8,47,40,.24);opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:.18s ease}.sb-toast.show{opacity:1;transform:translate(-50%,0)}

/* Auth */
.sb-auth-shell{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(500px,1.1fr);min-height:100vh;background:#fff}.sb-auth-story{display:flex;flex-direction:column;padding:34px clamp(28px,5vw,72px);background:radial-gradient(circle at 85% 16%,rgba(52,161,125,.25),transparent 30%),linear-gradient(145deg,#0a493b,#082f28);color:#fff}.sb-auth-brand{align-self:flex-start;padding:7px 10px;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12)}.sb-auth-brand .sb-logo{height:66px;max-width:250px}.sb-auth-story-copy{margin:auto 0}.sb-auth-story-copy .sb-eyebrow{color:#9ed6c3}.sb-auth-story-copy h1{max-width:560px;margin:13px 0 16px;font-size:clamp(2.2rem,4vw,4rem);line-height:1.02;letter-spacing:-.05em}.sb-auth-story-copy p{max-width:550px;margin:0;color:#c0d2cb;font-size:.94rem;line-height:1.7}.sb-auth-facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.sb-auth-facts span{padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.06);color:#d7e5e0;font-size:.68rem}.sb-auth-footnote{color:#91aea4}.sb-auth-main{display:grid;place-items:center;padding:34px;background:#f7faf8}.sb-auth-card{width:min(470px,100%);padding:34px;border:1px solid var(--sb-line);border-radius:24px;background:#fff;box-shadow:var(--sb-shadow)}.sb-auth-card-head h2{margin:7px 0 6px;font-size:1.7rem;letter-spacing:-.035em}.sb-auth-card-head p{margin:0;color:var(--sb-muted);font-size:.84rem}.sb-auth-form{margin-top:22px}.sb-auth-form p{display:grid;gap:6px;margin:0 0 13px}.sb-auth-form label{font-size:.75rem;font-weight:750}.sb-auth-form input{width:100%;height:46px;padding:0 12px;border:1px solid #d5e0dc;border-radius:12px;background:#fff;outline:0}.sb-auth-form input:focus{border-color:#76b6a0;box-shadow:0 0 0 3px rgba(33,144,110,.09)}.sb-auth-form ul{margin:4px 0 10px;padding-left:18px;color:var(--sb-muted);font-size:.68rem}.sb-auth-form .helptext{color:var(--sb-muted);font-size:.68rem}.sb-auth-alert{margin-bottom:12px;padding:10px 12px;border-radius:11px;background:#fff0f0;color:#a43f3f;font-size:.75rem}.sb-auth-switch{margin:18px 0 0;text-align:center;color:var(--sb-muted);font-size:.78rem}.sb-auth-switch a{color:var(--sb-green-700);font-weight:800}.sb-auth-home{display:block;margin-top:13px;text-align:center;color:#7c8d86;font-size:.72rem}

@media(max-width:1100px){
  .sb-landing-hero{grid-template-columns:1fr;min-height:auto}.sb-preview-card{max-width:720px}.sb-feature-grid{grid-template-columns:1fr 1fr}.sb-dashboard-welcome{align-items:flex-start}.sb-welcome-note{min-width:0}.sb-result-overview{grid-template-columns:1fr}.sb-result-grid{grid-template-columns:1fr}.sb-map{min-height:360px}.sb-auth-shell{grid-template-columns:1fr}.sb-auth-story{min-height:430px}.sb-auth-main{padding:50px 24px}
}
@media(max-width:820px){
  .sb-topbar{height:66px;padding:0 14px}.sb-logo{height:46px;max-width:160px}.sb-appbar .sb-logo{height:44px;max-width:150px}.sb-system-pill{display:none}.sb-hide-mobile{display:none}.sb-show-mobile{display:inline}.sb-button{min-height:39px;padding:8px 12px;font-size:.78rem}.sb-main{padding-left:14px;padding-right:14px}.sb-app-main{padding-top:18px}.sb-dashboard-welcome{display:grid;gap:13px}.sb-dashboard-welcome p{font-size:.82rem}.sb-welcome-note{width:100%}.sb-stepper{grid-template-columns:1fr 24px 1fr 24px 1fr;padding:8px}.sb-step{justify-content:center;padding:5px}.sb-step span{display:none}.sb-step-line{width:100%}.sb-panel-head,.sb-result-header{padding:18px}.sb-panel-head{align-items:center}.sb-panel-head h2,.sb-result-header h2{font-size:1.17rem}.sb-two-cols{grid-template-columns:1fr}.sb-table-head{align-items:flex-start;flex-direction:column}.sb-table-head-actions{width:100%;justify-content:space-between}.sb-coordinate-table{min-width:630px}.sb-action-bar{bottom:8px;align-items:stretch;flex-direction:column;padding:10px}.sb-action-readiness{font-size:.7rem}.sb-actions-row{width:100%}.sb-actions-row .sb-button{flex:1}.sb-result-header{align-items:flex-start;flex-direction:column}.sb-result-actions{width:100%}.sb-result-actions .sb-button{flex:1}.sb-metrics{grid-template-columns:1fr 1fr}.sb-metric:last-child{grid-column:1/-1}.sb-location-grid{grid-template-columns:1fr 1fr}.sb-location-grid>div:nth-child(3){border-left:0;border-top:1px solid var(--sb-line)}.sb-location-grid>div:nth-child(4){border-top:1px solid var(--sb-line)}.sb-detail-grid{grid-template-columns:1fr}.sb-public-main{padding-top:38px}.sb-landing-copy h1{font-size:clamp(2.5rem,12vw,4rem)}.sb-preview-map{height:270px}.sb-trust-strip{grid-template-columns:1fr;margin-bottom:65px}.sb-trust-strip>i{display:none}.sb-feature-grid{grid-template-columns:1fr}.sb-public-disclaimer{align-items:flex-start;flex-direction:column}.sb-public-footer{flex-direction:column}.sb-auth-story{min-height:380px;padding:28px 24px}.sb-auth-story-copy h1{font-size:2.4rem}
}
@media(max-width:520px){
  .sb-topbar-actions{gap:6px}.sb-topbar-actions form .sb-button{padding-left:10px;padding-right:10px}.sb-user-avatar{display:none}.sb-dashboard-welcome h1{font-size:1.7rem}.sb-score-card{align-items:flex-start}.sb-score-ring{width:68px;height:68px;flex-basis:68px}.sb-metrics{grid-template-columns:1fr}.sb-metric:last-child{grid-column:auto}.sb-map{min-height:310px}.sb-location-grid{grid-template-columns:1fr}.sb-location-grid>div+div{border-left:0;border-top:1px solid var(--sb-line)}.sb-example-note{align-items:flex-start;flex-wrap:wrap}.sb-example-ref{margin-left:0}.sb-actions-row{display:grid;grid-template-columns:.7fr 1.3fr}.sb-check-button{min-width:0}.sb-preview-body{padding:12px 12px 0}.sb-preview-map{height:230px}.sb-preview-metrics>div{padding:12px 10px}.sb-preview-metrics strong{font-size:.72rem}.sb-landing-actions{display:grid}.sb-landing-actions .sb-button{width:100%}.sb-auth-card{padding:24px}.sb-auth-main{padding:28px 14px}
}
.sb-coordinate-table tbody tr.complete{background:#fbfefc}.sb-coordinate-table tbody tr.complete td:first-child{box-shadow:inset 3px 0 0 #38a77f}

/* V32 - Google Maps & annuaire des géomètres-experts */
body.sb-modal-open{overflow:hidden}
.sb-map-title-row{align-items:flex-start;gap:14px}
.sb-map-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.sb-button-map{min-height:36px;padding:7px 11px;border-color:#cfe1da;background:#fff;color:var(--sb-green-800);font-size:.72rem}
.sb-button-map:hover{background:var(--sb-green-50);border-color:#afd2c5}
.sb-button-map.disabled{pointer-events:none;opacity:.45}
.sb-expert-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:18px;margin-top:14px;padding:21px;border:1px solid #cfe2da;border-radius:20px;background:linear-gradient(135deg,#f5fbf8 0,#ffffff 68%);box-shadow:var(--sb-shadow-sm)}
.sb-expert-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--sb-green-900);color:#fff;font-size:1.3rem}
.sb-expert-copy h3{margin:4px 0 6px;font-size:1.05rem;letter-spacing:-.02em}
.sb-expert-copy>p{max-width:850px;margin:0;color:#60736b;font-size:.78rem;line-height:1.65}
.sb-expert-actions{display:flex;align-items:flex-start}
.sb-expert-suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}
.sb-expert-mini{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:10px;border:1px solid #dfebe6;border-radius:13px;background:#fff}
.sb-professional-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:var(--sb-green-50);color:var(--sb-green-700);font-size:.76rem;font-weight:850}
.sb-professional-main{min-width:0}
.sb-professional-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.sb-professional-title strong{min-width:0;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-professional-title>span{flex:none;padding:2px 5px;border-radius:999px;background:#edf5f2;color:#60736b;font-size:.58rem;font-weight:800}
.sb-professional-meta{display:block;margin-top:2px;color:var(--sb-muted);font-size:.62rem}
.sb-professional-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.sb-contact-link{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:8px;background:#f1f7f4;color:var(--sb-green-800);font-size:.59rem;font-weight:750}.sb-contact-link:hover{background:#e4f2ec}
.sb-expert-basis{display:block;margin-top:9px;color:#7a8a84;font-size:.63rem}
.sb-modal-backdrop{position:fixed;inset:0;z-index:89;background:rgba(5,25,20,.42);backdrop-filter:blur(2px)}
.sb-directory-modal{position:fixed;z-index:90;top:50%;left:50%;display:flex;flex-direction:column;width:min(900px,94vw);max-height:min(760px,90vh);padding:22px;border:1px solid #d8e5e0;border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(8,47,40,.28);opacity:0;visibility:hidden;transform:translate(-50%,-47%) scale(.985);transition:.18s ease}
.sb-directory-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.sb-directory-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--sb-line)}
.sb-directory-head h2{margin:4px 0 3px;font-size:1.35rem}.sb-directory-head p{margin:0;color:var(--sb-muted);font-size:.75rem}
.sb-directory-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px 0 10px}.sb-directory-search .sb-field{margin:0}.sb-directory-search input{height:42px}
.sb-directory-note{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;border-radius:12px;background:#f7faf8;color:#64766f}.sb-directory-note>span{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:#e4f1ec;color:var(--sb-green-700);font-size:.68rem;font-weight:850}.sb-directory-note p{margin:0;font-size:.66rem;line-height:1.5}
.sb-directory-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;padding-right:4px;overflow-y:auto}
.sb-directory-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px;border:1px solid #e0e9e5;border-radius:14px;background:#fff;transition:.15s ease}.sb-directory-item:hover{border-color:#b7d2c7;background:#fbfefc}
.sb-directory-item .sb-professional-avatar{width:38px;height:38px}.sb-directory-item .sb-professional-title strong{font-size:.8rem}.sb-directory-item p{margin:5px 0 0;color:#677972;font-size:.64rem;line-height:1.5}
.sb-directory-source{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding-top:11px;border-top:1px solid var(--sb-line);color:#74867f;font-size:.63rem}.sb-directory-source strong{color:#53665e}.sb-directory-source span{text-align:right}
.sb-directory-empty{grid-column:1/-1;padding:18px;border:1px dashed #d8e3df;border-radius:13px;background:#fafcfb;color:var(--sb-muted);font-size:.72rem;text-align:center}
@media(max-width:1000px){.sb-expert-card{grid-template-columns:auto 1fr}.sb-expert-actions{grid-column:2}.sb-expert-suggestions{grid-template-columns:1fr 1fr}.sb-expert-mini:last-child{grid-column:1/-1}.sb-directory-list{grid-template-columns:1fr}}
@media(max-width:700px){.sb-map-tools{width:100%;justify-content:flex-start}.sb-button-map{width:100%}.sb-expert-card{grid-template-columns:1fr;padding:17px}.sb-expert-icon{width:42px;height:42px}.sb-expert-actions{grid-column:auto}.sb-expert-actions .sb-button{width:100%}.sb-expert-suggestions{grid-template-columns:1fr}.sb-expert-mini:last-child{grid-column:auto}.sb-directory-modal{top:0;left:0;width:100%;max-height:100vh;height:100vh;border:0;border-radius:0;transform:translateY(4%)}.sb-directory-modal.open{transform:none}.sb-directory-search{grid-template-columns:1fr}.sb-directory-source{align-items:flex-start;flex-direction:column}.sb-directory-source span{text-align:left}}


/* V45.8.2 - garde-fou de lecture automatique des coordonnées */
.sb-import-alert-modal{position:fixed;z-index:96;top:50%;left:50%;width:min(620px,92vw);max-height:min(780px,90vh);padding:28px;border:1px solid #ead8ad;border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(8,47,40,.28);opacity:0;visibility:hidden;transform:translate(-50%,-47%) scale(.985);transition:.18s ease;overflow-y:auto}
.sb-import-alert-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.sb-import-alert-icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:14px;border-radius:16px;background:#fff4da;color:#8a5a00;font-size:1.45rem;font-weight:900}
.sb-import-alert-modal h2{margin:7px 0 10px;color:#173a31;font-size:1.45rem;line-height:1.18}
.sb-import-alert-modal>p{margin:0;color:#60756d;font-size:.82rem;line-height:1.65}
.sb-import-alert-note{display:grid;gap:4px;margin:18px 0;padding:13px 15px;border:1px solid #e5ebe8;border-radius:13px;background:#f8fbfa;color:#5f746c}
.sb-import-alert-note strong{color:#29483f;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}
.sb-import-alert-note span{font-size:.72rem;line-height:1.5}
.sb-import-alert-issues details{margin-top:14px;border:1px solid #e6dfcd;border-radius:12px;background:#fffaf0;overflow:hidden}.sb-import-alert-issues summary{padding:10px 12px;color:#77591e;font-size:.68rem;font-weight:850;cursor:pointer}.sb-import-alert-issues ul{display:grid;gap:6px;margin:0;padding:0 14px 12px 30px;color:#6d5c37;font-size:.66rem;line-height:1.45}
.sb-import-alert-experts{display:grid;gap:8px;margin-top:16px;padding:13px 14px;border:1px solid #dbe7e2;border-radius:14px;background:#f8fbfa}.sb-import-alert-experts[hidden]{display:none!important}.sb-import-alert-experts>strong{color:#24473d;font-size:.74rem}.sb-import-alert-experts>p{margin:0;color:#657970;font-size:.68rem;line-height:1.5}.sb-import-alert-expert-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sb-import-alert-experts>small{color:#7b8d86;font-size:.59rem;line-height:1.45}
.sb-import-alert-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.sb-import-alert-actions .sb-button{flex:1 1 240px;justify-content:center}
@media(max-width:720px){.sb-review-expert-head{flex-direction:column}.sb-review-expert-head .sb-button{width:100%;justify-content:center}.sb-review-expert-suggestions,.sb-import-alert-expert-list{grid-template-columns:1fr}}
@media(max-width:620px){.sb-import-alert-modal{top:0;left:0;width:100%;height:100vh;max-height:100vh;border:0;border-radius:0;overflow-y:auto;transform:translateY(4%)}.sb-import-alert-modal.open{transform:none}.sb-import-alert-actions{flex-direction:column}.sb-import-alert-actions .sb-button{flex:none;width:100%}}

/* V33 - abonnements, paiements et notifications */
.sb-subscription-pill{display:flex;align-items:center;gap:7px;min-height:38px;padding:6px 10px;border:1px solid #d6e5df;border-radius:12px;background:#f8fbfa;color:var(--sb-green-900)}
.sb-subscription-pill span{font-size:.66rem;font-weight:800}.sb-subscription-pill b{display:flex;align-items:center;gap:3px;font-size:.63rem;color:#61746c}.sb-subscription-pill i{font-style:normal;color:var(--sb-green-700);font-size:.76rem}
.sb-notification-button{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid #d8e4df;border-radius:12px;background:#fff;color:var(--sb-green-900);font-size:1rem;cursor:pointer}
.sb-notification-button:hover{background:var(--sb-green-50)}.sb-notification-button>b{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#b23a3a;color:#fff;font-size:.56rem;font-weight:900}
.sb-notification-backdrop{position:fixed;inset:0;z-index:94;background:rgba(5,25,20,.38);backdrop-filter:blur(2px)}
.sb-notification-panel{position:fixed;z-index:95;top:0;right:0;width:min(420px,94vw);height:100vh;padding:22px;border-left:1px solid #d6e3de;background:#fff;box-shadow:-25px 0 70px rgba(8,47,40,.2);opacity:0;visibility:hidden;transform:translateX(18px);transition:.18s ease;overflow-y:auto}
.sb-notification-panel.open{opacity:1;visibility:visible;transform:none}.sb-notification-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid var(--sb-line)}
.sb-notification-head h2{margin:4px 0 3px;font-size:1.28rem}.sb-notification-head p{margin:0;color:var(--sb-muted);font-size:.72rem}.sb-notification-actions{display:flex;justify-content:flex-end;padding:10px 0}
.sb-notification-list{display:grid;gap:8px}.sb-notification-item{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;border:1px solid #e0e9e5;border-radius:14px;background:#fff;color:inherit}.sb-notification-item.unread{border-color:#b9d7cb;background:#f6fbf8}
.sb-notification-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#cbd8d3}.sb-notification-item.unread .sb-notification-dot{background:var(--sb-green-600)}
.sb-notification-item strong{display:block;font-size:.76rem}.sb-notification-item p{margin:4px 0 5px;color:#61736c;font-size:.67rem;line-height:1.5}.sb-notification-item small{color:#8a9993;font-size:.59rem}

.sb-billing-main{max-width:1240px;padding-top:30px;padding-bottom:72px}.sb-billing-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);align-items:stretch;gap:20px;margin-bottom:24px}
.sb-billing-hero>div:first-child{padding:22px 4px}.sb-billing-hero h1{max-width:770px;margin:8px 0 9px;font-size:clamp(2rem,4vw,3.35rem);line-height:1.02;letter-spacing:-.045em;color:#102f27}.sb-billing-hero p{max-width:790px;margin:0;color:#61746c;font-size:.9rem;line-height:1.65}
.sb-subscription-summary{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:20px;border:1px solid #dce6e2;border-radius:20px;background:#fff;box-shadow:var(--sb-shadow-sm)}.sb-subscription-summary.active{border-color:#b8d6ca;background:linear-gradient(135deg,#f2faf6,#fff)}
.sb-subscription-summary>span{color:#71847d;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.sb-subscription-summary>strong{font-size:1.2rem;color:var(--sb-green-900)}.sb-subscription-summary>div{display:flex;align-items:baseline;gap:8px;margin-top:5px}.sb-subscription-summary>div b{font-size:2rem;line-height:1;color:var(--sb-green-700)}.sb-subscription-summary>div small,.sb-subscription-summary>small{color:#6d7e77;font-size:.68rem;line-height:1.45}
.sb-flash-stack{display:grid;gap:8px;margin-bottom:16px}.sb-flash{padding:11px 13px;border:1px solid #dce6e2;border-radius:12px;background:#fff;font-size:.75rem;font-weight:700}.sb-flash-success{border-color:#b6d7c9;background:#f2fbf6;color:#176044}.sb-flash-warning{border-color:#ead8ad;background:#fffaf0;color:#7a5612}.sb-flash-error{border-color:#e8bcbc;background:#fff5f5;color:#8c3030}
.sb-payment-pending{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 0 28px;padding:18px;border:1px solid #c8ded5;border-radius:18px;background:#f5fbf8}.sb-payment-pending h2{margin:3px 0 4px;font-size:1.05rem}.sb-payment-pending p{margin:0;color:#63756e;font-size:.72rem}.sb-pending-pulse{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e1f3eb}.sb-pending-pulse span{width:14px;height:14px;border:4px solid #8abca9;border-top-color:var(--sb-green-700);border-radius:50%;animation:sbSpin .9s linear infinite}@keyframes sbSpin{to{transform:rotate(360deg)}}
.sb-pending-ref{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}.sb-pending-ref small,.sb-pending-ref span{color:#75867f;font-size:.61rem}.sb-pending-ref strong{font-size:.8rem;color:var(--sb-green-900)}
.sb-plan-section{margin-top:18px}.sb-section-intro.compact{margin-bottom:15px}.sb-section-intro.compact h2{margin:4px 0 5px;font-size:1.35rem}.sb-section-intro.compact p{margin:0;color:#687a73;font-size:.75rem}
.sb-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sb-plan-option{position:relative;display:flex;flex-direction:column;gap:14px;padding:21px;border:1px solid #dce6e2;border-radius:20px;background:#fff;box-shadow:var(--sb-shadow-sm);transition:.18s ease}.sb-plan-option:hover,.sb-plan-option.selected{transform:translateY(-2px);border-color:#a9cfc0;box-shadow:0 14px 35px rgba(18,60,50,.1)}.sb-plan-option.featured{border-color:#9bc5b5;background:linear-gradient(180deg,#f7fcf9,#fff 60%)}
.sb-plan-popular{position:absolute;top:14px;right:14px;padding:4px 8px;border-radius:999px;background:var(--sb-green-900);color:#fff;font-size:.56rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.sb-plan-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.sb-plan-head>span{font-size:.85rem;font-weight:850;color:#2d483f}.sb-plan-head>strong{font-size:1.35rem;color:#112f27}.sb-plan-head strong small{font-size:.58rem;color:#72837c}.sb-plan-quota{display:flex;align-items:baseline;gap:8px}.sb-plan-quota b{font-size:2.3rem;line-height:1;color:var(--sb-green-700)}.sb-plan-quota span{font-size:.73rem;font-weight:800;color:#597068}.sb-plan-option p{margin:-6px 0 4px;color:#788983;font-size:.66rem}
.sb-payment-section{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:28px;align-items:start}.sb-payment-instructions,.sb-payment-form{padding:22px;border:1px solid #dbe7e2;border-radius:20px;background:#fff;box-shadow:var(--sb-shadow-sm)}.sb-payment-instructions h2{margin:5px 0 7px;font-size:1.35rem}.sb-payment-instructions>p{margin:0;color:#61736c;font-size:.76rem;line-height:1.6}.sb-payment-number{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin:18px 0;padding:14px 15px;border:1px solid #b9d7cb;border-radius:15px;background:#f3faf7}.sb-payment-number>span{grid-column:1/-1;color:#71837c;font-size:.59rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.sb-payment-number strong{font-size:1.4rem;letter-spacing:.02em;color:var(--sb-green-900)}.sb-copy-button{min-height:34px;padding:6px 10px;border:1px solid #c4d9d0;border-radius:9px;background:#fff;color:var(--sb-green-800);font-size:.64rem;font-weight:850;cursor:pointer}.sb-copy-button:hover{background:#edf7f3}
.sb-payment-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.sb-payment-steps>div{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e3ebe8;border-radius:12px;background:#fbfdfc}.sb-payment-steps b{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:#e5f1ec;color:var(--sb-green-700);font-size:.65rem}.sb-payment-steps span{display:grid;gap:1px}.sb-payment-steps strong{font-size:.65rem}.sb-payment-steps small{font-size:.57rem;color:#7a8a84}
.sb-payment-form{display:grid;gap:13px}.sb-payment-form-head h3{margin:4px 0 4px;font-size:1.15rem}.sb-payment-form-head p{margin:0;color:#6f8079;font-size:.68rem}.sb-operator-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sb-operator-choice input{position:absolute;opacity:0;pointer-events:none}.sb-operator-choice>span{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #d9e5e0;border-radius:12px;background:#fff;cursor:pointer;transition:.15s}.sb-operator-choice input:checked+span{border-color:#8dbdac;background:#f0faf5;box-shadow:0 0 0 2px #d9eee5}.sb-operator-choice b{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#edf5f2;color:var(--sb-green-800);font-size:.68rem}.sb-operator-choice strong{font-size:.74rem}.sb-no-proof-note{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid #d8e9e1;border-radius:12px;background:#f6fbf8}.sb-no-proof-note>span{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#dff1e9;color:var(--sb-green-700);font-size:.7rem;font-weight:900}.sb-no-proof-note strong{display:block;font-size:.68rem}.sb-no-proof-note p{margin:2px 0 0;color:#6f8179;font-size:.61rem;line-height:1.45}
.sb-payment-history{margin-top:30px}.sb-payment-history-list{display:grid;gap:7px}.sb-payment-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid #e1e9e6;border-radius:13px;background:#fff}.sb-payment-row>div{display:grid;gap:2px}.sb-payment-row strong{font-size:.72rem}.sb-payment-row small{color:#84928d;font-size:.6rem}.sb-payment-row>span{font-size:.7rem;font-weight:850}.sb-payment-row>b{padding:4px 7px;border-radius:999px;background:#f0f3f2;color:#66766f;font-size:.56rem}.sb-payment-row .status-validated{background:#e8f6ef;color:#17664a}.sb-payment-row .status-pending{background:#fff6df;color:#866019}.sb-payment-row .status-rejected{background:#fdecec;color:#943b3b}

@media(max-width:980px){.sb-billing-hero{grid-template-columns:1fr}.sb-payment-section{grid-template-columns:1fr}.sb-plan-grid{grid-template-columns:1fr 1fr}.sb-plan-option:last-child{grid-column:1/-1}.sb-subscription-pill span{display:none}}
@media(max-width:700px){.sb-plan-grid{grid-template-columns:1fr}.sb-plan-option:last-child{grid-column:auto}.sb-payment-pending{grid-template-columns:auto 1fr}.sb-pending-ref{grid-column:2;align-items:flex-start;text-align:left}.sb-payment-steps{grid-template-columns:1fr}.sb-payment-number{grid-template-columns:1fr auto}.sb-payment-number strong{font-size:1.15rem}.sb-payment-row{grid-template-columns:1fr auto}.sb-payment-row>b{grid-column:1/-1;justify-self:start}.sb-notification-panel{width:100vw}.sb-subscription-pill{display:none}}
.sb-public-pricing{margin:76px 0}.sb-public-pricing-note{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px;border:1px solid #dce7e3;border-radius:14px;background:#f8fbfa;color:#6a7b74;font-size:.7rem}.sb-public-pricing-note span{font-weight:800;color:#426258}.sb-public-pricing-note strong{color:var(--sb-green-900);font-size:.82rem}.sb-public-pricing-note small{font-size:.63rem}

@media (max-width:720px){.sb-review-heading{align-items:flex-start;flex-direction:column}.sb-review-state{align-self:flex-start}.sb-point-label-wrap{grid-template-columns:1fr}.sb-point-origin{justify-self:start}.sb-extraction-review{margin-left:10px;margin-right:10px}}

/* V36 - détails géodésiques masqués par défaut pour le grand public */
.sb-technical-details{margin-top:18px;border:1px solid var(--sb-border,#dce6e2);border-radius:16px;background:#fff;overflow:hidden}
.sb-technical-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none;font-weight:700;color:#173f35}
.sb-technical-details summary::-webkit-details-marker{display:none}
.sb-technical-details summary:after{content:"＋";font-size:18px;color:#55736b}
.sb-technical-details[open] summary:after{content:"−"}
.sb-technical-details summary small{font-weight:400;color:#6b7f79;text-align:right}
.sb-technical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 18px 18px}
.sb-technical-grid>div{padding:13px 14px;border-radius:12px;background:#f5f8f7;border:1px solid #e6eeeb}
.sb-technical-grid small{display:block;color:#70847e;margin-bottom:5px}
.sb-technical-grid strong{display:block;color:#173f35;font-size:.94rem}
@media(max-width:800px){.sb-technical-grid{grid-template-columns:1fr 1fr}.sb-technical-details summary{align-items:flex-start;flex-direction:column}.sb-technical-details summary:after{position:absolute;right:18px}.sb-technical-details summary{position:relative;padding-right:48px}.sb-technical-details summary small{text-align:left}}
@media(max-width:480px){.sb-technical-grid{grid-template-columns:1fr}}


/* V37 - identité visuelle officielle Sama Suuf */
.sb-brand:focus-visible{outline:3px solid rgba(33,144,110,.2);outline-offset:5px;border-radius:14px}
.sb-auth-brand:hover{transform:translateY(-1px)}
@media(max-width:480px){
  .sb-logo{height:42px;max-width:145px}
  .sb-appbar .sb-logo{height:40px;max-width:138px}
  .sb-auth-brand{padding:6px 8px}
  .sb-auth-brand .sb-logo{height:54px;max-width:205px}
}


/* V39 - carte résiliente, bornes et lecture claire du verdict */
.sb-global-verdict{display:inline-flex;width:max-content;margin-top:6px;padding:5px 8px;border-radius:999px;background:#eef5f2;color:#45665b;font-size:.62rem;font-style:normal;font-weight:800}
.sb-score-card[data-global-status="attention"] .sb-global-verdict{background:#fff3da;color:#8a5b0c}
.sb-score-card[data-global-status="incoherent"] .sb-global-verdict{background:#fdeaea;color:#a03b3b}
.sb-score-card[data-global-status="coherent"] .sb-global-verdict{background:#e8f6f0;color:#126b50}
.sb-map{position:relative}.sb-map .leaflet-container{width:100%;height:100%}.sb-map.leaflet-active{display:block}.sb-map.leaflet-active .leaflet-container{min-height:410px}.sb-map.google-active{display:block}
.sb-map-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px;padding:8px 10px;border:1px solid var(--sb-line);border-radius:11px;background:#fbfcfb;color:#4e655d;font-size:.65rem}.sb-map-legend span{display:inline-flex;align-items:center;gap:6px}.sb-map-legend i{display:inline-block;width:11px;height:11px}.sb-map-legend i.parcel{border:2px solid #0d6b52;border-radius:2px;background:rgba(13,107,82,.12)}.sb-map-legend i.borne{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #0d6b52}.sb-map-legend small{margin-left:auto;color:var(--sb-muted)}
.sb-leaflet-borne,.sb-leaflet-centroid{background:transparent!important;border:0!important}.sb-leaflet-borne span,.sb-leaflet-centroid span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0d6b52;color:#fff;font-size:11px;font-weight:900;border:3px solid #fff;box-shadow:0 2px 10px rgba(5,54,41,.28)}.sb-leaflet-centroid span{width:34px;height:34px;background:#d99a16;color:#173b32}
.sb-svg-map{width:100%;height:auto;min-height:410px;background:linear-gradient(145deg,#edf3f1,#f8faf9)}.sb-svg-map .plot{fill:rgba(15,118,89,.16);stroke:#0c5b46;stroke-width:4;vector-effect:non-scaling-stroke}.sb-svg-map .vertex{fill:#0d6b52;stroke:#fff;stroke-width:4;vector-effect:non-scaling-stroke}.sb-svg-map .center{fill:#d99a16;stroke:#fff;stroke-width:4;vector-effect:non-scaling-stroke}.sb-svg-map text{font-family:system-ui,sans-serif;font-weight:800;fill:#173b32;font-size:23px}.sb-svg-map .grid{stroke:#d7e4df;stroke-width:1;vector-effect:non-scaling-stroke}.sb-svg-map .caption{font-size:19px;font-weight:650;fill:#647c73}
@media(max-width:900px){.sb-map.leaflet-active .leaflet-container,.sb-svg-map{min-height:360px}}
@media(max-width:700px){.sb-map.leaflet-active .leaflet-container,.sb-svg-map{min-height:310px}.sb-map-legend small{width:100%;margin-left:0}}

.sb-map-caution{margin:7px 2px 0;color:#6b7d76;font-size:.64rem;line-height:1.45}.sb-map-caution::before{content:"i";display:inline-grid;place-items:center;width:16px;height:16px;margin-right:6px;border-radius:50%;background:#edf4f1;color:#0d6b52;font-weight:900}


/* V41 - accès progressif et fonds cartographiques */
.sb-subscription-pill.is-discovery{background:#fff8e6;border-color:#ecd79b;color:#6d4d08}.sb-subscription-pill.is-discovery b{color:#8a5d00}.sb-welcome-note.discovery{background:#fff9eb;border-color:#ead9a9}.sb-welcome-note.discovery .sb-welcome-icon{background:#f5e4b1;color:#765100}
.sb-premium-notice{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px 20px;margin:0 0 18px;border:1px solid #e7d49d;background:linear-gradient(135deg,#fffaf0,#fff7df);border-radius:22px}.sb-premium-lock-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#fff0c4;color:#8b6100;font-size:25px;font-weight:900}.sb-premium-notice strong{display:block;font-size:17px;color:#173b32;margin:2px 0 4px}.sb-premium-notice p{margin:0;color:#6d6655;line-height:1.55}
.sb-premium-locked{position:relative;min-height:150px;overflow:hidden}.sb-premium-locked>*{filter:blur(5px);opacity:.28;pointer-events:none;user-select:none}.sb-premium-locked:after{content:"Résultats détaillés réservés aux accès actifs";position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:rgba(250,252,251,.72);backdrop-filter:blur(2px);color:#174b3e;font-weight:800;letter-spacing:.01em;z-index:8}.sb-metric-locked{background:linear-gradient(135deg,#fff,#fffaf0)}.sb-metric-locked strong{color:#8a650c}.sb-map-locked-placeholder{gap:12px}.sb-map-locked-placeholder .sb-button{margin-top:6px}
.sb-basemap-switch{display:inline-flex;padding:3px;border:1px solid #d8e4df;border-radius:12px;background:#f4f8f6}.sb-basemap-switch button{border:0;background:transparent;color:#5f726b;font:inherit;font-size:12px;font-weight:800;padding:7px 10px;border-radius:9px;cursor:pointer}.sb-basemap-switch button.active{background:#fff;color:#0d614a;box-shadow:0 1px 4px rgba(12,63,49,.12)}.sb-basemap-switch button:disabled{opacity:.42;cursor:not-allowed}.sb-map-tools{flex-wrap:wrap}
@media(max-width:760px){.sb-premium-notice{grid-template-columns:1fr}.sb-premium-lock-icon{width:40px;height:40px}.sb-premium-notice .sb-button{width:100%;justify-content:center}.sb-basemap-switch{order:3;width:100%}.sb-basemap-switch button{flex:1}}


/* V42 - accueil public épuré, conforme à la maquette Sama Suuf */
.sb-home-page{min-height:100vh;background:#fff;color:#11392f}
.sb-home-page .sb-home-header{position:relative;height:82px;border-bottom:0;background:#fff;backdrop-filter:none}
.sb-home-brand{display:flex!important;align-items:center;gap:10px}.sb-home-brand-icon{width:68px;height:68px;object-fit:contain}.sb-home-brand>span{display:grid;line-height:1.05}.sb-home-brand strong{color:#0f4b3a;font-size:1.55rem;letter-spacing:-.035em}.sb-home-brand small{margin-top:5px;color:#3e514a;font-size:.72rem;font-weight:600}
.sb-home-page .sb-home-header .sb-topbar-actions{gap:14px}
.sb-home-page .sb-home-header .sb-button{min-width:150px;border-radius:8px;font-size:.86rem;font-weight:650}
.sb-home-outline{border-color:#70a790!important;color:#184b3d!important;background:#fff!important}
.sb-home-main{width:100%}
.sb-home-hero{position:relative;isolation:isolate;display:grid;place-items:center;min-height:300px;padding:6px 24px 54px;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fffefb 72%,#f8fbf7 100%)}
.sb-home-hero-copy{position:relative;z-index:3;display:grid;justify-items:center;width:min(860px,100%);text-align:center}
.sb-home-hero h1{margin:4px 0 8px;color:#0d4638;font-size:clamp(2.2rem,4vw,4.1rem);line-height:1.03;letter-spacing:-.045em;font-weight:820}
.sb-home-hero-copy>p{max-width:720px;margin:0;color:#4f5d59;font-size:clamp(.96rem,1.25vw,1.12rem);line-height:1.55}
.sb-home-primary{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:350px;margin-top:22px;padding:14px 26px;border-radius:8px;background:linear-gradient(180deg,#148c40,#08742c);box-shadow:0 8px 18px rgba(13,103,50,.14);color:#fff;font-size:1.08rem;font-weight:760;transition:.18s ease}
.sb-home-primary:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(13,103,50,.2)}
.sb-home-primary span{font-size:1.35rem}
.sb-home-trust{display:flex;align-items:center;justify-content:center;gap:46px;margin-top:15px;color:#285847;font-size:.83rem}
.sb-home-trust span{display:flex;align-items:center;gap:8px}.sb-home-trust i{display:grid;place-items:center;width:19px;height:19px;border:1.5px solid #15834f;border-radius:50%;color:#15834f;font-size:.68rem;font-style:normal;font-weight:900}
.sb-home-art{position:absolute;z-index:1;bottom:20px;width:min(30vw,430px);opacity:.72;pointer-events:none}.sb-home-art svg{width:100%;height:auto}.sb-home-art-left{left:0}.sb-home-art-right{right:0;opacity:.27}.sb-home-art .hill.back{fill:#e6edb8;stroke:none}.sb-home-art .hill.front{fill:#c8da86;stroke:none}.sb-home-art .tree-trunk{fill:#8c7d48;stroke:none}.sb-home-art .tree-crown{fill:#718e3f;stroke:#5e7d32;stroke-width:2}.sb-home-art .tree-branch{stroke:#746d3d;stroke-width:4}.sb-home-art .city-ground{fill:#d9dfd9;stroke:none}.sb-home-art .city,.sb-home-art .tower{stroke:#aebbb5;stroke-width:3;fill:#e6eae7}
.sb-home-wave{position:absolute;z-index:2;left:-3%;right:-3%;bottom:-28px;height:76px;border-radius:50% 50% 0 0/60% 60% 0 0;background:linear-gradient(90deg,#d9e89b 0%,#f1f6de 38%,#9cc679 70%,#6ea066 100%);opacity:.82;transform:rotate(-1deg)}
.sb-home-wave::after{content:"";position:absolute;left:-2%;right:-2%;top:25px;height:76px;border-radius:50% 50% 0 0/60% 60% 0 0;background:#fff;transform:rotate(1deg)}
.sb-home-section{width:min(1240px,calc(100% - 36px));margin:0 auto}.sb-home-section>h2,.sb-home-pricing>h2{margin:0;color:#103f34;font-size:1.45rem;letter-spacing:-.025em}
.sb-home-how{position:relative;z-index:5;padding-top:10px}.sb-home-how>h2{text-align:center;margin-bottom:12px}
.sb-home-steps{display:grid;grid-template-columns:1fr 32px 1fr 32px 1fr;align-items:center;gap:12px}
.sb-home-step{display:flex;align-items:center;gap:16px;min-height:102px;padding:14px 18px;border:1px solid #d8e4df;border-radius:11px;background:#fff;box-shadow:0 5px 15px rgba(21,70,55,.07)}
.sb-home-step-icon{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:#edf5df;color:#0f7243;font-size:1.42rem;font-weight:900}.sb-home-step-icon.shield{background:#e9f3df}.sb-home-step-icon.pin{position:relative;background:#eaf3dd;font-size:1rem}.sb-home-step-icon.pin::before{content:"";position:absolute;width:21px;height:29px;border-radius:50% 50% 52% 52%;background:#197343;clip-path:polygon(50% 100%,0 39%,6% 18%,20% 5%,50% 0,80% 5%,94% 18%,100% 39%)}.sb-home-step-icon.pin::after{content:"";position:absolute;top:16px;width:7px;height:7px;border-radius:50%;background:#fff}
.sb-home-step h3{margin:0 0 4px;color:#244138;font-size:.9rem;font-weight:700}.sb-home-step h3 b{color:#0f7c43;font-size:1.25rem}.sb-home-step p{margin:0;color:#596965;font-size:.78rem;line-height:1.42}.sb-home-dots{color:#91a29b;font-size:1rem;letter-spacing:3px;text-align:center}
.sb-home-result{padding-top:20px}.sb-home-result>h2{margin-bottom:8px;text-align:left}
.sb-home-result-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:stretch}.sb-home-statuses{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0}
.sb-home-status{display:grid;place-items:center;align-content:center;min-height:130px;padding:12px 8px;border:1px solid #dbe5e1;border-radius:9px;background:#fff;box-shadow:0 4px 12px rgba(17,61,48,.05);text-align:center}.sb-home-status>span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:8px;border-radius:50%;background:#e4f3dc;color:#3a932f;font-size:1.15rem;font-weight:900}.sb-home-status strong{color:#263f36;font-size:.74rem;line-height:1.4;font-weight:650}.sb-home-status strong b{color:#143c31;font-size:.88rem}.sb-home-status.warn>span{background:#fff0d4;color:#e48a18}.sb-home-status.warn strong b{color:#ec7c16}
.sb-home-example-map{overflow:hidden;min-height:130px;border:1px solid #d7e1dd;border-radius:10px;background:#f6f3e9}.sb-home-example-map svg{width:100%;height:100%;min-height:130px}.sb-home-example-map .map-block{fill:#edf0e5;stroke:#e1e7df;stroke-width:1}.sb-home-example-map .map-road{stroke:#fff;stroke-width:14}.sb-home-example-map .map-parcel{fill:rgba(44,139,78,.12);stroke:#155b34;stroke-width:3}.sb-home-example-map .map-node{fill:#196c3e;stroke:#fff;stroke-width:3}.sb-home-example-map .map-center{fill:#20934f;stroke:#fff;stroke-width:4}.sb-home-example-map text{fill:#182b25;stroke:none;font-size:17px;font-weight:800;font-family:Inter,Arial,sans-serif}
.sb-home-expert{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;width:min(1240px,calc(100% - 36px));margin:14px auto 0;padding:12px 18px;border:1px solid #bdd6c5;border-radius:11px;background:linear-gradient(90deg,#f0f7e9,#f8fbf6)}.sb-home-expert-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:#187342;font-size:2rem;box-shadow:0 4px 12px rgba(22,87,58,.08)}.sb-home-expert-copy h2{margin:0;color:#133f33;font-size:1.05rem}.sb-home-expert-copy p{margin:3px 0 0;color:#5b6c66;font-size:.78rem}.sb-home-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:9px 20px;border:1px solid #75a98f;border-radius:7px;background:#fff;color:#18533e;font-size:.79rem;font-weight:700;transition:.16s ease}.sb-home-secondary:hover{background:#f3f9f5;transform:translateY(-1px)}
.sb-home-pricing{width:min(1240px,calc(100% - 36px));margin:10px auto 0;padding:0 0 14px}.sb-home-pricing>h2{text-align:center;margin-bottom:6px;font-size:1.08rem}.sb-home-price-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:stretch}.sb-home-price-row article{display:flex;align-items:center;gap:15px;min-height:84px;padding:12px 18px;border:1px solid #d9e4df;border-radius:9px;background:#fff;box-shadow:0 3px 10px rgba(17,61,48,.05)}.sb-home-price-row .calendar{display:grid;place-items:center;width:43px;height:43px;color:#07823d;font-size:2rem}.sb-home-price-row article div{display:grid}.sb-home-price-row strong{color:#31453e;font-size:.78rem}.sb-home-price-row b{color:#07843e;font-size:1rem}.sb-home-price-row small{color:#5e6e68;font-size:.7rem}.sb-home-pricing-link{align-self:center;min-width:180px;gap:16px}
.sb-home-free-promo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:98px;padding:16px 18px;border:1px solid #b8d8c8;border-radius:12px;background:linear-gradient(90deg,#f0f8f3 0%,#fbfdfb 100%);box-shadow:0 5px 15px rgba(17,61,48,.06)}
.sb-home-free-promo-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#dff3e7;color:#08783d;font-size:1.5rem;font-weight:900}
.sb-home-free-promo-copy{min-width:0}.sb-home-free-promo-copy strong{display:block;color:#123f33;font-size:1.05rem;line-height:1.35}.sb-home-free-promo-copy p{margin:4px 0 0;color:#566b63;font-size:.82rem;line-height:1.45}.sb-home-free-promo-copy p b{color:#07843e;font-size:.9rem}
.sb-home-free-promo-action{min-width:260px;margin-top:0;padding:12px 20px;font-size:.9rem;white-space:nowrap}
@media(max-width:820px){.sb-home-free-promo{grid-template-columns:auto minmax(0,1fr)}.sb-home-free-promo-action{grid-column:1/-1;width:100%;min-width:0;margin-top:0}}
@media(max-width:520px){.sb-home-free-promo{grid-template-columns:1fr;justify-items:center;text-align:center;padding:18px 14px}.sb-home-free-promo-copy strong{font-size:1rem}.sb-home-free-promo-copy p{font-size:.8rem}.sb-home-free-promo-action{width:100%;min-height:52px}}
.sb-home-footer{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;border-top:1px solid #edf1ef;background:#f6faf5;color:#2f614f;font-size:.8rem}.sb-home-footer span{color:#9aa7a2}
@media(max-width:1050px){.sb-home-art{opacity:.35}.sb-home-art-right{opacity:.13}.sb-home-result-grid{grid-template-columns:1fr}.sb-home-price-row{grid-template-columns:1fr 1fr}.sb-home-pricing-link{min-height:84px}.sb-home-status{min-height:112px}}
@media(max-width:820px){.sb-home-page .sb-home-header{height:70px;padding:0 16px}.sb-home-brand-icon{width:50px;height:50px}.sb-home-brand strong{font-size:1.2rem}.sb-home-brand small{font-size:.62rem}.sb-home-page .sb-home-header .sb-button{min-width:0;padding:8px 12px;font-size:.74rem}.sb-home-hero{min-height:330px;padding-top:16px}.sb-home-hero h1{font-size:2.5rem}.sb-home-primary{min-width:0;width:min(340px,100%)}.sb-home-trust{gap:16px;flex-wrap:wrap}.sb-home-art{width:45vw;opacity:.18}.sb-home-steps{grid-template-columns:1fr}.sb-home-dots{display:none}.sb-home-step{min-height:90px}.sb-home-statuses{grid-template-columns:1fr 1fr}.sb-home-expert{grid-template-columns:auto 1fr}.sb-home-expert .sb-home-secondary{grid-column:1/-1;width:100%}.sb-home-price-row{grid-template-columns:1fr}.sb-home-pricing-link{min-height:48px}.sb-home-footer{padding:0 18px}}
@media(max-width:520px){.sb-home-page .sb-home-header .sb-topbar-actions{gap:6px}.sb-home-page .sb-home-header .sb-button{padding:7px 9px;font-size:.68rem}.sb-home-hero{min-height:360px;padding-left:17px;padding-right:17px}.sb-home-hero h1{font-size:2.15rem}.sb-home-hero-copy>p{font-size:.88rem}.sb-home-trust{font-size:.7rem}.sb-home-statuses{grid-template-columns:1fr 1fr}.sb-home-result,.sb-home-how{width:calc(100% - 24px)}.sb-home-expert,.sb-home-pricing{width:calc(100% - 24px)}.sb-home-expert-icon{width:48px;height:48px}.sb-home-expert-copy h2{font-size:.9rem}}

/* V44 - formules gratuites/payantes */
.sb-plan-type{display:inline-flex;align-items:center;align-self:flex-start;padding:6px 10px;border-radius:999px;background:#f3f7f5;color:#42675b;font-size:.78rem;font-weight:800;margin-bottom:8px}.sb-plan-free{background:#dcf6e9!important;color:#0b6946!important}.sb-free-plan-form{margin:0}.sb-plan-waiting{display:block;text-align:center;padding:10px 12px;border-radius:12px;background:#f4f6f5;color:#64756f;font-weight:700}.bo-pill-free{display:inline-flex;padding:4px 9px;border-radius:999px;background:#e5f7ee;color:#0b6946;font-weight:800}

/* Pagination et téléchargement du tableau des bornes */
.sb-points-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;border-top:1px solid var(--sb-line);background:#fcfefd;color:var(--sb-muted);font-size:.69rem}.sb-points-pagination[hidden]{display:none}.sb-points-pagination>div{display:flex;align-items:center;gap:7px}.sb-points-pagination button{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--sb-line);border-radius:8px;background:#fff;color:var(--sb-green-700);font-weight:900;cursor:pointer}.sb-points-pagination button:hover:not(:disabled){background:#eef7f3}.sb-points-pagination button:disabled{opacity:.38;cursor:not-allowed}.sb-points-pagination #pointsPageNumber{min-width:42px;text-align:center;font-weight:800;color:var(--sb-green-900)}
@media(max-width:520px){.sb-table-head-actions{flex-wrap:wrap}.sb-table-head-actions #downloadPoints,.sb-table-head-actions #addPoint{flex:1}.sb-points-pagination{align-items:flex-start;flex-direction:column}}

/* V45.8.7 - confirmation finale explicite avant contrôle des coordonnées importées */
.sb-final-confirm-icon{background:#e9f7f1;color:#0b6a4e}
.sb-final-confirm-check{display:flex;align-items:flex-start;gap:11px;margin:17px 0 4px;padding:14px 15px;border:1px solid #bfdacf;border-radius:14px;background:#f4fbf8;color:#29483f;cursor:pointer}
.sb-final-confirm-check input{flex:0 0 auto;width:19px;height:19px;margin-top:2px;accent-color:var(--sb-green-700)}
.sb-final-confirm-check span{font-size:.74rem;line-height:1.55;font-weight:700}
.sb-final-confirm-modal .sb-button:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.2)}
@media(max-width:620px){.sb-final-confirm-check{padding:13px}.sb-final-confirm-check span{font-size:.78rem}}

/* V45.8.8 - contrôle final bloquant après confirmation utilisateur */
.sb-import-alert-issues{margin:14px 0;padding:14px 16px;border:1px solid #efc5c1;border-radius:14px;background:#fff7f6;color:#6d2723}
.sb-import-alert-issues strong{display:block;margin-bottom:7px;font-size:.78rem}
.sb-import-alert-issues ul{margin:0;padding-left:20px;display:grid;gap:5px}
.sb-import-alert-issues li{font-size:.74rem;line-height:1.45}
@media(max-width:620px){.sb-import-alert-issues{padding:12px 13px}.sb-import-alert-issues li{font-size:.78rem}}

/* V45.8.10  - rognage volontaire des images/PDF avant OCR */
.sb-upload-actions{display:grid;gap:8px;margin-top:12px}.sb-upload-actions .sb-button{margin-top:0}
.sb-crop-modal{position:fixed;z-index:10030;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(980px,calc(100vw - 28px));max-height:92vh;overflow:auto;padding:24px;border:1px solid #d7e6df;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(5,61,49,.23);opacity:0;pointer-events:none;transition:.18s ease}
.sb-crop-modal.open{opacity:1;pointer-events:auto}.sb-crop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.sb-crop-head h2{margin:5px 0 7px;font-size:clamp(1.35rem,2.2vw,2rem);color:var(--sb-green-900)}.sb-crop-head p{max-width:760px;margin:0;color:var(--sb-muted);line-height:1.55}
.sb-crop-privacy-note{display:flex;gap:10px;margin:16px 0;padding:13px 15px;border-radius:15px;background:#f4faf7;border:1px solid #dbece4;color:#315c50}.sb-crop-privacy-note>span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dff1e9;color:var(--sb-green-700);font-weight:900}.sb-crop-privacy-note p{margin:0;font-size:.86rem;line-height:1.5}
.sb-crop-page-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px 0}.sb-crop-page-controls strong{min-width:100px;text-align:center;color:var(--sb-green-900)}
.sb-crop-stage-wrap{display:grid;gap:8px}.sb-crop-stage-wrap>small{color:var(--sb-muted);line-height:1.45}.sb-crop-stage{position:relative;display:block;width:100%;max-height:58vh;overflow:auto;border:1px solid #ccdcd5;border-radius:16px;background:#eef4f1;touch-action:none;user-select:none;cursor:crosshair}.sb-crop-stage img{display:block;width:100%;height:auto;max-width:none;pointer-events:none}.sb-crop-selection{position:absolute;border:3px solid #00876a;background:rgba(0,135,106,.12);box-shadow:0 0 0 9999px rgba(0,32,25,.28);border-radius:5px;pointer-events:none}.sb-crop-selection::after{content:"Zone analysée";position:absolute;left:6px;top:6px;padding:4px 7px;border-radius:7px;background:#006c56;color:#fff;font-size:.68rem;font-weight:800;white-space:nowrap}.sb-crop-info{min-height:20px;margin:10px 0;color:#526f66;font-size:.82rem;font-weight:700}
@media(max-width:720px){.sb-crop-modal{padding:17px;border-radius:19px;max-height:96vh}.sb-crop-head{gap:8px}.sb-crop-page-controls{display:grid;grid-template-columns:1fr auto 1fr}.sb-crop-page-controls .sb-button{padding:10px 8px;font-size:.75rem}.sb-crop-stage{max-height:52vh}.sb-crop-modal .sb-import-alert-actions{display:grid}.sb-crop-modal .sb-import-alert-actions .sb-button{width:100%}}

.sb-crop-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 12px}.sb-crop-tools .sb-button{padding:10px 12px}.sb-crop-view-state{display:inline-flex;align-items:center;min-height:42px;padding:0 12px;border:1px solid #d6e5de;border-radius:999px;background:#f7fbf9;color:var(--sb-green-900);font-weight:800}.sb-crop-surface{position:relative;display:inline-block;transform-origin:top left}.sb-crop-stage{cursor:crosshair}.sb-crop-stage.grab{cursor:grab}.sb-crop-stage.grabbing{cursor:grabbing}.sb-crop-stage img{display:block;max-width:none;pointer-events:none;user-select:none}.sb-crop-stage img::selection{background:transparent}@media(max-width:720px){.sb-crop-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sb-crop-view-state{grid-column:1/-1;justify-content:center}}

/* V45.8.11  - sécurité 403 + navigation tactile du rognage */
.sb-crop-interaction-tools{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 12px}.sb-crop-interaction-tools .sb-button.active{background:#e3f2ed;border-color:#79aa9b;color:var(--sb-green-900);box-shadow:inset 0 0 0 1px #79aa9b}.sb-crop-stage{overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges}.sb-crop-stage.pan-mode{touch-action:pan-x pan-y;cursor:grab}.sb-crop-stage.pan-mode:active{cursor:grabbing}.sb-crop-stage.select-mode{touch-action:none;cursor:crosshair}@media(max-width:720px){.sb-crop-interaction-tools{display:grid;grid-template-columns:1fr 1fr;position:sticky;top:0;z-index:5;padding:8px 0;background:#fff}.sb-crop-stage{max-height:55vh;min-height:300px;overflow:scroll}.sb-crop-stage.pan-mode{touch-action:pan-x pan-y}.sb-crop-stage-wrap>small{display:block;padding-top:4px}}

/* V45.8.13  - fiabilité OCR, contrôle pédagogique et rognage tactile */
.sb-document-retention-note{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 14px;border:1px solid #d6e5de;border-radius:13px;background:#f7fbf9;color:#49665d;font-size:.78rem;line-height:1.5}.sb-document-retention-note>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#e5f2ed;color:#006c56;font-weight:900}.sb-document-retention-note p{margin:0}.sb-document-retention-note strong{color:#173d32}
.sb-control-summary-card{margin-top:18px}.sb-control-summary-intro{margin:-4px 0 14px;color:var(--sb-muted);font-size:.84rem;line-height:1.5}.sb-check-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sb-check-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #dce7e2;border-radius:13px;background:#fbfdfc}.sb-check-control-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:900}.sb-check-control div{min-width:0}.sb-check-control strong{display:block;color:#183c32;font-size:.83rem}.sb-check-control small{display:block;margin-top:3px;color:#6a8079;font-size:.69rem;line-height:1.35}.sb-check-control>b{font-size:.74rem;text-align:right;white-space:nowrap}.sb-check-control.ok .sb-check-control-icon{background:#e3f5ed;color:#147458}.sb-check-control.warning .sb-check-control-icon{background:#fff1cc;color:#9a6410}.sb-check-control.error .sb-check-control-icon{background:#fde5e5;color:#a63333}.sb-check-control-empty{grid-column:1/-1;padding:14px;border-radius:12px;background:#f5f8f7;color:#6f827c;font-size:.8rem;text-align:center}
.sb-crop-fine-rotation{display:flex;align-items:center;gap:8px;min-height:42px;padding:7px 10px;border:1px solid #d6e5de;border-radius:12px;background:#f7fbf9;color:#315c50;font-size:.72rem;font-weight:800}.sb-crop-fine-rotation input{width:150px;accent-color:#087b61}.sb-crop-selection .h{position:absolute;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:#007b62;box-shadow:0 1px 4px rgba(0,0,0,.25)}.sb-crop-selection .h.tl{left:-8px;top:-8px}.sb-crop-selection .h.tr{right:-8px;top:-8px}.sb-crop-selection .h.bl{left:-8px;bottom:-8px}.sb-crop-selection .h.br{right:-8px;bottom:-8px}.sb-crop-magnifier{position:absolute;z-index:12;width:120px;height:120px;border:3px solid #fff;border-radius:50%;background:#fff;box-shadow:0 4px 18px rgba(0,39,31,.35);pointer-events:none}.sb-crop-stage.pan-mode{touch-action:none}.sb-crop-stage.grabbing{cursor:grabbing}
@media(max-width:720px){.sb-check-controls{grid-template-columns:1fr}.sb-check-control{grid-template-columns:auto minmax(0,1fr);align-items:start}.sb-check-control>b{grid-column:2;text-align:left}.sb-crop-fine-rotation{grid-column:1/-1;justify-content:space-between}.sb-crop-fine-rotation input{width:min(54vw,240px)}.sb-crop-selection .h{width:22px;height:22px}.sb-crop-selection .h.tl{left:-12px;top:-12px}.sb-crop-selection .h.tr{right:-12px;top:-12px}.sb-crop-selection .h.bl{left:-12px;bottom:-12px}.sb-crop-selection .h.br{right:-12px;bottom:-12px}.sb-crop-magnifier{width:112px;height:112px}}

/* ==========================================================
   V45.8.14  - responsive mobile global
   Objectif : aucun débordement horizontal, actions lisibles,
   modales plein écran, tableau des bornes adapté au tactile.
   ========================================================== */
html,body,.sb-shell,.sb-main,.sb-app-main,.sb-workspace,.sb-content,.sb-panel,.sb-card,.sb-panel-head,.sb-result-header,.sb-result-overview,.sb-result-grid,.sb-detail-grid,.sb-table-card,.sb-table-wrap,.sb-summary-card,.sb-legal-callout,.sb-expert-card,.sb-technical-details,.sb-map-card,.sb-diagnosis-card{
  min-width:0;
  max-width:100%;
}
body{width:100%;max-width:100vw;overflow-x:clip}
img,canvas,video,iframe{max-width:100%}
.sb-panel-head>div,.sb-result-header>div,.sb-card-title>div,.sb-expert-copy,.sb-summary-card>div,.sb-dashboard-welcome>div,.sb-section-title>div,.sb-key-value>*{min-width:0}
.sb-panel-head h1,.sb-panel-head h2,.sb-result-header h1,.sb-result-header h2,.sb-dashboard-welcome h1,.sb-card h1,.sb-card h2,.sb-card h3,.sb-import-alert-modal h2,.sb-crop-modal h2,.sb-auth-card h2,.sb-button,.sb-field,.sb-field input,.sb-field textarea,.sb-field select,.sb-key-value strong,.sb-diagnostic-item,.sb-control-summary-intro{
  overflow-wrap:anywhere;
  word-break:normal;
}
.sb-button,.sb-result-actions .sb-button,.sb-import-alert-actions .sb-button{max-width:100%;min-width:0}
.sb-map,.sb-map .leaflet-container{width:100%;max-width:100%}

/* Ecran utilisateur/téléphone */
@media(max-width:820px){
  .sb-topbar{width:100%;max-width:100vw;min-width:0;gap:8px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .sb-brand{flex:0 1 auto;min-width:0;overflow:hidden}.sb-logo-picture{min-width:0}.sb-logo{max-width:132px}
  .sb-topbar-actions{flex:0 0 auto;min-width:0;gap:5px}.sb-topbar-actions form{min-width:0}.sb-notification-button{width:38px;height:38px;flex:0 0 38px}
  .sb-topbar-actions .sb-button{min-width:0;padding:8px 10px;white-space:normal}
  .sb-main{width:100%;max-width:100%;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .sb-dashboard-welcome,.sb-panel-head,.sb-result-header,.sb-section-title,.sb-public-disclaimer,.sb-table-head{min-width:0}
  .sb-dashboard-welcome h1,.sb-panel-head h2,.sb-result-header h2{max-width:100%;overflow-wrap:anywhere}
  .sb-button{white-space:normal;text-align:center;line-height:1.25;overflow-wrap:anywhere}
  .sb-table-head-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.sb-points-summary{grid-column:1/-1;justify-content:center;min-width:0}
  .sb-result-actions{display:grid;grid-template-columns:1fr;width:100%;gap:9px}.sb-result-actions .sb-button{width:100%;justify-content:center}
  .sb-action-bar{width:100%;max-width:100%;left:auto;right:auto}.sb-action-readiness{min-width:0;overflow-wrap:anywhere}
  .sb-actions-row{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);width:100%;gap:8px}.sb-actions-row .sb-button{width:100%;min-width:0}
  .sb-public-footer{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .sb-key-value{gap:12px}.sb-key-value strong{max-width:58%}
  .sb-technical-grid,.sb-check-controls{min-width:0}
}

@media(max-width:700px){
  /* Le tableau des bornes devient une liste de cartes : plus de scroll horizontal obligatoire. */
  .sb-table-wrap{overflow:visible}.sb-coordinate-table{display:block;width:100%;min-width:0!important}.sb-coordinate-table thead{display:none}.sb-coordinate-table tbody{display:grid;gap:10px;width:100%}
  .sb-coordinate-table tbody tr{display:block;width:100%;min-width:0;padding:10px 12px;border:1px solid var(--sb-line);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(14,52,42,.045)}
  .sb-coordinate-table tbody tr.complete td:first-child{box-shadow:none}
  .sb-coordinate-table td{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px;width:100%!important;max-width:none;padding:8px 0!important;border-top:0!important;border-bottom:1px solid #edf2ef;text-align:left!important}
  .sb-coordinate-table td:last-child{border-bottom:0}.sb-coordinate-table td::before{content:attr(data-label);color:var(--sb-green-800);font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
  .sb-coordinate-table td:last-child{grid-template-columns:88px auto}.sb-coordinate-table input{min-width:0;width:100%;height:44px}.sb-remove-point{width:40px;height:40px}
  .sb-point-label-wrap{min-width:0}.sb-point-label-wrap .point-label{width:100%;min-width:0}
  .sb-example-note{border-top:0;border-radius:0 0 14px 14px}
  .sb-auth-story{display:none}.sb-auth-main{min-height:100dvh;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.sb-auth-card{width:100%;max-width:520px}
}

@media(max-width:620px){
  .sb-appbar{height:auto;min-height:62px}.sb-appbar .sb-logo{height:40px;max-width:112px}
  .sb-topbar-actions{gap:4px}.sb-notification-button{width:36px;height:36px;flex-basis:36px}.sb-topbar-actions .sb-button{min-height:36px;padding:7px 9px;font-size:.72rem}
  .sb-panel-head,.sb-result-header{padding:15px;border-radius:16px}.sb-dashboard-welcome{padding:0}.sb-dashboard-welcome h1{font-size:clamp(1.45rem,7.6vw,1.9rem)}
  .sb-panel-head h2,.sb-result-header h2{font-size:1.08rem;line-height:1.25}.sb-panel-head p,.sb-result-header p{font-size:.78rem;line-height:1.5}
  .sb-card{padding:15px;border-radius:16px}.sb-card-title{gap:10px}.sb-card-number{flex:0 0 auto}
  .sb-actions-row{grid-template-columns:1fr}.sb-action-bar{bottom:max(7px,env(safe-area-inset-bottom));border-radius:15px}
  .sb-result-actions{grid-template-columns:1fr}.sb-result-actions>a,.sb-result-actions>button{width:100%}
  .sb-score-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:15px}.sb-score-card>div:last-child{min-width:0}.sb-score-card>div:last-child>*{overflow-wrap:anywhere}
  .sb-metric{padding:14px}.sb-summary-card{grid-template-columns:1fr;padding:16px}.sb-summary-icon{width:38px;height:38px}
  .sb-key-value{display:grid;grid-template-columns:1fr;gap:4px}.sb-key-value strong{max-width:100%;text-align:left}
  .sb-expert-card{grid-template-columns:1fr!important}.sb-expert-actions{grid-column:auto!important}.sb-expert-actions .sb-button{width:100%}
  .sb-public-disclaimer .sb-button{width:100%}

  /* Toutes les modales deviennent réellement mobiles. */
  .sb-import-alert-modal,.sb-final-confirm-modal{
    top:0;left:0;right:0;bottom:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;
    padding:max(22px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
    border:0;border-radius:0;overflow-x:hidden;overflow-y:auto;transform:translateY(3%);
  }
  .sb-import-alert-modal.open,.sb-final-confirm-modal.open{transform:none}.sb-import-alert-modal h2,.sb-final-confirm-modal h2{max-width:100%;font-size:clamp(1.25rem,6.8vw,1.65rem);line-height:1.18;overflow-wrap:anywhere}
  .sb-import-alert-modal>p,.sb-final-confirm-modal>p{font-size:.84rem;line-height:1.55}.sb-import-alert-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px;width:100%}.sb-import-alert-actions .sb-button{width:100%;white-space:normal;min-height:46px}
  .sb-final-confirm-check{width:100%;min-width:0}.sb-final-confirm-check span{min-width:0;overflow-wrap:anywhere}

  /* Rognage : modal plein écran + deux axes réellement scrollables dans la scène. */
  .sb-crop-modal{inset:0;top:0;left:0;right:0;bottom:0;transform:none;width:100%;height:100dvh;max-height:100dvh;padding:max(15px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border:0;border-radius:0;overflow-x:hidden;overflow-y:auto}
  .sb-crop-modal.open{transform:none}.sb-crop-head{position:relative;min-width:0;padding-right:42px}.sb-crop-head .sb-icon-button{position:absolute;right:0;top:0}.sb-crop-head h2{font-size:1.25rem;line-height:1.2;overflow-wrap:anywhere}
  .sb-crop-tools{grid-template-columns:1fr 1fr!important;min-width:0}.sb-crop-tools .sb-button{width:100%;white-space:normal}.sb-crop-fine-rotation{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);width:100%}.sb-crop-fine-rotation input{width:100%!important;min-width:0}.sb-crop-view-state{grid-column:1/-1}
  .sb-crop-interaction-tools{grid-template-columns:1fr 1fr!important;position:sticky;top:-1px;z-index:8;margin-left:-1px;margin-right:-1px}.sb-crop-interaction-tools .sb-button{width:100%;white-space:normal}
  .sb-crop-stage{width:100%;min-width:0;min-height:300px;max-height:56dvh;overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-gutter:auto}
  .sb-crop-stage.pan-mode{touch-action:pan-x pan-y!important}.sb-crop-stage.select-mode{touch-action:none}.sb-crop-surface{min-width:100%;max-width:none}.sb-crop-stage img{max-width:none!important}
  .sb-crop-page-controls{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.sb-crop-page-controls strong{min-width:0}.sb-crop-page-controls .sb-button{min-width:0;white-space:normal}
}

@media(max-width:480px){
  .sb-topbar{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.sb-appbar .sb-logo{max-width:96px}
  .sb-topbar-actions .sb-button{padding:7px 8px}.sb-table-head-actions{grid-template-columns:1fr}.sb-table-head-actions .sb-points-summary{grid-column:auto}
  .sb-coordinate-table td{grid-template-columns:76px minmax(0,1fr);gap:8px}.sb-coordinate-table td:last-child{grid-template-columns:76px auto}
  
  .sb-location-grid{font-size:.9rem}.sb-home-statuses{grid-template-columns:1fr}.sb-home-trust{display:grid;grid-template-columns:1fr;justify-items:start}.sb-home-step{padding:13px}.sb-home-step-icon{width:50px;height:50px;flex-basis:50px}
  .sb-crop-interaction-tools{grid-template-columns:1fr!important}.sb-crop-tools{grid-template-columns:1fr 1fr!important}.sb-crop-page-controls{gap:6px}.sb-crop-page-controls .sb-button{font-size:.7rem}
}

/* Page d'erreur Sama Suuf */
.sb-error-shell{min-height:100dvh;display:grid;place-items:center;padding:clamp(18px,5vw,48px);background:radial-gradient(circle at 50% 10%,rgba(33,144,110,.10),transparent 35%),var(--sb-canvas)}
.sb-error-card{width:min(620px,100%);padding:clamp(24px,5vw,46px);border:1px solid var(--sb-line);border-radius:24px;background:#fff;box-shadow:var(--sb-shadow);text-align:center}
.sb-error-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 16px;border-radius:18px;background:var(--sb-green-50);color:var(--sb-green-700);font-size:1.5rem;font-weight:900}.sb-error-card h1{margin:8px 0 10px;font-size:clamp(1.6rem,6vw,2.4rem);line-height:1.08;color:var(--sb-green-950)}.sb-error-card p{margin:0 auto 20px;max-width:500px;color:var(--sb-muted);line-height:1.6}.sb-error-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.sb-error-actions .sb-button{min-width:160px}
@media(max-width:520px){.sb-error-shell{padding:14px}.sb-error-card{padding:25px 17px;border-radius:18px}.sb-error-actions{display:grid;grid-template-columns:1fr}.sb-error-actions .sb-button{width:100%;min-width:0}}

/* V45.8.18 - confidentialité Google Play et suppression de compte */
.sb-global-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:12px 18px 18px;background:var(--sb-canvas);color:#71827c;font-size:.72rem}
.sb-global-legal a,.sb-home-footer a,.sb-auth-privacy a{color:var(--sb-green-700);font-weight:750;text-decoration:underline;text-underline-offset:2px}
.sb-legal-page{min-height:100vh;padding:26px clamp(16px,4vw,48px) 60px;background:linear-gradient(180deg,#f7faf8,#eef4f1)}
.sb-legal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:980px;margin:0 auto 18px}
.sb-legal-brand{font-size:1.18rem;font-weight:900;color:var(--sb-green-900)}
.sb-legal-card{max-width:980px;margin:0 auto;padding:clamp(24px,4vw,48px);border:1px solid var(--sb-line);border-radius:24px;background:#fff;box-shadow:var(--sb-shadow)}
.sb-legal-card h1{margin:10px 0 6px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.04;letter-spacing:-.045em}
.sb-legal-card h2{margin:32px 0 10px;font-size:1.18rem;color:var(--sb-green-900)}
.sb-legal-card p,.sb-legal-card li{color:#52655e;line-height:1.75}
.sb-legal-card ul{padding-left:22px}
.sb-legal-card code{padding:2px 5px;border-radius:6px;background:#eef4f1;color:#315047}
.sb-legal-updated,.sb-legal-small{font-size:.82rem;color:#7a8984!important}
.sb-legal-form{display:grid;gap:15px;margin-top:22px}.sb-legal-form p{display:grid;gap:7px;margin:0}.sb-legal-form input[type="email"],.sb-legal-form input[type="password"]{width:100%;height:48px;padding:0 13px;border:1px solid #d4e0dc;border-radius:12px;background:#fff}.sb-legal-form input[type="checkbox"]{width:18px;height:18px;margin-right:8px;vertical-align:middle}
.sb-legal-warning,.sb-legal-message{margin:20px 0;padding:15px 17px;border:1px solid #ead8ad;border-radius:14px;background:#fffaf0;color:#655326}.sb-legal-warning p{margin:5px 0 0;color:#6d5a31}.sb-legal-message{border-color:#cfe6dc;background:#f0faf6;color:#275c4b}
.sb-danger-button{background:#9d3434;border-color:#9d3434;color:#fff}.sb-danger-button:hover{background:#842a2a}
.sb-delete-card{max-width:760px}.sb-auth-privacy{margin:10px 0 0!important;color:#7b8b85!important;font-size:.72rem!important;line-height:1.55!important}
@media (max-width:640px){.sb-legal-page{padding:14px 12px 40px}.sb-legal-header{align-items:flex-start}.sb-legal-card{padding:22px 18px;border-radius:18px}.sb-global-legal{padding-bottom:14px}.sb-legal-header .sb-button{font-size:.74rem}}


/* V45.8.21 - Contact et collaboration publique */
.sb-home-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 9px;border-radius:9px;color:var(--sb-green-800);font-size:.78rem;font-weight:800;text-decoration:none;white-space:nowrap}.sb-home-nav-link:hover{background:var(--sb-green-50);color:var(--sb-green-900)}.sb-app-menu{position:relative}.sb-app-menu summary{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 10px;border-radius:9px;color:var(--sb-green-800);font-size:.76rem;font-weight:850;cursor:pointer;list-style:none}.sb-app-menu summary::-webkit-details-marker{display:none}.sb-app-menu summary:hover,.sb-app-menu[open] summary{background:var(--sb-green-50)}.sb-app-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:120;display:grid;min-width:180px;padding:7px;border:1px solid var(--sb-line);border-radius:13px;background:#fff;box-shadow:0 14px 34px rgba(15,55,43,.14)}.sb-app-menu-panel a{padding:10px 11px;border-radius:9px;color:#29483e;font-size:.78rem;font-weight:800;text-decoration:none}.sb-app-menu-panel a:hover{background:var(--sb-green-50);color:var(--sb-green-900)}
.sb-page-nav{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.sb-contact-intro{max-width:760px;font-size:1rem}.sb-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.sb-contact-item{display:flex;align-items:center;gap:14px;min-height:104px;padding:18px;border:1px solid var(--sb-line);border-radius:17px;background:#f8fbf9}.sb-contact-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:#e1f2eb;color:var(--sb-green-800);font-weight:900}.sb-contact-item>div{display:grid;gap:4px;min-width:0}.sb-contact-item small{color:#7a8c85;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.sb-contact-item a,.sb-contact-item strong{color:#173d32;font-size:.9rem;font-weight:800;overflow-wrap:anywhere}.sb-contact-collab{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:28px;padding:20px;border-radius:18px;background:linear-gradient(135deg,#edf8f3,#f8fbf9);border:1px solid #d4e7df}.sb-contact-collab h2{margin:5px 0 5px!important}.sb-contact-collab p{margin:0}.sb-collaboration-card{max-width:820px}.sb-collaboration-form{display:grid;gap:16px;margin-top:26px}.sb-collaboration-form label{display:grid;gap:7px;color:#2d463d;font-size:.78rem;font-weight:800}.sb-collaboration-form label>span small{color:#87948f;font-weight:600}.sb-collaboration-form label>span b{color:#b86b19}.sb-collaboration-form input:not([type="hidden"]),.sb-collaboration-form textarea{width:100%;padding:12px 13px;border:1px solid #d4e0dc;border-radius:12px;background:#fff;color:#172d26;font:inherit;outline:none;transition:.15s ease}.sb-collaboration-form input:not([type="hidden"]){height:48px}.sb-collaboration-form textarea{min-height:150px;resize:vertical;line-height:1.55}.sb-collaboration-form input:focus,.sb-collaboration-form textarea:focus{border-color:#79b7a2;box-shadow:0 0 0 3px rgba(33,144,110,.09)}.sb-collaboration-form em{color:#a33c2d;font-size:.7rem;font-style:normal;font-weight:700}.sb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sb-collaboration-note{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border-radius:13px;background:#f1f8f5;color:#44665a;font-size:.72rem;line-height:1.55}.sb-collaboration-note>span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#d9eee5;color:var(--sb-green-800);font-weight:900}.sb-collaboration-note p{margin:0}.sb-collaboration-submit{justify-self:start}.sb-otp-card{max-width:620px;text-align:center}.sb-otp-card .sb-collaboration-form{max-width:360px;margin:24px auto 0;text-align:left}.sb-otp-form input{text-align:center;font-size:1.35rem!important;letter-spacing:.28em;font-weight:850}.sb-resend-form{margin-top:16px}.sb-link-button{border:0;background:transparent;color:var(--sb-green-700);font-weight:800;text-decoration:underline;cursor:pointer}.sb-collaboration-success{max-width:680px;text-align:center}.sb-success-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#dff3ea;color:var(--sb-green-800);font-size:1.8rem;font-weight:900}.sb-collaboration-success .sb-page-nav{justify-content:center;margin-top:24px}
@media(max-width:900px){.sb-home-menu .sb-home-nav-link{min-width:34px;padding:7px 6px}.sb-home-menu .sb-home-nav-link .sb-hide-mobile{display:none}.sb-home-menu .sb-home-nav-link .sb-show-mobile{display:inline}.sb-app-menu summary{min-width:38px;padding:7px 8px;font-size:.7rem}}
@media(max-width:640px){.sb-contact-grid,.sb-form-grid{grid-template-columns:1fr}.sb-contact-collab{grid-template-columns:1fr}.sb-contact-collab .sb-button{width:100%}.sb-page-nav{width:100%}.sb-page-nav .sb-button{flex:1}.sb-collaboration-submit{width:100%}.sb-contact-item{min-height:88px}.sb-app-menu summary{min-width:34px}}

/* V45.8.22  - stabilisation responsive mobile + tablette */
/* Évite tout débordement horizontal accidentel sur l'ensemble des écrans. */
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%}

/* Accueil : tablette intermédiaire. */
@media (min-width:681px) and (max-width:1024px){
  .sb-home-page .sb-home-header{height:auto;min-height:74px;padding:8px 18px;gap:12px}
  .sb-home-brand{flex:1 1 auto;min-width:170px;gap:8px}
  .sb-home-brand-icon{width:54px;height:54px;flex:0 0 54px}
  .sb-home-brand strong{font-size:1.2rem;white-space:nowrap}
  .sb-home-brand small{font-size:.61rem;white-space:nowrap}
  .sb-home-page .sb-home-header .sb-topbar-actions{flex:0 1 auto;gap:7px}
  .sb-home-page .sb-home-header .sb-button{min-width:112px;padding:8px 10px;font-size:.72rem;white-space:nowrap}
  .sb-home-nav-link{min-width:36px;padding:7px}
  .sb-home-hero{padding-left:28px;padding-right:28px}
  .sb-home-hero h1{font-size:clamp(2.35rem,6vw,3.35rem)}
  .sb-home-result,.sb-home-how,.sb-home-expert,.sb-home-pricing{width:calc(100% - 32px)}
}

/* Accueil : véritable composition mobile en deux lignes. */
@media (max-width:680px){
  .sb-home-page .sb-home-header{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    height:auto!important;
    min-height:0!important;
    gap:8px!important;
    padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left))!important;
    border-bottom:1px solid #edf2ef!important;
  }
  .sb-home-brand{display:flex!important;width:100%;min-width:0;overflow:visible!important;gap:9px}
  .sb-home-brand-icon{width:48px!important;height:48px!important;flex:0 0 48px}
  .sb-home-brand>span{min-width:0}
  .sb-home-brand strong{font-size:1.13rem!important;line-height:1.05;white-space:nowrap}
  .sb-home-brand small{margin-top:3px!important;font-size:.61rem!important;line-height:1.2;white-space:nowrap}
  .sb-home-page .sb-home-header .sb-topbar-actions,.sb-home-menu{
    display:grid!important;
    grid-template-columns:38px 38px minmax(0,.9fr) minmax(0,1.12fr)!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    gap:6px!important;
  }
  .sb-home-menu>*{min-width:0!important;width:100%!important}
  .sb-home-menu .sb-home-nav-link{min-width:0!important;min-height:40px;padding:6px!important;border:1px solid #e0e9e5;background:#f9fbfa;font-size:.78rem}
  .sb-home-page .sb-home-header .sb-button{width:100%!important;min-width:0!important;min-height:40px;padding:6px 7px!important;font-size:.69rem!important;line-height:1.15;white-space:normal!important}
  .sb-home-outline{padding-left:5px!important;padding-right:5px!important}

  .sb-home-hero{min-height:0!important;padding:28px 16px 66px!important}
  .sb-home-hero-copy{width:100%}
  .sb-home-hero h1{max-width:100%;margin-top:2px;font-size:clamp(2rem,10.3vw,2.8rem)!important;line-height:1.04;overflow-wrap:normal;word-break:normal}
  .sb-home-hero-copy>p{max-width:95%;font-size:clamp(.88rem,4.2vw,1rem)!important;line-height:1.55}
  .sb-home-primary{width:100%!important;max-width:520px;min-height:58px;margin-top:20px;padding:13px 18px;font-size:1rem}
  .sb-home-trust{display:grid!important;grid-template-columns:1fr!important;justify-items:start!important;width:min(300px,100%);gap:11px!important;margin-top:16px;font-size:.78rem!important}
  .sb-home-art{bottom:28px;width:54vw;max-width:240px}.sb-home-art-left{left:-8px}.sb-home-art-right{right:-8px}
  .sb-home-wave{bottom:-34px;height:70px}

  .sb-home-how{padding-top:18px!important}
  .sb-home-section>h2,.sb-home-pricing>h2{font-size:clamp(1.35rem,6vw,1.65rem)}
  .sb-home-step{align-items:flex-start;min-height:0;padding:16px 14px;border-radius:16px}
  .sb-home-step>div:last-child{min-width:0}
  .sb-home-step h3{font-size:.94rem;line-height:1.35}.sb-home-step p{font-size:.78rem;line-height:1.5}
  .sb-home-result,.sb-home-how,.sb-home-expert,.sb-home-pricing{width:calc(100% - 24px)!important}
  .sb-home-status{min-height:104px}
  .sb-home-example-map{min-height:175px}
  .sb-home-expert{grid-template-columns:auto minmax(0,1fr)!important;gap:12px;padding:14px}
  .sb-home-expert-copy{min-width:0}.sb-home-expert-copy h2{overflow-wrap:anywhere}
  .sb-home-price-row article{min-width:0}.sb-home-price-row article div{min-width:0}.sb-home-price-row article *{overflow-wrap:anywhere}
  .sb-home-footer{flex-wrap:wrap!important;height:auto;min-height:44px;padding:10px 14px!important;text-align:center;line-height:1.5}
}

@media (max-width:380px){
  .sb-home-page .sb-home-header .sb-topbar-actions,.sb-home-menu{grid-template-columns:36px 36px minmax(0,.88fr) minmax(0,1.12fr)!important;gap:4px!important}
  .sb-home-page .sb-home-header .sb-button{font-size:.64rem!important;padding-left:4px!important;padding-right:4px!important}
  .sb-home-brand-icon{width:44px!important;height:44px!important;flex-basis:44px}
  .sb-home-brand strong{font-size:1.03rem!important}.sb-home-brand small{font-size:.57rem!important}
  .sb-home-hero{padding-left:12px!important;padding-right:12px!important}
  .sb-home-hero h1{font-size:clamp(1.85rem,10vw,2.3rem)!important}
}

/* En-tête de l'espace connecté : les actions restent accessibles sans chevauchement. */
@media (max-width:760px){
  .sb-appbar{height:auto!important;min-height:62px!important;padding-top:8px!important;padding-bottom:8px!important;gap:7px!important}
  .sb-appbar .sb-brand{flex:0 0 auto;overflow:visible}
  .sb-appbar .sb-logo{height:42px!important;max-width:110px!important}
  .sb-appbar .sb-topbar-actions{flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap;gap:5px!important}
  .sb-appbar .sb-app-menu summary{min-height:36px}
  .sb-appbar .sb-subscription-pill{order:10;flex:1 0 100%;justify-content:center;margin-top:2px}
  .sb-appbar .sb-topbar-actions form{flex:0 0 auto}
  .sb-app-menu-panel{position:fixed;top:auto;right:10px;min-width:190px;max-width:calc(100vw - 20px)}
}

@media (max-width:420px){
  .sb-appbar .sb-brand{max-width:46px}.sb-appbar .sb-logo{width:42px!important;height:42px!important;max-width:42px!important;object-fit:contain}
  .sb-appbar .sb-topbar-actions{flex-wrap:nowrap!important;min-width:0}
  .sb-appbar .sb-app-menu summary{font-size:0;width:36px;height:36px;padding:0!important}
  .sb-appbar .sb-app-menu summary::before{content:"☰";font-size:1rem}
  .sb-appbar #historyToggle{width:36px;min-width:36px;padding:0!important}.sb-appbar #historyToggle .sb-button-icon{margin:0}
  .sb-appbar form .sb-button{min-width:0!important;padding:7px 8px!important;font-size:.66rem!important}
  .sb-appbar .sb-notification-button{width:36px;height:36px;flex-basis:36px}
}

/* Les pages publiques secondaires ne doivent pas tasser le titre et leurs actions. */
@media (max-width:700px){
  .sb-legal-header{flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  .sb-legal-brand{align-self:flex-start}
  .sb-page-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px!important}
  .sb-page-nav .sb-button{width:100%;min-width:0;white-space:normal}
  .sb-legal-card h1{font-size:clamp(1.8rem,9vw,2.45rem);overflow-wrap:anywhere}
  .sb-contact-grid{grid-template-columns:1fr!important}
  .sb-contact-item{min-height:0!important;padding:15px!important}
  .sb-contact-collab{grid-template-columns:1fr!important;padding:16px!important}
  .sb-contact-collab .sb-button,.sb-collaboration-submit{width:100%!important}
  .sb-form-grid{grid-template-columns:1fr!important}
  .sb-collaboration-form input:not([type="hidden"]),.sb-collaboration-form textarea{font-size:16px!important} /* évite le zoom iOS */
}

@media (max-width:420px){
  .sb-page-nav{grid-template-columns:1fr!important}
  .sb-legal-page{padding-left:10px!important;padding-right:10px!important}
  .sb-legal-card{padding:20px 15px!important;border-radius:16px!important}
  .sb-contact-icon{width:40px;height:40px;flex-basis:40px}
}

/* Pied légal : lisible et tactile sur petit écran. */
@media (max-width:520px){
  .sb-global-legal{gap:5px 10px;padding:12px 12px max(16px,env(safe-area-inset-bottom));font-size:.69rem;line-height:1.55;text-align:center}
  .sb-global-legal span{display:none}
  .sb-global-legal a{display:inline-flex;min-height:30px;align-items:center;padding:2px 4px}
}


/* V45.8.23  - environnement, accessibilité et couches de contexte */
.sb-reference-layer-panel{
  margin-top: .7rem; padding: .72rem .82rem; border: 1px solid #dbe8e3; border-radius: 14px;
  background: #f8fbfa; display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap;
}
.sb-reference-layer-panel > div:first-child{ display: grid; gap: .08rem; }
.sb-reference-layer-panel strong{ color: #173b32; font-size: .88rem; }
.sb-reference-layer-panel small{ color: #667a73; font-size: .75rem; }
.sb-reference-layer-toggles{ display: flex; flex-wrap: wrap; gap: .42rem; }
.sb-reference-layer-toggles label{ margin: 0; cursor: pointer; }
.sb-reference-layer-toggles label > span{
  min-height: 35px; padding: .42rem .65rem; border: 1px solid #d5e2dd; border-radius: 999px; background: #fff;
  display: inline-flex; align-items: center; gap: .38rem; color: #315047; font-size: .78rem; font-weight: 700; transition: .16s ease;
}
.sb-reference-layer-toggles input{ position: absolute; opacity: 0; pointer-events: none; }
.sb-reference-layer-toggles input:checked + span{ border-color: #2d8068; background: #eaf6f1; color: #0c5b46; box-shadow: 0 0 0 2px rgba(45,128,104,.08); }
.sb-reference-layer-toggles i{ width: 13px; height: 13px; display: inline-block; border-radius: 4px; }
.sb-reference-layer-toggles i.road{ height: 3px; border-radius: 2px; background: #d87d18; }
.sb-reference-layer-toggles i.forest{ background: rgba(45,139,77,.28); border: 1px solid #2d8b4d; }
.sb-reference-layer-toggles i.park{ background: rgba(22,135,151,.24); border: 1px solid #168797; }
.sb-context-analysis-card{ margin-top: 1rem; }
.sb-context-analysis-card .sb-section-title{ align-items: center; gap: .8rem; }
.sb-vigilance-badge{ padding: .42rem .68rem; border-radius: 999px; background: #eef4f1; color: #35564d; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.sb-vigilance-badge[data-level="low"]{ background: #e7f5ee; color: #126347; }
.sb-vigilance-badge[data-level="moderate"]{ background: #fff4dc; color: #8a5b0a; }
.sb-vigilance-badge[data-level="high"]{ background: #fbe9e7; color: #a23d35; }
.sb-context-intro{ margin: -.1rem 0 .85rem; color: #60756e; font-size: .88rem; }
.sb-context-grid{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .72rem; }
.sb-context-item{ padding: .78rem; border: 1px solid #deebe6; border-radius: 14px; background: #fbfdfc; display: flex; align-items: flex-start; gap: .68rem; min-width: 0; }
.sb-context-item > div{ min-width: 0; display: grid; gap: .16rem; }
.sb-context-item small{ color: #71847e; font-size: .73rem; text-transform: uppercase; letter-spacing: .035em; font-weight: 750; }
.sb-context-item strong{ color: #173b32; font-size: .92rem; line-height: 1.25; }
.sb-context-item p{ margin: 0; color: #61746e; font-size: .8rem; line-height: 1.42; overflow-wrap: anywhere; }
.sb-context-icon{ width: 36px; height: 36px; flex: 0 0 36px; display: inline-grid; place-items: center; border-radius: 11px; font-size: 1.05rem; font-weight: 900; }
.sb-context-icon.forest{ background: #e8f5ea; color: #247c3f; }
.sb-context-icon.park{ background: #e7f5f6; color: #157a87; }
.sb-context-icon.road{ background: #fff2e1; color: #a35c08; }
.sb-context-icon.vigilance{ background: #fff4dc; color: #8a5b0a; }
.sb-context-overlaps{ margin-top: .78rem; padding: .72rem .8rem; border-radius: 12px; background: #fff8eb; border: 1px solid #f2dfb4; }
.sb-context-overlaps strong{ color: #76500c; display: block; margin-bottom: .3rem; }
.sb-context-overlaps ul{ margin: 0; padding-left: 1.1rem; color: #725c35; font-size: .8rem; line-height: 1.5; }
.sb-context-scope{ margin: .72rem 0 0; color: #75847f; font-size: .74rem; line-height: 1.4; }
@media (max-width: 760px) {
  .sb-context-grid{ grid-template-columns: 1fr; }
  .sb-reference-layer-panel{ align-items: stretch; }
  .sb-reference-layer-toggles{ display: grid; grid-template-columns: 1fr; width: 100%; }
  .sb-reference-layer-toggles label > span{ width: 100%; justify-content: flex-start; border-radius: 10px; }
  .sb-context-analysis-card .sb-section-title{ align-items: flex-start; flex-direction: column; }
}

/* V45.8.24  - territoire surfacique, GPS, démarches, services proches et trajets */
.sb-reference-layer-toggles i.admin{background:transparent;border:2px solid #2f6d5a;border-radius:3px}
.sb-reference-layer-toggles i.admin.arrondissement{border-color:#8b6b3f}
.sb-reference-layer-toggles i.admin.department{border-color:#4f6fae}
.sb-reference-layer-toggles i.admin.region{border-color:#6b4ea0}
.sb-territory-overlap{margin-top:.72rem;padding:.72rem .8rem;border:1px solid #dbe8e3;border-radius:12px;background:#f8fbfa;color:#526a62;font-size:.78rem;line-height:1.5}
.sb-territory-overlap>strong{display:block;margin-bottom:.35rem;color:#173b32}
.sb-territory-overlap>div{display:flex;flex-wrap:wrap;gap:.35rem}
.sb-territory-overlap span{padding:.34rem .52rem;border:1px solid #dce7e3;border-radius:9px;background:#fff}
.sb-territory-overlap span.primary{border-color:#aad1c3;background:#eef8f4;color:#145e49}
.sb-territory-overlap small{display:block;margin-top:.42rem;color:#6f817b}
.sb-admin-confirmation-note{margin:.72rem 0 0;padding:.72rem .82rem;border:1px solid #dfe9e5;border-radius:11px;background:#f8fbfa;color:#61756d;font-size:.72rem;line-height:1.55}.sb-admin-confirmation-note strong{color:#173b32}
.sb-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.sb-feature-grid>.sb-card{margin:0;min-width:0}
.sb-feature-intro{margin:-.1rem 0 .85rem;color:#60756e;font-size:.84rem;line-height:1.55}
.sb-feature-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.72rem}
.sb-feature-note{display:block;margin-top:.68rem;color:#768781;font-size:.72rem;line-height:1.45}
.sb-gps-state{padding:.38rem .62rem;border-radius:999px;background:#eef3f1;color:#557168;font-size:.74rem;font-weight:800;white-space:nowrap}
.sb-gps-state[data-mode="inside"]{background:#e5f5ed;color:#126347}
.sb-gps-state[data-mode="outside"]{background:#fff3df;color:#8c5b08}
.sb-gps-state[data-mode="error"]{background:#fbe9e7;color:#9c3a32}
.sb-gps-result{display:grid;gap:.18rem;padding:.78rem;border:1px solid #dce9e4;border-radius:13px;background:#fbfdfc}
.sb-gps-result strong{color:#173b32;font-size:.92rem}
.sb-gps-result span{color:#657870;font-size:.79rem;line-height:1.45}
.sb-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:end}
.sb-procedure-summary{margin-top:.78rem;padding:.8rem;border:1px solid #dbe8e3;border-radius:13px;background:#f8fbfa;color:#576d65;font-size:.79rem;line-height:1.5}
.sb-procedure-summary>strong{display:block;color:#173b32;font-size:.9rem;margin-bottom:.2rem}
.sb-procedure-summary p{margin:.2rem 0 .5rem}
.sb-procedure-summary>div{margin:.25rem 0}
.sb-procedure-summary .alerts{margin-top:.55rem;padding:.55rem .65rem;border-radius:10px;background:#fff6e7;color:#785314}
.sb-procedure-summary ul,.sb-expert-reasons ul{margin:.28rem 0 0;padding-left:1.1rem}
.sb-checklist-list{display:grid;gap:.5rem;margin-top:.75rem}
.sb-checklist-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.62rem;align-items:start;padding:.7rem .75rem;border:1px solid #dce8e4;border-radius:12px;background:#fff;cursor:pointer}
.sb-checklist-item.blocking{border-left:4px solid #c88a20}
.sb-checklist-item input{margin-top:.22rem;width:18px;height:18px;accent-color:#116149}
.sb-checklist-item span{display:grid;gap:.08rem;min-width:0}
.sb-checklist-item strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:#61766e}
.sb-checklist-item em{font-style:normal;color:#263f37;font-size:.82rem;line-height:1.45}
.sb-checklist-item small{color:#9a650d;font-size:.68rem;font-weight:750}
.sb-nearby-card{margin-top:1rem}
.sb-nearby-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:.75rem;align-items:end}
.sb-nearby-categories{display:flex;flex-wrap:wrap;gap:.4rem}
.sb-nearby-categories button{min-height:36px;padding:.4rem .68rem;border:1px solid #d7e4df;border-radius:999px;background:#fff;color:#315047;font:inherit;font-size:.77rem;font-weight:750;cursor:pointer}
.sb-nearby-categories button.active{border-color:#2d8068;background:#eaf6f1;color:#0c5b46}
.sb-nearby-status{margin:.72rem 0;color:#63776f;font-size:.79rem}
.sb-nearby-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.sb-nearby-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.7rem;border:1px solid #dce8e4;border-radius:12px;background:#fbfdfc;min-width:0}
.sb-nearby-item>div{display:grid;gap:.1rem;min-width:0}
.sb-nearby-item strong{color:#173b32;font-size:.86rem;overflow-wrap:anywhere}
.sb-nearby-item span{color:#657870;font-size:.74rem;overflow-wrap:anywhere}
.sb-nearby-item small{color:#7b8b85;font-size:.69rem}
.sb-route-planner{margin-top:.85rem;padding-top:.85rem;border-top:1px solid #e1ebe7}
.sb-route-planner>div:first-child{display:grid;gap:.08rem;margin-bottom:.55rem}
.sb-route-planner>div:first-child strong{color:#173b32}
.sb-route-planner>div:first-child small{color:#6f817b;font-size:.75rem}
.sb-route-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:.6rem;align-items:end}
.sb-route-result{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .7rem;margin-top:.7rem;padding:.7rem .8rem;border:1px solid #cfe4da;border-radius:12px;background:#f1faf6;color:#365c50;font-size:.79rem}
.sb-route-result strong{color:#173b32}.sb-route-result a{margin-left:auto;color:#0c6650;font-weight:800;text-decoration:none}
.sb-expert-reasons{margin-top:.65rem;padding:.65rem .75rem;border-radius:11px;background:#fff6e7;border:1px solid #f0ddb8;color:#73531a;font-size:.77rem;line-height:1.45}
.sb-expert-reasons strong{color:#6d4a0d}
.sb-expert-card[data-vigilance="high"]{border-color:#e4beb8;background:linear-gradient(135deg,#fff6f4 0,#ffffff 68%)}
.sb-expert-card[data-vigilance="high"] .sb-expert-icon{background:#9f4037}
.sb-expert-card[data-vigilance="moderate"] .sb-expert-icon{background:#9a6816}
@media(max-width:900px){.sb-feature-grid{grid-template-columns:1fr}.sb-nearby-list{grid-template-columns:1fr}.sb-route-form{grid-template-columns:1fr 150px}.sb-route-form .sb-button{grid-column:1/-1}.sb-nearby-toolbar{grid-template-columns:1fr 140px}}
@media(max-width:620px){.sb-inline-form,.sb-nearby-toolbar,.sb-route-form{grid-template-columns:1fr}.sb-inline-form .sb-button,.sb-route-form .sb-button{width:100%}.sb-nearby-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sb-nearby-categories button{border-radius:10px}.sb-nearby-item{grid-template-columns:1fr}.sb-nearby-item .sb-button{width:100%}.sb-feature-actions{display:grid;grid-template-columns:1fr}.sb-feature-actions .sb-button{width:100%}.sb-route-result{align-items:flex-start;flex-direction:column}.sb-route-result a{margin-left:0}.sb-territory-overlap>div{display:grid}.sb-territory-overlap span{width:100%}}

/* V45.8.25  - harmonisation visuelle complète des résultats */
:root{
  --sb-v25-border:#dce6e2;
  --sb-v25-soft:#f8fbfa;
  --sb-v25-soft-2:#f2f7f5;
  --sb-v25-green:#0b5d49;
  --sb-v25-green-dark:#083f34;
  --sb-v25-text:#132a24;
  --sb-v25-muted:#64766f;
}

/* Hiérarchie générale des sections */
.sb-title-icon-wrap{display:flex;align-items:flex-start;gap:12px;min-width:0}
.sb-section-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#eef6f3;color:var(--sb-v25-green);font-size:1.05rem;font-weight:900;border:1px solid #e2eeea}
.sb-title-icon-wrap>div{min-width:0}
.sb-section-title p{margin:4px 0 0;color:var(--sb-v25-muted);font-size:.72rem;line-height:1.45}
.sb-subsection-title{display:block;margin:0 0 8px;color:#173b32;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}

/* Localisation : carte principale + diagnostic */
.sb-result-grid-v25{grid-template-columns:minmax(0,1.55fr) minmax(330px,.58fr);gap:16px;align-items:stretch}
.sb-localisation-card,.sb-diagnosis-card-v25{box-shadow:0 10px 34px rgba(15,57,46,.045);border-color:#d9e5e0}
.sb-localisation-card{padding:18px}
.sb-localisation-card .sb-map-title-row{align-items:center;margin-bottom:14px}
.sb-localisation-card .sb-map-tools{flex:0 0 auto}
.sb-localisation-card .sb-basemap-switch{background:#f7faf9;border-color:#dce7e2;padding:3px}
.sb-localisation-card .sb-basemap-switch button.active{background:var(--sb-green-900);color:#fff;box-shadow:none}
.sb-localisation-card .sb-map-status{background:#f4f8f6;border:1px solid #e1ebe7;padding:7px 10px;color:#48635a}
.sb-localisation-card .sb-button-map{min-height:36px;padding:7px 11px;border-color:#d6e2dd;background:#fff;color:#0b5946;font-size:.72rem}
.sb-location-overview{display:grid;grid-template-columns:1.02fr 1.12fr 1fr 1fr .92fr;margin-bottom:12px;border:1px solid var(--sb-v25-border);border-radius:14px;overflow:hidden;background:#fff}
.sb-location-overview>div{display:grid;gap:4px;min-width:0;padding:12px 14px}
.sb-location-overview>div+div{border-left:1px solid #e6eeeb}
.sb-location-overview small{color:#70817b;font-size:.62rem;font-weight:750;text-transform:uppercase;letter-spacing:.025em}
.sb-location-overview strong{overflow:hidden;color:#172f28;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
.sb-location-overview .active strong,.sb-location-overview .vigilance strong{color:#0d654e}
.sb-location-overview .active i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#1b916d;vertical-align:middle}
.sb-location-overview .vigilance strong[data-level="moderate"]{color:#8b5e13}
.sb-location-overview .vigilance strong[data-level="high"]{color:#9e4038}
.sb-localisation-card .sb-map{min-height:385px;border-radius:14px;border-color:#d8e2de;background:#f5f8f7}
.sb-localisation-card .sb-map-legend{margin-top:0;border-radius:0 0 12px 12px;border-top:0;background:#fff}
.sb-reference-layer-panel{margin-top:12px;padding:13px 14px;border:1px solid #dce7e3;border-radius:14px;background:#fbfdfc}
.sb-reference-layer-panel>div:first-child{display:grid;gap:2px}
.sb-reference-layer-panel>div:first-child strong{color:#183c32;font-size:.79rem}
.sb-reference-layer-panel>div:first-child small{color:#71827c;font-size:.68rem}
.sb-reference-layer-toggles{margin-top:10px;gap:7px}
.sb-reference-layer-toggles label>span{position:relative;min-height:34px;padding:6px 10px 6px 32px;border-color:#dde7e3;border-radius:10px;background:#fff;color:#334d44;font-size:.68rem}
.sb-reference-layer-toggles label>span::before{content:"";position:absolute;left:9px;top:50%;width:15px;height:8px;border-radius:999px;background:#d9e2de;transform:translateY(-50%);transition:.16s ease}
.sb-reference-layer-toggles label>span::after{content:"";position:absolute;left:10px;top:50%;width:6px;height:6px;border-radius:50%;background:#fff;transform:translateY(-50%);box-shadow:0 1px 2px rgba(0,0,0,.12);transition:.16s ease}
.sb-reference-layer-toggles input:checked+span{border-color:#bad8cc;background:#f2f9f6;color:#0b5d49;box-shadow:none}
.sb-reference-layer-toggles input:checked+span::before{background:#1d8063}
.sb-reference-layer-toggles input:checked+span::after{left:17px}
.sb-reference-layer-toggles i{display:none!important}
.sb-admin-territory-block{margin-top:12px;padding:13px;border:1px solid #dce7e3;border-radius:14px;background:#fff}
.sb-admin-territory-block .sb-location-grid{margin-top:0;border-radius:10px}
.sb-admin-territory-block .sb-location-grid>div{background:#fbfcfb;padding:10px 12px}
.sb-territory-overlap{margin-top:10px;background:#f3f9f6;border-color:#d5e7df;padding:10px 11px}
.sb-territory-overlap>strong{font-size:.76rem}
.sb-territory-overlap span.primary{border-color:#b8d8cc;background:#eef8f4}
.sb-localisation-card .sb-map-caution{margin:10px 0 0;padding:9px 11px;border:1px solid #e4ece9;border-radius:11px;background:#f8fbfa;color:#687b74;font-size:.66rem}

.sb-diagnosis-card-v25{padding:18px}
.sb-diagnosis-card-v25 .sb-section-title{margin-bottom:12px}
.sb-diagnostic-global{display:grid;gap:5px;padding:14px 15px;border:1px solid #d5e6df;border-radius:14px;background:#f7fbf9}
.sb-diagnostic-global small{color:#60746c;font-size:.68rem;font-weight:800}
.sb-diagnostic-global strong{display:flex;align-items:center;gap:8px;color:#0d5b47;font-size:.92rem}
.sb-diagnostic-global strong::before{content:"✓";display:grid;place-items:center;width:24px;height:24px;border:1px solid #8bc5b0;border-radius:50%;color:#0e7658;font-size:.72rem}
.sb-diagnostic-global p{margin:0 0 0 32px;color:#61756d;font-size:.7rem;line-height:1.5}
.sb-diagnosis-card-v25 .sb-diagnostic-group{margin-top:11px;padding:14px 15px;border:1px solid #e0e9e5;border-radius:14px;background:#fff}
.sb-diagnosis-card-v25 .sb-diagnostic-group.good{background:#f5faf8;border-color:#d9e8e2}
.sb-diagnosis-card-v25 .sb-diagnostic-group.warn{background:#fffaf1;border-color:#f0dfbf}
.sb-diagnosis-card-v25 .sb-diagnostic-group.bad{background:#fff7f7;border-color:#efd3d3}
.sb-diagnosis-card-v25 .sb-diagnostic-head>span{border-radius:50%}
.sb-diagnosis-card-v25 .sb-diagnostic-list{gap:8px}
.sb-diagnosis-card-v25 .sb-diagnostic-item{position:relative;padding-left:18px;border:0;color:#425b52;font-size:.7rem;line-height:1.5}
.sb-diagnosis-card-v25 .sb-diagnostic-group.good .sb-diagnostic-item::before{content:"✓";position:absolute;left:0;top:1px;color:#13805e;font-size:.67rem;font-weight:900}
.sb-diagnosis-card-v25 .sb-diagnostic-empty{border:0;padding-left:0}
.sb-diagnostic-scope{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 13px;border:1px solid #e0e8e5;border-radius:13px;background:#fafcfb}
.sb-diagnostic-scope>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:1px solid #9cb3aa;border-radius:50%;color:#4f6c62;font-size:.68rem;font-weight:900}
.sb-diagnostic-scope strong{font-size:.74rem;color:#253f36}
.sb-diagnostic-scope p{margin:3px 0 0;color:#657970;font-size:.66rem;line-height:1.5}

/* Environnement et accessibilité  - palette contenue */
.sb-context-analysis-card{padding:22px 24px}
.sb-context-title-v25{margin-bottom:6px}
.sb-context-title-v25 h3{font-size:1.2rem}
.sb-context-intro{margin:0 0 16px;font-size:.82rem}
.sb-vigilance-badge{padding:8px 14px;background:#eef7f2!important;color:#0b654d!important;border:1px solid #d8e9e2;box-shadow:none}
.sb-vigilance-badge[data-level="moderate"]{background:#fff7e8!important;color:#8a5b0a!important;border-color:#f0ddb8}
.sb-vigilance-badge[data-level="high"]{background:#fff0ef!important;color:#9f4037!important;border-color:#e8c7c3}
.sb-context-grid{gap:12px}
.sb-context-item{min-height:130px;align-items:center;padding:18px 20px;border-color:#dce7e3;border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(14,53,43,.025)}
.sb-context-icon{width:48px;height:48px;flex-basis:48px;border-radius:50%;font-size:1.12rem;background:#edf5f2!important;color:#0d654e!important;border:1px solid #e2ece8}
.sb-context-icon.vigilance{background:#fff7e8!important;color:#a06a11!important;border-color:#f1dfbe}
.sb-context-item small{font-size:.69rem;color:#687b74}
.sb-context-item strong{font-size:1rem;color:#122e26}
.sb-context-item p{font-size:.76rem}
.sb-context-scope{margin-top:15px;padding-top:12px;border-top:1px solid #e4ece9;color:#677a73;font-size:.7rem}
.sb-context-scope::before{content:"i";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border:1px solid #9cb3aa;border-radius:50%;color:#4e6b61;font-size:.65rem;font-weight:900;vertical-align:middle}

/* GPS + démarches */
.sb-feature-grid{gap:16px}
.sb-feature-grid>.sb-card{padding:22px 24px}
.sb-feature-title-v25{margin-bottom:14px}
.sb-feature-title-v25 .sb-section-icon{width:46px;height:46px;flex-basis:46px;border-radius:50%;font-size:1.15rem}
.sb-feature-title-v25 h3{font-size:1.12rem}
.sb-feature-intro{margin:0 0 16px;font-size:.8rem;line-height:1.55}
.sb-gps-state{padding:7px 12px;background:#eef3f1;border:1px solid #e2e9e6;color:#516c62}
.sb-gps-result{min-height:82px;align-content:center;padding:14px 16px;background:#f9fbfa;border-color:#dde8e4}
.sb-gps-result strong{font-size:.88rem}
.sb-feature-actions{gap:10px;margin-top:14px}
.sb-feature-actions .sb-button{min-height:44px}
.sb-feature-note-callout{display:flex;align-items:flex-start;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid #e4ece9;color:#647871}
.sb-feature-note-callout>span{display:grid;place-items:center;flex:0 0 21px;width:21px;height:21px;border:1px solid #d3a540;border-radius:50%;color:#b2760f;font-size:.65rem;font-weight:900}
.sb-feature-note-callout small{font-size:.69rem;line-height:1.5}
.sb-admin-checklist-card .sb-inline-form{gap:10px}
.sb-admin-checklist-card .sb-field{margin-bottom:0}
.sb-admin-checklist-card .sb-field select{height:45px;border-radius:11px}
.sb-admin-checklist-card #generateChecklistButton{min-height:45px}
.sb-checklist-empty-v25{min-height:150px;display:grid;place-items:center;align-content:center;gap:5px;border:1px dashed #d8e3df;border-radius:14px;background:#fbfcfc!important;color:#697c75!important}
.sb-checklist-empty-v25>span{font-size:2rem;color:#a8b7b2}
.sb-checklist-empty-v25>strong{font-size:.82rem;color:#32483f}
.sb-checklist-empty-v25>small{font-size:.7rem}
.sb-procedure-summary{background:#f8fbfa;border-color:#dce7e3}

/* Services proches + itinéraires */
.sb-nearby-card{padding:22px 24px}
.sb-nearby-toolbar{grid-template-columns:minmax(0,1fr) 170px;gap:18px}
.sb-nearby-categories{gap:8px}
.sb-nearby-categories button{position:relative;min-height:42px;padding:8px 13px;border-radius:10px;border-color:#dbe5e1;background:#fff;color:#314940;font-size:.72rem}
.sb-nearby-categories button::before{display:inline-block;margin-right:7px;color:#0d624c;font-weight:900}
.sb-nearby-categories button[data-nearby-category="health"]::before{content:"♡"}
.sb-nearby-categories button[data-nearby-category="education"]::before{content:"◇"}
.sb-nearby-categories button[data-nearby-category="market"]::before{content:"▱"}
.sb-nearby-categories button[data-nearby-category="transport"]::before{content:"▤"}
.sb-nearby-categories button[data-nearby-category="security"]::before{content:"▽"}
.sb-nearby-categories button[data-nearby-category="public"]::before{content:"▥"}
.sb-nearby-categories button.active{background:#f2f8f5;border-color:#75aa98;color:#0b5c47}
.sb-radius-field{margin-bottom:0}
.sb-nearby-status{margin:11px 0 2px;color:#60756e}
.sb-route-planner{margin-top:18px;padding-top:18px}
.sb-route-form{grid-template-columns:minmax(0,1fr) 190px auto;gap:12px}
.sb-route-form .sb-field{margin-bottom:0}
.sb-route-form input,.sb-route-form select{height:46px!important}
.sb-nearby-info{display:flex;align-items:flex-start;gap:11px;margin-top:16px;padding:12px 14px;border:1px solid #d8e8e1;border-radius:12px;background:#f4faf7}
.sb-nearby-info>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#e5f3ed;color:#0d654e;font-weight:900}
.sb-nearby-info div{display:grid;gap:2px}
.sb-nearby-info strong{font-size:.72rem;color:#2a453b}
.sb-nearby-info small{font-size:.66rem;line-height:1.45;color:#687b74}

/* Contrôles techniques */
.sb-control-summary-card{padding:22px 24px}
.sb-control-summary-card .sb-section-title{margin-bottom:6px}
.sb-control-summary-intro{margin:0 0 16px;font-size:.78rem}
.sb-check-controls{gap:12px 16px}
.sb-check-control{min-height:94px;padding:14px 15px;border-color:#dce6e2;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(14,53,43,.02)}
.sb-check-control-icon{width:34px;height:34px;border:1px solid #9bcbb9;background:#f0f8f4!important;color:#0c7155!important}
.sb-check-control.warning .sb-check-control-icon{border-color:#e1bd73;background:#fff8e9!important;color:#a36a0b!important}
.sb-check-control.error .sb-check-control-icon{border-color:#dfaaaa;background:#fff3f3!important;color:#a23d35!important}
.sb-check-control strong{font-size:.82rem;color:#18382f}
.sb-check-control small{font-size:.68rem;line-height:1.45}
.sb-check-control>b{max-width:150px;padding:7px 10px;border-radius:10px;background:#f0f7f3;color:#0e674f;font-size:.7rem;white-space:normal;line-height:1.35}
.sb-check-control.warning>b{background:#fff7e7;color:#8a5c0c}
.sb-check-control.error>b{background:#fff0ef;color:#9d3e36}

/* Synthèse + géométrie + comparaison */
.sb-summary-card-v25{grid-template-columns:auto minmax(0,1fr) 190px;align-items:center;gap:18px;padding:24px 28px;background:linear-gradient(120deg,#0a523f 0%,#083f34 100%);border-color:#0b4a3b;box-shadow:0 12px 30px rgba(6,47,38,.14)}
.sb-summary-card-v25 .sb-summary-icon{align-self:start;width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.1)}
.sb-summary-card-v25 h3{font-size:1.1rem}
.sb-summary-card-v25 p{color:#d6e5df;font-size:.8rem;line-height:1.65}
.sb-summary-score{display:grid;place-items:center;align-content:center;width:170px;height:170px;margin-left:auto;border:7px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.12);text-align:center}
.sb-summary-score>span{font-size:1.5rem;color:#fff}
.sb-summary-score strong{margin-top:3px;color:#fff;font-size:2rem;line-height:1}
.sb-summary-score small{max-width:110px;margin-top:7px;color:#c6dcd4;font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;line-height:1.3}
.sb-detail-grid{gap:16px}
.sb-detail-grid>.sb-card{padding:22px 24px}
.sb-detail-title-v25{margin-bottom:10px}
.sb-detail-title-v25 .sb-section-icon{width:38px;height:38px;flex-basis:38px;border-radius:11px}
.sb-key-value{align-items:center;min-height:48px;padding:9px 0;gap:16px}
.sb-key-label{display:flex!important;align-items:center;gap:10px;color:#60736c!important}
.sb-key-label>i{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#eef6f2;color:#0d654e;font-style:normal;font-weight:850}
.sb-key-label>span{font-size:.72rem}
.sb-key-value strong{color:#162d26;font-size:.74rem}

/* Détails techniques et expertise : même langage visuel */
.sb-technical-details{box-shadow:0 6px 20px rgba(13,54,43,.025)}
.sb-expert-card{border-color:#dce6e2;box-shadow:0 8px 24px rgba(13,54,43,.035)}
.sb-legal-callout{border-color:#eadfbe;background:#fffaf0}

/* Responsive V45.8.25 */
@media(max-width:1100px){
  .sb-result-grid-v25{grid-template-columns:1fr}
  .sb-diagnosis-card-v25{min-height:auto}
  .sb-location-overview{grid-template-columns:repeat(3,1fr)}
  .sb-location-overview>div:nth-child(4),.sb-location-overview>div:nth-child(5){border-top:1px solid #e6eeeb}
  .sb-location-overview>div:nth-child(4){border-left:0}
  .sb-summary-card-v25{grid-template-columns:auto 1fr 150px}
  .sb-summary-score{width:135px;height:135px}
}
@media(max-width:900px){
  .sb-map-title-row{align-items:flex-start;flex-direction:column}
  .sb-localisation-card .sb-map-tools{width:100%;justify-content:flex-start}
  .sb-location-overview{grid-template-columns:1fr 1fr}
  .sb-location-overview>div{border-top:0!important;border-left:0!important}
  .sb-location-overview>div:nth-child(even){border-left:1px solid #e6eeeb!important}
  .sb-location-overview>div:nth-child(n/**/+3){border-top:1px solid #e6eeeb!important}
  .sb-context-grid{grid-template-columns:1fr 1fr}
  .sb-route-form{grid-template-columns:1fr 160px}
  .sb-route-form .sb-button{grid-column:1/-1}
  .sb-summary-card-v25{grid-template-columns:auto 1fr}
  .sb-summary-score{grid-column:1/-1;width:100%;height:auto;min-height:92px;border-radius:18px;border-width:1px;grid-template-columns:auto auto auto;gap:10px;padding:12px 18px;justify-content:center}
  .sb-summary-score strong{font-size:1.5rem}.sb-summary-score small{max-width:none;margin-top:0}
}
@media(max-width:700px){
  .sb-localisation-card,.sb-diagnosis-card-v25,.sb-context-analysis-card,.sb-feature-grid>.sb-card,.sb-nearby-card,.sb-control-summary-card,.sb-detail-grid>.sb-card{padding:16px}
  .sb-section-icon{width:36px;height:36px;flex-basis:36px}
  .sb-location-overview{grid-template-columns:1fr 1fr}
  .sb-localisation-card .sb-map{min-height:300px}
  .sb-reference-layer-toggles{display:grid;grid-template-columns:1fr 1fr}
  .sb-reference-layer-toggles label>span{width:100%}
  .sb-context-grid{grid-template-columns:1fr}
  .sb-context-item{min-height:auto}
  .sb-nearby-toolbar,.sb-route-form{grid-template-columns:1fr}
  .sb-nearby-categories{display:grid;grid-template-columns:1fr 1fr}
  .sb-nearby-categories button{width:100%;text-align:left}
  .sb-check-controls{grid-template-columns:1fr}
  .sb-check-control{grid-template-columns:auto 1fr}
  .sb-check-control>b{grid-column:2;justify-self:start;max-width:100%;text-align:left}
  .sb-summary-card-v25{grid-template-columns:1fr;padding:20px}
  .sb-summary-card-v25 .sb-summary-icon{display:none}
  .sb-summary-score{grid-column:auto}
}
@media(max-width:480px){
  .sb-location-overview{grid-template-columns:1fr}
  .sb-location-overview>div+div{border-left:0!important;border-top:1px solid #e6eeeb!important}
  .sb-reference-layer-toggles{grid-template-columns:1fr}
  .sb-nearby-categories{grid-template-columns:1fr}
  .sb-summary-score{grid-template-columns:1fr;gap:4px}
  .sb-key-value{grid-template-columns:1fr!important}
  .sb-key-value strong{text-align:left!important;max-width:100%!important;padding-left:40px}
}


/* V45.8.26  - sélection multiple des services proches */
.sb-nearby-choice-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#405b52;font-size:.72rem;font-weight:750}
.sb-nearby-choice-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sb-nearby-text-action{border:0;background:transparent;color:#0b654e;font:inherit;font-size:.68rem;font-weight:800;cursor:pointer;padding:3px 5px;border-radius:6px}
.sb-nearby-text-action:hover,.sb-nearby-text-action:focus-visible{background:#edf6f2;outline:none}
.sb-nearby-text-action:disabled{color:#8aa097;cursor:default;background:transparent}
.sb-nearby-text-action[hidden]{display:none!important}
.sb-nearby-selection-hint{display:block;margin-top:7px;color:#7a8a84;font-size:.66rem;line-height:1.35}
.sb-nearby-categories button{padding-left:11px}
.sb-nearby-categories button.active::after{content:"✓";display:inline-grid;place-items:center;margin-left:8px;width:17px;height:17px;border-radius:50%;background:#0d654e;color:#fff;font-size:.58rem;font-weight:900;vertical-align:middle}
.sb-nearby-categories button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(13,101,78,.05)}
.sb-nearby-item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.sb-nearby-category-badge{display:inline-flex;align-items:center;max-width:100%;padding:2px 7px;border-radius:999px;background:#edf6f2;color:#0c624b;font-size:.58rem;font-weight:800;font-style:normal;white-space:nowrap}
@media(max-width:620px){.sb-nearby-choice-head{align-items:flex-start;flex-direction:column}.sb-nearby-choice-actions{width:100%}.sb-nearby-text-action{padding-left:0}.sb-nearby-category-badge{white-space:normal}}

/* V45.8.27  - lecture automatique de proximité et d'accessibilité */
.sb-proximity-reading{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;align-items:start;margin-top:18px;padding:16px 18px;border:1px solid #d8e5e0;border-radius:14px;background:#f8fbfa;color:#243f36}
.sb-proximity-reading-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e7f3ee;color:#0c614b;font-weight:900;font-style:normal}
.sb-proximity-reading>div{display:grid;gap:5px;min-width:0}
.sb-proximity-reading small{font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#5d746b}
.sb-proximity-reading strong{font-size:.98rem;line-height:1.25;color:#123e33}
.sb-proximity-reading p{margin:0;font-size:.82rem;line-height:1.62;color:#526b62}
.sb-proximity-reading-advice{margin-top:4px!important;padding-top:9px;border-top:1px solid #e1eae6;font-size:.75rem!important;color:#63776f!important}
.sb-proximity-reading[data-level="attention"]{border-color:#ead9b7;background:#fffaf0}
.sb-proximity-reading[data-level="attention"] .sb-proximity-reading-icon{background:#f7eedb;color:#8b650d}
.sb-proximity-reading[data-level="limited"]{background:#fafbfa}
@media(max-width:620px){.sb-proximity-reading{grid-template-columns:32px minmax(0,1fr);padding:13px}.sb-proximity-reading-icon{width:32px;height:32px}.sb-proximity-reading p{font-size:.78rem}}


/* V45.8.31 - Vérifications administratives statiques, sans cases à cocher */
.sb-inline-form-single{grid-template-columns:minmax(0,1fr)!important}
.sb-procedure-recommendations{margin-top:.75rem;padding:.8rem .85rem;border-top:1px solid #dce7e3;background:transparent!important;color:#2a463d!important}
.sb-procedure-recommendations>b{display:block;color:#173b32;font-size:.82rem;margin-bottom:.18rem}
.sb-procedure-recommendations>small{display:block;color:#6b7e77;font-size:.7rem;line-height:1.45;margin-bottom:.55rem}
.sb-procedure-recommendations ol{counter-reset:sb-admin-check;margin:.15rem 0 0;padding:0;display:grid;gap:.45rem;list-style:none}
.sb-procedure-recommendations li{counter-increment:sb-admin-check;position:relative;padding:.58rem .68rem .58rem 2.35rem;border:1px solid #e0e9e5;border-radius:10px;background:#fff;color:#263f37;font-size:.79rem;line-height:1.4}
.sb-procedure-recommendations li::before{content:counter(sb-admin-check);position:absolute;left:.65rem;top:.53rem;display:grid;place-items:center;width:1.18rem;height:1.18rem;border-radius:50%;background:#e7f3ee;color:#0f5f49;font-size:.66rem;font-weight:850}
@media (max-width:680px){.sb-procedure-recommendations li{padding-left:2.2rem}.sb-procedure-recommendations{padding:.72rem}}

/* V45.8.36  - vérification publique et cryptographique des rapports */
.sb-auth-report-page{max-width:1120px;margin:0 auto;padding:32px 20px 56px;color:#17231f}.sb-auth-report-shell{background:#fff;border:1px solid #d8e2de;border-radius:24px;padding:28px;box-shadow:0 18px 45px rgba(20,55,45,.07)}.sb-auth-report-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;border-bottom:1px solid #e3ebe8}.sb-auth-report-brand img{width:210px;max-width:42vw;height:auto}.sb-auth-report-status{display:flex;align-items:center;gap:12px;border:1px solid #cfe1d9;background:#f4faf7;border-radius:16px;padding:12px 16px;min-width:270px}.sb-auth-report-status small,.sb-auth-grid small,.sb-auth-facts small{display:block;color:#63736d;font-size:.78rem;margin-bottom:3px}.sb-auth-report-status strong{display:block;color:#0b5d46}.sb-auth-report-status.revoked{background:#fff8e8;border-color:#efd69c}.sb-auth-report-status.revoked strong{color:#8a5a00}.sb-auth-report-status.invalid{background:#fff3f2;border-color:#efcbc7}.sb-auth-report-status.invalid strong{color:#a82b20}.sb-auth-status-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e2f1ea;color:#0b5d46;font-weight:900;font-size:1.15rem}.sb-auth-report-intro{padding:26px 0 18px}.sb-auth-report-intro h1{font-size:clamp(1.65rem,4vw,2.45rem);margin:5px 0 8px;color:#123c32;letter-spacing:-.02em}.sb-auth-report-intro p{max-width:820px;color:#5e6d67;line-height:1.65;margin:0}.sb-section-kicker{font-weight:850;letter-spacing:.12em;color:#0b5d46;font-size:.76rem}.sb-auth-alert{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;margin-bottom:18px}.sb-auth-alert.revoked{background:#fff7e6;border:1px solid #ecd49f;color:#6f4d06}.sb-auth-alert.invalid{background:#fdecec;border:1px solid #efc6c2;color:#8f231a}.sb-auth-grid,.sb-auth-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #d8e2de;border-radius:16px;overflow:hidden}.sb-auth-grid>div,.sb-auth-facts>div{padding:14px 16px;min-width:0;border-right:1px solid #e1e9e6;border-bottom:1px solid #e1e9e6}.sb-auth-grid strong,.sb-auth-facts strong{overflow-wrap:anywhere}.sb-auth-grid>div:nth-child(3n),.sb-auth-facts>div:nth-child(3n){border-right:0}.sb-auth-summary,.sb-auth-file-check{margin-top:26px;padding-top:2px}.sb-auth-section-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.sb-auth-section-head>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#0b5d46;color:#fff;font-weight:900}.sb-auth-section-head small{font-size:.72rem;letter-spacing:.1em;color:#0b5d46;font-weight:850}.sb-auth-section-head h2{margin:2px 0 0;font-size:1.2rem;color:#173c32}.sb-auth-note,.sb-auth-security-note{margin:12px 0 0;padding:13px 15px;border-radius:13px;background:#f3f8f6;color:#53665f;line-height:1.55}.sb-auth-file-check>p{color:#52645d;line-height:1.6}.sb-auth-file-picker{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 15px;border:1px dashed #aabdb6;border-radius:14px;background:#fafcfb;font-weight:800}.sb-auth-file-picker input{max-width:100%;font:inherit}.sb-auth-file-result{margin-top:12px;padding:13px 15px;border-radius:13px;background:#f4f7f6;color:#53615c;display:flex;flex-direction:column;gap:3px}.sb-auth-file-result.valid{background:#eaf6f0;color:#0b5d46;border:1px solid #bedfce}.sb-auth-file-result.invalid{background:#fff0ef;color:#9b2c22;border:1px solid #efc7c3}.sb-auth-hash{margin-top:12px}.sb-auth-hash summary{cursor:pointer;color:#0b5d46;font-weight:750}.sb-auth-hash code{display:block;margin-top:8px;padding:10px;border-radius:10px;background:#f5f7f6;overflow-wrap:anywhere;font-size:.76rem}.sb-auth-security-note{margin-top:24px;border-left:4px solid #0b5d46}.sb-auth-security-note p{margin:5px 0 0}.sb-auth-actions{display:flex;justify-content:flex-end;margin-top:22px}.sb-auth-actions .sb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:13px;text-decoration:none}.sb-auth-actions .sb-btn-primary{background:#0b5d46;color:#fff;font-weight:800}
@media (max-width:760px){.sb-auth-report-page{padding:16px 10px 34px}.sb-auth-report-shell{padding:18px;border-radius:18px}.sb-auth-report-header{align-items:flex-start;flex-direction:column}.sb-auth-report-status{width:100%;min-width:0}.sb-auth-grid,.sb-auth-facts{grid-template-columns:1fr 1fr}.sb-auth-grid>div:nth-child(3n),.sb-auth-facts>div:nth-child(3n){border-right:1px solid #e1e9e6}.sb-auth-grid>div:nth-child(2n),.sb-auth-facts>div:nth-child(2n){border-right:0}.sb-auth-file-picker{align-items:flex-start;flex-direction:column}.sb-auth-actions .sb-btn{width:100%}}@media (max-width:430px){.sb-auth-grid,.sb-auth-facts{grid-template-columns:1fr}.sb-auth-grid>div,.sb-auth-facts>div{border-right:0!important}}


/* V1.2.4  - partage et responsive, interface française uniquement */
.sb-menu-tools{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}
.sb-share-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 10px;border:1px solid #d7e5df;border-radius:10px;background:#fff;color:var(--sb-green-800);font:inherit;font-size:.76rem;font-weight:800;white-space:nowrap;cursor:pointer}
.sb-share-trigger:hover{background:var(--sb-green-50);border-color:#bfd8ce}
.sb-share-dialog{width:min(620px,calc(100vw - 28px));max-width:620px;padding:0;border:0;border-radius:22px;background:transparent;box-shadow:none}
.sb-share-dialog::backdrop{background:rgba(5,35,29,.46);backdrop-filter:blur(3px)}
.sb-share-card{margin:0;padding:22px;border:1px solid #dbe8e3;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(6,47,37,.24)}
.sb-share-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.sb-share-head h2{margin:.15rem 0 .35rem;color:var(--sb-green-900);font-size:1.45rem}.sb-share-head p{margin:0;color:#61736d}
.sb-share-close{width:38px;height:38px;flex:0 0 38px;border:1px solid #d9e6e1;border-radius:999px;background:#f8fbfa;color:var(--sb-green-900);font-size:1.4rem;cursor:pointer}
.sb-share-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.sb-share-grid a,.sb-share-grid button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;border:1px solid #d5e5de;border-radius:12px;background:#f8fbfa;color:var(--sb-green-800);font:inherit;font-size:.82rem;font-weight:850;text-decoration:none;cursor:pointer}.sb-share-grid a:hover,.sb-share-grid button:hover{background:#eaf5f1;border-color:#abcfc1}
.sb-share-copy-status{min-height:22px;margin-top:10px;color:var(--sb-green-700);font-size:.78rem;font-weight:800;text-align:center}

/* Garde-fous responsives globaux. */
html,body{max-width:100%;overflow-x:hidden}.sb-shell,.sb-main,.sb-content,.sb-panel,.sb-card,.sb-workspace,.sb-topbar,.sb-topbar-actions,.sb-result-grid,.sb-map-card,.sb-legal-card{min-width:0;max-width:100%}
img,svg,video{max-width:100%;height:auto}.sb-topbar-actions>*{min-width:0}.sb-button,.sb-home-nav-link,input,select,textarea{max-width:100%}
pre,code{overflow-wrap:anywhere}.sb-table-wrap,.sb-scroll-x{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.sb-topbar,.sb-appbar,.sb-topbar-actions,.sb-home-menu,.sb-page-nav,.sb-menu-tools{min-width:0}
.sb-appbar{height:auto;min-height:82px;flex-wrap:wrap;row-gap:10px}
.sb-appbar .sb-topbar-actions{flex:1 1 760px;justify-content:flex-end;flex-wrap:wrap;row-gap:8px}
.sb-appbar .sb-topbar-actions>*{min-width:0}.sb-appbar .sb-app-menu-panel{max-width:min(92vw,320px)}
@media(max-width:1180px){.sb-appbar{padding-top:10px;padding-bottom:10px}.sb-appbar .sb-topbar-actions{flex-basis:100%;width:100%;justify-content:flex-start}.sb-appbar .sb-system-pill{order:20}.sb-appbar .sb-subscription-pill{order:21;flex:1 1 210px}.sb-appbar .sb-user-avatar{margin-inline-start:auto}}
@media(max-width:900px){.sb-menu-tools{gap:4px}.sb-tool-label{display:none}.sb-share-trigger{width:38px;padding:0}.sb-appbar .sb-system-pill{display:none}.sb-appbar .sb-topbar-actions{gap:6px}.sb-appbar .sb-menu-tools{order:1}.sb-appbar .sb-app-menu{order:2}.sb-appbar .sb-subscription-pill{order:10;flex:1 1 190px;max-width:none}.sb-appbar .sb-notification-button{order:3}.sb-appbar #historyToggle{order:4}.sb-appbar .sb-user-avatar{order:5;margin-inline-start:0}.sb-appbar .sb-topbar-actions>form[action*="logout"]{order:6}}
@media(max-width:760px){.sb-share-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-share-card{padding:18px}.sb-share-head h2{font-size:1.2rem}.sb-panel,.sb-card{overflow-wrap:anywhere}table{font-size:.78rem}}
@media(max-width:680px){.sb-topbar.sb-appbar{align-items:center;padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right))}.sb-appbar .sb-brand{flex:1 1 auto;min-width:0}.sb-appbar .sb-logo{max-width:116px}.sb-appbar .sb-topbar-actions{display:flex!important;align-items:center;width:100%;flex-basis:100%;gap:6px}.sb-appbar .sb-menu-tools{display:flex;flex:0 0 40px;width:40px}.sb-appbar .sb-share-trigger{width:40px;min-width:40px;padding:0}.sb-appbar .sb-app-menu{flex:0 0 auto}.sb-appbar .sb-subscription-pill{order:20;flex:1 1 100%;width:100%;display:flex;justify-content:space-between;gap:10px}.sb-appbar .sb-user-avatar{display:none}.sb-appbar .sb-button,.sb-appbar .sb-notification-button,.sb-appbar .sb-app-menu summary{min-height:40px}.sb-page-nav,.sb-home-menu{flex-wrap:wrap;width:100%}.sb-page-nav>*{min-width:0;flex:1 1 145px}}
@media(max-width:520px){.sb-share-dialog{width:calc(100vw - 18px)}.sb-share-card{padding:16px;border-radius:18px}.sb-share-grid{grid-template-columns:1fr 1fr;gap:8px}.sb-share-grid a,.sb-share-grid button{min-height:44px;font-size:.76rem}.sb-menu-tools{gap:3px}}
@media(max-width:430px){.sb-home-header{align-items:flex-start;flex-wrap:wrap;height:auto;min-height:72px;padding-top:10px;padding-bottom:10px}.sb-home-brand{min-width:0;flex:1 1 150px}.sb-home-menu{flex:1 1 100%;width:100%;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.sb-home-menu .sb-menu-tools{grid-column:1/-1!important;width:100%!important;justify-content:flex-end}.sb-home-menu>a,.sb-home-menu>form{min-width:0;width:100%}.sb-home-menu .sb-button,.sb-home-menu .sb-home-nav-link{width:100%;justify-content:center;text-align:center}.sb-appbar .sb-app-menu summary,.sb-appbar #historyToggle,.sb-appbar .sb-button{padding-inline:10px}.sb-appbar .sb-subscription-pill{font-size:.73rem}.sb-page-nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.sb-page-nav .sb-menu-tools{grid-column:1/-1!important;width:100%!important;justify-content:flex-end}}
@media(max-width:380px){.sb-share-grid{grid-template-columns:1fr}.sb-share-trigger{width:34px;min-height:34px}}
@media(max-width:350px){.sb-home-menu,.sb-page-nav{grid-template-columns:1fr!important}.sb-home-menu .sb-menu-tools,.sb-page-nav .sb-menu-tools{grid-column:auto!important}.sb-appbar .sb-topbar-actions{align-items:stretch}}

/* Sama Suuf 1.2.5  - lecture grand public et interaction résultats ↔ carte */
.sb-map-linked{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.sb-map-linked:hover{border-color:#93c7b5;box-shadow:0 8px 22px rgba(11,86,65,.08)}
.sb-map-linked:focus-visible{outline:3px solid rgba(15,118,89,.2);outline-offset:2px}
.sb-map-linked-active{border-color:#0f7659!important;box-shadow:0 0 0 3px rgba(15,118,89,.12),0 8px 22px rgba(11,86,65,.08)!important}
.sb-map-link-label{display:inline-flex;align-items:center;gap:4px;margin-top:5px;color:#0c6d52!important;font-size:.63rem!important;font-style:normal;font-weight:800}
.sb-map-link-label::before{content:"⌖";font-size:.72rem}
.sb-diagnostic-item.sb-map-linked{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:7px 9px 7px 18px;border-radius:9px}
.sb-diagnostic-item.sb-map-linked .sb-map-link-label{white-space:nowrap}
.sb-check-control .sb-map-link-label{display:flex}
.sb-map-interaction-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:9px 2px 0;color:#62766e;font-size:.68rem}
.sb-map-back-button,.sb-nearby-map-action{border:0;background:transparent;color:#0b6b51;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sb-map-back-button{white-space:nowrap}
.sb-map-engine-private{display:none!important}
.sb-score-ring[data-status="coherent"] strong{color:#0f7659}.sb-score-ring[data-status="attention"] strong{color:#94610c}.sb-score-ring[data-status="incoherent"] strong{color:#a13c3c}
.sb-user-vs-result-note{display:flex;align-items:center;gap:12px;margin:14px 0 -2px;padding:11px 14px;border:1px solid #dfe9e5;border-radius:13px;background:#f8fbfa;color:#587068;font-size:.72rem}
.sb-user-vs-result-note strong{color:#173a30;font-size:.75rem}.sb-user-vs-result-note span{line-height:1.45}
.sb-context-item[hidden]{display:none!important}
.sb-nearby-item{cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.sb-nearby-item:hover,.sb-nearby-item.active{border-color:#92c7b5;background:#f8fcfa;box-shadow:0 0 0 3px rgba(15,118,89,.08)}
.sb-nearby-item-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.sb-map-marker-focus{animation:sb-marker-pulse .75s ease-in-out 2}
@keyframes sb-marker-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}

@media(max-width:700px){
  .sb-map-interaction-bar{align-items:flex-start;flex-direction:column;padding:2px 2px 4px}
  .sb-map-back-button{min-height:36px;padding:0}
  .sb-diagnostic-item.sb-map-linked{grid-template-columns:1fr}
  .sb-diagnostic-item.sb-map-linked .sb-map-link-label{justify-self:start}
  .sb-user-vs-result-note{align-items:flex-start;flex-direction:column;gap:3px}
  .sb-nearby-item-actions{width:100%;justify-content:flex-start}
  .sb-nearby-map-action{min-height:38px;padding:0 4px}
}


/* Sama Suuf 1.2.6  - cartographie enrichie, marqueurs métiers et navigation proximité */
.sb-map-tool-button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 11px;border:1px solid #cfe0d9;border-radius:10px;background:#fff;color:#0b624c;font:inherit;font-size:.7rem;font-weight:850;cursor:pointer;white-space:nowrap;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.sb-map-tool-button:hover,.sb-map-tool-button:focus-visible{background:#edf7f3;border-color:#8fc4b1;outline:none}.sb-map-tool-button:active{transform:translateY(1px)}
.sb-map-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sb-service-map-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}.sb-service-legend-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #e0e9e5;border-radius:999px;background:#fff;color:#526a61;font-size:.61rem;font-weight:750}.sb-service-legend-chip i{width:9px;height:9px;border-radius:50%;background:var(--service-color,#0d6b52);box-shadow:0 0 0 3px color-mix(in srgb,var(--service-color,#0d6b52) 14%,transparent)}.sb-service-legend-chip b{color:#183d33}
.sb-leaflet-service-marker{background:transparent!important;border:0!important}.sb-service-pin{position:relative;display:grid;place-items:start center;width:40px;height:48px;filter:drop-shadow(0 4px 5px rgba(6,45,36,.28));transform-origin:50% 100%;transition:transform .18s ease,filter .18s ease}.sb-service-pin::before{content:"";position:absolute;inset:2px 4px 6px;border:3px solid #fff;border-radius:52% 52% 55% 55%/46% 46% 66% 66%;background:var(--service-color,#0d6b52);clip-path:polygon(0 0,100% 0,100% 76%,50% 100%,0 76%)}.sb-service-pin>span{position:relative;z-index:2;display:grid;place-items:center;width:22px;height:22px;margin-top:9px;border-radius:50%;background:#fff;color:var(--service-color,#0d6b52);font-size:8px;font-weight:950;letter-spacing:-.03em}.sb-leaflet-service-marker.is-active .sb-service-pin{transform:scale(1.2) translateY(-2px);filter:drop-shadow(0 7px 8px rgba(6,45,36,.38))}.sb-leaflet-service-marker.is-active .sb-service-pin::after{content:"";position:absolute;left:50%;bottom:0;width:32px;height:10px;border-radius:50%;background:color-mix(in srgb,var(--service-color,#0d6b52) 26%,transparent);transform:translate(-50%,55%);animation:sb-service-halo .85s ease-out 2}@keyframes sb-service-halo{0%{opacity:.85;transform:translate(-50%,55%) scale(.4)}100%{opacity:0;transform:translate(-50%,55%) scale(1.65)}}
.sb-google-place-popup,.sb-leaflet-place-popup{display:grid;gap:3px;min-width:160px;max-width:230px;padding:2px 1px;color:#173b32}.sb-google-place-popup strong,.sb-leaflet-place-popup strong{font-size:.8rem;line-height:1.25}.sb-google-place-popup span,.sb-leaflet-place-popup span{color:#0d6b52;font-size:.68rem;font-weight:850}.sb-google-place-popup small,.sb-leaflet-place-popup small{color:#657a72;font-size:.67rem;line-height:1.35}
.sb-nearby-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:11px 0 8px}.sb-nearby-status-row .sb-nearby-status{margin:0}.sb-nearby-navigator{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:3px;border:1px solid #d8e5e0;border-radius:999px;background:#fff}.sb-nearby-navigator button{display:grid;place-items:center;width:31px;height:31px;border:0;border-radius:50%;background:#edf7f3;color:#0b624c;font:inherit;font-size:1.05rem;font-weight:900;cursor:pointer}.sb-nearby-navigator button:hover,.sb-nearby-navigator button:focus-visible{background:#dff1e9;outline:none}.sb-nearby-navigator span{min-width:52px;text-align:center;color:#506a60;font-size:.65rem;font-weight:850}
.sb-nearby-list{gap:10px}.sb-nearby-item{position:relative;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;overflow:hidden;padding:13px 14px;border-radius:15px;background:#fff}.sb-nearby-item::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--service-color,#0d6b52);opacity:.9}.sb-nearby-card-icon{display:grid!important;place-items:center!important;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--service-color,#0d6b52) 10%,white);color:var(--service-color,#0d6b52);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--service-color,#0d6b52) 20%,transparent)}.sb-nearby-card-icon>span{font-size:.67rem!important;font-weight:950!important;color:inherit!important}.sb-nearby-item-copy{display:grid!important;gap:3px!important}.sb-nearby-category-badge{background:color-mix(in srgb,var(--service-color,#0d6b52) 9%,white);color:var(--service-color,#0d6b52);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--service-color,#0d6b52) 14%,transparent)}.sb-nearby-item:hover,.sb-nearby-item.active{border-color:color-mix(in srgb,var(--service-color,#0d6b52) 52%,#dce8e4);background:color-mix(in srgb,var(--service-color,#0d6b52) 3%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--service-color,#0d6b52) 10%,transparent),0 10px 24px rgba(11,86,65,.07)}.sb-nearby-item.active::before{width:6px}.sb-nearby-item.active .sb-nearby-card-icon{transform:scale(1.06)}
.sb-nearby-map-action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--service-color,#0d6b52) 25%,#d7e4df);border-radius:10px;background:#fff;color:var(--service-color,#0d6b52);text-decoration:none}.sb-nearby-map-action::before{content:"⌖";margin-right:5px}.sb-nearby-map-action:hover{background:color-mix(in srgb,var(--service-color,#0d6b52) 7%,white)}
.sb-nearby-item .sb-button-ghost{min-height:36px;border-radius:10px}
.sb-leaflet-borne span{position:relative;width:32px;height:32px;border:3px solid #fff;background:linear-gradient(145deg,#0f7659,#084c3b);box-shadow:0 4px 12px rgba(5,54,41,.3),0 0 0 3px rgba(15,118,89,.12)}.sb-leaflet-borne span::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(15,118,89,.2);border-radius:50%}
@media(max-width:900px){.sb-service-map-legend{margin-left:0;width:100%}.sb-nearby-item{grid-template-columns:42px minmax(0,1fr)}.sb-nearby-item-actions{grid-column:1/-1;padding-left:53px;justify-content:flex-start}}
@media(max-width:620px){.sb-map-tool-button{flex:1 1 auto;justify-content:center}.sb-nearby-status-row{align-items:flex-start;flex-direction:column}.sb-nearby-navigator{align-self:flex-end}.sb-nearby-item{grid-template-columns:38px minmax(0,1fr);padding:12px 11px}.sb-nearby-card-icon{width:34px;height:34px;border-radius:10px}.sb-nearby-item-actions{padding-left:49px;width:100%;display:grid;grid-template-columns:1fr 1fr}.sb-nearby-item-actions .sb-button,.sb-nearby-map-action{width:100%}.sb-service-legend-chip{font-size:.58rem}}
@media(max-width:430px){.sb-nearby-item-actions{grid-template-columns:1fr;padding-left:0}.sb-nearby-item{grid-template-columns:34px minmax(0,1fr)}.sb-nearby-card-icon{width:32px;height:32px}.sb-map-tools{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.sb-basemap-switch{grid-column:1/-1}.sb-map-status{grid-column:1/-1}.sb-button-map,.sb-map-tool-button{width:100%;justify-content:center}}

/* ==========================================================
   SAMA SUUF  - réorganisation compacte du parcours de vérification
   Conserve le socle fonctionnel et réduit les redondances visuelles.
   ========================================================== */

/* En-tête et saisie : plus dense sans perdre les explications utiles */
.sb-app-main{padding-top:14px}
.sb-dashboard-welcome{margin-bottom:12px;gap:20px}
.sb-dashboard-welcome h1{margin:5px 0 4px;font-size:clamp(1.45rem,2.15vw,2.05rem)}
.sb-dashboard-welcome p{max-width:760px;font-size:.82rem;line-height:1.45}
.sb-welcome-note{padding:10px 12px;border-radius:14px}
.sb-stepper{margin-bottom:12px;padding:8px 12px;border-radius:15px}
.sb-step{padding:6px 9px}
.sb-panel-head{padding:16px 18px}
.sb-panel-head p{margin-top:4px}



.sb-upload-card,.sb-plan-card{padding:17px 18px}
.sb-card-title{margin-bottom:12px}
.sb-import-quality-note{padding:10px 12px}
.sb-import-quality-note p{line-height:1.45}
.sb-dropzone{min-height:150px;padding:17px}
.sb-drop-icon{width:38px;height:38px;margin-bottom:6px;border-radius:12px}
.sb-upload-card .sb-button{margin-top:8px}
.sb-reference-box{padding:11px 12px}
.sb-table-card{margin-top:12px}
.sb-table-head{padding:14px 16px}
.sb-coordinate-table th,.sb-coordinate-table td{padding-top:9px;padding-bottom:9px}
.sb-example-note{padding:8px 12px}
.sb-action-bar{padding:10px 12px}

/* Résultat : aperçu rapide plus compact */
.sb-result-header{padding:16px 18px}
.sb-result-header h2{margin-top:4px}
.sb-result-overview{grid-template-columns:minmax(255px,.72fr) minmax(0,1.75fr);gap:10px;margin-top:10px}
.sb-score-card{gap:12px;padding:12px 14px;border-radius:16px}
.sb-score-ring{width:62px;height:62px;flex-basis:62px;box-shadow:inset 0 0 0 8px #fff}
.sb-score-ring strong{font-size:1rem}
.sb-score-card>div:last-child>strong{font-size:.9rem}
.sb-score-card>div:last-child>span{font-size:.66rem}
.sb-global-verdict{margin-top:5px!important;padding:4px 7px!important;font-size:.58rem!important}
.sb-metrics{gap:8px}
.sb-metric{padding:12px 13px;border-radius:15px}
.sb-metric-icon{right:10px;top:10px;width:25px;height:25px}
.sb-metric small{font-size:.62rem}
.sb-metric strong{margin:3px 0 2px;font-size:.88rem}
.sb-metric>span:last-child{font-size:.62rem}

/* Synthèse unique : remplace le grand bandeau circulaire redondant */
.sb-result-summary-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:12px;padding:13px 15px;border:1px solid #cfe2da;border-radius:16px;background:linear-gradient(135deg,#f4faf7,#fff);box-shadow:0 5px 18px rgba(13,54,43,.035)}
.sb-result-summary-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e8f5ef;color:#0a6b50;font-size:1rem;font-weight:900}
.sb-result-summary-copy{min-width:0}
.sb-result-summary-copy .sb-eyebrow{font-size:.58rem}
.sb-result-summary-copy>strong{display:block;margin:2px 0 2px;color:#143a30;font-size:.84rem}
.sb-result-summary-copy p{margin:0;color:#5e746c;font-size:.7rem;line-height:1.4}
.sb-result-summary-status{display:grid;gap:2px;min-width:116px;padding:8px 10px;border-radius:11px;background:#0b5d49;color:#fff;text-align:center}
.sb-result-summary-status small{color:#bcd9ce;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.sb-result-summary-status strong{font-size:.82rem;line-height:1.25}

/* Carte + diagnostic : priorité à l'essentiel */
.sb-result-grid-v25{margin-top:12px;grid-template-columns:minmax(0,1.62fr) minmax(300px,.55fr);gap:12px}
.sb-localisation-card,.sb-diagnosis-card-v25{padding:15px;border-radius:17px}
.sb-localisation-card .sb-map-title-row{margin-bottom:10px}
.sb-section-icon{width:36px;height:36px;flex-basis:36px;border-radius:11px}
.sb-localisation-card .sb-map{min-height:360px}
.sb-location-overview{margin-bottom:9px;border-radius:12px}
.sb-location-overview>div{padding:9px 11px}
.sb-location-overview small{font-size:.56rem}
.sb-location-overview strong{font-size:.7rem}
.sb-localisation-card .sb-map-tools{gap:6px}
.sb-localisation-card .sb-basemap-switch button{min-height:32px;padding:5px 9px}
.sb-localisation-card .sb-map-status,.sb-localisation-card .sb-button-map,.sb-map-tool-button{min-height:32px;padding:5px 9px;font-size:.65rem}
.sb-reference-layer-panel{margin-top:8px;padding:10px 11px}
.sb-reference-layer-toggles{margin-top:7px}
.sb-reference-layer-toggles label>span{min-height:31px;padding-top:5px;padding-bottom:5px;font-size:.63rem}

.sb-map-territory-fold{margin-top:8px;border:1px solid #dde8e3;border-radius:11px;background:#fbfdfc;overflow:hidden}
.sb-map-territory-fold>summary{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:9px 11px;cursor:pointer;list-style:none;color:#27463c}
.sb-map-territory-fold>summary::-webkit-details-marker{display:none}
.sb-map-territory-fold>summary span{font-size:.68rem;font-weight:800}
.sb-map-territory-fold>summary small{grid-column:1;color:#75867f;font-size:.59rem}
.sb-map-territory-fold>summary::after{content:"⌄";grid-column:2;grid-row:1/3;color:#0d684f;font-weight:900;transition:transform .16s ease}
.sb-map-territory-fold[open]>summary::after{transform:rotate(180deg)}
.sb-map-territory-fold .sb-admin-territory-block{margin:0;padding:0 10px 10px;border:0;background:transparent}
.sb-map-territory-fold .sb-location-grid>div{padding:8px 9px}
.sb-map-territory-fold .sb-admin-confirmation-note{margin:8px 0 0;font-size:.6rem;line-height:1.4}

.sb-diagnosis-card-v25 .sb-section-title{margin-bottom:8px}
.sb-diagnostic-global{padding:11px 12px;border-radius:12px}
.sb-diagnostic-global strong{font-size:.82rem}
.sb-diagnostic-global p{margin-left:29px;font-size:.65rem;line-height:1.4}
.sb-diagnosis-card-v25 .sb-diagnostic-group{margin-top:8px;padding:10px 11px;border-radius:12px}
.sb-diagnosis-card-v25 .sb-diagnostic-list{gap:5px}
.sb-diagnosis-card-v25 .sb-diagnostic-item{padding-left:16px;font-size:.65rem;line-height:1.38}
.sb-diagnostic-more{margin-top:5px;padding:6px 8px;border-radius:8px;background:#edf5f1;color:#547067;font-size:.6rem;line-height:1.35}
.sb-diagnostic-group[hidden]{display:none!important}

/* Accordéons de résultat : les sections secondaires n'occupent plus la page entière */
.sb-result-fold{margin-top:10px;border:1px solid #dbe6e1;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(13,54,43,.025);overflow:hidden}
.sb-result-fold>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:12px 14px;cursor:pointer;list-style:none;user-select:none}
.sb-result-fold>summary::-webkit-details-marker{display:none}
.sb-result-fold>summary::after{content:"⌄";display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#f0f6f3;color:#0c624c;font-size:.72rem;font-weight:900;transition:transform .18s ease,background .18s ease}
.sb-result-fold[open]>summary::after{transform:rotate(180deg);background:#e5f3ed}
.sb-result-fold[open]>summary{border-bottom:1px solid #e6eeeb;background:#fbfdfc}
.sb-fold-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf6f2;color:#0c684f;font-weight:900}
.sb-fold-copy{display:grid;min-width:0;gap:2px}
.sb-fold-copy strong{color:#173a30;font-size:.78rem}
.sb-fold-copy small{overflow:hidden;color:#71827c;font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}
.sb-fold-badge{max-width:160px;padding:6px 9px;border-radius:999px;background:#eef6f2;color:#0d674f;font-size:.62rem;line-height:1.2;text-align:center}
.sb-fold-body{padding:12px 14px 14px}
.sb-fold-body>.sb-card,.sb-fold-body>.sb-nearby-card,.sb-fold-body>.sb-context-analysis-card{margin:0;border:0;box-shadow:none}

/* Contrôles techniques : lignes plus denses */
.sb-control-summary-card{padding:0}
.sb-control-summary-intro{margin:0 0 10px;font-size:.68rem}
.sb-check-controls{gap:8px 10px}
.sb-check-control{min-height:70px;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:9px 10px;border-radius:11px}
.sb-check-control-icon{width:28px;height:28px;font-size:.72rem}
.sb-check-control strong{font-size:.73rem}
.sb-check-control small{display:-webkit-box;margin-top:2px;overflow:hidden;font-size:.61rem;line-height:1.32;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sb-check-control>b{max-width:130px;padding:5px 7px;border-radius:8px;font-size:.61rem}
.sb-check-control .sb-map-link-label{margin-top:2px!important;font-size:.56rem!important}

/* Mesures et comparaison : deux colonnes denses et sans texte introductif répété */
.sb-detail-grid-compact{margin:0;gap:10px}
.sb-detail-grid-compact>.sb-card{padding:12px 14px;border:1px solid #e0e9e5;border-radius:13px;background:#fff}
.sb-detail-grid-compact .sb-detail-title-v25{margin-bottom:5px}
.sb-detail-grid-compact .sb-section-icon{width:30px;height:30px;flex-basis:30px}
.sb-detail-grid-compact .sb-key-value{min-height:38px;padding:6px 0}
.sb-detail-grid-compact .sb-key-label>i{width:25px;height:25px;flex-basis:25px;border-radius:7px;font-size:.68rem}
.sb-detail-grid-compact .sb-key-label>span,.sb-detail-grid-compact .sb-key-value strong{font-size:.65rem}

/* Environnement : 4 lectures courtes au lieu de grandes cartes */
.sb-context-analysis-card{padding:0}
.sb-context-intro{margin:0 0 10px;font-size:.68rem}
.sb-context-fold .sb-context-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sb-context-fold .sb-context-item{min-height:86px;align-items:flex-start;gap:9px;padding:10px;border-radius:11px;box-shadow:none}
.sb-context-fold .sb-context-icon{width:31px;height:31px;flex-basis:31px;font-size:.74rem}
.sb-context-fold .sb-context-item small{font-size:.57rem}
.sb-context-fold .sb-context-item strong{font-size:.7rem;line-height:1.25}
.sb-context-fold .sb-context-item p{display:-webkit-box;margin-top:2px;overflow:hidden;font-size:.6rem;line-height:1.32;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.sb-context-fold .sb-proximity-reading{grid-template-columns:30px minmax(0,1fr);gap:9px;margin-top:9px;padding:10px 11px}
.sb-context-fold .sb-proximity-reading-icon{width:28px;height:28px}
.sb-context-fold .sb-context-scope{margin-top:9px;padding-top:8px;font-size:.61rem}
.sb-context-fold .sb-vigilance-badge{padding:6px 9px;font-size:.62rem}

/* Services de proximité : le choix reste riche, l'itinéraire devient secondaire */
.sb-nearby-card{padding:0}
.sb-nearby-card .sb-feature-intro{margin:0 0 10px;font-size:.68rem}
.sb-nearby-toolbar{gap:12px}
.sb-nearby-categories{gap:7px}
.sb-nearby-categories button{min-height:38px;padding:7px 10px;font-size:.66rem}
.sb-nearby-status{margin-top:8px;font-size:.68rem}
.sb-nearby-list{margin-top:8px}
.sb-route-fold{margin-top:10px;border-top:1px solid #e4ece9}
.sb-route-fold>summary{padding:10px 2px 4px;cursor:pointer;color:#0b634c;font-size:.68rem;font-weight:800}
.sb-route-fold .sb-route-planner{margin-top:4px;padding-top:8px}
.sb-nearby-info{margin-top:10px;padding:9px 11px}

/* Outils complémentaires et informations pro */
.sb-tools-fold .sb-feature-grid{margin-top:0;gap:10px}
.sb-tools-fold .sb-feature-grid>.sb-card{padding:13px 14px;border-radius:13px}
.sb-tools-fold .sb-feature-intro{margin:5px 0 9px;font-size:.66rem;line-height:1.4}
.sb-tools-fold .sb-gps-result{padding:10px 11px}
.sb-tools-fold .sb-feature-note{margin-top:8px}
.sb-technical-details-inline{margin-top:10px;box-shadow:none}

/* Expertise et portée : une seule conclusion, compacte */
.sb-expert-card-compact{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;margin-top:10px;padding:14px 16px;border-radius:15px}
.sb-expert-card-compact .sb-expert-icon{width:38px;height:38px}
.sb-expert-card-compact .sb-expert-copy h3{margin:2px 0 3px;font-size:.82rem}
.sb-expert-card-compact .sb-expert-copy p{margin:0;color:#647871;font-size:.65rem;line-height:1.4}
.sb-expert-card-compact .sb-expert-basis{margin-top:4px;font-size:.56rem}
.sb-expert-card-compact .sb-expert-suggestions{margin-top:5px}
.sb-legal-callout-compact{margin-top:8px;padding:10px 12px;border-radius:12px}
.sb-legal-callout-compact p{margin-top:2px;font-size:.62rem;line-height:1.4}

/* Responsive */
@media(max-width:1100px){
  .sb-result-overview{grid-template-columns:1fr}
  .sb-context-fold .sb-context-grid{grid-template-columns:1fr 1fr}
  .sb-result-grid-v25{grid-template-columns:1fr}
}
@media(max-width:760px){
  .sb-dashboard-welcome{gap:10px}
  .sb-welcome-note{display:none}
  .sb-result-summary-strip{grid-template-columns:auto minmax(0,1fr)}
  .sb-result-summary-status{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-width:0;text-align:left}
  .sb-result-summary-status strong{font-size:.75rem}
  .sb-result-fold>summary{grid-template-columns:auto minmax(0,1fr) auto;padding:11px 12px}
  .sb-result-fold>summary::after{grid-column:3;grid-row:1}
  .sb-fold-badge{grid-column:2/4;grid-row:2;justify-self:start;max-width:100%;margin-top:-3px}
  .sb-fold-copy small{white-space:normal;line-height:1.3}
  .sb-fold-body{padding:10px 11px 12px}
  .sb-context-fold .sb-context-grid{grid-template-columns:1fr}
  .sb-check-controls{grid-template-columns:1fr}
  .sb-check-control{grid-template-columns:auto minmax(0,1fr)}
  .sb-check-control>b{grid-column:2;justify-self:start;max-width:100%}
  .sb-detail-grid-compact{grid-template-columns:1fr}
  .sb-expert-card-compact{grid-template-columns:auto 1fr}
  .sb-expert-card-compact .sb-expert-actions{grid-column:1/-1}
  .sb-expert-card-compact .sb-expert-actions .sb-button{width:100%}
}
@media(max-width:480px){
  .sb-app-main{padding-top:10px}
  .sb-dashboard-welcome h1{font-size:1.42rem}
  .sb-dashboard-welcome p{font-size:.74rem}
  .sb-result-header,.sb-panel-head{padding:14px}
  .sb-score-card{grid-template-columns:auto 1fr}
  .sb-score-ring{width:54px;height:54px;flex-basis:54px}
  .sb-metrics{grid-template-columns:1fr 1fr}
  .sb-metric:last-child{grid-column:1/-1}
  .sb-result-summary-strip{padding:11px 12px}
  .sb-result-summary-mark{display:none}
  .sb-result-summary-strip{grid-template-columns:1fr}
  .sb-result-summary-status{grid-column:auto}
  .sb-localisation-card,.sb-diagnosis-card-v25{padding:12px}
  .sb-localisation-card .sb-map{min-height:285px}
  .sb-location-overview{grid-template-columns:1fr 1fr}
  .sb-location-overview>div{padding:8px 9px}
  .sb-result-fold{border-radius:13px}
  .sb-fold-icon{width:31px;height:31px}
}

/* Synthèse rédactionnelle V1.2.5  - conclusion unique, complète et sans redondance */
.sb-result-summary-strip{align-items:start;padding:16px 17px}
.sb-result-summary-copy>strong{margin:3px 0 5px;font-size:.92rem}
.sb-result-summary-copy p{max-width:1120px;color:#526b62;font-size:.74rem;line-height:1.62}
.sb-result-summary-status{align-self:center}
.sb-result-summary-strip[data-status="attention"]{border-color:#ead6aa;background:linear-gradient(135deg,#fffaf0,#fff)}
.sb-result-summary-strip[data-status="attention"] .sb-result-summary-mark{background:#fff1d5;color:#95630a}
.sb-result-summary-strip[data-status="attention"] .sb-result-summary-status{background:#8a5d0b}
.sb-result-summary-strip[data-status="incoherent"]{border-color:#e8c9c6;background:linear-gradient(135deg,#fff6f5,#fff)}
.sb-result-summary-strip[data-status="incoherent"] .sb-result-summary-mark{background:#fde8e6;color:#a23f37}
.sb-result-summary-strip[data-status="incoherent"] .sb-result-summary-status{background:#963e38}
.sb-result-summary-strip[data-status="pending"] .sb-result-summary-status{background:#63766f}

.sb-summary-attention{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin-top:9px;padding:12px 14px;border:1px solid #ead8b7;border-radius:14px;background:#fffaf1}
.sb-summary-attention[hidden]{display:none!important}
.sb-summary-attention-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#fff0d3;color:#8f5f0c;font-weight:950}
.sb-summary-attention>div>strong{display:block;color:#6e4b0e;font-size:.78rem}
.sb-summary-attention>div>p{margin:2px 0 8px;color:#806d4c;font-size:.63rem;line-height:1.4}
.sb-summary-attention-list{display:grid;gap:6px}
.sb-summary-attention-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;width:100%;padding:7px 9px;border:1px solid #efdfc1;border-radius:9px;background:#fff;color:#4d4433;text-align:left;font:inherit;cursor:pointer}
.sb-summary-attention-item>span:first-child{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff1d7;color:#8d5d0b;font-size:.6rem;font-weight:950}
.sb-summary-attention-item>span:nth-child(2){font-size:.65rem;line-height:1.45}
.sb-summary-attention-item small{padding-top:2px;color:#0b684f;font-size:.58rem;font-weight:800;white-space:nowrap}
.sb-summary-attention-item:hover,.sb-summary-attention-item:focus-visible{border-color:#d7be8d;outline:none;box-shadow:0 0 0 2px rgba(157,109,22,.08)}

.sb-essential-facts-card{align-self:start}
.sb-essential-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.sb-essential-fact{display:grid;gap:3px;min-width:0;padding:10px 11px;border:1px solid #e0e9e5;border-radius:11px;background:#fbfdfc}
.sb-essential-fact small{color:#71827b;font-size:.58rem;font-weight:750;text-transform:uppercase;letter-spacing:.025em}
.sb-essential-fact strong{overflow:hidden;color:#173b31;font-size:.74rem;line-height:1.3;text-overflow:ellipsis}
.sb-essential-fact:last-child{grid-column:1/-1}
.sb-essential-facts-note{margin:8px 0 0;padding-top:8px;border-top:1px solid #e7eeeb;color:#71827c;font-size:.61rem;line-height:1.45}
.sb-legacy-diagnostic-hooks[hidden],#positivesList[hidden],#warningsList[hidden],#blockingList[hidden]{display:none!important}

@media(max-width:760px){
  .sb-result-summary-copy p{font-size:.7rem;line-height:1.55}
  .sb-summary-attention-item{grid-template-columns:auto minmax(0,1fr)}
  .sb-summary-attention-item small{grid-column:2;white-space:normal}
}
@media(max-width:480px){
  .sb-result-summary-strip{padding:12px}
  .sb-result-summary-copy>strong{font-size:.84rem}
  .sb-result-summary-copy p{font-size:.68rem;line-height:1.52}
  .sb-summary-attention{grid-template-columns:1fr;padding:11px 12px}
  .sb-summary-attention-icon{display:none}
  .sb-essential-facts{grid-template-columns:1fr 1fr}
  .sb-essential-fact{padding:8px 9px}
}

/* V1.2.6 - inscription : bouton toujours atteignable et erreurs visibles. */
.sb-auth-main-register{align-items:start;place-items:start center;padding-top:28px;padding-bottom:28px}
.sb-auth-card-register{width:min(620px,100%);padding:28px 30px}
.sb-register-form{display:grid;gap:12px;margin-top:18px}
.sb-register-form .sb-auth-alert{margin:0}
.sb-register-two-col,.sb-register-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sb-register-field{display:grid;align-content:start;gap:6px;min-width:0}
.sb-register-field label{font-size:.75rem;font-weight:750}
.sb-register-field input{width:100%;height:46px;padding:0 12px;border:1px solid #d5e0dc;border-radius:12px;background:#fff;outline:0}
.sb-register-field input:focus{border-color:#76b6a0;box-shadow:0 0 0 3px rgba(33,144,110,.09)}
.sb-register-field.has-error input{border-color:#d88181;background:#fffafa}
.sb-register-help{color:var(--sb-muted);font-size:.66rem;line-height:1.45;overflow-wrap:anywhere}
.sb-register-help ul{margin:0;padding-left:17px}
.sb-register-error{padding:7px 9px;border-radius:9px;background:#fff0f0;color:#a43f3f;font-size:.69rem;line-height:1.4}
.sb-register-submit{margin-top:2px}
.sb-register-form .sb-auth-privacy{margin:0;text-align:center;color:var(--sb-muted);font-size:.69rem;line-height:1.5}
@media(max-width:760px){
  .sb-auth-main-register{align-items:start;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}
  .sb-auth-card-register{padding:22px 18px}
  .sb-register-two-col,.sb-register-password-grid{grid-template-columns:1fr}
  .sb-register-form{gap:11px}
}

/* Les règles de choix du mode de saisie sont désormais centralisées dans sama_suuf_input_simple_v2.css. */



/* Conseil compact et dépliable : l'utilisateur atteint plus vite l'action. */
details.sb-import-quality-note{display:block}.sb-import-quality-note summary{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;list-style:none;cursor:pointer}.sb-import-quality-note summary::-webkit-details-marker{display:none}.sb-import-quality-note summary>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f4dfaa;color:#77530d;font-size:.7rem;font-weight:900}.sb-import-quality-note summary strong{min-width:0;line-height:1.4}.sb-import-quality-note summary em{color:#8b6b27;font-size:.61rem;font-style:normal;font-weight:850;white-space:nowrap}.sb-import-quality-note[open] summary em{font-size:0}.sb-import-quality-note[open] summary em::after{content:"Réduire";font-size:.61rem}.sb-import-quality-note>p{margin:9px 0 0 34px!important;color:#6f5a2f;font-size:.66rem;line-height:1.5}

/* Une seule vraie zone d'import, explicitement présentée comme une action. */
.sb-dropzone{gap:2px}.sb-file-picker{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin-top:7px;padding:8px 15px;border-radius:11px;background:var(--sb-green-900);color:#fff;font-size:.72rem;font-weight:850;box-shadow:0 7px 16px rgba(10,59,49,.12)}.sb-dropzone:hover .sb-file-picker{background:var(--sb-green-800)}
.sb-selected-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #cce3da;border-radius:15px;background:linear-gradient(135deg,#f0f9f5,#fff)}.sb-selected-file[hidden]{display:none}.sb-selected-file-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#dff2ea;color:var(--sb-green-700);font-weight:950}.sb-selected-file-copy{display:grid;min-width:0}.sb-selected-file-copy strong{overflow:hidden;color:#183b31;font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}.sb-selected-file-copy small{margin-top:2px;color:#71837c;font-size:.64rem}.sb-selected-file-actions{display:flex;gap:6px}.sb-selected-file-actions .sb-button{min-height:36px;padding:7px 9px;font-size:.66rem}.sb-upload-actions[hidden]{display:none}.sb-upload-card.has-file .sb-import-quality-note{margin-bottom:11px}

/* Aide du système de coordonnées moins envahissante. */
details.sb-reference-box{display:block}.sb-reference-box summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;list-style:none;cursor:pointer}.sb-reference-box summary::-webkit-details-marker{display:none}.sb-reference-box summary>span:nth-child(2){display:grid;min-width:0}.sb-reference-box summary small{margin-top:2px;color:#71857d;font-size:.65rem}.sb-reference-box summary em{color:var(--sb-green-700);font-size:.61rem;font-style:normal;font-weight:850;white-space:nowrap}.sb-reference-box[open] summary em{font-size:0}.sb-reference-box[open] summary em::after{content:"Réduire";font-size:.61rem}.sb-reference-box>p{margin:9px 0 0 41px;color:#60736c;font-size:.69rem;line-height:1.5}


@media(min-width:1100px){
  
  
  
  
  .sb-coordinate-table th,.sb-coordinate-table td{padding-left:11px;padding-right:11px}
}

/* Tablette portrait : garder une seule colonne de blocs, mais exploiter la largeur pour les champs. */
@media(min-width:600px) and (max-width:820px){
  .sb-two-cols{grid-template-columns:1fr 1fr!important}
  .sb-step span{display:grid!important}.sb-step small{display:none}.sb-stepper{grid-template-columns:1fr 30px 1fr 30px 1fr}.sb-step{justify-content:flex-start}.sb-step strong{font-size:.72rem}
  .sb-panel-head h2{max-width:680px}.sb-badge{min-width:180px}
}


@media(min-width:821px) and (max-width:1099px){
  .sb-two-cols{grid-template-columns:1fr 1fr}.sb-dropzone{min-height:165px}.sb-selected-file{grid-template-columns:auto minmax(0,1fr)}.sb-selected-file-actions{grid-column:1/-1;justify-content:flex-end}
}


@media(max-width:599px){
  
  .sb-import-quality-note summary{grid-template-columns:24px minmax(0,1fr)}.sb-import-quality-note summary em{grid-column:2;justify-self:start;margin-top:-4px}.sb-import-quality-note>p{margin-left:34px!important}.sb-dropzone{min-height:155px;padding:16px 12px}.sb-drop-desktop{display:none}.sb-file-picker{min-height:44px;width:min(240px,100%);font-size:.76rem}.sb-file-types{font-size:.58rem}
  .sb-selected-file{grid-template-columns:auto minmax(0,1fr);padding:12px}.sb-selected-file-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}.sb-selected-file-actions .sb-button{min-height:44px;width:100%}
  .sb-upload-actions .sb-button{min-height:46px}.sb-reference-box summary{grid-template-columns:auto minmax(0,1fr)}.sb-reference-box summary em{grid-column:2;justify-self:start}.sb-reference-box>p{margin-left:40px}
  .sb-badge{min-width:0;max-width:48%;padding:7px 9px;font-size:.65rem;line-height:1.25;text-align:center}.sb-panel-head{gap:12px}.sb-panel-head>div{min-width:0}
  .sb-points-summary{line-height:1.25;text-align:center}.sb-action-readiness{line-height:1.35}
}

/* === Carte immersive / panneaux flottants (v1) === */
.sb-result-grid-v25{position:relative;grid-template-columns:1fr;gap:0}
.sb-localisation-card{position:relative;overflow:hidden;padding:18px;padding-bottom:16px;min-height:720px}
.sb-localisation-card .sb-section-title{position:relative;z-index:2}
#mapToolsDrawer[hidden],#referenceLayerPanel[hidden],#mapLegend[hidden],#resultDrawer[hidden]{display:none!important}
#mapToolsDrawer{position:absolute;top:88px;right:20px;z-index:9;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;max-width:min(520px,calc(100% - 40px));padding:12px 14px;border:1px solid #d8e3de;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(13,54,43,.12);backdrop-filter:blur(10px)}
.sb-location-overview{position:absolute;left:18px;right:18px;bottom:18px;z-index:8;margin-top:0;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(13,54,43,.12);backdrop-filter:blur(10px)}
#parcelMap.sb-map{min-height:620px;height:calc(100vh - 270px);max-height:920px;border-radius:24px}
.sb-map-interaction-bar{position:absolute;left:18px;right:18px;bottom:104px;z-index:8;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(13,54,43,.1)}
#referenceLayerPanel{position:absolute;top:160px;right:20px;z-index:10;width:min(360px,calc(100% - 40px));padding:16px;border:1px solid #d8e3de;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 12px 32px rgba(13,54,43,.12);backdrop-filter:blur(10px)}
#mapLegend{position:absolute;left:20px;bottom:184px;z-index:8;max-width:min(680px,calc(100% - 40px));padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(13,54,43,.12);backdrop-filter:blur(10px)}
#resultDrawer{position:absolute;top:62px;right:20px;z-index:11;width:min(385px,36vw);max-height:calc(100% - 140px);overflow:auto;padding:18px;border:1px solid #d8e3de;border-radius:22px;background:rgba(255,255,255,.98);box-shadow:0 16px 40px rgba(13,54,43,.14);backdrop-filter:blur(12px)}
.sb-map-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.sb-map-panel-close{flex:0 0 auto}
.sb-map-floating-actions{position:absolute;top:172px;right:20px;z-index:12;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.sb-map-fab{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 16px;border:1px solid #d8e3de;border-radius:999px;background:rgba(255,255,255,.96);color:#12342d;box-shadow:0 10px 26px rgba(13,54,43,.12);font:inherit;font-weight:800;cursor:pointer;backdrop-filter:blur(8px);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.sb-map-fab span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f0f6f3;color:#0d6f58;font-size:1rem}
.sb-map-fab:hover,.sb-map-fab:focus-visible{transform:translateY(-1px);box-shadow:0 14px 30px rgba(13,54,43,.16);border-color:#b8d1c7}
.sb-map-fab.is-active{background:#0f6c56;color:#fff;border-color:#0f6c56}
.sb-map-fab.is-active span{background:rgba(255,255,255,.16);color:#fff}
.sb-map-fab strong{font-size:.82rem;letter-spacing:-.01em}
#resultDrawer .sb-section-title{margin-bottom:8px}
#resultDrawer .sb-essential-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#resultDrawer .sb-essential-fact{padding:13px 12px;border-radius:14px;background:#f8fbfa;border:1px solid #e2ebe7}
#resultDrawer .sb-essential-facts-note{margin-top:10px}
#resultDrawer .sb-diagnostic-group{margin-top:10px}
#resultDrawer .sb-diagnostic-global{display:block!important}
.sb-map-overlay-backdrop{position:fixed;inset:0;z-index:10;background:rgba(7,24,20,.24)}
.sb-map-overlay-backdrop[hidden]{display:none!important}

@media (max-width:1099px){
  .sb-localisation-card{min-height:640px}
  #parcelMap.sb-map{height:62vh;min-height:440px}
  #resultDrawer{width:min(360px,42vw)}
}

@media (max-width:820px){
  .sb-localisation-card{padding:14px;min-height:unset}
  .sb-map-title-row{padding-right:0}
  #parcelMap.sb-map{height:58vh;min-height:360px;max-height:none;border-radius:20px}
  #mapToolsDrawer{top:auto;right:14px;left:14px;bottom:174px;max-width:none;justify-content:flex-start}
  .sb-map-floating-actions{top:104px;right:14px;gap:8px}
  .sb-map-fab{min-height:50px;padding:0 14px}
  .sb-map-fab strong{font-size:.76rem}
  #referenceLayerPanel{top:auto;right:14px;left:14px;bottom:174px;width:auto}
  #mapLegend{left:14px;right:14px;bottom:174px;max-width:none}
  #resultDrawer{position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;max-width:none;max-height:76vh;border-radius:22px 22px 0 0;padding:18px 16px 26px;z-index:30}
  #resultDrawer::before{content:"";display:block;width:64px;height:6px;margin:0 auto 12px;border-radius:999px;background:#d5dfda}
  .sb-location-overview{position:static;margin-top:12px;box-shadow:none;background:#fff}
  .sb-map-interaction-bar{position:static;margin-top:10px;background:#fff;box-shadow:none;padding:0}
  #mapLegend{position:fixed;left:12px;right:12px;bottom:90px;z-index:29}
  #referenceLayerPanel{position:fixed;left:12px;right:12px;bottom:90px;z-index:29}
  #mapToolsDrawer{position:fixed;left:12px;right:12px;bottom:90px;z-index:29}
}

@media (max-width:599px){
  .sb-localisation-card .sb-section-title p{display:none}
  .sb-map-floating-actions{top:86px;right:12px;gap:8px}
  .sb-map-fab{width:52px;min-width:52px;height:52px;padding:0;justify-content:center;border-radius:18px}
  .sb-map-fab strong{display:none}
  .sb-map-fab span{width:28px;height:28px;background:transparent}
  #parcelMap.sb-map{height:50vh;min-height:310px}
  #resultDrawer{max-height:78vh}
  #resultDrawer .sb-essential-facts{grid-template-columns:1fr 1fr}
}

/* ==========================================================
   CARTE IMMERSIVE V2 - maquette validée
   Carte dominante + boutons flottants + panneau à la demande
   ========================================================== */
body:has(#resultPanel.active) .sb-app-main{max-width:none;padding-left:16px;padding-right:16px;padding-top:12px}
#resultPanel.active>.sb-result-header,#resultPanel.active>.sb-result-overview,#resultPanel.active>.sb-result-summary-strip,#resultPanel.active>.sb-summary-attention{display:none!important}
#resultPanel.active .sb-result-grid-v25{margin-top:0}
.sb-map-immersive-card{position:relative;min-height:760px;padding:0!important;border-radius:26px!important;overflow:hidden!important;background:#e9efe9;box-shadow:0 18px 46px rgba(12,49,40,.12)!important}
.sb-map-immersive-card>.sb-map-title-row{position:absolute;top:18px;left:18px;z-index:7;margin:0;padding:10px 13px;border:1px solid rgba(215,227,221,.9);border-radius:15px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(13,54,43,.09);backdrop-filter:blur(10px)}
.sb-map-immersive-card>.sb-map-title-row .sb-section-icon{width:32px;height:32px}
.sb-map-immersive-card>.sb-map-title-row .sb-eyebrow{font-size:.58rem}
.sb-map-immersive-card>.sb-map-title-row h3{margin:1px 0 0;font-size:.82rem}
.sb-map-immersive-card>.sb-map-title-row p{display:none}
#parcelMap.sb-map{width:100%;height:calc(100vh - 112px);min-height:720px;max-height:980px;border:0!important;border-radius:0!important;background:#e8ebdf}

/* boutons verticaux, décalés à gauche du drawer pour ne jamais le recouvrir */
.sb-map-floating-actions{top:106px;right:22px;gap:11px;transition:right .2s ease}
.sb-map-immersive-card.has-result-drawer .sb-map-floating-actions{right:430px}
.sb-map-fab{min-width:140px;min-height:58px;padding:0 18px;border-radius:18px;background:rgba(255,255,255,.97);border-color:rgba(216,228,223,.96)}
.sb-map-fab span{width:34px;height:34px;font-size:1.05rem}
.sb-map-fab strong{font-size:.8rem}
.sb-map-fab.is-active{background:#12765c;border-color:#12765c}

/* drawer résultat fidèle à la maquette */
#resultDrawer{top:18px;right:18px;width:390px;max-height:calc(100% - 112px);padding:20px 20px 18px;border-radius:24px;background:rgba(255,255,255,.985);box-shadow:0 18px 50px rgba(8,47,40,.16);overflow:auto}
.sb-map-drawer-head{align-items:center;margin-bottom:14px}
.sb-map-drawer-head h3{margin:4px 0 0;font-size:1.08rem;letter-spacing:-.025em}
.sb-map-result-status{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid #dcebe5;border-radius:16px;background:linear-gradient(135deg,#eff9f5,#f9fcfb)}
.sb-map-result-status-icon{display:grid;place-items:center;width:34px;height:34px;border:2px solid #2a936e;border-radius:50%;color:#157455;font-weight:950}
.sb-map-result-status small,.sb-map-result-location small,.sb-map-result-geometry small,.sb-map-result-metric small{display:block;color:#71827c;font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.sb-map-result-status strong{display:block;margin-top:2px;color:#0d6b52;font-size:.86rem}
.sb-map-result-status p{margin:3px 0 0;color:#64776f;font-size:.65rem;line-height:1.4}
.sb-map-result-status[data-status="attention"]{border-color:#eadbbd;background:#fffaf1}.sb-map-result-status[data-status="attention"] .sb-map-result-status-icon{border-color:#d89a2c;color:#a4690b}
.sb-map-result-status[data-status="incoherent"]{border-color:#eccdca;background:#fff7f6}.sb-map-result-status[data-status="incoherent"] .sb-map-result-status-icon{border-color:#c86158;color:#a44239}
.sb-map-result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.sb-map-result-metric{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-height:86px;padding:12px;border:1px solid #e0e9e5;border-radius:15px;background:#fff}
.sb-map-result-metric>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#edf7f3;color:#117357;font-weight:900}
.sb-map-result-metric.is-declared>span,.sb-map-result-metric.is-difference>span{background:#fff3dc;color:#c87b0b}
.sb-map-result-metric strong{display:block;margin-top:2px;color:#163a31;font-size:.87rem;line-height:1.25}
.sb-map-result-metric em{display:block;margin-top:2px;color:#7a8a84;font-size:.58rem;font-style:normal}
.sb-map-result-location{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;margin-top:10px;padding:12px 13px;border:1px solid #e0e9e5;border-radius:15px;background:#fff}
.sb-map-result-location>span{color:#14775a;font-size:1.25rem}
.sb-map-result-location strong{display:block;margin-top:2px;color:#163a31;font-size:.83rem}.sb-map-result-location em{display:block;color:#7a8a84;font-size:.6rem;font-style:normal}
.sb-map-result-attention{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;margin-top:10px;padding:12px 13px;border:1px solid #eadfcb;border-radius:15px;background:#fffdf8;text-align:left;color:#95600c;font:inherit}
.sb-map-result-attention>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#fff1d8;font-weight:950}.sb-map-result-attention strong{font-size:.72rem}.sb-map-result-attention b{font-size:1.2rem}
.sb-map-result-geometry{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.sb-map-result-geometry>span{display:grid;gap:3px;padding:10px 12px;border-radius:13px;background:#f8fbfa;border:1px solid #e4ece8}.sb-map-result-geometry strong{font-size:.73rem;color:#174136}
.sb-map-result-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:9px;margin-top:13px}.sb-map-result-actions .sb-button{min-height:43px;padding:9px 10px;font-size:.7rem}

/* panneau contrôle / couches / filtres / légende */
#mapControlDrawer,#referenceLayerPanel,#mapFiltersDrawer,#mapLegend{z-index:14}
#mapControlDrawer,#mapFiltersDrawer{position:absolute;top:92px;right:22px;width:min(360px,calc(100% - 44px));padding:15px;border:1px solid #d8e4df;border-radius:19px;background:rgba(255,255,255,.98);box-shadow:0 16px 38px rgba(8,47,40,.14);backdrop-filter:blur(12px)}
.sb-map-immersive-card.has-result-drawer #mapControlDrawer,.sb-map-immersive-card.has-result-drawer #mapFiltersDrawer,.sb-map-immersive-card.has-result-drawer #referenceLayerPanel{right:430px}
.sb-map-mini-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.sb-map-mini-drawer-head>div{display:grid}.sb-map-mini-drawer-head strong{margin-top:2px;font-size:.86rem}
#referenceLayerPanel{top:92px;right:22px;width:360px}
#mapLegend{left:auto;right:22px;bottom:auto;top:92px;width:330px;max-width:calc(100% - 44px)}
.sb-map-immersive-card.has-result-drawer #mapLegend{right:430px}
.sb-map-filter-shortcuts{display:grid;gap:8px}.sb-map-filter-shortcuts button{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:1px;width:100%;padding:11px 12px;border:1px solid #e0e9e5;border-radius:13px;background:#fbfdfc;text-align:left;color:#173b31;font:inherit}.sb-map-filter-shortcuts button>span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#edf7f3;color:#117357;font-weight:900}.sb-map-filter-shortcuts strong{font-size:.72rem}.sb-map-filter-shortcuts small{color:#73847e;font-size:.6rem}

/* bandeau d'informations bas */
.sb-map-bottom-strip{position:absolute;left:18px;right:18px;bottom:18px;z-index:8;display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(5,minmax(110px,.75fr));align-items:stretch;overflow:hidden;border:1px solid rgba(216,228,223,.96);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 12px 34px rgba(8,47,40,.14);backdrop-filter:blur(12px)}
.sb-map-bottom-strip>div{display:grid;align-content:center;min-width:0;padding:12px 14px}.sb-map-bottom-strip>div+div{border-left:1px solid #e2ebe7}.sb-map-bottom-strip strong{overflow:hidden;color:#183a31;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.sb-map-bottom-strip small{margin-top:2px;color:#778781;font-size:.58rem}.sb-map-bottom-main{grid-template-columns:auto minmax(0,1fr);gap:10px}.sb-map-bottom-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#edf7f3;color:#107257;font-size:1rem}.sb-hidden-map-value{display:none!important}

/* interaction discrète au-dessus du bandeau */
.sb-map-interaction-bar{left:18px;right:18px;bottom:92px;padding:8px 11px;background:rgba(255,255,255,.88);border:1px solid rgba(220,231,226,.82);box-shadow:none}
.sb-map-territory-fold{position:relative;z-index:2;margin:12px 18px 18px;background:#fff}

@media(max-width:1180px){
  .sb-map-immersive-card.has-result-drawer .sb-map-floating-actions{right:390px}.sb-map-immersive-card.has-result-drawer #mapControlDrawer,.sb-map-immersive-card.has-result-drawer #mapFiltersDrawer,.sb-map-immersive-card.has-result-drawer #referenceLayerPanel,.sb-map-immersive-card.has-result-drawer #mapLegend{right:390px}
  #resultDrawer{width:350px}.sb-map-fab{min-width:124px}.sb-map-bottom-strip{grid-template-columns:minmax(190px,1.2fr) repeat(5,minmax(95px,.7fr))}
}

@media(max-width:900px){
  body:has(#resultPanel.active) .sb-app-main{padding-left:10px;padding-right:10px}
  .sb-map-immersive-card{min-height:650px;border-radius:20px!important}
  #parcelMap.sb-map{height:66vh;min-height:500px}
  .sb-map-immersive-card>.sb-map-title-row{top:12px;left:12px;padding:8px 10px}
  .sb-map-floating-actions{top:84px;right:12px!important;gap:8px}
  .sb-map-fab{min-width:52px;width:52px;height:52px;padding:0;justify-content:center;border-radius:17px}.sb-map-fab strong{display:none}.sb-map-fab span{background:transparent}
  #resultDrawer{position:fixed;z-index:40;left:12px;right:12px;bottom:10px;top:auto;width:auto;max-width:none;max-height:66vh;border-radius:24px;padding:16px 16px 20px}
  #resultDrawer::before{content:"";display:block;width:58px;height:5px;margin:0 auto 10px;border-radius:999px;background:#d3ddd9}
  #mapControlDrawer,#referenceLayerPanel,#mapFiltersDrawer,#mapLegend{position:fixed;z-index:39;left:12px!important;right:12px!important;top:auto!important;bottom:18px!important;width:auto!important;max-width:none!important}
  .sb-map-bottom-strip{left:12px;right:12px;bottom:12px;grid-template-columns:1.4fr repeat(3,1fr)}
  .sb-map-bottom-strip>div:nth-child(5),.sb-map-bottom-strip>div:nth-child(6){display:none}.sb-map-bottom-strip>div{padding:10px 11px}.sb-map-bottom-strip strong{font-size:.67rem}.sb-map-interaction-bar{display:none}
}

@media(max-width:599px){
  body:has(#resultPanel.active) .sb-app-main{padding:0}
  .sb-map-immersive-card{border-radius:0!important;border-left:0!important;border-right:0!important;min-height:calc(100vh - 66px)}
  .sb-map-immersive-card>.sb-map-title-row{display:none}
  #parcelMap.sb-map{height:58vh;min-height:390px}
  .sb-map-floating-actions{top:16px;right:10px!important}
  .sb-map-fab{width:48px;min-width:48px;height:48px;border-radius:16px}
  #resultDrawer{left:8px;right:8px;bottom:6px;max-height:69vh;padding:14px 13px 18px}
  .sb-map-drawer-head h3{font-size:1rem}.sb-map-result-status{padding:12px}.sb-map-result-status p{display:none}
  .sb-map-result-metric{min-height:76px;padding:10px}.sb-map-result-metric>span{width:27px;height:27px}.sb-map-result-metric strong{font-size:.78rem}.sb-map-result-metric em{font-size:.54rem}
  .sb-map-result-location{padding:10px 11px}.sb-map-result-geometry{display:none}
  .sb-map-result-actions{grid-template-columns:1fr 1.15fr}.sb-map-result-actions .sb-button{font-size:.65rem}
  .sb-map-bottom-strip{display:none}
  .sb-map-territory-fold{margin:10px}
}

/* ==========================================================
   CARTE IMMERSIVE V3 - architecture modulaire
   Tous les panneaux sont repliés par défaut.
   Les anciens accordéons sont déplacés dans les drawers.
   ========================================================== */
#resultDrawer[hidden],#mapControlDrawer[hidden],#referenceLayerPanel[hidden],#mapExplorerDrawer[hidden],#mapLegend[hidden]{display:none!important}

/* Aucun bouton sélectionné au chargement ; indicateur discret si un nouveau résultat existe. */
.sb-map-fab{position:relative}
.sb-map-fab-indicator{display:none;position:absolute;top:7px;right:8px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#e39a19;box-shadow:0 2px 7px rgba(105,64,0,.25)}
.sb-map-fab.has-update .sb-map-fab-indicator{display:block}

/* Un seul drawer latéral : les boutons se décalent uniquement lorsqu'un panneau est réellement ouvert. */
.sb-map-immersive-card.has-side-drawer .sb-map-floating-actions{right:450px}
#mapControlDrawer,#mapExplorerDrawer,#referenceLayerPanel,#mapLegend,#resultDrawer{z-index:16}
#mapControlDrawer,#mapExplorerDrawer{position:absolute;top:18px;right:18px;width:min(410px,calc(100% - 36px));max-height:calc(100% - 110px);overflow:auto;padding:17px;border:1px solid #d8e4df;border-radius:22px;background:rgba(255,255,255,.985);box-shadow:0 18px 48px rgba(8,47,40,.16);backdrop-filter:blur(12px)}
.sb-map-immersive-card.has-side-drawer #mapControlDrawer,.sb-map-immersive-card.has-side-drawer #mapExplorerDrawer,.sb-map-immersive-card.has-side-drawer #referenceLayerPanel,.sb-map-immersive-card.has-side-drawer #mapLegend{right:18px}
#referenceLayerPanel{top:18px;right:18px;width:390px;max-height:calc(100% - 110px);overflow:auto;padding:17px;border-radius:22px;background:rgba(255,255,255,.985);box-shadow:0 18px 48px rgba(8,47,40,.16)}
#mapLegend{top:18px;right:18px;left:auto;bottom:auto;width:350px;max-width:calc(100% - 36px);padding:17px;border-radius:22px;background:rgba(255,255,255,.985);box-shadow:0 18px 48px rgba(8,47,40,.16)}
.sb-map-legend-items{display:flex;flex-wrap:wrap;gap:9px 14px}.sb-map-legend-items>span{display:inline-flex;align-items:center;gap:6px}

/* Contenu des modules déplacés depuis la page vers les panneaux. */
.sb-map-module-host{display:grid;gap:10px;margin-top:13px}
.sb-map-module-detail{margin:0!important;border:1px solid #e1eae6!important;border-radius:15px!important;background:#fbfdfc!important;box-shadow:none!important}
.sb-map-module-detail+ .sb-map-module-detail{margin-top:0!important}
.sb-map-module-detail>summary{min-height:58px;padding:11px 12px!important;border-radius:14px!important;background:#fbfdfc!important}
.sb-map-module-detail[open]>summary{border-bottom:1px solid #e1eae6;border-radius:14px 14px 0 0!important}
.sb-map-module-detail>.sb-fold-body{padding:12px!important;background:#fff}
.sb-map-module-detail .sb-fold-copy strong{font-size:.72rem}.sb-map-module-detail .sb-fold-copy small{font-size:.58rem}
.sb-map-module-detail .sb-fold-badge,.sb-map-module-detail .sb-vigilance-badge{font-size:.57rem}
#controlFeatureHost .sb-feature-grid{grid-template-columns:1fr!important}
#controlFeatureHost .sb-card,#explorerEnvironmentHost .sb-context-analysis-card,#explorerNearbyHost .sb-nearby-card,#resultAdvancedHost .sb-card{box-shadow:none!important}

/* Explorer : environnement et services/itinéraires dans le même panneau. */
.sb-map-explorer-tabs{display:grid;grid-template-columns:1fr 1.35fr;gap:7px;margin:8px 0 12px;padding:5px;border-radius:13px;background:#edf4f1}
.sb-map-explorer-tabs button{min-height:39px;padding:7px 10px;border:0;border-radius:10px;background:transparent;color:#526c63;font:inherit;font-size:.66rem;font-weight:850;cursor:pointer}
.sb-map-explorer-tabs button.is-active{background:#fff;color:#0d6d54;box-shadow:0 4px 14px rgba(13,54,43,.08)}
[data-explorer-host][hidden]{display:none!important}
#mapExplorerDrawer .sb-context-grid{grid-template-columns:1fr!important}
#mapExplorerDrawer .sb-nearby-toolbar{grid-template-columns:1fr!important}

/* Résultats détaillés intégrés dans le drawer, plus de gros accordéons sous la carte. */
#resultAdvancedHost{display:grid;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid #e3ebe7}
#resultAdvancedHost:empty{display:none}
#resultDrawer{max-height:calc(100% - 36px)}

/* Panneau Contrôle : outils cartographiques + GPS/document déplacés. */
#mapControlDrawer .sb-map-tools{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:12px;border-bottom:1px solid #e3ebe7}
#mapControlDrawer .sb-technical-details-inline{margin-top:10px}

/* La zone sous la carte ne contient plus les cinq cartes fonctionnelles déplacées. */
#resultPanel.active>.sb-result-fold{margin-top:0}

@media(max-width:1180px){
  .sb-map-immersive-card.has-side-drawer .sb-map-floating-actions{right:410px}
  #mapControlDrawer,#mapExplorerDrawer{width:370px}
  #referenceLayerPanel{width:350px}
}

@media(max-width:900px){
  .sb-map-immersive-card.has-side-drawer .sb-map-floating-actions{right:12px}
  #resultDrawer,#mapControlDrawer,#mapExplorerDrawer,#referenceLayerPanel,#mapLegend{position:fixed!important;z-index:45;left:10px!important;right:10px!important;top:auto!important;bottom:8px!important;width:auto!important;max-width:none!important;max-height:72vh!important;border-radius:24px 24px 18px 18px!important;padding:15px 14px 20px!important}
  #resultDrawer::before,#mapControlDrawer::before,#mapExplorerDrawer::before,#referenceLayerPanel::before,#mapLegend::before{content:"";display:block;width:58px;height:5px;margin:0 auto 11px;border-radius:999px;background:#d3ddd9}
  .sb-map-overlay-backdrop{background:rgba(7,24,20,.18)}
}

@media(max-width:599px){
  #resultDrawer,#mapControlDrawer,#mapExplorerDrawer,#referenceLayerPanel,#mapLegend{left:6px!important;right:6px!important;bottom:5px!important;max-height:76vh!important;padding:13px 12px 17px!important}
  .sb-map-module-detail>summary{min-height:54px;padding:9px 10px!important}
  .sb-map-explorer-tabs{position:sticky;top:0;z-index:2;background:#edf4f1}
}
/* Anti-flash : les cinq anciens accordéons n'apparaissent jamais sous la carte avant leur déplacement JS. */
#resultPanel.active>#technicalChecksDetails,#resultPanel.active>#resultMeasuresDetails,#resultPanel.active>#contextAnalysisDetails,#resultPanel.active>#nearbyServicesDetails,#resultPanel.active>#additionalToolsDetails{display:none!important}
.sb-map-module-host>#technicalChecksDetails,.sb-map-module-host>#resultMeasuresDetails,.sb-map-module-host>#contextAnalysisDetails,.sb-map-module-host>#nearbyServicesDetails,.sb-map-module-host>#additionalToolsDetails{display:block!important}

/* === SIG Explorer dynamique / services autour du terrain (V4) === */
.sb-map-layer-group{display:grid;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid #e2ebe7}
.sb-map-layer-group-core{margin-top:0;padding-top:0;border-top:0}
.sb-map-layer-group-head{display:grid;gap:2px}.sb-map-layer-group-head strong{font-size:.72rem;color:#173d33}.sb-map-layer-group-head small{font-size:.61rem;color:#6b8078}
.sb-service-layer-toggles label{--service-color:#0d6b52}.sb-service-layer-toggles i.service{background:var(--service-color);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--service-color) 12%,transparent)}
.sb-reference-layer-toggles i.parcel{width:12px;height:12px;border:2px solid #0d6b52;border-radius:3px;background:rgba(13,107,82,.12)}
.sb-reference-layer-toggles i.borne{width:11px;height:11px;border:3px solid #0d6b52;border-radius:50%;background:#fff}
.sb-reference-layer-toggles i.search-radius{width:15px;height:15px;border:2px dashed #0d6b52;border-radius:50%;background:rgba(13,107,82,.04)}
.sb-reference-layer-toggles i.route{width:18px;height:4px;border-radius:99px;background:#1769aa;transform:rotate(-18deg)}
.sb-reference-layer-toggles label span b{margin-left:auto;padding-left:8px;color:#0d6b52;font-size:.62rem}

.sb-map-explorer-tabs{grid-template-columns:repeat(3,1fr)!important}
.sb-map-module-host[data-explorer-host="route"]{padding-top:2px}
#explorerRouteHost .sb-route-fold{margin:0;border:0;background:transparent;box-shadow:none}
#explorerRouteHost .sb-route-fold>summary{display:none}
#explorerRouteHost .sb-route-fold>.sb-route-planner{padding:0}

.sb-nearby-toolbar{align-items:end}
.sb-nearby-radius-tools{display:grid;gap:8px}
.sb-nearby-radius-switch{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid #dce7e2;border-radius:11px;background:#f8fbfa;color:#526c63;font-size:.64rem;font-weight:750;cursor:pointer}
.sb-nearby-radius-switch input{accent-color:#0d6b52}
.sb-nearby-categories button{display:flex;align-items:center;justify-content:flex-start;gap:7px;text-align:left}
.sb-nearby-categories button>span{min-width:0;flex:1}
.sb-nearby-categories button>[data-nearby-count]{display:grid;place-items:center;min-width:24px;height:22px;padding:0 6px;border-radius:999px;background:#edf4f1;color:#61776e;font-size:.61rem;font-weight:900}
.sb-nearby-categories button.active>[data-nearby-count]{background:#0d6b52;color:#fff}

.sb-nearby-cluster-marker{display:grid!important;place-items:center!important;background:transparent!important;border:0!important}
.sb-nearby-cluster-marker>span{display:grid;place-items:center;width:46px;height:46px;border:4px solid #fff;border-radius:50%;background:#0d6b52;color:#fff;font-size:.78rem;font-weight:950;box-shadow:0 8px 20px rgba(5,42,32,.3)}

.sb-service-map-legend{display:flex;flex-wrap:wrap;gap:6px}
.sb-service-legend-chip{display:inline-flex;align-items:center;gap:5px}
.sb-service-legend-chip i{width:8px;height:8px;border-radius:50%;background:var(--service-color,#0d6b52)}

#analysisLayerGroup[hidden],#nearbyLayerGroup[hidden]{display:none!important}
#activeRouteLayerLabel,#nearbyRadiusLayerLabel{transition:opacity .18s ease}

@media(max-width:900px){
  .sb-map-explorer-tabs{grid-template-columns:repeat(3,1fr)!important}
  .sb-map-explorer-tabs button{font-size:.62rem;padding-inline:6px}
}
@media(max-width:599px){
  .sb-map-explorer-tabs{position:sticky;top:0;z-index:3}
  .sb-nearby-categories{grid-template-columns:1fr 1fr!important}
  .sb-nearby-categories button{min-height:46px}
  .sb-nearby-radius-tools{grid-template-columns:1fr}
}
@media(max-width:390px){
  .sb-map-explorer-tabs button{font-size:.58rem}
  .sb-nearby-categories{grid-template-columns:1fr!important}
}
.sb-map-module-direct>summary{display:none!important}
.sb-map-module-direct>.sb-fold-body{padding:0!important;border:0!important;background:transparent!important}
.sb-map-module-direct{border:0!important;background:transparent!important}

/* =====================================================================
   SAMA SUUF SIG IMMERSIF V5 — mise en page conforme à la maquette
   Carte centrale, outils SIG gauche, rail métier droit, drawer unique,
   légende secondaire et synthèse des services.
   ===================================================================== */
body.sb-result-mode{overflow:hidden;background:#eef4f1}
body.sb-result-mode .sb-global-legal{display:none!important}
.sb-shell.sb-result-mode>.sb-appbar{display:none!important}
.sb-shell.sb-result-mode .sb-app-main{max-width:none!important;padding:0!important;margin:0!important}
.sb-shell.sb-result-mode .sb-dashboard-welcome,.sb-shell.sb-result-mode .sb-stepper{display:none!important}
.sb-shell.sb-result-mode .sb-workspace,.sb-shell.sb-result-mode .sb-content,.sb-shell.sb-result-mode #resultPanel{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.sb-shell.sb-result-mode #resultPanel>.sb-result-header,.sb-shell.sb-result-mode #resultPanel>.sb-result-overview,.sb-shell.sb-result-mode #resultPanel>.sb-premium-notice,.sb-shell.sb-result-mode #resultPanel>.sb-result-summary-strip,.sb-shell.sb-result-mode #resultPanel>.sb-summary-attention,.sb-shell.sb-result-mode #resultPanel>.sb-expert-card,.sb-shell.sb-result-mode #resultPanel>.sb-legal-callout{display:none!important}

/* Barre supérieure SIG */
.sb-sig-topbar{display:none}
.sb-shell.sb-result-mode .sb-sig-topbar{height:76px;display:grid;grid-template-columns:245px minmax(260px,520px) 1fr;align-items:center;gap:24px;padding:0 28px;border-bottom:1px solid #dbe5e1;background:#fff;position:relative;z-index:80;box-shadow:0 2px 12px rgba(7,48,39,.05)}
.sb-sig-brand{display:flex;align-items:center;min-width:0}.sb-sig-brand img{display:block;width:auto;max-width:205px;height:56px;object-fit:contain}
.sb-sig-search{height:46px;display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid #d7e2dd;border-radius:13px;background:#fff;transition:.18s}.sb-sig-search:focus-within{border-color:#78aa99;box-shadow:0 0 0 3px rgba(30,128,98,.08)}.sb-sig-search>span{font-size:1.25rem;color:#183c33}.sb-sig-search input{width:100%;border:0;outline:0;background:transparent;color:#243b34;font:inherit;font-size:.86rem}.sb-sig-search input.is-error{color:#a34141}.sb-sig-search input.is-loading{opacity:.6}
.sb-sig-nav{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.sb-sig-nav-action{height:46px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:0;border-left:1px solid #e3e9e6;background:transparent;color:#16372f;font:inherit;font-size:.76rem;font-weight:800;white-space:nowrap;cursor:pointer}.sb-sig-nav-action.is-primary{border:1px solid #d7e2dd;border-radius:12px;color:#0f684f;background:#fff}.sb-sig-nav-action.is-primary span{font-size:1.15rem}.sb-sig-account{position:relative}.sb-sig-account summary{height:46px;display:flex;align-items:center;gap:8px;padding:0 12px;border-left:1px solid #e3e9e6;cursor:pointer;list-style:none;color:#17372f;font-size:.76rem}.sb-sig-account summary::-webkit-details-marker{display:none}.sb-sig-account summary>span{font-size:1.25rem}.sb-sig-account summary>b{font-size:.72rem}.sb-sig-account-menu{position:absolute;right:0;top:50px;min-width:190px;padding:8px;border:1px solid #dbe5e1;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(5,43,34,.14)}.sb-sig-account-menu a,.sb-sig-account-menu button{display:block;width:100%;padding:10px;border:0;border-radius:9px;background:transparent;color:#17372f;text-align:left;font:inherit;font-size:.72rem;font-weight:700;text-decoration:none}.sb-sig-account-menu a:hover,.sb-sig-account-menu button:hover{background:#f1f7f4}

/* Carte plein espace */
.sb-shell.sb-result-mode .sb-result-grid-v25{height:calc(100vh - 76px);margin:0!important;display:block!important}
.sb-shell.sb-result-mode .sb-map-immersive-card{height:100%;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#d9e5dd}
.sb-shell.sb-result-mode .sb-map-immersive-card>.sb-map-title-row{display:none!important}
.sb-shell.sb-result-mode #parcelMap.sb-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;border:0!important;border-radius:0!important}
.sb-shell.sb-result-mode .sb-map-territory-fold{display:none!important}
.sb-shell.sb-result-mode .sb-map-interaction-bar{display:none!important}

/* Rail d'outils SIG gauche */
.sb-sig-map-tools{position:absolute;left:20px;top:26px;z-index:24;display:flex;flex-direction:column;gap:8px}
.sb-sig-map-tools button{width:48px;height:48px;display:grid;place-items:center;border:1px solid #d8e3de;border-radius:13px;background:rgba(255,255,255,.97);color:#123a30;box-shadow:0 8px 22px rgba(6,42,34,.14);font:inherit;font-size:1.25rem;font-weight:700;cursor:pointer;backdrop-filter:blur(8px)}
.sb-sig-map-tools button:hover,.sb-sig-map-tools button.is-active{border-color:#83ad9f;background:#e8f5f0;color:#0c6f54}
.sb-sig-map-tools button:nth-child(1){border-radius:13px 13px 7px 7px}.sb-sig-map-tools button:nth-child(2){margin-top:-7px;border-radius:7px 7px 13px 13px}

/* Rail métier droit */
.sb-map-floating-actions{position:absolute!important;right:24px!important;top:24px!important;z-index:27!important;display:flex!important;flex-direction:column!important;gap:9px!important;transition:right .22s ease}
.sb-map-immersive-card.has-side-drawer .sb-map-floating-actions{right:454px!important}
.sb-map-fab{width:84px!important;min-width:84px!important;height:82px!important;min-height:82px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:5px!important;padding:7px!important;border-radius:17px!important;background:rgba(255,255,255,.97)!important;color:#19372f!important;border:1px solid #d6e1dc!important;box-shadow:0 9px 24px rgba(5,43,34,.13)!important}
.sb-map-fab span{width:31px!important;height:31px!important;background:#eef6f3!important;color:#0a6d51!important;font-size:1.1rem!important}
.sb-map-fab strong{font-size:.66rem!important;line-height:1!important}.sb-map-fab.is-active{background:#f2faf6!important;border:2px solid #6ca996!important;color:#0c604b!important}.sb-map-fab.is-active span{background:#dff2eb!important;color:#087052!important}

/* Drawers droits */
#resultDrawer,#mapControlDrawer,#referenceLayerPanel,#mapExplorerDrawer{position:absolute!important;top:14px!important;right:14px!important;bottom:96px!important;width:420px!important;max-width:calc(100% - 120px)!important;height:auto!important;max-height:none!important;overflow:auto!important;z-index:31!important;padding:20px!important;border:1px solid #d8e2de!important;border-radius:20px!important;background:rgba(255,255,255,.985)!important;box-shadow:0 18px 42px rgba(5,43,34,.16)!important;backdrop-filter:blur(12px)}
#referenceLayerPanel,#mapExplorerDrawer{padding:18px!important}.sb-map-mini-drawer-head,.sb-map-drawer-head{position:sticky;top:-20px;z-index:5;margin:-4px -2px 12px;padding:4px 2px 10px;background:rgba(255,255,255,.985)}
.sb-map-mini-drawer-head>div,.sb-map-drawer-head>div{display:grid;gap:2px}.sb-map-mini-drawer-head .sb-eyebrow,.sb-map-drawer-head .sb-eyebrow{font-size:.68rem;letter-spacing:.12em}.sb-map-mini-drawer-head strong,.sb-map-drawer-head h3{margin:0;color:#17362f;font-size:1rem}.sb-map-mini-drawer-head small{color:#70817a;font-size:.65rem}

/* Parcelle — onglets et cartes */
.sb-parcel-tabs{display:flex;gap:7px;margin:4px 0 14px;overflow-x:auto;scrollbar-width:none}.sb-parcel-tabs::-webkit-scrollbar{display:none}.sb-parcel-tabs button{min-height:36px;padding:0 13px;border:1px solid #dce6e2;border-radius:9px;background:#f8faf9;color:#334d45;font:inherit;font-size:.65rem;font-weight:800;white-space:nowrap;cursor:pointer}.sb-parcel-tabs button.is-active{background:#087054;color:#fff;border-color:#087054}
.sb-sig-info-card{padding:16px;border:1px solid #dbe5e1;border-radius:14px;background:#fff}.sb-sig-card-label{display:block;margin-bottom:13px;color:#39534b;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.sb-sig-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 22px}.sb-sig-info-grid div{display:grid;gap:3px}.sb-sig-info-grid small{color:#6e7e78;font-size:.62rem}.sb-sig-info-grid strong{overflow-wrap:anywhere;color:#17372f;font-size:.76rem}.sb-sig-wide-action{width:100%;min-height:45px;margin-top:14px;border:1px solid #98bdaf;border-radius:11px;background:#fff;color:#0d6b52;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}.sb-sig-point-list{display:grid;gap:8px}.sb-sig-point-row{display:grid;grid-template-columns:54px 1fr 1fr;gap:8px;align-items:center;padding:10px;border:1px solid #e0e8e4;border-radius:10px;background:#f9fbfa}.sb-sig-point-row>strong{color:#086d53}.sb-sig-point-row span{display:grid;color:#75847f;font-size:.57rem}.sb-sig-point-row b{margin-top:2px;color:#203e35;font-size:.68rem}
#parcelTechnicalHost{margin-top:12px}.sb-parcel-tab-panel .sb-gps-card,.sb-parcel-tab-panel .sb-admin-checklist-card{border:1px solid #dce6e2!important;border-radius:14px!important;box-shadow:none!important}.sb-parcel-tab-panel .sb-feature-grid{display:block!important}

/* Analyse */
#resultDrawer{padding:20px!important}.sb-map-result-status{border-radius:15px!important;background:#f1f9f5!important}.sb-map-result-metrics{grid-template-columns:1fr 1fr!important}.sb-map-result-metric,.sb-map-result-location,.sb-map-result-attention{border-radius:13px!important}.sb-map-result-actions{position:sticky;bottom:-20px;z-index:4;padding:12px 0 2px;background:linear-gradient(to top,#fff 75%,rgba(255,255,255,0))}
#resultAdvancedHost .sb-map-module-detail{margin-top:10px;border:1px solid #dce6e2;border-radius:12px;background:#fff}

/* Couches */
.sb-map-layer-group{padding:13px 0;border-top:1px solid #e3eae7}.sb-map-layer-group:first-of-type{border-top:0}.sb-map-layer-group-head{margin-bottom:8px}.sb-reference-layer-toggles{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.sb-reference-layer-toggles label{min-height:42px;padding:8px 9px!important;border:1px solid #dce6e2;border-radius:10px;background:#fff}.sb-service-layer-toggles label{grid-column:span 1}

/* Explorer */
.sb-map-explorer-tabs{position:sticky!important;top:-4px!important;z-index:6!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;margin:0 0 12px!important;background:#edf4f1!important}.sb-nearby-categories{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.sb-nearby-categories button{min-width:0!important;min-height:46px!important;justify-content:space-between!important}.sb-nearby-toolbar{grid-template-columns:1fr!important}.sb-nearby-radius-tools{display:grid;grid-template-columns:1fr!important;gap:8px}.sb-radius-field select{min-height:42px;border:1px solid #d7e2dd!important;border-radius:10px!important;background:#fff!important;padding:0 12px!important;color:#203e35!important;font:inherit!important;font-size:.7rem!important}.sb-nearby-list{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.sb-nearby-item{grid-template-columns:44px minmax(0,1fr)!important;gap:10px!important;padding:12px!important;min-width:0!important;overflow:hidden!important}.sb-nearby-item-copy{min-width:0!important}.sb-nearby-item-copy strong,.sb-nearby-item-copy span,.sb-nearby-item-copy small{overflow-wrap:anywhere!important;word-break:normal!important}.sb-nearby-item-actions{grid-column:1/-1!important;display:flex!important;gap:8px!important;margin-left:54px!important}.sb-nearby-item-actions button{min-width:0!important;min-height:38px!important;flex:1!important;padding:6px 9px!important;white-space:normal!important;line-height:1.2!important}

/* Légende secondaire à gauche */
.sb-sig-legend-toggle{position:absolute;left:94px;bottom:188px;z-index:25;min-height:42px;padding:0 16px;border:1px solid #d7e2dd;border-radius:12px;background:rgba(255,255,255,.97);color:#183b32;box-shadow:0 8px 22px rgba(5,43,34,.13);font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}.sb-sig-legend-toggle span{margin-right:7px;color:#087054}
#mapLegend.sb-sig-legend-panel{position:absolute!important;left:94px!important;right:auto!important;top:28px!important;bottom:auto!important;width:255px!important;max-width:calc(100% - 560px)!important;max-height:540px!important;padding:16px!important;z-index:26!important;border:1px solid #d7e2dd!important;border-radius:17px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 12px 30px rgba(5,43,34,.15)!important;overflow:auto!important}
#mapLegend .sb-map-mini-drawer-head{position:static!important;margin:0 0 10px!important;padding:0!important;background:transparent!important}.sb-map-legend-items{display:grid!important;gap:9px!important}.sb-map-legend-items>span,.sb-service-map-legend>span{display:flex!important;align-items:center!important;gap:9px!important;min-height:24px;color:#3a5049!important;font-size:.67rem!important}.sb-map-legend-items i{flex:0 0 auto}.sb-sig-legend-hide{width:100%;min-height:38px;margin-top:12px;border:1px solid #d9e3df;border-radius:9px;background:#fff;color:#29463d;font:inherit;font-size:.66rem;font-weight:800;cursor:pointer}

/* Synthèse des services en bas à gauche */
.sb-sig-service-summary{position:absolute;left:94px;bottom:96px;z-index:25;width:570px;max-width:calc(100% - 600px);padding:12px 14px;border:1px solid #d7e2dd;border-radius:15px;background:rgba(255,255,255,.98);box-shadow:0 12px 30px rgba(5,43,34,.15);backdrop-filter:blur(10px)}.sb-sig-service-summary-head{margin-bottom:8px}.sb-sig-service-summary-head strong{font-size:.62rem;letter-spacing:.02em;color:#304a42}.sb-sig-service-counts{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.sb-sig-service-counts button{min-width:0;min-height:56px;padding:7px 4px;border:1px solid #dfe7e4;border-radius:9px;background:#fbfcfb;color:#304a42;font:inherit;cursor:pointer}.sb-sig-service-counts button b{display:block;color:#587069;font-size:.92rem}.sb-sig-service-counts button span{display:block;margin-top:2px;font-size:.56rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-sig-service-counts button.has-results b{color:#0a6f54}.sb-sig-service-open{margin-top:8px;border:0;background:transparent;color:#0b7356;font:inherit;font-size:.65rem;font-weight:850;cursor:pointer}

/* Barre d'état basse */
.sb-map-bottom-strip{left:10px!important;right:10px!important;bottom:10px!important;z-index:28!important;grid-template-columns:minmax(200px,1.15fr) 105px 145px minmax(150px,.9fr) 170px 180px minmax(260px,1fr)!important;border-radius:13px!important;box-shadow:0 8px 24px rgba(4,40,32,.12)!important}.sb-map-bottom-strip>div{padding:10px 12px!important}.sb-map-bottom-actions{display:grid!important;grid-template-columns:1fr 1.2fr!important;gap:8px!important;align-items:center!important}.sb-map-bottom-actions button{min-height:38px;border:1px solid #d7e2dd;border-radius:9px;background:#fff;color:#17372f;font:inherit;font-size:.63rem;font-weight:800;cursor:pointer}.sb-map-bottom-actions #mapBottomReportButton{border-color:#0b6c52;background:#0b6c52;color:#fff}.sb-map-bottom-actions button:hover{filter:brightness(.98)}

/* Masquer l'ancienne UI autour de la carte uniquement en mode SIG */
.sb-shell.sb-result-mode #resultPanel>.sb-result-fold,.sb-shell.sb-result-mode #resultPanel>.sb-context-fold,.sb-shell.sb-result-mode #resultPanel>.sb-nearby-fold,.sb-shell.sb-result-mode #resultPanel>.sb-tools-fold{display:none!important}

/* Responsive tablette */
@media(max-width:1100px){
  .sb-shell.sb-result-mode .sb-sig-topbar{grid-template-columns:180px 1fr auto;padding:0 14px;gap:12px}.sb-sig-brand img{max-width:165px;height:48px}.sb-sig-nav-action{padding:0 10px}.sb-sig-nav-action span+*{display:none}
  #resultDrawer,#mapControlDrawer,#referenceLayerPanel,#mapExplorerDrawer{width:370px!important}.sb-map-immersive-card.has-side-drawer .sb-map-floating-actions{right:402px!important}.sb-map-bottom-strip{grid-template-columns:1.25fr 80px 115px 1fr 135px minmax(200px,1fr)!important}.sb-map-bottom-strip>div:nth-child(6){display:none!important}.sb-sig-service-summary{width:500px;max-width:calc(100% - 470px)}
}

@media(max-width:900px){
  body.sb-result-mode{overflow:auto}.sb-shell.sb-result-mode .sb-sig-topbar{height:66px;grid-template-columns:130px 1fr 52px;padding:0 10px;gap:8px}.sb-sig-brand img{max-width:125px;height:44px}.sb-sig-nav>.sb-sig-nav-action{display:none}.sb-sig-account summary strong,.sb-sig-account summary b{display:none}.sb-sig-account summary{width:48px;justify-content:center;border:1px solid #dce5e1;border-radius:11px;padding:0}.sb-shell.sb-result-mode .sb-result-grid-v25{height:calc(100vh - 66px)}
  #resultDrawer,#mapControlDrawer,#referenceLayerPanel,#mapExplorerDrawer{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;max-width:none!important;max-height:78vh!important;border-radius:20px 20px 0 0!important;z-index:90!important}.sb-map-immersive-card.has-side-drawer .sb-map-floating-actions{right:12px!important}
  .sb-map-floating-actions{right:12px!important;top:12px!important}.sb-map-fab{width:52px!important;min-width:52px!important;height:52px!important;min-height:52px!important;border-radius:15px!important}.sb-map-fab strong{display:none!important}.sb-map-fab span{background:transparent!important}.sb-sig-map-tools{left:10px;top:10px;gap:6px}.sb-sig-map-tools button{width:43px;height:43px}
  #mapLegend.sb-sig-legend-panel{left:62px!important;top:10px!important;width:245px!important;max-width:calc(100% - 130px)!important;max-height:58vh!important}.sb-sig-legend-toggle{left:62px;bottom:118px}.sb-sig-service-summary{left:10px;right:10px;bottom:74px;width:auto;max-width:none}.sb-sig-service-counts{grid-template-columns:repeat(3,1fr)}.sb-map-bottom-strip{left:8px!important;right:8px!important;bottom:8px!important;grid-template-columns:1fr 70px 105px 1fr!important}.sb-map-bottom-strip>div:nth-child(5),.sb-map-bottom-strip>div:nth-child(6),.sb-map-bottom-actions{display:none!important}
}

@media(max-width:599px){
  .sb-shell.sb-result-mode .sb-sig-topbar{grid-template-columns:96px 1fr 46px}.sb-sig-brand img{max-width:92px}.sb-sig-search{height:42px;padding:0 10px}.sb-sig-search input{font-size:.7rem}.sb-sig-map-tools button:nth-child(n/**/+4){display:none}.sb-map-floating-actions{top:10px}.sb-map-fab{width:47px!important;min-width:47px!important;height:47px!important;min-height:47px!important}.sb-map-fab span{width:25px!important;height:25px!important}.sb-map-bottom-strip{display:none!important}.sb-sig-service-summary{bottom:10px}.sb-sig-service-counts{grid-template-columns:repeat(3,1fr)}.sb-sig-legend-toggle{bottom:10px}.sb-sig-info-grid{grid-template-columns:1fr}.sb-nearby-categories{grid-template-columns:1fr!important}.sb-reference-layer-toggles{grid-template-columns:1fr!important}
}


/* === Ajustements UX SIG V5.1 === */
/* Panneau Analyse plus compact et moins haut */
#resultDrawer{width:392px!important;bottom:122px!important;padding:18px!important}
.sb-map-immersive-card.has-side-drawer[data-active-panel="resultDrawer"] .sb-map-floating-actions{right:426px!important}
#resultDrawer .sb-map-drawer-head{margin-bottom:10px!important}
#resultDrawer .sb-map-result-status{padding:14px!important}
#resultDrawer .sb-map-result-metrics{gap:8px!important}
#resultDrawer .sb-map-result-metric{padding:12px!important;min-height:96px!important}
#resultDrawer .sb-map-result-location,#resultDrawer .sb-map-result-attention,#resultDrawer .sb-map-result-geometry{margin-top:10px!important}
#resultDrawer .sb-map-result-actions{position:sticky;bottom:-18px;z-index:3;padding:10px 0 0;background:linear-gradient(to top,#fff 72%,rgba(255,255,255,0))}
#resultAdvancedHost{display:grid;gap:8px;margin-top:8px}
#resultAdvancedHost .sb-result-fold{margin-top:0!important;border-radius:12px!important}
#resultAdvancedHost .sb-result-fold>summary{padding:10px 12px!important}
#resultAdvancedHost .sb-fold-copy small{display:none!important}
#resultAdvancedHost .sb-fold-badge{font-size:.62rem!important;white-space:nowrap}

/* Panneau Parcelle : informations professionnelles lisibles */
#parcelTechnicalHost .sb-technical-details-inline{margin-top:12px}
#parcelTechnicalHost .sb-technical-details-inline>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 14px}
#parcelTechnicalHost .sb-technical-details-inline>summary>small{text-align:right;max-width:190px}
#parcelTechnicalHost .sb-technical-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 0 0}
#parcelTechnicalHost .sb-technical-grid>div{padding:12px;border-radius:12px;min-width:0}
#parcelTechnicalHost .sb-technical-grid small{font-size:.66rem;line-height:1.35;overflow-wrap:anywhere}
#parcelTechnicalHost .sb-technical-grid strong{font-size:.82rem;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}

/* Explorer : plus de fenêtre flottante Services affichés */
#sigServiceSummary{display:none!important}
.sb-map-explorer-tabs--two{grid-template-columns:repeat(2,1fr)!important}
#mapExplorerDrawer .sb-map-mini-drawer-head{margin-bottom:14px!important}
#mapExplorerDrawer .sb-feature-intro{margin-bottom:10px!important}
#mapExplorerDrawer .sb-nearby-toolbar{gap:12px!important}
#mapExplorerDrawer .sb-nearby-status-row{gap:8px!important;align-items:flex-start!important}
#mapExplorerDrawer .sb-nearby-item{align-items:start!important}
#mapExplorerDrawer .sb-nearby-item-copy{gap:4px!important}
#mapExplorerDrawer .sb-nearby-item-copy strong{font-size:.9rem!important;line-height:1.28!important}
#mapExplorerDrawer .sb-nearby-item-copy span,#mapExplorerDrawer .sb-nearby-item-copy small{line-height:1.32!important}
#mapExplorerDrawer .sb-nearby-item-actions{margin-left:0!important;padding-left:54px!important;display:grid!important;grid-template-columns:1fr 1fr!important}
#mapExplorerDrawer .sb-nearby-item-actions button{width:100%!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;font-size:.69rem!important}
#mapExplorerDrawer .sb-nearby-item-actions .sb-button-ghost{white-space:normal!important}

/* Itinéraire libre vers tout lieu au Sénégal */
#routePlannerDetails summary{font-weight:800;color:#17362f}
#routePlannerDetails[open]{margin-top:12px}
#routePlannerDetails .sb-route-planner{display:grid;gap:12px}
#routePlannerDetails .sb-route-form{grid-template-columns:minmax(0,1fr) 170px auto!important;gap:10px!important;align-items:end!important}
#routePlannerDetails .sb-route-form .sb-field{min-width:0}
#routePlannerDetails .sb-route-form input,#routePlannerDetails .sb-route-form select{height:46px!important}
#routePlannerDetails .sb-route-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center}
#routePlannerDetails .sb-route-result strong{display:block;overflow-wrap:anywhere}
#routePlannerDetails .sb-route-result span{display:block;overflow-wrap:anywhere}
#routePlannerDetails .sb-route-result a{margin-left:0;justify-self:end}

/* Responsive */
@media(max-width:1100px){
  #resultDrawer{width:360px!important;bottom:112px!important}
  .sb-map-immersive-card.has-side-drawer[data-active-panel="resultDrawer"] .sb-map-floating-actions{right:392px!important}
}
@media(max-width:900px){
  #resultDrawer,#mapControlDrawer,#referenceLayerPanel,#mapExplorerDrawer{bottom:0!important;width:100%!important;max-height:74vh!important}
  #resultDrawer{width:100%!important}
  #resultAdvancedHost .sb-fold-badge{display:none!important}
  #parcelTechnicalHost .sb-technical-details-inline>summary{grid-template-columns:1fr!important;padding-right:48px!important;position:relative}
  #parcelTechnicalHost .sb-technical-details-inline>summary>small{text-align:left;max-width:none}
  #parcelTechnicalHost .sb-technical-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  #mapExplorerDrawer .sb-nearby-item-actions{padding-left:0!important;grid-template-columns:1fr!important}
  #routePlannerDetails .sb-route-form{grid-template-columns:1fr!important}
  #routePlannerDetails .sb-route-form .sb-button{grid-column:auto!important;width:100%!important}
  #routePlannerDetails .sb-route-result{grid-template-columns:1fr!important}
  #routePlannerDetails .sb-route-result a{justify-self:start}
}
@media(max-width:540px){
  #parcelTechnicalHost .sb-technical-grid{grid-template-columns:1fr}
}


/* === Synthèse narrative dynamique dans Analyse — V5.2 === */
.sb-map-narrative-summary{position:relative;margin-top:10px;padding:13px 14px;border:1px solid #d9e7e1;border-radius:14px;background:#fbfdfc;color:#29463d;overflow:hidden}
.sb-map-narrative-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.sb-map-narrative-head>div{display:grid;gap:2px;min-width:0}.sb-map-narrative-head .sb-eyebrow{font-size:.6rem;letter-spacing:.1em;color:#0c6b52}.sb-map-narrative-head strong{font-size:.78rem;color:#17372f}
.sb-map-narrative-head button{flex:0 0 auto;border:0;background:transparent;color:#0b7055;font:inherit;font-size:.61rem;font-weight:850;cursor:pointer;padding:3px 0}
.sb-map-narrative-copy{display:grid;gap:7px;line-height:1.47;font-size:.67rem;color:#52675f;transition:max-height .22s ease}
.sb-map-narrative-copy p{margin:0}.sb-map-narrative-summary.is-collapsed .sb-map-narrative-copy{max-height:112px;overflow:hidden}.sb-map-narrative-summary.is-collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:32px;pointer-events:none;background:linear-gradient(to bottom,rgba(251,253,252,0),#fbfdfc 88%)}
.sb-map-narrative-summary.is-expanded .sb-map-narrative-copy{max-height:460px;overflow:auto;padding-right:3px}.sb-map-narrative-summary.is-expanded::after{display:none}
#resultDrawer .sb-map-result-metrics{margin-top:10px!important}
@media(max-width:900px){.sb-map-narrative-summary{padding:12px}.sb-map-narrative-copy{font-size:.7rem}.sb-map-narrative-summary.is-collapsed .sb-map-narrative-copy{max-height:126px}}
@media(max-width:520px){.sb-map-narrative-head{display:grid}.sb-map-narrative-head button{justify-self:start}.sb-map-narrative-summary.is-collapsed .sb-map-narrative-copy{max-height:136px}}

/* === Rail métier fixe / drawers ouverts à gauche — V5.3 === */
@media (min-width: 901px){
  .sb-map-floating-actions,.sb-map-immersive-card.has-side-drawer .sb-map-floating-actions,.sb-map-immersive-card.has-side-drawer[data-active-panel="resultDrawer"] .sb-map-floating-actions{
    right:24px!important;
    transition:none!important;
  }

  #resultDrawer,#mapControlDrawer,#referenceLayerPanel,#mapExplorerDrawer{
    right:122px!important;
  }
}

/* Tablette/mobile : le drawer reste un bottom sheet et le rail ne bouge pas. */
@media (max-width: 900px){
  .sb-map-floating-actions,.sb-map-immersive-card.has-side-drawer .sb-map-floating-actions,.sb-map-immersive-card.has-side-drawer[data-active-panel="resultDrawer"] .sb-map-floating-actions{
    right:12px!important;
    transition:none!important;
  }
}


/* === SIG V5.7 — carte épurée : aucun bandeau inférieur / aucun plein écran === */
#mapBottomStrip,.sb-map-bottom-strip{display:none!important}
.sb-map-internal-state{display:none!important}
[data-sig-map-tool="fullscreen"]{display:none!important}
/* L'espace de l'ancien bandeau est rendu à la carte et aux panneaux. */
@media (min-width:901px){
  #mapControlDrawer,#referenceLayerPanel,#mapExplorerDrawer{bottom:14px!important}
}


/* === Simplification grand public V6.5 === */
#parcelTechnicalHost:empty{display:none!important}
.sb-check-groups{display:grid;gap:10px}
.sb-check-group{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid #dbe7e2;border-radius:16px;background:#fff}
.sb-check-group-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-weight:900;background:#edf7f2;color:#087457;border:1px solid #a9d8c8}
.sb-check-group.warning,.sb-check-group.error{background:#fffaf2;border-color:#ead5ac}
.sb-check-group.warning .sb-check-group-icon,.sb-check-group.error .sb-check-group-icon{background:#fff1d8;color:#9b6100;border-color:#efcc8f}
.sb-check-group strong{display:block;color:#173c32;font-size:.92rem;line-height:1.3}
.sb-check-group p{margin:4px 0 0;color:#657d74;font-size:.78rem;line-height:1.45}
.sb-check-group-map{margin-top:7px;padding:0;border:0;background:none;color:#087457;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}
.sb-technical-raw-details{margin-top:12px;border-top:1px solid #e1ebe6;padding-top:10px}
.sb-technical-raw-details>summary{cursor:pointer;list-style:none;color:#0b7057;font-size:.78rem;font-weight:800;padding:8px 0}
.sb-technical-raw-details>summary::-webkit-details-marker{display:none}
.sb-technical-raw-details>summary::before{content:"▸";margin-right:7px}
.sb-technical-raw-details[open]>summary::before{content:"▾"}
.sb-technical-raw-details .sb-check-controls{margin-top:8px}
#mapExplorerDrawer .sb-nearby-toolbar-radius-first{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
#mapExplorerDrawer .sb-nearby-toolbar-radius-first .sb-nearby-radius-tools{order:1}
#mapExplorerDrawer .sb-nearby-toolbar-radius-first .sb-nearby-service-selection{order:2}
#mapExplorerDrawer .sb-nearby-service-selection{display:grid;gap:10px}
#mapExplorerDrawer .sb-nearby-radius-tools{padding-bottom:14px;border-bottom:1px solid #e2ebe7}
@media(max-width:900px){
  .sb-check-group{grid-template-columns:38px minmax(0,1fr);padding:12px}
  .sb-check-group-icon{width:34px;height:34px}
}


/* V6.6 — Messagerie interne disponible sur toutes les pages connectées */
.sb-global-notification-button{position:fixed;right:18px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:93;display:grid;place-items:center;width:52px;height:52px;border:1px solid #d4e2dc;border-radius:18px;background:#fff;color:#0a5f49;box-shadow:0 12px 30px rgba(8,47,40,.16);font:inherit;font-size:1.05rem;cursor:pointer}
.sb-global-notification-button:hover,.sb-global-notification-button:focus-visible{background:#eef8f3;outline:none}
.sb-global-notification-button>b{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#b23a3a;color:#fff;font-size:.58rem;font-weight:900}
.sb-global-notification-button[hidden]{display:none!important}
.sb-notification-item{cursor:pointer}
.sb-notification-item.unread{background:#f0f8f4}
@media(max-width:720px){.sb-global-notification-button{right:12px;bottom:calc(14px + env(safe-area-inset-bottom));width:48px;height:48px;border-radius:16px}.sb-notification-panel{width:100vw;max-width:100vw;padding:18px 14px calc(18px + env(safe-area-inset-bottom))}}
