/**
 * Fichier  : assets/css/plans.css
 * Auteur   : KREMER Régis
 * Version  : 2.6.67
 * Date     : 2026-07-09
 * Description : Styles — Plans d’emplacements / création premium, éditeur et objets professionnels
 *
 * Changelog :
 *   v2.6.26 (2026-07-09) — Création de la grille SVG, barre d’outils, canevas, inspecteur et responsive.
 *   v2.6.27 (2026-07-09) — PLAN 3 : bibliothèque de composants, cartes visuelles, sélection multiple et rendus SVG enrichis.
 *   v2.6.28 (2026-07-09) — PLAN 4 : recherche emplacements, panneau rattachement et badges objets liés.
 *   v2.6.29 (2026-07-09) — PLAN 5 : surbrillance depuis produit et fiche de localisation.
 *   v2.6.30 (2026-07-09) — PLAN 6 : légende SVG, boutons impression/PDF, responsive final et styles print.
 *   v2.6.32 (2026-07-09) — PLANS UX1 : parcours humain accueil/consultation/édition, boutons accessibles et mobile simplifié.
 *   v2.6.33 (2026-07-09) — PLANS UX2 : page édition dédiée, palette compacte et drag & drop accessible.
 *   v2.6.34 (2026-07-09) — PLANS UX3 : formulaire de création pleine page, espacement et séparation des parcours.
 *   v2.6.36 (2026-07-09) — Correctif : CSS édition resserré, drop visible, boutons inutiles masqués et création mieux aérée.
 *   v2.6.37 (2026-07-09) — Correctif : plan à angles sobres, objets lisibles, déplacement visible et thème sombre.
 *   v2.6.38 (2026-07-09) — PLANS DESIGN1 : visuel premium des objets, légende allégée et meilleur comportement en thème sombre.
 *   v2.6.40 (2026-07-09) — PLANS DESIGN1 : finition type logiciel architecte, textes adaptatifs et localisation plan fini.
 *   v2.6.41 (2026-07-09) — PLANS EDITOR2 : guides d’alignement, poignées fines, pan/zoom et actions contextuelles.
 *   v2.6.42 (2026-07-09) — PLANS LOCALISATION2 : lecture produit forcée, badge localisation et impression avec surbrillance renforcée.
 *   v2.6.44 (2026-07-09) — PLANS ARCHITECTE1 : modes de conception, grille/cotes, murs, cloisons et ouvertures style plan 2D.
 *   v2.6.45 (2026-07-09) — PLANS WALLS2 : tracé de murs par points, extrémités éditables, ouvertures accrochées et pièces fermées.
 *   v2.6.46 (2026-07-09) — PLANS ROOMS3 : murs chaînés, surfaces, cotes, sélection de pièce et modification de structure.
 *   v2.6.47 (2026-07-09) — PLANS OPENINGS4 : découpe visuelle des murs, portes/fenêtres réalistes et panneau de sens d’ouverture.
 *   v2.6.51 (2026-07-09) — PLANS EDITOR PIXEL1 : shell plein écran pro fidèle au visuel cible.
 *   v2.6.52 (2026-07-09) — PLANS RAIL FIX1 : planEditorRail fiabilisé, recherche/filtres/catégories corrigés.
 *   v2.6.53 (2026-07-09) — PLANS OPENINGS SYMBOLS1 : symboles placés pro pour portes, fenêtres et passages.
 *   v2.6.60 (2026-07-09) — PLANS STORAGE OBJECTS REALISM1 : objets de stockage réalistes en vue de dessus.
 *   v2.6.61 (2026-07-09) — PLANS STORAGE OBJECTS DETAIL2 : sélection, rotation, lisibilité et variantes stockage.
 *   v2.6.64 (2026-07-10) — PLANS CREATE UX1 : création premium avec unités, échelle et aperçu.
 *   v2.6.66 (2026-07-10) — PLANS OBJECT BOUNDS ROTATE1 : placement bords, accrochage vertical et curseur rotation.
 */

.plans-page{display:grid;gap:16px}
.plans-page [hidden]{display:none!important}
.plans-hero{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:20px 22px;border:1px solid rgba(37,99,235,.18);border-left:4px solid var(--primary,#2563eb);
  border-radius:14px;background:linear-gradient(135deg,rgba(37,99,235,.06),rgba(255,255,255,.94));box-shadow:0 10px 30px rgba(15,23,42,.06)
}
[data-theme="dark"] .plans-hero{background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(15,23,42,.84))}
.plans-hero__copy{min-width:260px;max-width:760px}
.plans-hero__kicker,.plans-section-kicker{display:block;margin-bottom:6px;font-size:11px;font-weight:950;letter-spacing:.10em;text-transform:uppercase;color:var(--primary,#2563eb)}
.plans-hero__title{margin:0;font-size:24px;line-height:1.1;letter-spacing:-.03em;color:var(--text,#0f172a)}
.plans-hero__text{margin:8px 0 0;color:var(--text-muted,#64748b);font-size:14px;line-height:1.45}
.plans-hero__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.plans-hero__actions .btn,.plans-editor-actions .btn,.plans-panel .btn{min-height:38px}

.plans-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.plans-stat-card{padding:14px 16px;border:1px solid var(--border,#dbe3ee);border-radius:14px;background:var(--card-bg,#fff);box-shadow:0 10px 22px rgba(15,23,42,.05)}
.plans-stat-card span{display:block;color:var(--text-muted,#64748b);font-size:12px;font-weight:800}
.plans-stat-card strong{display:block;margin-top:4px;font-size:24px;line-height:1;font-weight:950;color:var(--text,#0f172a)}

.plans-layout{display:grid;grid-template-columns:minmax(290px,360px) minmax(0,1fr);gap:16px;align-items:start}
.plans-panel,.plans-editor-card{min-width:0;border-radius:16px;padding:16px;overflow:hidden}
.plans-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.plans-panel-head h2{margin:0;font-size:17px;letter-spacing:-.02em}
.plans-panel-head p{margin:5px 0 0;color:var(--text-muted,#64748b);font-size:12.5px;line-height:1.4}
.plans-filter-card{display:grid;gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--border,#dbe3ee);border-radius:14px;background:rgba(148,163,184,.06)}
.plans-filter-card label{display:grid;gap:5px;color:var(--text-muted,#64748b);font-size:12px;font-weight:850}
.plans-list-scroll{display:grid;gap:10px;max-height:520px;overflow:auto;padding:2px 4px 2px 2px}
.plans-list-placeholder,.plans-list-empty{padding:18px;text-align:center;color:var(--text-muted,#64748b);border:1px dashed var(--border,#dbe3ee);border-radius:14px;background:rgba(148,163,184,.05)}
.plans-list-empty strong{display:block;color:var(--text,#0f172a);font-size:14px}.plans-list-empty span{display:block;margin-top:4px;font-size:12px}
.plan-tile{width:100%;display:grid;gap:10px;border:1px solid var(--border,#dbe3ee);background:var(--card-bg,#fff);color:var(--text,#0f172a);border-radius:14px;padding:12px;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}
.plan-tile:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.35);box-shadow:0 12px 26px rgba(15,23,42,.08)}
.plan-tile:focus-visible{outline:3px solid rgba(37,99,235,.34);outline-offset:2px}
.plan-tile.active{border-color:var(--primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.plan-tile__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.plan-tile__name{display:block;font-weight:900;font-size:14px;line-height:1.25}
.plan-tile__meta{margin-top:6px;font-size:12px;color:var(--text-muted,#64748b);display:flex;gap:6px;flex-wrap:wrap}.plan-tile__meta span:not(:first-child)::before{content:'· ';opacity:.7}
.plan-tile__actions{display:flex;gap:6px;flex-wrap:wrap}.plan-tile__actions .btn{min-height:34px}
.plan-status-dot{width:9px;height:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12);flex:0 0 auto;margin-top:5px}.plan-status-dot.off{background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.14)}
.plans-help-card{margin-top:14px;padding:13px;border:1px dashed rgba(37,99,235,.35);border-radius:14px;background:rgba(37,99,235,.06);color:var(--text-muted,#64748b);font-size:12.5px;line-height:1.45}.plans-help-card strong{color:var(--text,#0f172a)}.plans-help-card ol{margin:8px 0 0;padding-left:18px}.plans-help-card li+li{margin-top:4px}

.plans-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--border,#dbe3ee)}
.plans-editor-head__copy{min-width:260px}.plans-editor-title{margin:0;font-size:21px;font-weight:950;letter-spacing:-.03em}.plans-editor-sub{margin:5px 0 0;color:var(--text-muted,#64748b);font-size:13px;line-height:1.4}
.plans-editor-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.plans-icon-btn{min-width:40px}
.plan-dirty-pill,.plan-clean-pill,.plan-readonly-pill{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.plan-dirty-pill{background:rgba(245,158,11,.12);color:#92400e}.plan-clean-pill{background:rgba(34,197,94,.12);color:#15803d}.plan-readonly-pill{background:rgba(100,116,139,.12);color:var(--text-muted,#64748b)}

.plans-welcome{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:16px;margin-top:16px;padding:18px;border:1px solid rgba(37,99,235,.18);border-radius:18px;background:radial-gradient(circle at 12% 10%,rgba(37,99,235,.12),transparent 34%),linear-gradient(135deg,#fff,#f8fafc)}
[data-theme="dark"] .plans-welcome{background:radial-gradient(circle at 12% 10%,rgba(37,99,235,.18),transparent 34%),linear-gradient(135deg,rgba(15,23,42,.94),rgba(15,23,42,.76))}
.plans-welcome__main{display:grid;align-content:center;justify-items:start;gap:10px}.plans-welcome__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(37,99,235,.12);color:var(--primary,#2563eb);font-weight:950;font-size:25px}.plans-welcome h3{margin:0;font-size:24px;letter-spacing:-.03em}.plans-welcome p{margin:0;color:var(--text-muted,#64748b);line-height:1.5}.plans-welcome__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.plans-welcome__steps{display:grid;gap:10px}.plans-welcome__steps div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid var(--border,#dbe3ee);border-radius:14px;background:rgba(255,255,255,.72)}[data-theme="dark"] .plans-welcome__steps div{background:rgba(15,23,42,.55)}.plans-welcome__steps strong{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#2563eb;color:#fff}.plans-welcome__steps span{font-weight:850;font-size:13px;color:var(--text,#0f172a)}

.plans-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding:10px;border:1px solid var(--border,#dbe3ee);border-radius:16px;background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(241,245,249,.72))}[data-theme="dark"] .plans-toolbar{background:linear-gradient(180deg,rgba(15,23,42,.88),rgba(15,23,42,.62))}.plans-tool-group{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding-right:8px;border-right:1px solid var(--border,#dbe3ee)}.plans-tool-group:last-child{border-right:0;padding-right:0}.plan-tool-btn{min-height:40px;border:1px solid var(--border,#dbe3ee);background:var(--card-bg,#fff);color:var(--text,#0f172a);border-radius:12px;padding:8px 11px;font-size:12px;font-weight:850;display:inline-flex;gap:7px;align-items:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.plan-tool-btn:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.35)}.plan-tool-btn:focus-visible{outline:3px solid rgba(37,99,235,.32);outline-offset:2px}.plan-tool-btn.active{background:rgba(37,99,235,.1);border-color:var(--primary,#2563eb);color:var(--primary,#2563eb)}.plan-tool-btn.danger{color:#b91c1c}

.plans-component-library{margin-top:12px;padding:12px;border:1px solid var(--border,#dbe3ee);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,250,252,.78))}[data-theme="dark"] .plans-component-library{background:linear-gradient(180deg,rgba(15,23,42,.82),rgba(15,23,42,.58))}.plans-component-library__head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.plans-component-library__head strong{font-size:14px}.plans-component-library__head p{margin:3px 0 0;color:var(--text-muted,#64748b);font-size:12px}.plan-component-empty{padding:14px;color:var(--text-muted,#64748b);font-size:13px;text-align:center}.plan-component-group{display:grid;gap:8px;margin-bottom:12px}.plan-component-group:last-child{margin-bottom:0}.plan-component-group__title{font-size:12px;font-weight:950;color:var(--text-muted,#64748b);text-transform:uppercase;letter-spacing:.06em}.plan-component-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.plan-component-card{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--border,#dbe3ee);background:var(--card-bg,#fff);color:var(--text,#0f172a);border-radius:14px;padding:10px;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.plan-component-card:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.38);box-shadow:0 14px 26px rgba(15,23,42,.09)}.plan-component-card:focus-visible{outline:3px solid rgba(37,99,235,.32);outline-offset:2px}.plan-component-preview{display:grid;place-items:center;width:56px;height:42px;border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(241,245,249,.8));border:1px solid rgba(15,23,42,.08)}.plan-component-preview svg{width:56px;height:36px;display:block}.plan-component-copy{display:grid;gap:2px;min-width:0}.plan-component-copy strong{font-size:13px;font-weight:900;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-component-copy small{font-size:11px;color:var(--text-muted,#64748b);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plan-component-copy em{font-style:normal;font-size:10px;color:var(--text-muted,#64748b);font-weight:800}

.plan-location-search{margin-top:12px;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:1px solid rgba(37,99,235,.22);border-radius:16px;background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(255,255,255,.86))}[data-theme="dark"] .plan-location-search{background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(15,23,42,.76))}.plan-location-search strong{display:block;font-size:13px;font-weight:950;color:var(--text,#0f172a)}.plan-location-search p{margin:4px 0 0;color:var(--text-muted,#64748b);font-size:12px;line-height:1.35}.plan-location-search__control{display:grid;gap:8px;min-width:0}.plan-location-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;max-height:220px;overflow:auto}.plan-location-result{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;text-align:left;border:1px solid var(--border,#dbe3ee);border-radius:14px;background:var(--card-bg,#fff);color:var(--text,#0f172a);padding:9px 10px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.plan-location-result:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(37,99,235,.38);box-shadow:0 10px 20px rgba(15,23,42,.08)}.plan-location-result:disabled{opacity:.58;cursor:not-allowed}.plan-location-result:focus-visible{outline:3px solid rgba(37,99,235,.32);outline-offset:2px}.plan-location-result strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-location-result small{display:block;margin-top:2px;color:var(--text-muted,#64748b);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-location-result em{grid-column:1/-1;font-style:normal;color:var(--text-muted,#64748b);font-size:11px;font-weight:800}.plan-location-result__status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 7px;background:rgba(148,163,184,.14);color:var(--text-muted,#64748b);font-size:10px;font-weight:900}.plan-location-result__status.linked{background:rgba(34,197,94,.13);color:#15803d}.plan-location-result-empty{padding:10px;border:1px dashed var(--border,#dbe3ee);border-radius:14px;color:var(--text-muted,#64748b);font-size:12px;text-align:center}

.plans-workbench{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;margin-top:14px;align-items:stretch}.plan-canvas-wrap{position:relative;min-height:590px;border:1px solid var(--border,#dbe3ee);border-radius:18px;overflow:hidden;background:radial-gradient(circle at 18% 16%,rgba(59,130,246,.12),transparent 30%),linear-gradient(135deg,#f8fafc,#eef2ff)}[data-theme="dark"] .plan-canvas-wrap{background:radial-gradient(circle at 18% 16%,rgba(59,130,246,.16),transparent 30%),linear-gradient(135deg,#0f172a,#111827)}.plan-canvas-empty{min-height:360px;display:grid;place-items:center;text-align:center;color:var(--text-muted,#64748b);padding:26px}.plan-canvas-svg{width:100%;height:100%;min-height:590px;display:block;touch-action:none;user-select:none;cursor:grab}.plan-canvas-svg.is-adding{cursor:crosshair}.plan-canvas-svg.is-dragging{cursor:grabbing}.plan-stage-bg{fill:rgba(255,255,255,.82);stroke:rgba(15,23,42,.12);stroke-width:2}[data-theme="dark"] .plan-stage-bg{fill:rgba(15,23,42,.72);stroke:rgba(148,163,184,.22)}.plan-canvas-badge{position:absolute;left:14px;bottom:14px;display:flex;gap:8px;flex-wrap:wrap;z-index:2}.plan-canvas-badge span{padding:7px 10px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:12px;font-weight:850;backdrop-filter:blur(10px)}
.plan-inspector{border:1px solid var(--border,#dbe3ee);border-radius:16px;background:var(--card-bg,#fff);padding:14px;min-height:590px;overflow:auto}.plan-inspector h3{margin:0 0 8px;font-size:16px;font-weight:950}.plan-inspector p{margin:0 0 12px;color:var(--text-muted,#64748b);font-size:12.5px;line-height:1.45}.plan-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.plan-summary-grid div{padding:10px;border:1px solid var(--border,#dbe3ee);border-radius:12px;background:rgba(148,163,184,.06)}.plan-summary-grid span{display:block;color:var(--text-muted,#64748b);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:950}.plan-summary-grid strong{display:block;margin-top:3px;color:var(--text,#0f172a);font-size:13px;font-weight:950}.plan-field-grid{display:grid;gap:10px}.plan-field-grid label{display:grid;gap:5px;font-size:12px;font-weight:850;color:var(--text-muted,#64748b)}.plan-field-grid .inp,.plan-field-grid .sel{width:100%;min-height:40px}.plan-mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.plan-editor-disabled{margin-top:12px;padding:12px;border:1px solid rgba(245,158,11,.35);border-radius:14px;background:rgba(245,158,11,.08);color:#92400e;font-size:13px;font-weight:800}
.plan-link-panel{margin-top:12px;padding:12px;border:1px solid rgba(37,99,235,.22);border-radius:14px;background:rgba(37,99,235,.05);display:grid;gap:10px}.plan-link-panel>strong{font-size:13px;font-weight:950;color:var(--text,#0f172a)}.plan-link-empty{padding:9px 10px;border:1px dashed var(--border,#dbe3ee);border-radius:12px;color:var(--text-muted,#64748b);font-size:12px;background:rgba(148,163,184,.06)}.plan-location-card{display:grid;gap:10px;padding:10px;border:1px solid var(--border,#dbe3ee);border-radius:14px;background:var(--card-bg,#fff)}.plan-location-card>div:first-child{display:grid;gap:2px}.plan-location-card>div:first-child strong{font-size:13px;font-weight:900}.plan-location-card>div:first-child span{font-size:11px;color:var(--text-muted,#64748b)}.plan-location-card dl,.plan-product-location-card dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:0}.plan-location-card dt,.plan-product-location-card dt{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#64748b);font-weight:950}.plan-location-card dd,.plan-product-location-card dd{margin:0;font-size:12px;font-weight:900;color:var(--text,#0f172a)}.plan-location-products{display:grid;gap:5px}.plan-location-products span{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:6px 8px;border-radius:10px;background:rgba(15,23,42,.05);font-size:11px;color:var(--text,#0f172a)}.plan-product-location-card{display:grid;gap:8px;padding:12px;border:1px solid rgba(245,158,11,.38);border-radius:14px;background:linear-gradient(135deg,rgba(245,158,11,.14),rgba(255,255,255,.84))}[data-theme="dark"] .plan-product-location-card{background:linear-gradient(135deg,rgba(245,158,11,.18),rgba(15,23,42,.72))}.plan-product-location-card>strong{font-size:13px;font-weight:950;color:#b45309}.plan-product-location-card>span{font-size:12px;font-weight:800;color:var(--text,#0f172a)}

.plan-object{cursor:pointer}.plan-object-main{stroke:rgba(15,23,42,.22);stroke-width:1.6;transition:stroke .12s ease,filter .12s ease}.plan-object-gloss{fill:rgba(255,255,255,.22);pointer-events:none}.plan-object-text{font-family:Inter,system-ui,sans-serif;font-weight:850;font-size:15px;fill:#0f172a;pointer-events:none}.plan-object-meta{font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:11px;fill:#475569;pointer-events:none}.plan-object-handle{fill:#2563eb;stroke:#fff;stroke-width:2;cursor:nwse-resize}.plan-object-lock{fill:rgba(15,23,42,.55);font-size:12px;pointer-events:none}.plan-object-highlight-frame{fill:rgba(250,204,21,.18);stroke:#f59e0b;stroke-width:4;stroke-dasharray:14 8;filter:url(#planShadowStrong);pointer-events:none}.plan-object-select-frame{fill:none;stroke:#2563eb;stroke-width:2;stroke-dasharray:8 6;filter:url(#planShadowStrong);pointer-events:none}.plan-object-select-frame.is-primary{stroke-width:3;stroke-dasharray:none}.plan-object.is-selected .plan-object-main{stroke:#2563eb;stroke-width:2.4;filter:url(#planShadowStrong)}.plan-object.is-primary .plan-object-main{stroke-width:3}.plan-object.is-highlighted .plan-object-main{stroke:#f59e0b;stroke-width:3.2;filter:url(#planShadowStrong)}.plan-object--depot .plan-object-main,.plan-object--local .plan-object-main,.plan-object--piece .plan-object-main,.plan-object--atelier .plan-object-main{stroke-width:2.2}.plan-object--allee .plan-object-main,.plan-object--circulation .plan-object-main{stroke-width:1.8}.plan-object--porte .plan-object-main{stroke-width:2.2}.plan-object.is-linked .plan-object-main{stroke:rgba(34,197,94,.72);stroke-width:2.2}.plan-object-linked circle{fill:#16a34a;stroke:#fff;stroke-width:2;filter:url(#planShadow)}.plan-object-linked text{font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:950;fill:#fff;pointer-events:none}
#btnPlanLegend.active,.plans-editor-head .btn.active{border-color:rgba(37,99,235,.45);background:rgba(37,99,235,.11);color:#1d4ed8}.plan-svg-legend rect:first-child{fill:rgba(255,255,255,.92);stroke:rgba(148,163,184,.42);filter:url(#planShadow)}[data-theme="dark"] .plan-svg-legend rect:first-child{fill:rgba(15,23,42,.88)}.plan-legend-title{font-size:12px;font-weight:950;fill:#1d4ed8;letter-spacing:.01em}.plan-legend-text{font-size:11px;font-weight:850;fill:var(--text,#0f172a)}.plan-legend-note{font-size:10px;font-weight:800;fill:var(--text-muted,#64748b)}

@media (min-width:1200px){.plans-editor-card{position:relative}.plan-inspector{position:sticky;top:86px;max-height:calc(100vh - 120px);overflow:auto}}
@media (max-width:1200px){.plans-layout{grid-template-columns:1fr}.plans-list-scroll{max-height:none;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.plans-workbench{grid-template-columns:1fr}.plan-inspector{min-height:0}.plan-canvas-wrap,.plan-canvas-svg{min-height:520px}}
@media (max-width:900px){.plans-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-welcome{grid-template-columns:1fr}.plans-editor-actions{justify-content:flex-start}.plans-editor-actions .btn{min-height:44px}.plan-location-search{grid-template-columns:1fr}.plan-location-results{grid-template-columns:1fr;max-height:none}.plans-tool-group{width:100%;border-right:0;border-bottom:1px solid var(--border,#dbe3ee);padding:0 0 8px}.plans-tool-group:last-child{border-bottom:0;padding-bottom:0}.plan-tool-btn{flex:1 1 calc(50% - 8px);justify-content:center}.plan-svg-legend{display:none}}
@media (max-width:600px){.plans-page{gap:12px}.plans-hero{padding:16px;border-radius:14px}.plans-hero__title{font-size:22px}.plans-hero__actions,.plans-welcome__actions{width:100%}.plans-hero__actions .btn,.plans-welcome__actions .btn{width:100%;justify-content:center;min-height:44px}.plans-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.plans-stat-card{padding:12px}.plans-layout{gap:12px}.plans-panel,.plans-editor-card{border-radius:14px}.plans-list-scroll{grid-template-columns:1fr;max-height:none}.plan-tile__actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.plan-tile__actions .btn{width:100%;justify-content:center;min-height:42px}.plans-editor-head{display:block}.plans-editor-actions{margin-top:12px}.plans-editor-actions .btn,.plans-editor-actions .plan-readonly-pill,.plans-editor-actions .plan-clean-pill,.plans-editor-actions .plan-dirty-pill{flex:1 1 100%;justify-content:center;min-height:44px}.plans-toolbar{position:sticky;top:0;z-index:3;background:var(--card-bg,#fff);border-radius:14px;box-shadow:0 12px 26px rgba(15,23,42,.08)}[data-theme="dark"] .plans-toolbar{background:rgba(15,23,42,.96)}.plan-component-grid{grid-template-columns:1fr}.plan-component-card{min-height:58px}.plan-component-copy small{display:none}.plan-location-results{max-height:260px;overflow:auto}.plan-canvas-wrap,.plan-canvas-svg{min-height:470px;border-radius:14px}.plan-canvas-badge{left:10px;right:10px;bottom:10px}.plan-canvas-badge span{font-size:11px;padding:6px 8px}.plan-summary-grid,.plan-field-grid,.plan-location-card dl,.plan-product-location-card dl{grid-template-columns:1fr!important}.plan-inspector{max-height:none;border-radius:14px}}
@media print{#pgPlans .plans-hero,#pgPlans .plans-stat-grid,#pgPlans .plans-panel,#pgPlans .plans-toolbar,#pgPlans .plans-component-library,#pgPlans .plan-location-search,#pgPlans .plan-inspector,#pgPlans .plans-editor-head button,#pgPlans #planDirtyState{display:none!important}#pgPlans .plans-layout,#pgPlans .plans-workbench{display:block!important}#pgPlans .plans-editor-card{border:0!important;box-shadow:none!important;padding:0!important}#pgPlans .plan-canvas-wrap{min-height:auto!important;border:0!important;background:#fff!important;box-shadow:none!important}#pgPlans .plan-canvas-svg{min-height:auto!important;width:100%!important;height:auto!important;max-height:175mm!important}#pgPlans .plan-canvas-badge{display:none!important}}

/* v2.6.33 — PLANS UX2 : page édition dédiée, palette compacte et drag & drop */
.plans-page--editor{gap:12px}
.plans-page--editor .plans-hero,
.plans-page--editor .plans-stat-grid{display:none!important}
.plans-page--editor .plans-layout{grid-template-columns:minmax(255px,320px) minmax(0,1fr);gap:14px;align-items:start}
.plans-page--editor .plans-panel{position:sticky;top:78px;max-height:calc(100vh - 100px);overflow:auto;padding:14px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.88))}
[data-theme="dark"] .plans-page--editor .plans-panel{background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(15,23,42,.78))}
.plans-page--editor .plans-panel-head{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border,#dbe3ee)}
.plans-page--editor .plans-panel-head h2::before{content:'Boîte à outils';font-size:17px}
.plans-page--editor .plans-panel-head h2{font-size:0}
.plans-page--editor .plans-panel-head p{font-size:12px;color:var(--text-muted,#64748b)}
.plans-page--editor .plans-filter-card,
.plans-page--editor .plans-list-scroll,
.plans-page--editor .plans-help-card{display:none!important}
.plans-page--editor .plans-component-library{display:grid;gap:12px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.plans-page--editor .plans-component-library__head{margin:0;padding:12px;border:1px solid rgba(37,99,235,.18);border-radius:14px;background:rgba(37,99,235,.06)}
.plans-page--editor .plan-component-group{margin:0 0 10px}
.plans-page--editor .plan-component-grid{grid-template-columns:1fr;gap:7px}
.plans-page--editor .plan-component-card{min-height:58px;padding:9px;border-radius:13px;cursor:grab}
.plans-page--editor .plan-component-card:active{cursor:grabbing}
.plan-component-card.active{border-color:var(--primary,#2563eb)!important;background:rgba(37,99,235,.10)!important;box-shadow:0 0 0 3px rgba(37,99,235,.13)}
.plan-component-card[draggable="true"] .plan-component-copy strong::after{content:'  · glisser';font-size:10px;color:var(--primary,#2563eb);font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.plans-page--editor .plan-component-copy small{display:block;line-height:1.25}
.plans-page--editor .plan-component-copy em{font-size:10px}
.plans-page--editor .plans-editor-card{padding:14px;border-radius:16px}
.plans-page--editor .plans-editor-head{position:sticky;top:72px;z-index:4;margin:-14px -14px 0;padding:12px 14px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-radius:16px 16px 0 0}
[data-theme="dark"] .plans-page--editor .plans-editor-head{background:rgba(15,23,42,.94)}
.plans-page--editor .plans-editor-actions{gap:6px}
.plans-page--editor .plans-editor-actions .btn,
.plans-page--editor .plans-editor-actions .plan-readonly-pill,
.plans-page--editor .plans-editor-actions .plan-clean-pill,
.plans-page--editor .plans-editor-actions .plan-dirty-pill{min-height:36px;padding:7px 10px}
.plans-page--editor .plans-toolbar{position:sticky;top:154px;z-index:3;margin-top:10px;padding:8px;border-radius:14px;background:rgba(248,250,252,.96);backdrop-filter:blur(12px)}
[data-theme="dark"] .plans-page--editor .plans-toolbar{background:rgba(15,23,42,.92)}
.plans-page--editor .plans-tool-group{gap:5px}.plans-page--editor .plan-tool-btn{min-height:36px;padding:7px 10px;font-size:11.5px}
.plans-page--editor .plans-workbench{grid-template-columns:minmax(0,1fr) minmax(260px,310px);gap:12px;margin-top:12px}
.plans-page--editor .plan-canvas-wrap,.plans-page--editor .plan-canvas-svg{min-height:calc(100vh - 245px)}
.plans-page--editor .plan-canvas-svg.is-adding{cursor:copy}
.plans-page--editor .plan-canvas-wrap::after{content:'Glissez ici ou cliquez pour placer l’élément sélectionné';position:absolute;right:14px;top:14px;padding:7px 10px;border-radius:999px;background:rgba(37,99,235,.10);color:#1d4ed8;font-size:11px;font-weight:900;opacity:0;pointer-events:none;transition:opacity .15s ease}
.plans-page--editor .plan-canvas-wrap:has(.plan-canvas-svg.is-adding)::after{opacity:1}
.plans-page--editor .plan-inspector{min-height:calc(100vh - 245px);border-radius:14px}
.plans-page--editor .plan-location-search{grid-template-columns:minmax(190px,260px) minmax(0,1fr);margin-top:10px;padding:10px;border-radius:14px}
.plans-back-link{white-space:nowrap}
@supports not selector(:has(*)){.plans-page--editor .plan-canvas-wrap::after{display:none}}
@media (max-width:1200px){.plans-page--editor .plans-layout{grid-template-columns:1fr}.plans-page--editor .plans-panel{position:relative;top:auto;max-height:none}.plans-page--editor .plans-component-library{display:block}.plans-page--editor .plan-component-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.plans-page--editor .plans-workbench{grid-template-columns:1fr}.plans-page--editor .plan-canvas-wrap,.plans-page--editor .plan-canvas-svg,.plans-page--editor .plan-inspector{min-height:520px}.plans-page--editor .plans-editor-head,.plans-page--editor .plans-toolbar{position:relative;top:auto}}
@media (max-width:700px){.plans-page--editor .plans-editor-actions .btn,.plans-page--editor .plans-editor-actions .plan-readonly-pill,.plans-page--editor .plans-editor-actions .plan-clean-pill,.plans-page--editor .plans-editor-actions .plan-dirty-pill{flex:1 1 100%;justify-content:center}.plans-page--editor .plans-tool-group{width:100%;border-right:0;border-bottom:1px solid var(--border,#dbe3ee);padding:0 0 8px}.plans-page--editor .plan-tool-btn{flex:1 1 calc(50% - 6px);justify-content:center}.plans-page--editor .plan-component-grid{grid-template-columns:1fr}.plans-page--editor .plan-canvas-wrap,.plans-page--editor .plan-canvas-svg,.plans-page--editor .plan-inspector{min-height:470px}}


/* v2.6.34 — PLANS UX3 : création dédiée, sans interférence avec l'éditeur */
.plans-page--create .plans-layout{grid-template-columns:minmax(0,980px);justify-content:center}
.plans-page--create .plans-panel,
.plans-page--create .plans-toolbar,
.plans-page--create .plans-component-library,
.plans-page--create .plan-location-search,
.plans-page--create .plans-welcome,
.plans-page--create .plans-workbench{display:none!important}
.plans-page--create .plans-editor-card{padding:0;border-radius:18px;border:1px solid rgba(37,99,235,.18);box-shadow:0 16px 42px rgba(15,23,42,.08)}
.plans-page--create .plans-editor-head{padding:18px 20px;border-bottom:1px solid var(--border,#dbe3ee);background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(255,255,255,.96))}
[data-theme="dark"] .plans-page--create .plans-editor-head{background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(15,23,42,.94))}
.plans-page--create .plans-editor-actions>*:not(.plans-back-link){display:none!important}
.plans-create-screen{display:grid;gap:18px;padding:22px;background:var(--card-bg,#fff)}
[data-theme="dark"] .plans-create-screen{background:rgba(15,23,42,.88)}
.plans-create-intro{display:grid;gap:8px;max-width:720px}.plans-create-step{font-size:11px;font-weight:950;letter-spacing:.10em;text-transform:uppercase;color:var(--primary,#2563eb)}
.plans-create-intro h3{margin:0;font-size:26px;line-height:1.12;letter-spacing:-.035em;color:var(--text,#0f172a)}.plans-create-intro p{margin:0;color:var(--text-muted,#64748b);font-size:14px;line-height:1.55}
.plans-create-form{display:grid;gap:18px}.plans-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.plans-create-field{display:grid;gap:7px}.plans-create-field>span,.plans-create-dimensions label>span{font-size:12px;font-weight:900;color:var(--text,#0f172a)}.plans-create-field em{font-style:normal;color:#dc2626;font-size:11px;font-weight:850;margin-left:4px}.plans-create-field .inp,.plans-create-field .sel{min-height:46px;font-size:15px}
.plans-create-size{grid-column:1/-1;margin:0;padding:14px;border:1px solid var(--border,#dbe3ee);border-radius:16px;background:rgba(148,163,184,.06)}.plans-create-size legend{padding:0 6px;font-size:12px;font-weight:950;color:var(--text,#0f172a)}.plans-size-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.plans-size-presets .btn.active{border-color:rgba(37,99,235,.45);background:rgba(37,99,235,.10);color:#1d4ed8}.plans-create-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plans-create-dimensions label{display:grid;gap:6px}.plans-create-dimensions .inp{min-height:44px}
.plans-create-help{padding:14px 16px;border:1px dashed rgba(37,99,235,.38);border-radius:16px;background:rgba(37,99,235,.06);color:var(--text-muted,#64748b);font-size:13px;line-height:1.5}.plans-create-help strong{display:block;margin-bottom:6px;color:var(--text,#0f172a)}.plans-create-help ol{margin:0;padding-left:20px}.plans-create-help li+li{margin-top:4px}.plans-create-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:4px}.plans-create-actions .btn{min-height:44px}
.plans-page--editor:not(.plans-page--create) .plans-panel{padding:16px}.plans-page--editor:not(.plans-page--create) .plans-editor-card{padding:16px}.plans-page--editor:not(.plans-page--create) .plans-editor-head{margin:-16px -16px 0;padding:14px 16px}.plans-page--editor:not(.plans-page--create) .plans-component-library__head p{margin:4px 0 0}.plans-page--editor:not(.plans-page--create) .plan-location-search{align-items:start}.plans-page--editor:not(.plans-page--create) .plan-location-search p{margin:4px 0 0;line-height:1.35}
@media (max-width:900px){.plans-page--create .plans-layout{grid-template-columns:1fr}.plans-create-grid,.plans-create-dimensions{grid-template-columns:1fr}.plans-page--create .plans-editor-head{display:grid;gap:12px}.plans-create-screen{padding:18px}.plans-create-actions{display:grid;grid-template-columns:1fr}.plans-create-actions .btn{justify-content:center;width:100%}}

/* v2.6.36 — Correctif édition : placement composants fiabilisé, rotation rapide et CSS resserré */
.plans-page--editor:not(.plans-page--create){gap:14px}
.plans-page--editor:not(.plans-page--create) .plans-layout{grid-template-columns:minmax(260px,318px) minmax(0,1fr);gap:16px}
.plans-page--editor:not(.plans-page--create) .plans-editor-card{padding:16px;border-radius:18px;overflow:visible}
.plans-page--editor:not(.plans-page--create) .plans-editor-head{
  position:relative;top:auto;z-index:5;margin:-16px -16px 12px;padding:16px 18px;
  border-radius:18px 18px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.94));
  display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:start;gap:14px
}
[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plans-editor-head{background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(15,23,42,.9))}
.plans-page--editor:not(.plans-page--create) .plans-editor-actions{gap:7px;max-width:760px}
.plans-page--editor:not(.plans-page--create) #btnPlanSearchFocus,
.plans-page--editor:not(.plans-page--create) #btnPlanLegend,
.plans-page--editor:not(.plans-page--create) #btnPlanPrint,
.plans-page--editor:not(.plans-page--create) #btnPlanPdf{display:none!important}
.plans-page--editor:not(.plans-page--create) .plans-toolbar{
  position:relative;top:auto;z-index:3;margin:0 0 12px;padding:10px;border-radius:16px;
  display:grid;grid-template-columns:repeat(4,minmax(0,auto));align-items:start;gap:8px;background:rgba(248,250,252,.98)
}
.plans-page--editor:not(.plans-page--create) .plans-tool-group{border-right:1px solid var(--border,#dbe3ee);border-bottom:0;padding:0 8px 0 0;align-content:start}
.plans-page--editor:not(.plans-page--create) .plans-tool-group:last-child{border-right:0;padding-right:0}
.plans-page--editor:not(.plans-page--create) .plan-tool-btn{min-height:38px;padding:8px 10px;font-size:11.5px;border-radius:11px}
.plans-page--editor:not(.plans-page--create) .plan-location-search{display:none!important}
.plans-page--editor:not(.plans-page--create) .plans-workbench{grid-template-columns:minmax(0,1fr) minmax(270px,320px);gap:14px;margin-top:0}
.plans-page--editor:not(.plans-page--create) .plan-canvas-wrap{
  min-height:calc(100vh - 260px);border-radius:18px;border-color:rgba(37,99,235,.22);
  background:radial-gradient(circle at 12% 16%,rgba(37,99,235,.10),transparent 28%),linear-gradient(135deg,#f8fbff,#eef4ff)
}
.plans-page--editor:not(.plans-page--create) .plan-canvas-svg{min-height:calc(100vh - 260px)}
.plans-page--editor:not(.plans-page--create) .plan-canvas-wrap.is-drop-ready{outline:3px solid rgba(37,99,235,.32);outline-offset:3px;background:radial-gradient(circle at 50% 40%,rgba(37,99,235,.16),transparent 34%),linear-gradient(135deg,#f8fbff,#eaf2ff)}
.plans-page--editor:not(.plans-page--create) .plan-canvas-wrap.is-drop-ready::after{opacity:1;background:#2563eb;color:#fff;box-shadow:0 12px 28px rgba(37,99,235,.22)}
.plans-page--editor:not(.plans-page--create) .plan-inspector{min-height:calc(100vh - 260px);padding:16px;border-radius:18px}
.plans-page--editor:not(.plans-page--create) .plans-panel{padding:16px;border-radius:18px}
.plans-page--editor:not(.plans-page--create) .plans-component-library__head{padding:13px 14px;border-radius:15px}
.plans-page--editor:not(.plans-page--create) .plans-component-library__head p{line-height:1.45}
.plans-page--editor:not(.plans-page--create) .plan-component-card{min-height:64px;padding:10px;border-radius:15px;border-color:rgba(148,163,184,.34)}
.plans-page--editor:not(.plans-page--create) .plan-component-card:hover{border-color:rgba(37,99,235,.42);background:rgba(37,99,235,.05)}
.plans-page--editor:not(.plans-page--create) .plan-component-copy strong{line-height:1.2}
.plans-page--editor:not(.plans-page--create) .plan-component-copy small{line-height:1.35;color:var(--text-muted,#64748b)}
.plans-page--create .plans-editor-card{max-width:1040px;margin:0 auto;width:100%}
.plans-page--create .plans-editor-head{padding:22px 24px}
.plans-page--create .plans-create-screen{padding:26px 28px}
.plans-page--create .plans-create-grid{gap:18px}
.plans-page--create .plans-create-field .inp,.plans-page--create .plans-create-field .sel,.plans-page--create .plans-create-dimensions .inp{padding-left:14px;padding-right:14px}
.plans-page--create .plans-create-help{padding:16px 18px}
@media (max-width:1400px){.plans-page--editor:not(.plans-page--create) .plans-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-page--editor:not(.plans-page--create) .plans-tool-group:nth-child(2n){border-right:0}.plans-page--editor:not(.plans-page--create) .plans-tool-group{padding-bottom:8px;border-bottom:1px solid var(--border,#dbe3ee)}.plans-page--editor:not(.plans-page--create) .plans-tool-group:nth-last-child(-n+2){border-bottom:0;padding-bottom:0}}
@media (max-width:1200px){.plans-page--editor:not(.plans-page--create) .plans-layout{grid-template-columns:1fr}.plans-page--editor:not(.plans-page--create) .plans-workbench{grid-template-columns:1fr}.plans-page--editor:not(.plans-page--create) .plans-editor-head{grid-template-columns:1fr}.plans-page--editor:not(.plans-page--create) .plans-editor-actions{max-width:none;justify-content:flex-start}.plans-page--editor:not(.plans-page--create) .plan-canvas-wrap,.plans-page--editor:not(.plans-page--create) .plan-canvas-svg,.plans-page--editor:not(.plans-page--create) .plan-inspector{min-height:520px}}
@media (max-width:720px){.plans-page--editor:not(.plans-page--create) .plans-toolbar{grid-template-columns:1fr}.plans-page--editor:not(.plans-page--create) .plans-tool-group,.plans-page--editor:not(.plans-page--create) .plans-tool-group:nth-child(2n),.plans-page--editor:not(.plans-page--create) .plans-tool-group:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--border,#dbe3ee);padding:0 0 8px}.plans-page--editor:not(.plans-page--create) .plans-tool-group:last-child{border-bottom:0;padding-bottom:0}.plans-page--editor:not(.plans-page--create) .plan-tool-btn{flex:1 1 calc(50% - 6px);justify-content:center}.plans-page--create .plans-create-screen{padding:20px}.plans-page--create .plans-editor-head{padding:18px 20px}}


/* v2.6.37 — Correctif visuel éditeur : plan sobre, objets lisibles, sélection moins agressive et thème sombre */
.plans-page--editor:not(.plans-page--create) .plans-editor-card{border-color:rgba(148,163,184,.28);box-shadow:0 12px 32px rgba(15,23,42,.06)}
.plans-page--editor:not(.plans-page--create) .plans-editor-head{border-bottom-color:rgba(148,163,184,.26)}
.plans-page--editor:not(.plans-page--create) .plans-toolbar{background:rgba(255,255,255,.92);border:1px solid rgba(148,163,184,.24);box-shadow:0 10px 22px rgba(15,23,42,.04)}
.plans-page--editor:not(.plans-page--create) .plans-tool-group{gap:6px}.plans-page--editor:not(.plans-page--create) .plan-tool-btn{font-weight:850;white-space:nowrap}
.plans-page--editor:not(.plans-page--create) .plan-canvas-wrap{border-radius:12px;border-color:rgba(51,65,85,.28);background:linear-gradient(135deg,#f8fafc,#eef4ff)}
.plans-page--editor:not(.plans-page--create) .plan-canvas-wrap::after{right:16px;top:16px;border-radius:10px;box-shadow:0 10px 24px rgba(37,99,235,.12)}
.plans-page--editor:not(.plans-page--create) .plan-inspector{border-radius:14px;border-color:rgba(148,163,184,.26);box-shadow:0 10px 24px rgba(15,23,42,.04)}
.plans-page--editor:not(.plans-page--create) .plans-panel{border-radius:14px;border-color:rgba(148,163,184,.28)}
.plans-page--editor:not(.plans-page--create) .plan-component-card{background:rgba(255,255,255,.88);box-shadow:0 8px 18px rgba(15,23,42,.035)}
.plans-page--editor:not(.plans-page--create) .plan-component-card:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.07)}
.plan-stage-bg{fill:#ffffff;stroke:rgba(15,23,42,.44);stroke-width:2.2;shape-rendering:geometricPrecision}.plan-stage-grid{opacity:.9}.plan-stage-grid--big{opacity:.8}
.plan-object{cursor:move}.plan-object-main{stroke:rgba(15,23,42,.36);stroke-width:1.25;vector-effect:non-scaling-stroke;filter:none!important}.plan-object-gloss{fill:rgba(255,255,255,.18);pointer-events:none}.plan-object-text{font-family:Inter,system-ui,sans-serif;font-weight:680;fill:#0f172a;stroke:rgba(255,255,255,.72);stroke-width:2.4px;paint-order:stroke;letter-spacing:-.015em;pointer-events:none}.plan-object-meta{font-family:Inter,system-ui,sans-serif;font-weight:620;fill:#334155;stroke:rgba(255,255,255,.62);stroke-width:1.8px;paint-order:stroke;pointer-events:none}.plan-object-select-frame{fill:rgba(37,99,235,.045);stroke:#2563eb;stroke-width:1.8;stroke-dasharray:0;filter:none!important;pointer-events:auto;cursor:move;vector-effect:non-scaling-stroke}.plan-object-select-frame.is-primary{stroke-width:2.4}.plan-object.is-selected .plan-object-main{stroke:#2563eb;stroke-width:2;filter:none!important}.plan-object.is-primary .plan-object-main{stroke-width:2.2}.plan-object-handle{fill:#2563eb;stroke:#fff;stroke-width:2;cursor:nwse-resize;filter:drop-shadow(0 3px 6px rgba(37,99,235,.18))}.plan-object-rotate-dot{fill:#fff;stroke:#2563eb;stroke-width:2;filter:drop-shadow(0 3px 6px rgba(37,99,235,.18));pointer-events:none}.plan-object-highlight-frame{fill:rgba(250,204,21,.14);stroke:#f59e0b;stroke-width:2.6;stroke-dasharray:10 6;filter:none!important;pointer-events:none;vector-effect:non-scaling-stroke}.plan-object-linked circle{filter:none}.plan-object--depot .plan-object-main,.plan-object--local .plan-object-main,.plan-object--piece .plan-object-main,.plan-object--atelier .plan-object-main{stroke-width:1.8}.plan-object--allee .plan-object-main,.plan-object--circulation .plan-object-main,.plan-object--zone .plan-object-main{stroke-width:1.4}.plan-object--porte .plan-object-main{stroke-width:1.8}
.plan-canvas-svg.is-dragging .plan-object.is-selected .plan-object-main{stroke:#1d4ed8;stroke-width:2.4}.plan-canvas-svg.is-dragging{cursor:grabbing}.plan-canvas-badge span{background:rgba(15,23,42,.68)}
.plans-page--create .plans-editor-card{border-radius:14px;box-shadow:0 16px 40px rgba(15,23,42,.07)}.plans-page--create .plans-create-intro h3{font-size:24px}.plans-page--create .plans-create-screen{gap:20px}.plans-page--create .plans-create-field .inp,.plans-page--create .plans-create-field .sel,.plans-page--create .plans-create-dimensions .inp{border-radius:10px;background:rgba(248,250,252,.95)}
[data-theme="dark"] .plans-page{color:var(--text,#e5e7eb)}[data-theme="dark"] .plans-editor-card,[data-theme="dark"] .plans-panel,[data-theme="dark"] .plans-stat-card,[data-theme="dark"] .plan-tile,[data-theme="dark"] .plan-inspector,[data-theme="dark"] .plans-create-screen{background:rgba(15,23,42,.90);border-color:rgba(148,163,184,.20);box-shadow:0 16px 34px rgba(0,0,0,.24)}[data-theme="dark"] .plans-page--editor .plans-panel,[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plans-editor-head,[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plans-toolbar{background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(17,24,39,.92));border-color:rgba(148,163,184,.20)}[data-theme="dark"] .plans-filter-card,[data-theme="dark"] .plans-component-library__head,[data-theme="dark"] .plans-help-card,[data-theme="dark"] .plan-link-panel,[data-theme="dark"] .plans-create-size{background:rgba(30,41,59,.42);border-color:rgba(148,163,184,.22)}[data-theme="dark"] .plan-component-card,[data-theme="dark"] .plan-location-card,[data-theme="dark"] .plans-create-field .inp,[data-theme="dark"] .plans-create-field .sel,[data-theme="dark"] .plans-create-dimensions .inp{background:rgba(15,23,42,.74);border-color:rgba(148,163,184,.22);color:var(--text,#e5e7eb)}[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plan-canvas-wrap{background:linear-gradient(135deg,#0b1220,#111827);border-color:rgba(148,163,184,.28)}[data-theme="dark"] .plan-stage-bg{fill:#0f172a;stroke:rgba(226,232,240,.42)}[data-theme="dark"] .plan-stage-grid{opacity:.55}.plan-canvas-svg [data-bg="1"]{shape-rendering:crispEdges}[data-theme="dark"] .plan-object-text{fill:#0f172a;stroke:rgba(255,255,255,.78)}[data-theme="dark"] .plan-object-meta{fill:#1e293b;stroke:rgba(255,255,255,.70)}[data-theme="dark"] .plan-object-select-frame{fill:rgba(96,165,250,.10);stroke:#60a5fa}[data-theme="dark"] .plan-object.is-selected .plan-object-main{stroke:#60a5fa}[data-theme="dark"] .plan-canvas-badge span{background:rgba(226,232,240,.14);color:#e5e7eb;border:1px solid rgba(226,232,240,.14)}[data-theme="dark"] .plans-page--create .plans-create-field .inp,[data-theme="dark"] .plans-page--create .plans-create-field .sel,[data-theme="dark"] .plans-page--create .plans-create-dimensions .inp{background:rgba(15,23,42,.78);color:#e5e7eb}
@media (max-width:720px){.plans-page--editor:not(.plans-page--create) .plans-editor-head{padding:14px}.plans-page--editor:not(.plans-page--create) .plans-toolbar{gap:10px}.plans-page--editor:not(.plans-page--create) .plan-tool-btn{min-height:42px}.plans-page--create .plans-editor-card{border-radius:12px}.plans-page--create .plans-create-screen{padding:18px}.plans-page--create .plans-create-intro h3{font-size:22px}}


/* v2.6.38 — PLANS DESIGN1 : objets premium, lisibilité affinée, légende compacte, thème sombre plus propre */
.plan-stage-bg,.plan-stage-grid,.plan-stage-grid--big{rx:0}
.plan-object-main{stroke:rgba(15,23,42,.28)!important;stroke-width:1.35!important;vector-effect:non-scaling-stroke}
.plan-object-title-band{fill:rgba(255,255,255,.22);stroke:rgba(15,23,42,.24);stroke-width:1;pointer-events:none;vector-effect:non-scaling-stroke}
.plan-object-gloss{fill:rgba(255,255,255,.14)!important}
.plan-object-text{font-weight:600!important;fill:#122033!important;stroke:none!important;paint-order:normal!important;letter-spacing:-.01em;dominant-baseline:hanging}
.plan-object-meta{font-weight:500!important;fill:#4b5d73!important;stroke:none!important;paint-order:normal!important}
.plan-object-linked circle{fill:#16a34a!important;stroke:#fff!important;stroke-width:1.8!important}
.plan-object-linked text{font-size:11px!important;font-weight:900!important;fill:#fff!important}
.plan-object-select-frame{fill:rgba(37,99,235,.06)!important;stroke:#2563eb!important;stroke-width:1.7!important;cursor:move!important}
.plan-object-select-frame.is-primary{stroke-width:2.1!important}
.plan-object.is-selected .plan-object-main{stroke:#2563eb!important;stroke-width:1.9!important}
.plan-object.is-primary .plan-object-main{stroke-width:2.1!important}
.plan-object-highlight-frame{fill:rgba(250,204,21,.12)!important;stroke:#f59e0b!important;stroke-width:2.2!important;stroke-dasharray:8 5!important}
/* r géré par JS (screenR) */
.plan-svg-legend rect:first-child{fill:rgba(255,255,255,.95)!important;stroke:rgba(148,163,184,.34)!important;filter:none!important}
.plan-legend-title{font-size:11px!important;font-weight:900!important;fill:#1d4ed8!important}
.plan-legend-text{font-size:10px!important;font-weight:650!important;fill:#122033!important}
.plan-legend-note{font-size:9px!important;font-weight:700!important;fill:#64748b!important}
.plan-component-preview svg{display:block;width:56px;height:36px}
.plan-component-copy strong{font-weight:800}
[data-theme="dark"] .plan-object-title-band{fill:rgba(255,255,255,.16);stroke:rgba(226,232,240,.18)}
[data-theme="dark"] .plan-object-text{fill:#f8fafc!important}
[data-theme="dark"] .plan-object-meta{fill:#dbe4ef!important}
[data-theme="dark"] .plan-object-main{stroke:rgba(241,245,249,.22)!important}
[data-theme="dark"] .plan-object-select-frame{fill:rgba(96,165,250,.11)!important;stroke:#60a5fa!important}
[data-theme="dark"] .plan-object.is-selected .plan-object-main{stroke:#60a5fa!important}
[data-theme="dark"] .plan-svg-legend rect:first-child{fill:rgba(15,23,42,.94)!important;stroke:rgba(148,163,184,.24)!important}
[data-theme="dark"] .plan-legend-text{fill:#e5edf7!important}
[data-theme="dark"] .plan-legend-note{fill:#a9b8cc!important}
[data-theme="dark"] .plan-legend-title{fill:#93c5fd!important}
[data-theme="dark"] .plan-component-card{background:rgba(15,23,42,.82)!important}


/* v2.6.40 — PLANS DESIGN1 : éditeur premium façon implantation / plan fini */
.plans-page--editor:not(.plans-page--create) .plans-layout{grid-template-columns:minmax(248px,300px) minmax(0,1fr);gap:14px;}
.plans-page--editor:not(.plans-page--create) .plans-panel{max-height:calc(100vh - 128px);overflow:auto;padding:12px;background:linear-gradient(180deg,rgba(248,250,252,.98),rgba(255,255,255,.92));}
.plans-page--editor:not(.plans-page--create) .plans-list-scroll{max-height:none;}
.plans-page--editor:not(.plans-page--create) .plans-help-card,.plans-page--editor:not(.plans-page--create) .plans-filter-card{display:none;}
.plans-page--editor:not(.plans-page--create) .plans-panel-head{margin-bottom:10px;padding:0 2px;}
.plans-page--editor:not(.plans-page--create) .plans-panel-head h2{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#64748b);}
.plans-page--editor:not(.plans-page--create) .plans-panel-head p{display:none;}
.plans-page--editor:not(.plans-page--create) .plans-component-library{margin-top:0;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 14px 34px rgba(15,23,42,.055);}
.plans-page--editor:not(.plans-page--create) .plans-component-library__head{padding:4px 4px 10px;margin:0;border:0;background:transparent;}
.plans-page--editor:not(.plans-page--create) .plans-component-library__head strong{font-size:14px;}
.plans-page--editor:not(.plans-page--create) .plans-component-library__head p{font-size:11.5px;line-height:1.35;}
.plans-page--editor:not(.plans-page--create) .plan-component-group__title{margin:10px 0 6px;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#64748b;}
.plans-page--editor:not(.plans-page--create) .plan-component-card{border-radius:10px;padding:8px;gap:8px;min-height:60px;}
.plans-page--editor:not(.plans-page--create) .plan-component-preview{width:48px;height:36px;border-radius:8px;}
.plans-page--editor:not(.plans-page--create) .plan-component-copy strong{font-size:12.5px;}
.plans-page--editor:not(.plans-page--create) .plan-component-copy small{font-size:10.5px;line-height:1.25;}
.plans-page--editor:not(.plans-page--create) .plan-component-copy em{font-size:10px;color:#64748b;}
.plans-page--editor:not(.plans-page--create) .plans-editor-card{padding:0;border-radius:10px;background:linear-gradient(180deg,#fff,#f9fbff);box-shadow:0 18px 46px rgba(15,23,42,.075);}
.plans-page--editor:not(.plans-page--create) .plans-editor-head{padding:14px 16px;background:linear-gradient(180deg,#fff,rgba(248,250,252,.92));}
.plans-page--editor:not(.plans-page--create) .plans-editor-title{font-size:19px;}
.plans-page--editor:not(.plans-page--create) .plans-editor-sub{font-size:12.5px;}
.plans-page--editor:not(.plans-page--create) .plans-editor-actions .btn{min-height:36px;border-radius:8px;font-size:12px;}
.plans-page--editor:not(.plans-page--create) .plans-toolbar{position:sticky;top:0;z-index:5;margin:0;padding:10px 14px;border-width:0 0 1px 0;border-radius:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:none;}
.plans-page--editor:not(.plans-page--create) .plans-tool-group{padding:0 10px 0 0;gap:6px;}
.plans-page--editor:not(.plans-page--create) .plan-tool-btn{min-height:34px;padding:7px 10px;border-radius:8px;font-size:11.5px;font-weight:800;}
.plans-page--editor:not(.plans-page--create) .plans-workbench{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;padding:12px;background:linear-gradient(135deg,#f4f7fb,#edf4ff);}
.plans-page--editor:not(.plans-page--create) .plan-canvas-wrap{min-height:calc(100vh - 255px);height:calc(100vh - 255px);border-radius:8px;border:1px solid rgba(15,23,42,.32);background:linear-gradient(135deg,#e8eef7,#f8fafc);box-shadow:inset 0 0 0 1px rgba(255,255,255,.78),0 20px 48px rgba(15,23,42,.10);}
.plans-page--editor:not(.plans-page--create) .plan-inspector{max-height:calc(100vh - 255px);overflow:auto;border-radius:10px;background:rgba(255,255,255,.96);}
.plan-stage-bg{fill:#fff!important;stroke:#0f172a!important;stroke-width:2!important;rx:0!important;}
.plan-stage-grid{opacity:.72!important;}
.plan-stage-grid--big{opacity:.58!important;}
.plan-object-main{stroke:rgba(15,23,42,.26)!important;stroke-width:1.18!important;filter:none!important;}
.plan-object.is-structure .plan-object-main{fill-opacity:.30!important;stroke-width:1.35!important;}
.plan-object.is-circulation .plan-object-main{fill-opacity:.42!important;stroke-dasharray:14 10!important;}
.plan-object.is-storage .plan-object-main{fill-opacity:.88!important;}
.plan-object--porte .plan-object-main{fill:rgba(251,146,60,.13)!important;stroke:rgba(15,23,42,.22)!important;}
.plan-object-label-bg{fill:rgba(255,255,255,.42);stroke:rgba(15,23,42,.12);stroke-width:.8;pointer-events:none;vector-effect:non-scaling-stroke;}
.plan-object-text{font-weight:500!important;fill:#132238!important;letter-spacing:-.005em!important;stroke:none!important;dominant-baseline:middle!important;}
.plan-object-meta{font-weight:450!important;fill:#475569!important;stroke:none!important;}
.plan-object-select-frame{fill:rgba(37,99,235,.035)!important;stroke:#2563eb!important;stroke-width:1.45!important;stroke-dasharray:6 5!important;}
.plan-object-select-frame.is-primary{stroke-width:1.85!important;}
.plan-object.is-selected .plan-object-main{stroke:#2563eb!important;stroke-width:1.65!important;}
.plan-object-handle{fill:#2563eb!important;stroke:#fff!important;stroke-width:2!important;}
.plan-object-rotate-dot{stroke-width:1.8!important;}
.plan-object-highlight-frame{fill:rgba(245,158,11,.10)!important;stroke:#f59e0b!important;stroke-width:2.4!important;stroke-dasharray:none!important;filter:drop-shadow(0 0 8px rgba(245,158,11,.22));}
.plan-object-linked circle{fill:#059669!important;r:6;}
.plan-object-linked text{font-size:8px!important;font-weight:900!important;}
.plan-canvas-badge span{border-radius:8px;background:rgba(15,23,42,.72);font-size:11px;}
[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plans-panel,[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plans-editor-card{background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(17,24,39,.94));}
[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plans-editor-head,[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plans-toolbar{background:rgba(15,23,42,.96);}
[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plans-workbench{background:linear-gradient(135deg,#0b1220,#101827);}
[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plan-canvas-wrap{background:linear-gradient(135deg,#0a1020,#111827);border-color:rgba(226,232,240,.26);}
[data-theme="dark"] .plans-page--editor:not(.plans-page--create) .plan-inspector{background:rgba(15,23,42,.92);}
[data-theme="dark"] .plan-stage-bg{fill:#0f172a!important;stroke:rgba(226,232,240,.45)!important;}
[data-theme="dark"] .plan-stage-grid,[data-theme="dark"] .plan-stage-grid--big{opacity:.34!important;}
[data-theme="dark"] .plan-object-main{stroke:rgba(241,245,249,.24)!important;}
[data-theme="dark"] .plan-object-label-bg{fill:rgba(15,23,42,.42);stroke:rgba(226,232,240,.14);}
[data-theme="dark"] .plan-object-text{fill:#f8fafc!important;}
[data-theme="dark"] .plan-object-meta{fill:#cbd5e1!important;}
@media (max-width:1100px){.plans-page--editor:not(.plans-page--create) .plans-layout{grid-template-columns:1fr}.plans-page--editor:not(.plans-page--create) .plans-panel{max-height:none}.plans-page--editor:not(.plans-page--create) .plans-workbench{grid-template-columns:1fr}.plans-page--editor:not(.plans-page--create) .plan-inspector{max-height:none}.plans-page--editor:not(.plans-page--create) .plan-canvas-wrap{height:560px;min-height:560px}}
@media (max-width:640px){.plans-page--editor:not(.plans-page--create) .plans-workbench{padding:8px}.plans-page--editor:not(.plans-page--create) .plans-toolbar{position:relative}.plans-page--editor:not(.plans-page--create) .plan-canvas-wrap{height:420px;min-height:420px}.plans-page--editor:not(.plans-page--create) .plan-tool-btn{min-height:42px;flex:1 1 auto}}

/* PLANS EDITOR2 — confort de précision éditeur */
.plan-tool-btn:disabled,
.plan-tool-btn.is-disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.plan-canvas-svg.is-panning-mode{cursor:grab}
.plan-canvas-svg.is-panning-mode.is-dragging{cursor:grabbing}
.plan-align-guide{stroke:#2563eb;stroke-width:1.4;stroke-dasharray:8 6;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 0 4px rgba(37,99,235,.30))}
.plan-align-guide--y{stroke:#0ea5e9}.plan-align-guide--x{stroke:#2563eb}
.plan-object-handle{fill:#fff!important;stroke:#2563eb!important;stroke-width:2!important;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 5px rgba(15,23,42,.18))}
.plan-object-handle--nw,.plan-object-handle--se{cursor:nwse-resize}.plan-object-handle--ne,.plan-object-handle--sw{cursor:nesw-resize}
.plan-object-rotate-control{cursor:grab}.plan-object-rotate-control line{stroke:#2563eb;stroke-width:1.25;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.plan-object-rotate-dot{fill:#fff!important;stroke:#2563eb!important;stroke-width:2!important;filter:drop-shadow(0 2px 5px rgba(15,23,42,.18))}
.plans-page--editor:not(.plans-page--create) .plan-canvas-badge span:last-child{background:rgba(37,99,235,.86)}
.plans-page--editor:not(.plans-page--create) .plans-tool-group[aria-label="Options d’édition"]{background:rgba(37,99,235,.035);padding:4px 10px 4px 4px;border-radius:10px}
.plans-page--editor:not(.plans-page--create) .plan-inspector .plans-help-card{border-color:rgba(37,99,235,.20);background:rgba(37,99,235,.055);line-height:1.45}
[data-theme="dark"] .plan-align-guide{stroke:#60a5fa;filter:drop-shadow(0 0 5px rgba(96,165,250,.32))}
[data-theme="dark"] .plan-align-guide--y{stroke:#38bdf8}
[data-theme="dark"] .plan-object-handle,[data-theme="dark"] .plan-object-rotate-dot{fill:#0f172a!important;stroke:#60a5fa!important}
[data-theme="dark"] .plan-object-rotate-control line{stroke:#60a5fa}
@media (max-width:640px){.plans-page--editor:not(.plans-page--create) .plans-tool-group[aria-label="Options d’édition"]{padding:6px;width:100%}.plans-page--editor:not(.plans-page--create) .plan-tool-btn[data-editor-act]{flex:1 1 46%}}


/* MageStock v2.6.42 — LOCALISATION2 : consultation produit forcée, sans ambiance édition */
.plans-page--localization .plans-toolbar,
.plans-page--localization .plans-component-library,
.plans-page--localization .plan-location-search,
.plans-page--localization #btnPlanEdit,
.plans-page--localization #btnPlanCancelEdit,
.plans-page--localization #btnPlanSave{display:none!important}
.plans-page--localization .plans-editor-head{border-bottom-color:rgba(245,158,11,.30)!important;background:linear-gradient(135deg,rgba(255,247,237,.92),rgba(255,255,255,.96))!important}
.plans-page--localization .plans-section-kicker{color:#d97706!important}
.plans-page--localization .plan-readonly-pill--localization{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.10);color:#b45309}
.plans-page--localization .plan-canvas-wrap{background:linear-gradient(135deg,#f8fafc,#fff7ed)!important;border-color:rgba(245,158,11,.24)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 18px 42px rgba(245,158,11,.08)!important}
.plans-page--localization .plan-object-highlight-frame{fill:rgba(245,158,11,.12)!important;stroke:#f59e0b!important;stroke-width:5!important;stroke-dasharray:none!important;filter:drop-shadow(0 0 14px rgba(245,158,11,.30))}
.plans-page--localization .plan-product-location-card{border-color:rgba(245,158,11,.45);background:linear-gradient(135deg,rgba(255,247,237,.96),rgba(255,255,255,.90));box-shadow:0 14px 28px rgba(245,158,11,.08)}
.plans-page--localization .plan-canvas-badge span:last-child{border-color:rgba(245,158,11,.34);background:rgba(245,158,11,.10);color:#b45309}
[data-theme="dark"] .plans-page--localization .plans-editor-head{background:linear-gradient(135deg,rgba(69,26,3,.42),rgba(15,23,42,.94))!important;border-color:rgba(245,158,11,.22)!important}
[data-theme="dark"] .plans-page--localization .plan-canvas-wrap{background:linear-gradient(135deg,#0b1220,#1c1917)!important;border-color:rgba(245,158,11,.22)!important}
[data-theme="dark"] .plans-page--localization .plan-readonly-pill--localization{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.30);color:#fed7aa}
[data-theme="dark"] .plans-page--localization .plan-product-location-card{background:linear-gradient(135deg,rgba(69,26,3,.28),rgba(15,23,42,.82));border-color:rgba(245,158,11,.24)}

/* ================================================================
   PLANS ARCHITECTE1 — logique plan 2D : murs, ouvertures, modes métier
   ================================================================ */
.plans-architect-modebar{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%;padding:4px 0 8px;margin:0 0 2px;border-bottom:1px solid rgba(148,163,184,.22)
}
.plans-mode-chip{
  border:1px solid rgba(148,163,184,.34);background:rgba(255,255,255,.88);color:var(--text,#0f172a);border-radius:999px;min-height:34px;padding:7px 12px;font-size:12px;font-weight:900;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease
}
.plans-mode-chip:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.38)}
.plans-mode-chip.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.18)}
.plans-page--editor:not(.plans-page--create) .plans-toolbar{align-items:flex-start}
.plan-stage-bg{fill:#fffdf7!important;stroke:#111827!important;stroke-width:2.4!important;vector-effect:non-scaling-stroke;filter:none!important}
.plan-stage-grid{opacity:.82}.plan-stage-grid--big{opacity:.58}.plan-stage-paper-edge{fill:none;stroke:#111827;stroke-width:2.1;vector-effect:non-scaling-stroke}.plan-stage-ruler line{stroke:rgba(51,65,85,.45);stroke-width:1;vector-effect:non-scaling-stroke}.plan-stage-ruler-tick{stroke:rgba(51,65,85,.46)!important}.plan-stage-ruler-text,.plan-stage-dimension{font-size:13px;font-weight:800;fill:#475569;paint-order:stroke;stroke:#fff;stroke-width:4;vector-effect:non-scaling-stroke}.plan-stage-dimension{font-size:16px;letter-spacing:.02em;fill:#334155}
.plan-object.is-wall .plan-object-main{stroke:#0f172a!important;stroke-width:.8!important;rx:0!important;filter:none!important}.plan-object--mur .plan-object-main{fill:#334155!important}.plan-object--cloison .plan-object-main{fill:#64748b!important}.plan-wall-axis,.plan-partition-axis{stroke:rgba(255,255,255,.52);stroke-width:1.1;vector-effect:non-scaling-stroke}.plan-partition-axis{stroke-dasharray:8 5}.plan-object--ouverture .plan-object-main,.plan-object--fenetre .plan-object-main{fill:#fffdf7!important;stroke:#334155!important;stroke-width:1.6!important}.plan-opening-cut{fill:#fffdf7;stroke:rgba(245,158,11,.78);stroke-width:1;vector-effect:non-scaling-stroke}.plan-object--porte .plan-object-main{fill:rgba(253,186,116,.16)!important;stroke:rgba(120,53,15,.58)!important}.plan-object--escalier .plan-object-main{fill:#f8fafc!important;stroke:#475569!important}.plan-object--repere .plan-object-main{fill:#fef3c7!important;stroke:#92400e!important}.plan-object.is-architectural .plan-object-text{font-size:9px!important;font-weight:700!important}.plan-object.is-architectural .plan-object-select-frame{stroke:#0ea5e9!important;fill:rgba(14,165,233,.07)!important}
.plan-component-group__title{display:flex;align-items:center;gap:8px}.plan-component-group__title::before{content:'';width:7px;height:7px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.plan-component-card[data-component-add="mur"],.plan-component-card[data-component-add="cloison"],.plan-component-card[data-component-add="porte"],.plan-component-card[data-component-add="ouverture"],.plan-component-card[data-component-add="fenetre"]{border-color:rgba(51,65,85,.24);background:linear-gradient(180deg,#fff,#f8fafc)}.plan-component-card[data-component-add="mur"] .plan-component-preview,.plan-component-card[data-component-add="cloison"] .plan-component-preview{background:#f8fafc}.plan-component-card.active{outline:3px solid rgba(37,99,235,.18);border-color:#2563eb!important;background:rgba(37,99,235,.06)!important}
[data-theme="dark"] .plans-mode-chip{background:rgba(15,23,42,.74);border-color:rgba(148,163,184,.25);color:#e5e7eb}[data-theme="dark"] .plans-mode-chip.active{background:#2563eb;border-color:#60a5fa;color:#fff}[data-theme="dark"] .plan-stage-bg{fill:#f8fafc!important;stroke:#020617!important}[data-theme="dark"] .plan-stage-grid{opacity:.64}[data-theme="dark"] .plan-stage-paper-edge{stroke:#020617}[data-theme="dark"] .plan-stage-ruler-text,[data-theme="dark"] .plan-stage-dimension{fill:#334155;stroke:#f8fafc}
@media(max-width:900px){.plans-architect-modebar{overflow:auto;flex-wrap:nowrap;padding-bottom:10px}.plans-mode-chip{white-space:nowrap}.plan-stage-ruler-text,.plan-stage-dimension{display:none}}


/* ================================================================
   PLANS WALLS2 — murs réels par points, ouvertures accrochées et pièces fermées
   ================================================================ */
.plan-wall-draft line{stroke:#2563eb;stroke-linecap:square;opacity:.58;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px rgba(37,99,235,.28))}
.plan-wall-draft circle{fill:#fff;stroke:#2563eb;stroke-width:2.2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 5px rgba(15,23,42,.18))}
.plan-wall-draft text{font-size:12px;font-weight:950;fill:#1d4ed8;paint-order:stroke;stroke:#fff;stroke-width:4;vector-effect:non-scaling-stroke}
.plan-wall-segment-line{stroke:#334155;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke;filter:none!important}
.plan-wall-segment-line--partition{stroke:#64748b;stroke-dasharray:none;opacity:.95}
.plan-wall-segment-axis{stroke:rgba(255,255,255,.55);stroke-width:1.05;stroke-dasharray:10 7;vector-effect:non-scaling-stroke;pointer-events:none}
.plan-wall-length{font-size:12px;font-weight:950;fill:#334155;paint-order:stroke;stroke:#fffdf7;stroke-width:4;vector-effect:non-scaling-stroke;pointer-events:none}
.plan-wall-endpoint{fill:#fff!important;stroke:#2563eb!important;stroke-width:2.4!important;vector-effect:non-scaling-stroke;cursor:crosshair;filter:drop-shadow(0 2px 6px rgba(15,23,42,.20))}
.plan-object.is-wall-segment .plan-object-select-frame{stroke:#2563eb!important;stroke-dasharray:7 5;fill:rgba(37,99,235,.055)!important;vector-effect:non-scaling-stroke}
.plan-object.is-attached-opening .plan-object-main{stroke:#f59e0b!important;stroke-width:1.9!important;filter:drop-shadow(0 0 5px rgba(245,158,11,.18))}
.plan-object.is-attached-opening::after{content:''}
.plan-room-fill{fill:rgba(191,219,254,.22);stroke:rgba(37,99,235,.28);stroke-width:1.2;stroke-dasharray:12 8;vector-effect:non-scaling-stroke;pointer-events:none}
.plan-room-label{font-size:14px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;fill:rgba(29,78,216,.62);paint-order:stroke;stroke:#fffdf7;stroke-width:5;vector-effect:non-scaling-stroke;pointer-events:none}
.plan-geometry-note{display:grid;gap:3px;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(37,99,235,.20);border-radius:12px;background:rgba(37,99,235,.055);color:var(--text,#0f172a)}
.plan-geometry-note strong{font-size:12px;color:#1d4ed8}.plan-geometry-note span,.plan-geometry-note small{font-size:12px;line-height:1.35;color:var(--text-muted,#64748b)}
.plan-geometry-note.is-ok{border-color:rgba(22,163,74,.22);background:rgba(22,163,74,.07)}.plan-geometry-note.is-ok strong{color:#15803d}
.plan-geometry-note.is-warning{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.10)}.plan-geometry-note.is-warning strong{color:#b45309}
.plan-component-card[data-component-add="mur"] .plan-component-copy small::after,
.plan-component-card[data-component-add="cloison"] .plan-component-copy small::after{content:' · tracé par 2 clics';font-weight:950;color:#2563eb}
.plan-component-card[data-component-add="porte"] .plan-component-copy small::after,
.plan-component-card[data-component-add="fenetre"] .plan-component-copy small::after,
.plan-component-card[data-component-add="ouverture"] .plan-component-copy small::after{content:' · s’accroche au mur';font-weight:950;color:#d97706}
[data-theme="dark"] .plan-wall-draft text,[data-theme="dark"] .plan-wall-length{stroke:#f8fafc}
[data-theme="dark"] .plan-room-fill{fill:rgba(59,130,246,.15);stroke:rgba(37,99,235,.36)}
[data-theme="dark"] .plan-room-label{stroke:#f8fafc;fill:rgba(29,78,216,.72)}
[data-theme="dark"] .plan-geometry-note{background:rgba(37,99,235,.10);border-color:rgba(96,165,250,.28)}
[data-theme="dark"] .plan-geometry-note strong{color:#93c5fd}
[data-theme="dark"] .plan-wall-endpoint{fill:#0f172a!important;stroke:#60a5fa!important}
@media(max-width:640px){.plan-wall-length,.plan-room-label{font-size:10px}.plan-geometry-note{padding:9px 10px}/* endpoint r géré par JS */}

/* v2.6.46 — PLANS ROOMS3 : pièces réelles, surfaces, cotes et sélection de structure */
.plan-room{pointer-events:auto}.plan-room-fill{cursor:pointer;pointer-events:auto;fill:rgba(219,234,254,.28);stroke:rgba(37,99,235,.38);stroke-width:1.3;stroke-dasharray:0;vector-effect:non-scaling-stroke}.plan-room-fill:hover{fill:rgba(96,165,250,.18);stroke:#2563eb}.plan-room-label{font-size:14px;font-weight:950;letter-spacing:.025em;text-transform:none;fill:rgba(29,78,216,.78);paint-order:stroke;stroke:#fffdf7;stroke-width:5;vector-effect:non-scaling-stroke;pointer-events:auto;cursor:pointer}.plan-room-sub{font-size:11px;font-weight:850;fill:rgba(71,85,105,.82);paint-order:stroke;stroke:#fffdf7;stroke-width:4;vector-effect:non-scaling-stroke;pointer-events:auto;cursor:pointer}.plan-room-cotes line{stroke:rgba(71,85,105,.54);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.plan-room-cotes text{font-size:10.5px;font-weight:850;fill:#475569;paint-order:stroke;stroke:#fffdf7;stroke-width:4;vector-effect:non-scaling-stroke;pointer-events:none}.plan-wall-chain-start{fill:#fef3c7!important;stroke:#d97706!important;stroke-width:2.4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 7px rgba(217,119,6,.28))}.plan-wall-draft text{letter-spacing:.02em}.plan-object.is-wall-segment.is-selected .plan-wall-segment-line{filter:drop-shadow(0 0 5px rgba(37,99,235,.20))!important}.plan-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-theme="dark"] .plan-room-fill{fill:rgba(59,130,246,.16);stroke:rgba(96,165,250,.42)}[data-theme="dark"] .plan-room-fill:hover{fill:rgba(96,165,250,.22);stroke:#60a5fa}[data-theme="dark"] .plan-room-label{stroke:#f8fafc;fill:rgba(30,64,175,.86)}[data-theme="dark"] .plan-room-sub,[data-theme="dark"] .plan-room-cotes text{stroke:#f8fafc;fill:#334155}


/* PLANS OPENINGS SYMBOLS1 — symboles placés pro : portes, fenêtres, passages */
.plan-opening{cursor:move}.plan-opening-hit{fill:rgba(255,255,255,.01);stroke:transparent;pointer-events:auto;vector-effect:non-scaling-stroke}.plan-opening-shape{pointer-events:none}.plan-opening-shape line,.plan-opening-shape path,.plan-opening-shape circle{vector-effect:non-scaling-stroke}.plan-opening-jamb{stroke:#111827;stroke-width:1.45;stroke-linecap:square}.plan-window-rail{stroke:#1f2937;stroke-width:1.55;stroke-linecap:square}.plan-window-rail--outer{stroke:#111827}.plan-opening-window .plan-opening-glass{stroke:#64748b;stroke-width:.95;stroke-linecap:square}.plan-window-mullion{stroke:#64748b;stroke-width:.95}.plan-opening-passage .plan-opening-jamb{stroke:#111827;stroke-width:1.55}.plan-passage-cap{stroke:#111827;stroke-width:1.25;stroke-linecap:square}.plan-passage-axis{stroke:#94a3b8;stroke-width:.9;stroke-dasharray:6 5;stroke-linecap:butt}.plan-door-threshold{stroke:#111827;stroke-width:1.45;stroke-linecap:square}.plan-door-leaf{stroke:#111827;stroke-width:1.75;stroke-linecap:square}.plan-door-arc{fill:none;stroke:#6b7280;stroke-width:1.05;stroke-dasharray:none;stroke-linecap:round}.plan-door-hinge{fill:#fff;stroke:#111827;stroke-width:1.1}.plan-object--porte .plan-opening-hit,.plan-object--porte_double .plan-opening-hit,.plan-object--fenetre .plan-opening-hit,.plan-object--ouverture .plan-opening-hit{fill:rgba(255,255,255,.01)}.plan-opening:hover .plan-opening-hit,.plan-object.plan-opening.is-selected .plan-opening-hit{stroke:rgba(37,99,235,.58);stroke-width:1.2;stroke-dasharray:0}.plan-object.plan-opening:not(.is-attached-opening):not(.is-selected) .plan-opening-hit{stroke:rgba(245,158,11,.30);stroke-width:1;stroke-dasharray:5 4}.plan-wall-cut line:first-child{stroke:#fffdf7;stroke-linecap:butt;vector-effect:non-scaling-stroke}.plan-wall-cut-cap{stroke:#111827;stroke-width:1.25;vector-effect:non-scaling-stroke}.plan-opening-panel{display:grid;gap:8px;margin:0 0 12px;padding:12px;border:1px solid rgba(100,116,139,.24);border-radius:8px;background:linear-gradient(180deg,#fff,#f8fafc)}.plan-opening-panel>strong{font-size:12px;color:#111827}.plan-opening-panel p{margin:0;color:var(--text-muted,#64748b);font-size:12px;line-height:1.35}.plan-object--porte_double .plan-door-leaf{stroke-width:1.65}.plan-object--porte_double .plan-door-arc{stroke-width:1}
[data-theme="dark"] .plan-wall-cut line:first-child{stroke:#111827}[data-theme="dark"] .plan-wall-cut-cap{stroke:rgba(226,232,240,.82)}[data-theme="dark"] .plan-opening-jamb,[data-theme="dark"] .plan-window-rail,[data-theme="dark"] .plan-door-threshold,[data-theme="dark"] .plan-door-leaf,[data-theme="dark"] .plan-passage-cap{stroke:#e5e7eb}[data-theme="dark"] .plan-door-arc,[data-theme="dark"] .plan-opening-window .plan-opening-glass,[data-theme="dark"] .plan-window-mullion,[data-theme="dark"] .plan-passage-axis{stroke:#94a3b8}[data-theme="dark"] .plan-door-hinge{fill:#111827;stroke:#e5e7eb}[data-theme="dark"] .plan-opening-panel{background:linear-gradient(180deg,rgba(15,23,42,.92),rgba(15,23,42,.76));border-color:rgba(148,163,184,.28)}[data-theme="dark"] .plan-opening-panel>strong{color:#f8fafc}
@media(max-width:640px){.plan-opening-panel{padding:10px}.plan-door-arc{stroke-width:1.2}.plan-window-rail{stroke-width:1.65}}

/* ============================================================
   v2.6.48 — PLANS FULLSCREEN1 : éditeur plein écran focalisé.
   Masque tout le chrome autour et réorganise l'éditeur en
   rail (outils + éléments) | canevas | inspecteur. Scopé sous
   .plans-page.plans-fs : aucune incidence hors plein écran.
   ============================================================ */
body.plans-fs-lock{overflow:hidden}

.plans-page.plans-fs .plans-hero,
.plans-page.plans-fs .plans-stat-grid,
.plans-page.plans-fs .plans-panel{display:none!important}
.plans-page.plans-fs .plans-layout{display:block;margin:0;padding:0;gap:0}

.plans-page.plans-fs .plans-editor-card{
  position:fixed;inset:0;z-index:200;margin:0;border:0;border-radius:0;overflow:hidden;max-height:100vh;
  display:grid;grid-template-columns:310px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);
  grid-template-areas:"head head" "rail work";
  background:var(--bg-card,#fff);box-shadow:none;
}
/* création : le formulaire occupe toute la zone, pas de rail vide */
.plans-page.plans-fs .plans-editor-card:has(#planCreateScreen:not([hidden])),
.plans-page.plans-fs .plans-editor-card:has(#plansWelcome:not([hidden])){grid-template-columns:minmax(0,1fr)}
.plans-page.plans-fs .plans-create-screen,
.plans-page.plans-fs .plans-welcome{grid-area:work;grid-column:1 / -1;overflow:auto}

/* top-bar compacte */
.plans-page.plans-fs .plans-editor-head{grid-area:head;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:9px 16px;margin:0;border-bottom:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,#fff,rgba(248,250,252,.92))}
.plans-page.plans-fs .plans-editor-head__copy{flex:0 1 auto;min-width:0;margin:0}
.plans-page.plans-fs .plans-editor-head__copy .plans-section-kicker,
.plans-page.plans-fs .plans-editor-sub{display:none}
.plans-page.plans-fs .plans-editor-title{font-size:16px;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(42vw,320px)}
.plans-page.plans-fs .plans-editor-actions{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}

/* rail gauche : outils + éléments + recherche */
.plans-page.plans-fs .plans-editor-rail{grid-area:rail;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px;display:flex;flex-direction:column;gap:14px;border-right:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,rgba(248,250,252,.65),#fff)}
.plans-page.plans-fs .plans-toolbar{position:static;display:flex;flex-direction:column;gap:12px;padding:0;margin:0;border:0;background:none;box-shadow:none;border-radius:0}
.plans-page.plans-fs .plans-architect-modebar,
.plans-page.plans-fs .plans-tool-group{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0 0 12px;border-bottom:1px dashed rgba(148,163,184,.32)}
.plans-page.plans-fs .plans-toolbar>*:last-child{border-bottom:0;padding-bottom:0}
.plans-page.plans-fs .plans-architect-modebar[aria-label]::before,
.plans-page.plans-fs .plans-tool-group[aria-label]::before{content:attr(aria-label);flex:1 0 100%;margin:0 0 2px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b}
.plans-page.plans-fs .plan-tool-btn,
.plans-page.plans-fs .plans-mode-chip{flex:1 1 auto;justify-content:center;min-height:34px;white-space:nowrap}
.plans-page.plans-fs .plans-component-library,
.plans-page.plans-fs .plan-location-search{display:block;margin:0;padding:0;border:0;background:none;box-shadow:none}
.plans-page.plans-fs .plans-component-library__head{margin-bottom:8px}

/* zone de travail : canevas + inspecteur */
.plans-page.plans-fs .plans-workbench{grid-area:work;display:grid;grid-template-columns:minmax(0,1fr) 322px;gap:0;height:100%;min-height:0;margin:0}
.plans-page.plans-fs .plan-canvas-wrap{height:100%;min-height:0;margin:0;border:0;border-radius:0}
.plans-page.plans-fs .plan-inspector{height:100%;min-height:0;margin:0;overflow-y:auto;border-radius:0;border:0;border-left:1px solid rgba(148,163,184,.24)}

/* bouton bascule */
.plans-fs-btn.active{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}

/* responsive : empilement rail en bandeau, inspecteur masqué */
@media (max-width:1024px){
  .plans-page.plans-fs .plans-editor-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"head" "rail" "work"}
  .plans-page.plans-fs .plans-editor-rail{flex-direction:row;align-items:flex-start;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid rgba(148,163,184,.24)}
  .plans-page.plans-fs .plans-toolbar{flex-direction:row}
  .plans-page.plans-fs .plans-architect-modebar,
  .plans-page.plans-fs .plans-tool-group{border-bottom:0;border-right:1px dashed rgba(148,163,184,.32);padding:0 12px 0 0}
  .plans-page.plans-fs .plans-workbench{grid-template-columns:minmax(0,1fr)}
  .plans-page.plans-fs .plan-inspector{display:none}
}

/* thème sombre */
[data-theme="dark"] .plans-page.plans-fs .plans-editor-card{background:#0b1220}
[data-theme="dark"] .plans-page.plans-fs .plans-editor-head{background:linear-gradient(180deg,#0f172a,#111827);border-color:rgba(148,163,184,.2)}
[data-theme="dark"] .plans-page.plans-fs .plans-editor-rail{background:linear-gradient(180deg,rgba(15,23,42,.6),#0b1220);border-color:rgba(148,163,184,.2)}
[data-theme="dark"] .plans-page.plans-fs .plan-inspector{border-color:rgba(148,163,184,.2)}

/* v2.6.49 — PLANS FIX1 : interaction (poignées écran-constantes, murs) */
.plan-wall-hit{pointer-events:stroke;cursor:move}
.plans-tool-group .plan-tool-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}
.plans-tool-group .plan-tool-btn.primary:hover{background:#1d4ed8}

/* ============================================================
   v2.6.50 — PLANS DESIGN premium : modèles 2D posés sur la grille.
   Teintes sobres (résolues au rendu), fills allégés, trait
   d'implantation constant. N'affecte ni les murs, ni les
   ouvertures, ni les pièces (classes dédiées).
   ============================================================ */
.plan-object.is-storage .plan-object-main{fill-opacity:.5!important}
.plan-object.is-structure .plan-object-main{fill-opacity:.26!important}
.plan-object.is-circulation .plan-object-main{fill-opacity:.34!important}
.plan-object-main{stroke:rgba(51,65,85,.32)!important;stroke-width:1.1!important}
.plan-object.is-selected .plan-object-main{stroke:#2563eb!important;stroke-width:1.7!important}
.plan-object.is-primary .plan-object-main{stroke-width:1.9!important}
.plan-object-label-bg{fill:rgba(255,255,255,.66)!important;stroke:rgba(51,65,85,.12)!important}
.plan-object-text{font-weight:600!important;fill:#1f2d3d!important;letter-spacing:-.005em!important}
.plan-object-meta{font-weight:500!important;fill:#546074!important}
.plan-object-linked circle{fill:#16a34a!important;stroke:#fff!important;stroke-width:1.6!important}

[data-theme="dark"] .plan-object.is-storage .plan-object-main{fill-opacity:.62!important}
[data-theme="dark"] .plan-object-main{stroke:rgba(226,232,240,.3)!important}
[data-theme="dark"] .plan-object-label-bg{fill:rgba(15,23,42,.5)!important;stroke:rgba(226,232,240,.14)!important}

/* ============================================================
   v2.6.51 — PLANS EDITOR PIXEL1 : reproduction shell éditeur pro.
   Structure plein écran : toolbar haute | bibliothèque gauche |
   canvas central | inspecteur droit. Scopé prioritairement sous
   .plans-page.plans-fs pour éviter toute régression hors éditeur.
   ============================================================ */
.plans-page.plans-fs{--plans-head:#0b1220;--plans-head-2:#111827;--plans-head-border:rgba(148,163,184,.22);--plans-ui-border:#d8e0ea;--plans-ui-soft:#f5f7fa;--plans-text:#101827;--plans-muted:#667085;--plans-blue:#2563eb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.plans-page.plans-fs .plans-hero,.plans-page.plans-fs .plans-stat-grid,.plans-page.plans-fs .plans-panel{display:none!important}
.plans-page.plans-fs .plans-layout{display:block!important;margin:0!important;padding:0!important;gap:0!important}
.plans-page.plans-fs .plans-editor-card{position:fixed!important;inset:0!important;z-index:200!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;max-height:100vh!important;background:#fff!important;box-shadow:none!important;display:grid!important;grid-template-columns:320px minmax(0,1fr) 330px!important;grid-template-rows:74px minmax(0,1fr)!important;grid-template-areas:"head head head" "rail work work"!important}
.plans-page.plans-fs .plans-editor-card:has(#planCreateScreen:not([hidden])),.plans-page.plans-fs .plans-editor-card:has(#plansWelcome:not([hidden])){grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"head" "work"!important}
.plans-page.plans-fs .plans-create-screen,.plans-page.plans-fs .plans-welcome{grid-area:work!important;grid-column:1/-1!important;overflow:auto!important}

/* Barre haute sombre type logiciel */
.plans-page.plans-fs .plans-editor-head{grid-area:head!important;display:grid!important;grid-template-columns:minmax(300px,430px) minmax(0,1fr) auto!important;align-items:stretch!important;gap:0!important;flex-wrap:nowrap!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(180deg,var(--plans-head),var(--plans-head-2))!important;color:#e5edf7!important;box-shadow:0 1px 0 rgba(15,23,42,.25)!important}
.plans-page.plans-fs .plans-editor-head__identity{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;min-width:0;border-right:1px solid rgba(255,255,255,.10)}
.plans-page.plans-fs .plans-head-back{height:100%;display:flex!important;align-items:center;gap:9px;padding:0 18px;color:#f8fafc!important;text-decoration:none!important;font-size:13px;font-weight:850;border-right:1px solid rgba(255,255,255,.10);white-space:nowrap}
.plans-page.plans-fs .plans-head-back:hover{background:rgba(255,255,255,.055)}
.plans-page.plans-fs .plans-editor-head__copy{min-width:0;padding:10px 16px 8px 16px;display:grid;align-content:center;gap:3px}
.plans-page.plans-fs .plans-editor-head__copy .plans-section-kicker{display:none!important}
.plans-page.plans-fs .plans-editor-title{margin:0!important;max-width:100%!important;font-size:14px!important;line-height:1.15!important;font-weight:900!important;letter-spacing:-.01em!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.plans-page.plans-fs .plans-editor-sub{display:block!important;margin:0!important;color:#97a4b8!important;font-size:11.5px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:230px!important}
.plans-page.plans-fs .plan-dirty-pill,.plans-page.plans-fs .plan-clean-pill,.plans-page.plans-fs .plan-readonly-pill{min-height:auto!important;padding:0!important;border-radius:0!important;background:transparent!important;font-size:11px!important;font-weight:800!important;color:#8ea0b9!important;box-shadow:none!important;display:inline-flex!important;gap:6px!important}
.plans-page.plans-fs .plan-clean-pill::after{content:'✓';color:#22c55e;font-weight:950}.plans-page.plans-fs .plan-dirty-pill::after{content:'●';color:#f59e0b;font-size:10px}

/* Toolbar haute */
.plans-page.plans-fs .plans-toolbar{display:flex!important;position:static!important;align-items:stretch!important;justify-content:center!important;gap:0!important;min-width:0!important;margin:0!important;padding:0 10px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;overflow:hidden!important}
.plans-page.plans-fs .plans-architect-modebar{display:none!important}
.plans-page.plans-fs .plans-tool-group{display:flex!important;align-items:stretch!important;gap:0!important;margin:0!important;padding:0 10px!important;border:0!important;border-right:1px solid rgba(255,255,255,.10)!important;border-bottom:0!important;background:transparent!important;border-radius:0!important;min-width:0!important}
.plans-page.plans-fs .plans-tool-group::before{display:none!important;content:none!important}
.plans-page.plans-fs .plans-tool-group:last-child{border-right:0!important}
.plans-page.plans-fs .plan-tool-btn{appearance:none;min-height:0!important;height:100%!important;min-width:56px!important;display:grid!important;grid-template-rows:28px 16px!important;place-items:center!important;gap:2px!important;padding:7px 8px 6px!important;border:1px solid transparent!important;border-radius:3px!important;background:transparent!important;color:#dbe7f6!important;font-size:11px!important;line-height:1!important;font-weight:800!important;white-space:nowrap!important;box-shadow:none!important;transition:background .12s ease,border-color .12s ease,color .12s ease!important}
.plans-page.plans-fs .plan-tool-btn .plan-tool-icon{font-size:18px;line-height:1;color:#f8fafc;opacity:.96;font-weight:900}
.plans-page.plans-fs .plan-tool-btn:hover:not(:disabled){background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.13)!important;color:#fff!important}
.plans-page.plans-fs .plan-tool-btn.active,.plans-page.plans-fs .plan-tool-btn.primary,.plans-page.plans-fs .plans-fs-btn.active{background:linear-gradient(180deg,#1d4ed8,#1e40af)!important;border-color:#3b82f6!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 0 0 1px rgba(37,99,235,.12)!important}
.plans-page.plans-fs .plan-tool-btn:disabled{opacity:.45!important;cursor:not-allowed!important}
.plans-page.plans-fs .plans-tool-group--viewport .plan-tool-btn{min-width:48px!important}.plans-page.plans-fs .plans-tool-group--viewport .plans-icon-btn{font-size:18px!important;grid-template-rows:1fr!important}.plans-page.plans-fs .plans-zoom-value{align-self:center;display:grid;place-items:center;height:34px;min-width:68px;margin:auto 4px;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:3px;background:rgba(255,255,255,.045);color:#fff;font-size:12px;font-weight:900}
.plans-page.plans-fs .plans-editor-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;margin:0!important;padding:0 14px!important;border-left:1px solid rgba(255,255,255,.10)!important;white-space:nowrap!important;min-width:max-content!important}
.plans-page.plans-fs .plans-editor-actions .btn{min-height:38px!important;border-radius:4px!important;font-size:12px!important;font-weight:900!important;padding:8px 13px!important}.plans-page.plans-fs .plans-editor-actions .btn-secondary{background:rgba(2,6,23,.35)!important;border-color:rgba(255,255,255,.22)!important;color:#fff!important}.plans-page.plans-fs .plans-editor-actions .btn-primary{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}.plans-page.plans-fs .plans-secondary-action{display:none!important}

/* Colonne gauche : bibliothèque d'objets uniquement */
.plans-page.plans-fs .plans-editor-rail{grid-area:rail!important;display:flex!important;flex-direction:column!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;margin:0!important;padding:14px!important;border-right:1px solid var(--plans-ui-border)!important;background:#fff!important;box-shadow:none!important;gap:12px!important}
.plans-page.plans-fs .plans-library-head{display:grid!important;gap:10px!important;margin:0!important;padding:0 0 2px!important}.plans-page.plans-fs .plans-library-titlebar{display:flex;align-items:center;justify-content:space-between;gap:8px}.plans-page.plans-fs .plans-library-titlebar strong{font-size:15px;font-weight:950;letter-spacing:-.01em;color:#101827}.plans-page.plans-fs .plans-library-search{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:center}.plans-page.plans-fs .plans-library-search label.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.plans-page.plans-fs .plans-library-search .inp{grid-column:1!important;width:100%!important;height:34px;min-height:34px;border-radius:4px!important;border:1px solid #d8e0ea!important;background:#fff!important;color:#101827!important;font-size:12.5px!important;padding:0 11px!important;box-shadow:none!important}.plans-page.plans-fs .plans-library-search .inp::placeholder{color:#7b8794;opacity:1}.plans-page.plans-fs .plans-library-search .inp:focus{outline:2px solid rgba(37,99,235,.22)!important;outline-offset:1px!important;border-color:#3b82f6!important}.plans-page.plans-fs .plans-library-filter{grid-column:2!important;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border:1px solid #d8e0ea;border-radius:4px;background:#fff;color:#475467;font-weight:900;cursor:pointer;line-height:1}.plans-page.plans-fs .plans-library-filter:hover,.plans-page.plans-fs .plans-library-filter.active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.plans-page.plans-fs .plans-library-filter:focus-visible{outline:2px solid rgba(37,99,235,.28);outline-offset:2px}.plans-page.plans-fs .plans-library-filter-panel[hidden]{display:none!important}.plans-page.plans-fs .plans-library-filter-panel{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:-1px 0 2px!important;padding:8px!important;border:1px solid #d8e0ea!important;border-radius:5px!important;background:#f8fafc!important}.plans-page.plans-fs .plans-library-filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 8px;border:1px solid #d8e0ea;border-radius:4px;background:#fff;color:#344054;font-size:11.5px;font-weight:850;cursor:pointer}.plans-page.plans-fs .plans-library-filter-chip em{font-style:normal;min-width:18px;height:18px;display:grid;place-items:center;border-radius:3px;background:#eef2f7;color:#667085;font-size:10.5px}.plans-page.plans-fs .plans-library-filter-chip.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.plans-page.plans-fs .plans-library-filter-chip.active em{background:#dbeafe;color:#1d4ed8}
.plans-page.plans-fs .plans-component-library{display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important}.plans-page.plans-fs .plans-component-library__head{display:none!important}.plans-page.plans-fs .plan-component-group{display:grid!important;gap:8px!important;margin:0 0 14px!important;padding:0 0 11px!important;border-bottom:1px solid #edf1f6!important}.plans-page.plans-fs .plan-component-group__title{appearance:none!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#101827!important;font-size:13px!important;font-weight:950!important;text-align:left!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer!important}.plans-page.plans-fs .plan-component-group__title::before{content:'';width:8px;height:8px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.10);flex:0 0 auto}.plans-page.plans-fs .plan-component-group__title span{flex:1 1 auto;min-width:0}.plans-page.plans-fs .plan-component-group__title em{font-style:normal;min-width:24px;height:22px;display:grid;place-items:center;border-radius:4px;background:#eef2f7;color:#667085;font-size:11px;font-weight:950}.plans-page.plans-fs .plan-component-group__title::after{content:'⌄';font-size:13px;color:#667085;line-height:1;transition:transform .12s ease}.plans-page.plans-fs .plan-component-group.is-collapsed .plan-component-group__title::after{transform:rotate(-90deg)}.plans-page.plans-fs .plan-component-group__body{display:grid!important;gap:8px!important}.plans-page.plans-fs .plan-component-group.is-collapsed .plan-component-group__body{display:none!important}.plans-page.plans-fs .plan-component-group__hint{font-size:12px;color:#667085;font-weight:750;margin:-2px 0 1px}.plans-page.plans-fs .plan-component-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}.plans-page.plans-fs .plan-component-card{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:44px auto!important;gap:7px!important;min-height:82px!important;padding:9px 7px!important;border:1px solid #dce3ec!important;border-radius:5px!important;background:#fff!important;color:#101827!important;text-align:center!important;box-shadow:none!important;transform:none!important}.plans-page.plans-fs .plan-component-card:hover,.plans-page.plans-fs .plan-component-card.active{border-color:#3b82f6!important;background:#f8fbff!important;box-shadow:0 0 0 2px rgba(37,99,235,.08)!important}.plans-page.plans-fs .plan-component-card:focus-visible{outline:2px solid rgba(37,99,235,.28)!important;outline-offset:2px!important}.plans-page.plans-fs .plan-component-preview{width:100%!important;height:42px!important;border-radius:4px!important;border:1px solid #e3e8ef!important;background:#f8fafc!important}.plans-page.plans-fs .plan-component-preview svg{width:100%!important;height:38px!important}.plans-page.plans-fs .plan-component-copy{display:block!important;min-width:0!important}.plans-page.plans-fs .plan-component-copy strong{display:block!important;font-size:11.5px!important;font-weight:850!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.plans-page.plans-fs .plan-component-copy small,.plans-page.plans-fs .plan-component-copy em{display:none!important}.plans-page.plans-fs .plans-library-dropzone{appearance:none;display:block;width:100%;margin:10px 0 0;padding:18px 12px;border:1px dashed #cbd5e1;border-radius:7px;background:#fbfdff;text-align:center;color:#667085;cursor:pointer}.plans-page.plans-fs .plans-library-dropzone:hover{border-color:#3b82f6;background:#f8fbff}.plans-page.plans-fs .plans-library-dropzone strong{display:block;color:#344054;font-size:12.5px}.plans-page.plans-fs .plans-library-dropzone span{display:block;margin-top:3px;font-size:11.5px}.plans-page.plans-fs .plan-location-search{display:none!important}

/* Zone centrale */
.plans-page.plans-fs .plans-workbench{grid-area:work!important;display:grid!important;grid-template-columns:minmax(0,1fr) 330px!important;gap:0!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;background:#eef3f9!important;overflow:hidden!important}.plans-page.plans-fs .plan-canvas-wrap{height:100%!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#f6f9fc,#edf3f9)!important;box-shadow:none!important;overflow:hidden!important}.plans-page.plans-fs .plan-canvas-svg{width:100%!important;height:100%!important;min-height:0!important;background:transparent!important}.plans-page.plans-fs .plan-canvas-badge{display:none!important}.plans-page.plans-fs .plan-stage-bg{fill:#fffdf7!important;stroke:#1f2937!important;stroke-width:2.2!important}.plans-page.plans-fs .plan-stage-grid{opacity:.5!important}.plans-page.plans-fs .plan-stage-grid--big{opacity:.55!important}.plans-page.plans-fs .plan-stage-paper-edge{fill:none!important;stroke:rgba(15,23,42,.18)!important;stroke-width:1!important;vector-effect:non-scaling-stroke}.plans-page.plans-fs .plan-stage-ruler line{stroke:#98a2b3!important;stroke-width:1!important;vector-effect:non-scaling-stroke}.plans-page.plans-fs .plan-stage-ruler-text{font-size:11px!important;font-weight:800!important;fill:#344054!important;paint-order:stroke;stroke:#f8fafc;stroke-width:3}.plans-page.plans-fs .plan-stage-dimension{display:none!important}.plans-page.plans-fs .plan-scale-line{stroke:#0f172a;stroke-width:5;stroke-linecap:butt}.plans-page.plans-fs .plan-scale-tick{stroke:#0f172a;stroke-width:1.4}.plans-page.plans-fs .plan-scale-text{font-size:11px;font-weight:850;fill:#1f2937}.plans-page.plans-fs .plan-minimap-bg{fill:rgba(255,255,255,.92);stroke:#cbd5e1;stroke-width:1.2;filter:drop-shadow(0 8px 18px rgba(15,23,42,.10))}.plans-page.plans-fs .plan-minimap-plan{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1}.plans-page.plans-fs .plan-minimap-view{fill:rgba(37,99,235,.06);stroke:#2563eb;stroke-width:1.5}.plans-page.plans-fs .plan-minimap-handle{fill:#2563eb;stroke:#fff;stroke-width:1}

/* Inspecteur droit */
.plans-page.plans-fs .plan-inspector{height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow-y:auto!important;border:0!important;border-left:1px solid var(--plans-ui-border)!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;color:#101827!important}.plans-page.plans-fs .plan-inspector h3{margin:0!important;font-size:15px!important;font-weight:950!important;letter-spacing:-.01em!important;color:#101827!important}.plans-page.plans-fs .plan-inspector p{margin:7px 0 0!important;color:#667085!important;font-size:12px!important;line-height:1.38!important}.plans-page.plans-fs .plan-inspector-section{padding:15px 17px!important;border-bottom:1px solid #edf1f6!important}.plans-page.plans-fs .plan-inspector-section--summary{padding-top:17px!important}.plans-page.plans-fs .plans-inspector-kv{display:grid!important;gap:10px!important;margin:12px 0 0!important}.plans-page.plans-fs .plans-inspector-kv div{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(88px,auto)!important;gap:14px!important;align-items:center!important;padding:0!important;border:0!important;background:transparent!important}.plans-page.plans-fs .plans-inspector-kv dt{margin:0!important;color:#667085!important;font-size:12px!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important}.plans-page.plans-fs .plans-inspector-kv dd{margin:0!important;color:#101827!important;font-size:12.5px!important;font-weight:900!important;text-align:right!important}.plans-page.plans-fs .plans-selected-line{display:flex!important;align-items:center!important;gap:10px!important;margin-top:10px!important;min-width:0!important}.plans-page.plans-fs .plans-selected-line strong{font-size:13px;font-weight:900;color:#101827;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plans-page.plans-fs .plans-selected-line span:not(.plans-selected-icon){font-size:12px;color:#667085}.plans-page.plans-fs .plans-selected-icon{width:42px;height:28px;display:grid;place-items:center;border:1px solid #e3e8ef;background:#f8fafc;border-radius:4px;flex:0 0 auto}.plans-page.plans-fs .plans-selected-icon svg{width:40px;height:26px}.plans-page.plans-fs .plan-field-grid{gap:9px!important}.plans-page.plans-fs .plan-field-grid--dimensions{grid-template-columns:1fr 1fr!important}.plans-page.plans-fs .plan-field-grid label{font-size:11.5px!important;font-weight:800!important;color:#667085!important}.plans-page.plans-fs .plan-field-grid .inp,.plans-page.plans-fs .plan-field-grid .sel{min-height:32px!important;height:32px!important;border-radius:4px!important;border:1px solid #d8e0ea!important;background:#fff!important;font-size:12px!important;color:#101827!important}.plans-page.plans-fs .plan-link-panel{margin:0!important;background:#fff!important;border:0!important;border-bottom:1px solid #edf1f6!important;border-radius:0!important;gap:10px!important}.plans-page.plans-fs .plan-location-card,.plans-page.plans-fs .plan-product-location-card{border-radius:5px!important;border-color:#e3e8ef!important;box-shadow:none!important}.plans-page.plans-fs .plan-mini-actions{display:flex!important;gap:10px!important;margin-top:10px!important}.plans-page.plans-fs .plan-mini-actions .btn{flex:1 1 auto!important;min-height:34px!important;border-radius:4px!important;font-size:12px!important;font-weight:900!important}.plans-page.plans-fs .plan-mini-actions .btn-danger{background:#fff!important;color:#dc2626!important;border:1px solid #f3a6a6!important}.plans-page.plans-fs .plan-geometry-note,.plans-page.plans-fs .plan-opening-panel{margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-top:0!important;border-color:#edf1f6!important;background:#fff!important;padding:15px 17px!important}

@media (max-width:1280px){.plans-page.plans-fs .plans-editor-head{grid-template-columns:320px minmax(0,1fr) auto!important}.plans-page.plans-fs .plans-editor-head__identity{grid-template-columns:120px minmax(0,1fr)}.plans-page.plans-fs .plan-tool-btn{min-width:48px!important;font-size:10.5px!important;padding-left:6px!important;padding-right:6px!important}.plans-page.plans-fs .plans-editor-card{grid-template-columns:300px minmax(0,1fr) 310px!important}.plans-page.plans-fs .plans-workbench{grid-template-columns:minmax(0,1fr) 310px!important}}
@media (max-width:1024px){.plans-page.plans-fs .plans-editor-card{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto minmax(0,1fr)!important;grid-template-areas:"head" "rail" "work"!important}.plans-page.plans-fs .plans-editor-head{grid-template-columns:1fr!important;grid-auto-rows:auto!important}.plans-page.plans-fs .plans-toolbar{overflow-x:auto!important;justify-content:flex-start!important;border-top:1px solid rgba(255,255,255,.08)!important}.plans-page.plans-fs .plans-editor-actions{justify-content:flex-start!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.08)!important;padding:8px 12px!important}.plans-page.plans-fs .plans-editor-rail{max-height:210px!important;border-right:0!important;border-bottom:1px solid var(--plans-ui-border)!important}.plans-page.plans-fs .plans-workbench{grid-template-columns:minmax(0,1fr)!important}.plans-page.plans-fs .plan-inspector{display:none!important}.plans-page.plans-fs .plan-component-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* v2.6.55 — PLANS OPENINGS SYMBOLS2 : finition architecturale des portes, fenêtres et passages */
.plan-opening{cursor:move}
.plan-opening .plan-opening-hit{fill:transparent!important;stroke:transparent!important;pointer-events:all!important;vector-effect:non-scaling-stroke!important}
.plan-object.plan-opening:not(.is-selected):not(.is-highlighted) .plan-opening-hit{stroke:transparent!important;fill:transparent!important}
.plan-object.plan-opening.is-unattached-opening:not(.is-selected) .plan-opening-hit{stroke:rgba(100,116,139,.18)!important;stroke-width:.8!important;stroke-dasharray:4 5!important;fill:transparent!important}
.plan-object.plan-opening.is-selected .plan-opening-hit{stroke:rgba(37,99,235,.50)!important;stroke-width:1!important;stroke-dasharray:0!important;fill:rgba(37,99,235,.018)!important}
.plan-object.plan-opening.is-primary .plan-opening-hit{stroke:rgba(37,99,235,.72)!important;stroke-width:1.15!important}
.plan-object.plan-opening .plan-object-select-frame{fill:transparent!important;stroke:#2563eb!important;stroke-width:1.15!important;stroke-dasharray:0!important;filter:none!important;vector-effect:non-scaling-stroke!important}
.plan-object.plan-opening .plan-object-select-frame.is-primary{stroke-width:1.35!important}
.plan-object.plan-opening .plan-object-handle{fill:#fff!important;stroke:#2563eb!important;stroke-width:1.8!important;filter:none!important;vector-effect:non-scaling-stroke!important}
.plan-object.plan-opening .plan-object-rotate-control line{stroke:#2563eb!important;stroke-width:1!important;stroke-dasharray:3 4!important;vector-effect:non-scaling-stroke!important}
.plan-object.plan-opening .plan-object-rotate-dot{fill:#fff!important;stroke:#2563eb!important;stroke-width:1.7!important;filter:none!important}
.plan-opening-shape{pointer-events:none!important;shape-rendering:geometricPrecision!important}
.plan-opening-shape line,.plan-opening-shape path,.plan-opening-shape circle{vector-effect:non-scaling-stroke!important}
.plan-opening-wall-stub{stroke:#111827!important;stroke-width:2.35!important;stroke-linecap:square!important}
.plan-opening-jamb{stroke:#111827!important;stroke-width:1.65!important;stroke-linecap:square!important}
.plan-passage-return{stroke:#111827!important;stroke-width:1.15!important;stroke-linecap:square!important}
.plan-door-leaf{stroke:#111827!important;stroke-width:1.85!important;stroke-linecap:square!important;stroke-linejoin:round!important}
.plan-door-arc{fill:none!important;stroke:#64748b!important;stroke-width:1.05!important;stroke-dasharray:none!important;stroke-linecap:round!important}
.plan-door-hinge{fill:#fff!important;stroke:#111827!important;stroke-width:1!important}
.plan-window-rail{stroke:#334155!important;stroke-width:1.25!important;stroke-linecap:square!important}
.plan-window-rail--outer{stroke:#111827!important;stroke-width:1.35!important}
.plan-opening-window .plan-opening-glass{stroke:#64748b!important;stroke-width:.9!important;stroke-linecap:square!important;opacity:.9!important}
.plan-window-mullion{stroke:#64748b!important;stroke-width:.85!important;opacity:.95!important}
.plan-object--fenetre.is-selected .plan-window-rail--outer,.plan-object--fenetre.is-highlighted .plan-window-rail--outer{stroke:#0f172a!important}
.plan-object--porte.is-selected .plan-door-leaf,.plan-object--porte_double.is-selected .plan-door-leaf,.plan-object--porte.is-highlighted .plan-door-leaf,.plan-object--porte_double.is-highlighted .plan-door-leaf{stroke:#0f172a!important}
.plan-object.plan-opening.is-highlighted .plan-opening-hit{stroke:#f59e0b!important;stroke-width:1.3!important;fill:rgba(245,158,11,.035)!important}
.plan-object.plan-opening .plan-object-highlight-frame{stroke:#f59e0b!important;stroke-width:1.7!important;stroke-dasharray:8 5!important;fill:rgba(245,158,11,.055)!important;filter:none!important}
[data-theme="dark"] .plan-opening-wall-stub,[data-theme="dark"] .plan-opening-jamb,[data-theme="dark"] .plan-passage-return,[data-theme="dark"] .plan-door-leaf,[data-theme="dark"] .plan-window-rail--outer{stroke:#e5e7eb!important}
[data-theme="dark"] .plan-door-arc,[data-theme="dark"] .plan-window-rail,[data-theme="dark"] .plan-opening-window .plan-opening-glass,[data-theme="dark"] .plan-window-mullion{stroke:#94a3b8!important}
[data-theme="dark"] .plan-door-hinge{fill:#0f172a!important;stroke:#e5e7eb!important}
[data-theme="dark"] .plan-object.plan-opening.is-unattached-opening:not(.is-selected) .plan-opening-hit{stroke:rgba(148,163,184,.25)!important}
.plans-page.plans-fs .plan-component-card[data-component-add="porte"] .plan-component-preview,
.plans-page.plans-fs .plan-component-card[data-component-add="porte_double"] .plan-component-preview,
.plans-page.plans-fs .plan-component-card[data-component-add="fenetre"] .plan-component-preview,
.plans-page.plans-fs .plan-component-card[data-component-add="ouverture"] .plan-component-preview{background:#fff!important;border-color:#d8e0ea!important}
.plans-page.plans-fs .plan-component-card[data-component-add="porte"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="porte_double"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="fenetre"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="ouverture"] .plan-component-preview svg{height:40px!important}


/* v2.6.56 — Openings symbols hard reset: vraie lecture plan 2D, proportions non aplaties */
.plan-opening-shape{overflow:visible!important;pointer-events:none!important;shape-rendering:geometricPrecision!important}
.plan-opening-shape line,.plan-opening-shape path,.plan-opening-shape circle{vector-effect:non-scaling-stroke!important}
.plan-opening-wall-stub{stroke:#111827!important;stroke-width:2.9!important;stroke-linecap:square!important;stroke-linejoin:miter!important}
.plan-opening-jamb{stroke:#111827!important;stroke-width:2.05!important;stroke-linecap:square!important;stroke-linejoin:miter!important}
.plan-passage-return{stroke:#334155!important;stroke-width:1.45!important;stroke-linecap:square!important;opacity:.92!important}
.plan-door-leaf{stroke:#111827!important;stroke-width:2.25!important;stroke-linecap:square!important;stroke-linejoin:miter!important}
.plan-door-arc{fill:none!important;stroke:#475569!important;stroke-width:1.2!important;stroke-linecap:round!important;stroke-dasharray:none!important;opacity:.95!important}
.plan-door-hinge{fill:#fff!important;stroke:#111827!important;stroke-width:1.05!important}
.plan-window-rail{stroke:#334155!important;stroke-width:1.35!important;stroke-linecap:square!important}
.plan-window-rail--outer{stroke:#111827!important;stroke-width:1.65!important}
.plan-opening-window .plan-opening-glass{stroke:#64748b!important;stroke-width:1!important;stroke-linecap:square!important;opacity:.9!important}
.plan-window-mullion{stroke:#64748b!important;stroke-width:.95!important;opacity:.95!important}
.plan-object.plan-opening .plan-opening-hit{fill:transparent!important;stroke:transparent!important;pointer-events:all!important;vector-effect:non-scaling-stroke!important}
.plan-object.plan-opening.is-unattached-opening:not(.is-selected):not(.is-highlighted) .plan-opening-hit{stroke:transparent!important;fill:transparent!important;stroke-dasharray:0!important}
.plan-object.plan-opening.is-selected .plan-opening-hit{stroke:rgba(37,99,235,.36)!important;stroke-width:.9!important;stroke-dasharray:0!important;fill:rgba(37,99,235,.012)!important}
.plan-object.plan-opening.is-primary .plan-opening-hit{stroke:rgba(37,99,235,.58)!important;stroke-width:1.05!important}
.plan-object.plan-opening .plan-object-select-frame{fill:transparent!important;stroke:#2563eb!important;stroke-width:1!important;stroke-dasharray:0!important;filter:none!important;vector-effect:non-scaling-stroke!important}
.plan-object.plan-opening .plan-object-select-frame.is-primary{stroke-width:1.15!important}
.plan-object.plan-opening .plan-object-handle{fill:#fff!important;stroke:#2563eb!important;stroke-width:1.55!important;filter:none!important;vector-effect:non-scaling-stroke!important}
.plan-object.plan-opening .plan-object-rotate-control line{stroke:#2563eb!important;stroke-width:.9!important;stroke-dasharray:3 4!important;vector-effect:non-scaling-stroke!important}
.plan-object.plan-opening .plan-object-rotate-dot{fill:#fff!important;stroke:#2563eb!important;stroke-width:1.45!important;filter:none!important}
.plan-object.plan-opening.is-highlighted .plan-opening-hit{stroke:#d97706!important;stroke-width:1.1!important;fill:rgba(217,119,6,.025)!important}
.plans-page.plans-fs .plan-component-card[data-component-add="porte"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="porte_double"] .plan-component-preview svg{height:43px!important}
.plans-page.plans-fs .plan-component-card[data-component-add="fenetre"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="ouverture"] .plan-component-preview svg{height:38px!important}
.plan-component-card[data-component-add="porte"] .plan-component-copy small::after,
.plan-component-card[data-component-add="fenetre"] .plan-component-copy small::after,
.plan-component-card[data-component-add="ouverture"] .plan-component-copy small::after,
.plan-component-card[data-component-add="porte_double"] .plan-component-copy small::after{content:' · accroche mur';font-weight:950;color:#475569}
[data-theme="dark"] .plan-opening-wall-stub,[data-theme="dark"] .plan-opening-jamb,[data-theme="dark"] .plan-passage-return,[data-theme="dark"] .plan-door-leaf,[data-theme="dark"] .plan-window-rail--outer{stroke:#f8fafc!important}
[data-theme="dark"] .plan-door-arc,[data-theme="dark"] .plan-window-rail,[data-theme="dark"] .plan-opening-window .plan-opening-glass,[data-theme="dark"] .plan-window-mullion{stroke:#cbd5e1!important}
[data-theme="dark"] .plan-door-hinge{fill:#0f172a!important;stroke:#f8fafc!important}

/* v2.6.57 — PLANS WALL DRAWING1 : tracé murs/cloisons par points, cloison grille et pan clic droit */
.plan-canvas-wrap.is-right-panning .plan-canvas-svg,
.plan-canvas-svg.is-panning-mode{cursor:grabbing!important}
.plan-wall-draft--partition line{stroke:#64748b!important;opacity:.55!important}
.plan-wall-draft--grid line{stroke:#475569!important;opacity:.50!important;stroke-dasharray:8 5!important}
.plan-wall-segment-line--grid{stroke:#475569!important;stroke-linecap:square!important;stroke-dasharray:10 7!important;opacity:.88!important}
.plan-wall-grid-bar{stroke:#475569!important;stroke-width:1.15!important;stroke-linecap:square!important;opacity:.78!important;vector-effect:non-scaling-stroke!important;pointer-events:none!important}
.plan-object.is-wall-segment.is-selected .plan-wall-segment-line--grid{stroke:#1d4ed8!important;opacity:.95!important}
.plan-object.is-wall-segment.is-selected .plan-wall-grid-bar{stroke:#1d4ed8!important;opacity:.9!important}
.plan-component-card[data-component-add="cloison_grille"] .plan-component-preview svg{shape-rendering:geometricPrecision}
[data-theme="dark"] .plan-wall-segment-line--grid,
[data-theme="dark"] .plan-wall-grid-bar{stroke:#cbd5e1!important}
.plan-component-card.is-wall-tool{cursor:pointer!important}
.plan-component-card.is-wall-tool .plan-component-copy em{color:#1d4ed8!important;font-weight:900!important}

.plan-wall-draft--start circle{fill:#2563eb!important;stroke:#fff!important;stroke-width:2.6!important;filter:drop-shadow(0 2px 8px rgba(37,99,235,.32))}
.plan-wall-draft--start line{stroke:#2563eb!important;stroke-width:1.4!important;stroke-dasharray:none!important;opacity:.82!important}
.plan-wall-draft--start text{font-size:11px!important;font-weight:950!important;fill:#1d4ed8!important;stroke:#fffdf7!important;stroke-width:4!important;paint-order:stroke!important}
.plan-canvas-wrap.is-right-panning,.plan-canvas-wrap.is-right-panning .plan-canvas-svg{cursor:grabbing!important}


/* v2.6.59 — Angles murs/cloisons + différenciation visuelle */
.plans-angle-snap{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 9px;border-left:1px solid rgba(148,163,184,.18);border-right:1px solid rgba(148,163,184,.12);color:#cbd5e1;font-size:10px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.plans-angle-snap select{height:28px;min-width:68px;border:1px solid rgba(148,163,184,.28);border-radius:3px;background:#111827;color:#f8fafc;font-size:11px;font-weight:900;padding:0 22px 0 8px;outline:none}
.plans-angle-snap select:focus-visible{border-color:#60a5fa;box-shadow:0 0 0 2px rgba(37,99,235,.38)}
.plan-wall-segment-line--mur{stroke:#293545!important;stroke-linecap:square!important;stroke-linejoin:miter!important;filter:none!important;opacity:1!important}
.plan-wall-segment-line--partition{stroke:#7b8798!important;stroke-linecap:square!important;stroke-linejoin:miter!important;opacity:.94!important;filter:none!important}
.plan-wall-segment-line--grid{stroke:#8a96a8!important;stroke-linecap:square!important;stroke-linejoin:miter!important;stroke-dasharray:none!important;opacity:.72!important;filter:none!important}
.plan-wall-segment-axis--mur{stroke:rgba(255,255,255,.48)!important;stroke-width:.95!important;stroke-dasharray:14 9!important;opacity:.72!important;pointer-events:none!important;vector-effect:non-scaling-stroke!important}
.plan-wall-segment-axis--partition{stroke:rgba(255,255,255,.52)!important;stroke-width:.9!important;stroke-dasharray:7 6!important;opacity:.55!important;pointer-events:none!important;vector-effect:non-scaling-stroke!important}
.plan-wall-segment-axis--grid{display:none!important}
.plan-wall-grid-bar{stroke:#475569!important;stroke-width:1.35!important;stroke-linecap:square!important;opacity:.82!important;vector-effect:non-scaling-stroke!important;pointer-events:none!important}
.plan-object--cloison_grille.is-wall-segment .plan-object-select-frame{stroke-dasharray:5 5!important}
.plan-object.is-wall-segment.is-selected .plan-wall-segment-line--mur{stroke:#334155!important;filter:drop-shadow(0 0 4px rgba(37,99,235,.18))!important}
.plan-object.is-wall-segment.is-selected .plan-wall-segment-line--partition{stroke:#64748b!important;filter:drop-shadow(0 0 4px rgba(37,99,235,.14))!important}
.plan-object.is-wall-segment.is-selected .plan-wall-segment-line--grid,.plan-object.is-wall-segment.is-selected .plan-wall-grid-bar{stroke:#475569!important;opacity:.95!important;filter:drop-shadow(0 0 3px rgba(37,99,235,.12))!important}
.plan-wall-length{font-size:10px!important;font-weight:850!important;fill:#475569!important;stroke:#fffdf7!important;stroke-width:3!important;opacity:.82!important}
.plan-room:not(.is-selected) .plan-room-cotes{display:none!important}
.plan-room.is-selected .plan-room-cotes line{stroke:rgba(71,85,105,.42)!important;stroke-width:.85!important}
.plan-room.is-selected .plan-room-cotes text{font-size:9.5px!important;font-weight:800!important;fill:#64748b!important;stroke:#fffdf7!important;stroke-width:3!important;opacity:.82!important}
.plan-wall-draft line{vector-effect:non-scaling-stroke!important}
.plan-wall-draft--partition line{stroke:#7b8798!important;opacity:.68!important}
.plan-wall-draft--grid line{stroke:#8a96a8!important;opacity:.60!important;stroke-dasharray:6 6!important}
@media(max-width:980px){.plans-angle-snap{padding:0 6px}.plans-angle-snap span{display:none}.plans-angle-snap select{min-width:58px}}

/* v2.6.60 — Objets de stockage réalistes en vue de dessus */
.plan-object.is-storage .plan-object-main{fill-opacity:.42!important;stroke:rgba(15,23,42,.18)!important;stroke-width:.9!important}
.plan-object.is-storage:not(.plan-object--emplacement) .plan-object-text,.plan-object.is-storage:not(.plan-object--emplacement) .plan-object-label-bg{display:none!important}
.plan-object.is-storage .plan-storage-surface{pointer-events:none;shape-rendering:geometricPrecision}
.plan-object--rack .plan-object-main,.plan-object--rayonnage .plan-object-main,.plan-object--etagere .plan-object-main{fill-opacity:.22!important}
.plan-object--armoire .plan-object-main,.plan-object--armoire_double .plan-object-main{fill-opacity:.30!important}
.plan-object--palette .plan-object-main{fill-opacity:.26!important}
.plan-object--emplacement .plan-object-main{fill-opacity:.18!important}
.plan-object.is-storage.is-selected .plan-object-main{stroke:#2563eb!important;stroke-width:1.25!important}
.plan-object.is-storage.is-linked .plan-object-main{stroke:rgba(22,163,74,.65)!important;stroke-width:1.35!important}
.plans-page.plans-fs .plan-component-card[data-component-add="rack"] .plan-component-preview,
.plans-page.plans-fs .plan-component-card[data-component-add="rayonnage"] .plan-component-preview,
.plans-page.plans-fs .plan-component-card[data-component-add="etagere"] .plan-component-preview,
.plans-page.plans-fs .plan-component-card[data-component-add="armoire"] .plan-component-preview,
.plans-page.plans-fs .plan-component-card[data-component-add="armoire_double"] .plan-component-preview,
.plans-page.plans-fs .plan-component-card[data-component-add="palette"] .plan-component-preview,
.plans-page.plans-fs .plan-component-card[data-component-add="emplacement"] .plan-component-preview{background:#fff!important;border-color:#d8e0ea!important}
.plans-page.plans-fs .plan-component-card[data-component-add="rack"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="rayonnage"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="etagere"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="armoire"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="armoire_double"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="palette"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="emplacement"] .plan-component-preview svg{height:40px!important}


/* v2.6.61 — PLANS STORAGE OBJECTS DETAIL2 : finition objets de stockage */
.plan-object.is-storage .plan-object-main{fill-opacity:.18!important;stroke:rgba(15,23,42,.12)!important;stroke-width:.7!important}
.plan-object.is-storage .plan-storage-surface{filter:drop-shadow(0 1px 1px rgba(15,23,42,.06));}
.plan-object.is-storage .plan-object-select-frame{stroke:#2563eb!important;stroke-width:1.05!important;stroke-dasharray:7 5!important;fill:rgba(37,99,235,.025)!important}
.plan-object.is-storage .plan-object-handle{r:4!important;stroke-width:1.15!important;fill:#fff!important}
.plan-object.is-storage .plan-object-rotate-control line{stroke:rgba(37,99,235,.62)!important;stroke-width:1!important;stroke-dasharray:4 4!important}
.plan-object.is-storage .plan-object-rotate-dot{fill:#fff!important;stroke:#2563eb!important;stroke-width:1.15!important}
.plan-object.is-storage.is-highlighted .plan-storage-surface{filter:drop-shadow(0 0 5px rgba(245,158,11,.28));}
.plan-object.is-storage.is-linked .plan-storage-surface{stroke:rgba(22,163,74,.82)!important;stroke-width:1.2!important}
.plan-storage-front{opacity:.86;pointer-events:none}
.plan-storage-beam,.plan-storage-upright,.plan-storage-cabinet-panel,.plan-storage-pallet-plank,.plan-storage-pallet-block{pointer-events:none}
.plan-storage-location-mark{font-size:10px;font-weight:850;letter-spacing:.08em;fill:rgba(22,101,52,.72);stroke:#fffdf7;stroke-width:2.4;paint-order:stroke;pointer-events:none}
.plan-object--rack .plan-storage-surface{fill:rgba(248,250,252,.72)!important;stroke:rgba(31,41,55,.24)!important}
.plan-object--rayonnage .plan-storage-surface{fill:rgba(240,249,255,.68)!important;stroke:rgba(71,85,105,.42)!important}
.plan-object--etagere .plan-storage-surface{fill:rgba(248,250,252,.86)!important;stroke:rgba(100,116,139,.46)!important}
.plan-object--armoire .plan-storage-surface,.plan-object--armoire_double .plan-storage-surface{fill:rgba(226,232,240,.88)!important;stroke:#334155!important}
.plan-object--palette .plan-storage-surface{fill:rgba(243,215,173,.44)!important;stroke:rgba(124,95,59,.54)!important}
.plan-object--emplacement .plan-storage-surface{fill:rgba(220,252,231,.34)!important;stroke:rgba(22,163,74,.72)!important}
.plans-page.plans-fs .plan-component-card[data-component-add="rack"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="rayonnage"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="etagere"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="armoire"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="armoire_double"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="palette"] .plan-component-preview svg,
.plans-page.plans-fs .plan-component-card[data-component-add="emplacement"] .plan-component-preview svg{height:42px!important;max-width:96%!important}
[data-theme="dark"] .plan-object.is-storage .plan-storage-surface{filter:none}
[data-theme="dark"] .plan-storage-location-mark{stroke:#0f172a;fill:#86efac}


/* v2.6.62 — PLANS STORAGE SELECT SCALE LEGEND FIX1 : sélection stockage, échelle et légende lisibles */
.plan-object.is-storage .plan-storage-hit{fill:transparent!important;stroke:transparent!important;pointer-events:all!important;cursor:move!important}
.plan-object.is-storage .plan-storage-hit:hover{fill:rgba(37,99,235,.015)!important}
.plans-page.plans-fs .plan-scale-line{stroke:#111827!important;stroke-width:4!important;stroke-linecap:butt!important;vector-effect:non-scaling-stroke!important}
.plans-page.plans-fs .plan-scale-tick{stroke:#111827!important;stroke-width:1.1!important;vector-effect:non-scaling-stroke!important}
.plans-page.plans-fs .plan-scale-text{font-size:9.5px!important;font-weight:600!important;fill:#1f2937!important;stroke:none!important;paint-order:normal!important;letter-spacing:0!important}
.plans-page.plans-fs .plan-scale-caption{font-size:9.5px!important;font-weight:500!important;fill:#475569!important;stroke:none!important;paint-order:normal!important;letter-spacing:0!important}
.plans-page.plans-fs .plan-svg-legend rect:first-child{fill:rgba(255,255,255,.96)!important;stroke:rgba(148,163,184,.34)!important;stroke-width:1!important;filter:drop-shadow(0 6px 14px rgba(15,23,42,.08))!important}
.plans-page.plans-fs .plan-legend-title{font-size:9.8px!important;font-weight:650!important;fill:#334155!important;letter-spacing:0!important;text-transform:none!important;stroke:none!important;paint-order:normal!important}
.plans-page.plans-fs .plan-legend-text{font-size:9px!important;font-weight:500!important;fill:#1f2937!important;stroke:none!important;paint-order:normal!important;letter-spacing:0!important}
.plans-page.plans-fs .plan-legend-count{font-size:8.8px!important;font-weight:600!important;fill:#64748b!important;stroke:none!important;paint-order:normal!important}
.plans-page.plans-fs .plan-legend-note{font-size:8px!important;font-weight:500!important;fill:#667085!important;stroke:none!important;paint-order:normal!important}
.plans-page.plans-fs .plan-legend-row-svg rect{rx:1.5!important;stroke-width:.8!important;shape-rendering:geometricPrecision!important}
[data-theme="dark"] .plans-page.plans-fs .plan-scale-text{fill:#e5e7eb!important}
[data-theme="dark"] .plans-page.plans-fs .plan-scale-caption{fill:#cbd5e1!important}
[data-theme="dark"] .plans-page.plans-fs .plan-svg-legend rect:first-child{fill:rgba(15,23,42,.92)!important;stroke:rgba(148,163,184,.26)!important;filter:none!important}
[data-theme="dark"] .plans-page.plans-fs .plan-legend-title,[data-theme="dark"] .plans-page.plans-fs .plan-legend-text{fill:#f8fafc!important}
[data-theme="dark"] .plans-page.plans-fs .plan-legend-count,[data-theme="dark"] .plans-page.plans-fs .plan-legend-note{fill:#cbd5e1!important}

/* v2.6.63 — PLANS OPENINGS_FIX5 : insertion réelle, rotation accessible, cloison grille adoucie */
.plan-object-rotate-control,
.plan-object-rotate-control *{
  pointer-events:all!important;
}
.plan-object-rotate-control{cursor:grab!important}
.plan-object-rotate-control:active{cursor:grabbing!important}
.plan-object-rotate-dot{
  r:5.2!important;
  fill:#fff!important;
  stroke:#2563eb!important;
  stroke-width:1.8!important;
  vector-effect:non-scaling-stroke!important;
}
.plan-object.plan-opening .plan-object-rotate-dot{
  r:5!important;
  stroke-width:1.7!important;
}
.plan-object.plan-opening.is-attached-opening .plan-opening-hit{
  stroke:transparent!important;
  fill:transparent!important;
}
.plan-object.plan-opening.is-attached-opening.is-selected .plan-opening-hit,
.plan-object.plan-opening.is-attached-opening.is-primary .plan-opening-hit{
  stroke:rgba(37,99,235,.46)!important;
  fill:rgba(37,99,235,.012)!important;
}
.plan-object.plan-opening.is-attached-opening .plan-opening-wall-stub{
  display:none!important;
}
.plan-wall-segment-line--grid{
  stroke-width:4.2!important;
  opacity:.48!important;
  stroke-linecap:square!important;
}
.plan-wall-segment-axis--grid{
  stroke:rgba(71,85,105,.38)!important;
  stroke-width:.85!important;
  stroke-dasharray:none!important;
}
.plan-wall-grid-bar{
  stroke:#475569!important;
  stroke-width:.85!important;
  opacity:.55!important;
  stroke-linecap:square!important;
}
.plan-object.is-wall-segment.is-selected .plan-wall-segment-line--grid,
.plan-object.is-wall-segment.is-selected .plan-wall-grid-bar{
  stroke:#334155!important;
  opacity:.72!important;
  filter:none!important;
}
.plan-opening-jamb,
.plan-door-leaf,
.plan-window-rail--outer,
.plan-passage-return{
  shape-rendering:geometricPrecision!important;
}
.plan-wall-cut line:first-child{
  stroke:#fffdf7!important;
  stroke-linecap:butt!important;
}
.plan-wall-cut-cap{
  stroke:#111827!important;
  stroke-width:1.15!important;
  vector-effect:non-scaling-stroke!important;
}

/* v2.6.64 — PLANS CREATE UX1 : création premium avec unités réelles, échelle et aperçu proportionnel */
.plans-page--create{gap:0;background:linear-gradient(135deg,#eef3f8,#f8fafc);min-height:calc(100vh - 72px);padding:18px 16px 32px}
.plans-page--create .plans-hero,.plans-page--create .plans-panel,.plans-page--create .plans-welcome,.plans-page--create .plans-workbench,.plans-page--create .plans-toolbar,.plans-page--create .plans-editor-head{display:none!important}
.plans-page--create .plans-layout{display:block;width:min(1240px,100%);margin:0 auto}
.plans-page--create .plans-editor-card{max-width:none;width:100%;margin:0;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.10);overflow:hidden;padding:0}
.plans-page--create .plans-create-screen{display:block;padding:0;background:transparent;border:0;box-shadow:none}
.plans-create-shell{display:grid;background:#fff;color:#0f172a}
.plans-create-hero{display:flex;align-items:stretch;justify-content:space-between;gap:22px;padding:26px 30px 22px;border-bottom:1px solid rgba(148,163,184,.24);background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef5ff 100%)}
.plans-create-hero__main{display:grid;gap:7px;max-width:760px}.plans-create-back{display:inline-flex;align-items:center;width:max-content;color:#172033;text-decoration:none;font-size:13px;font-weight:720}.plans-create-back:hover{text-decoration:underline}.plans-create-step{font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:#2563eb}.plans-create-hero h3{margin:0;font-size:28px;line-height:1.08;letter-spacing:-.04em;color:#0f172a}.plans-create-hero p{margin:0;color:#64748b;font-size:14px;line-height:1.55}.plans-create-scale-card{min-width:250px;display:grid;align-content:center;gap:5px;padding:16px 18px;border:1px solid rgba(37,99,235,.22);border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(37,99,235,.08)}.plans-create-scale-card__label{font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:#2563eb}.plans-create-scale-card strong{font-size:16px;letter-spacing:-.02em}.plans-create-scale-card small{color:#64748b;font-size:12px;font-weight:700}
.plans-create-form{display:grid;gap:0}.plans-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:0;align-items:stretch}.plans-create-main-card{display:grid;gap:0;border-right:1px solid rgba(148,163,184,.24)}.plans-create-block{padding:24px 30px;border-bottom:1px solid rgba(148,163,184,.20)}.plans-create-block:last-child{border-bottom:0}.plans-create-block__head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin-bottom:18px}.plans-create-block__kicker{display:inline-grid;place-items:center;min-width:30px;height:24px;padding:0 8px;border:1px solid rgba(37,99,235,.25);background:rgba(37,99,235,.08);color:#1d4ed8;font-size:11px;font-weight:950;letter-spacing:.04em;border-radius:4px}.plans-create-block__head h4,.plans-create-preview-card__head h4{margin:0;font-size:17px;line-height:1.2;letter-spacing:-.025em;color:#0f172a}.plans-create-block__head p,.plans-create-preview-card__head p{margin:4px 0 0;color:#64748b;font-size:12.5px;line-height:1.45}
.plans-create-grid{display:grid;gap:16px}.plans-create-grid--general{grid-template-columns:1.15fr .85fr}.plans-create-field{display:grid;gap:7px}.plans-create-field--wide{grid-column:1/-1}.plans-create-field>span,.plans-create-dimensions label>span{font-size:12px;font-weight:860;color:#172033}.plans-create-field em{font-style:normal;color:#dc2626;font-size:10px;font-weight:950;margin-left:5px;text-transform:uppercase}.plans-page--create .plans-create-field .inp,.plans-page--create .plans-create-field .sel,.plans-page--create .plans-create-dimensions .inp{min-height:42px;border-radius:4px!important;border:1px solid rgba(148,163,184,.36);background:#f8fafc;color:#0f172a;font-size:14px;box-shadow:none}.plans-page--create .plans-create-field .inp:focus,.plans-page--create .plans-create-field .sel:focus,.plans-page--create .plans-create-dimensions .inp:focus{outline:3px solid rgba(37,99,235,.16);border-color:#2563eb;background:#fff}
.plans-create-size{margin:0;padding:0;border:0!important;background:transparent!important}.plans-create-size legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.plans-size-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 18px}.plans-size-preset{display:grid;gap:3px;min-height:62px;padding:11px 10px;border:1px solid rgba(148,163,184,.34);border-radius:5px;background:#fff;color:#172033;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.plans-size-preset strong{font-size:12px;font-weight:900;line-height:1.15}.plans-size-preset span{font-size:11px;color:#64748b;font-weight:760}.plans-size-preset:hover{border-color:rgba(37,99,235,.45);background:#f8fbff}.plans-size-preset.active{border-color:#2563eb;background:rgba(37,99,235,.08);box-shadow:inset 0 0 0 1px rgba(37,99,235,.20);color:#1d4ed8}.plans-size-preset--custom.active{background:rgba(15,23,42,.06);border-color:#334155;color:#172033}
.plans-create-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.plans-create-dimensions label{display:grid;gap:7px}.plans-create-input-unit{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center}.plans-create-input-unit .inp{border-radius:4px 0 0 4px!important}.plans-create-input-unit strong{display:grid;place-items:center;min-height:42px;border:1px solid rgba(148,163,184,.36);border-left:0;border-radius:0 4px 4px 0;background:#eef2f7;color:#334155;font-size:13px}.plans-create-dimensions small{color:#64748b;font-size:11.5px;line-height:1.35}
.plans-create-preview-card{display:grid;align-content:start;gap:16px;padding:24px 24px 20px;background:linear-gradient(180deg,#ffffff,#f8fafc)}.plans-create-preview-card__head{display:grid;gap:5px}.plans-create-preview{position:relative;display:grid;place-items:center;height:230px;border:1px solid rgba(148,163,184,.32);border-radius:6px;background:#fbfaf7;overflow:hidden}.plans-create-preview__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.16) 1px,transparent 1px),linear-gradient(rgba(37,99,235,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.10) 1px,transparent 1px);background-size:12px 12px,12px 12px,60px 60px,60px 60px}.plans-create-preview__shape{position:relative;display:grid;place-items:center;border:3px solid #172033;background:rgba(219,234,254,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}.plans-create-preview__shape::before{content:'';position:absolute;inset:8px;border:1px dashed rgba(51,65,85,.32)}.plans-create-preview__shape::after{content:'Plan';position:absolute;color:#1e293b;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.78);padding:2px 6px;border-radius:3px}.plans-create-preview__label{position:absolute;z-index:2;font-size:11px;font-weight:850;color:#172033;background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:3px;padding:2px 6px;box-shadow:0 4px 10px rgba(15,23,42,.08)}.plans-create-preview__label--top{top:-26px;left:50%;transform:translateX(-50%)}.plans-create-preview__label--right{right:-40px;top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:center}.plans-create-metrics{display:grid;gap:0;margin:0;border:1px solid rgba(148,163,184,.28);border-radius:6px;overflow:hidden;background:#fff}.plans-create-metrics div{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid rgba(148,163,184,.20)}.plans-create-metrics div:last-child{border-bottom:0}.plans-create-metrics dt{margin:0;color:#64748b;font-size:11.5px;font-weight:820}.plans-create-metrics dd{margin:0;color:#0f172a;font-size:12.5px;font-weight:900;text-align:right}.plans-create-help{padding:13px 14px!important;border:1px dashed rgba(37,99,235,.32)!important;border-radius:6px!important;background:rgba(37,99,235,.045)!important;color:#64748b;font-size:12px;line-height:1.45}.plans-create-help strong{display:block;margin-bottom:6px;color:#0f172a;font-size:12.5px}.plans-create-help ol{margin:0;padding-left:18px}.plans-create-help li+li{margin-top:3px}.plans-create-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid rgba(148,163,184,.24);background:#fff}.plans-create-actions .btn{min-height:42px;border-radius:4px;font-weight:850}.plans-create-actions .btn-primary{box-shadow:0 10px 24px rgba(37,99,235,.20)}
[data-theme="dark"] .plans-page--create{background:linear-gradient(135deg,#0b1220,#111827)}[data-theme="dark"] .plans-page--create .plans-editor-card,[data-theme="dark"] .plans-create-shell{background:#0f172a;color:#e5e7eb;border-color:rgba(148,163,184,.22)}[data-theme="dark"] .plans-create-hero{background:linear-gradient(135deg,#0f172a,#111827 60%,#172554);border-bottom-color:rgba(148,163,184,.22)}[data-theme="dark"] .plans-create-back,[data-theme="dark"] .plans-create-hero h3,[data-theme="dark"] .plans-create-block__head h4,[data-theme="dark"] .plans-create-preview-card__head h4,[data-theme="dark"] .plans-create-field>span,[data-theme="dark"] .plans-create-dimensions label>span,[data-theme="dark"] .plans-create-metrics dd,[data-theme="dark"] .plans-create-help strong{color:#e5e7eb}[data-theme="dark"] .plans-create-hero p,[data-theme="dark"] .plans-create-block__head p,[data-theme="dark"] .plans-create-preview-card__head p,[data-theme="dark"] .plans-create-dimensions small,[data-theme="dark"] .plans-create-metrics dt,[data-theme="dark"] .plans-create-help{color:#94a3b8}[data-theme="dark"] .plans-create-scale-card,[data-theme="dark"] .plans-create-preview-card,[data-theme="dark"] .plans-create-metrics,[data-theme="dark"] .plans-create-actions,[data-theme="dark"] .plans-size-preset{background:#111827;border-color:rgba(148,163,184,.24)}[data-theme="dark"] .plans-create-main-card,[data-theme="dark"] .plans-create-block,[data-theme="dark"] .plans-create-actions{border-color:rgba(148,163,184,.20)}[data-theme="dark"] .plans-create-preview{background:#0b1220;border-color:rgba(148,163,184,.24)}[data-theme="dark"] .plans-create-preview__shape{border-color:#cbd5e1;background:rgba(37,99,235,.12)}[data-theme="dark"] .plans-create-preview__shape::after,[data-theme="dark"] .plans-create-preview__label{background:#0f172a;color:#e5e7eb;border-color:rgba(148,163,184,.26)}[data-theme="dark"] .plans-create-input-unit strong{background:#1e293b;color:#cbd5e1;border-color:rgba(148,163,184,.24)}
@media (max-width:1050px){.plans-create-layout{grid-template-columns:1fr}.plans-create-main-card{border-right:0;border-bottom:1px solid rgba(148,163,184,.24)}.plans-create-preview-card{border-top:0}.plans-size-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.plans-create-hero{display:grid}.plans-create-scale-card{min-width:0}}
@media (max-width:680px){.plans-page--create{padding:10px}.plans-create-hero,.plans-create-block,.plans-create-preview-card{padding:18px}.plans-create-hero h3{font-size:23px}.plans-create-grid--general,.plans-create-dimensions{grid-template-columns:1fr}.plans-size-presets{grid-template-columns:1fr 1fr}.plans-create-actions{display:grid;grid-template-columns:1fr;padding:16px}.plans-create-actions .btn{justify-content:center;width:100%}}

/* v2.6.65 — PLANS SCALE FLOOR FRAME1 : métrique réelle, contour automatique et grille premium */
.plans-create-block--frame{border-top:1px solid rgba(148,163,184,.18);padding-top:18px;margin-top:4px}
.plans-create-frame{display:grid;gap:14px}
.plans-create-frame-toggle{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;padding:12px 14px;border:1px solid rgba(148,163,184,.28);background:#f8fafc;border-radius:4px;cursor:pointer}
.plans-create-frame-toggle input{width:16px;height:16px;margin-top:2px;accent-color:#2563eb}
.plans-create-frame-toggle strong{display:block;font-size:13px;font-weight:850;color:#0f172a}
.plans-create-frame-toggle small{display:block;margin-top:3px;font-size:11px;font-weight:650;color:#64748b;line-height:1.35}
.plans-create-frame-grid{display:grid;grid-template-columns:1fr 150px;gap:12px;align-items:end}
.plans-create-frame-grid label>span{display:block;margin-bottom:6px;font-size:11px;font-weight:850;color:#334155;text-transform:uppercase;letter-spacing:.02em}
.plans-create-preview.has-floor-frame .plans-create-preview__shape{box-shadow:inset 0 0 0 8px rgba(15,23,42,.86),0 10px 28px rgba(15,23,42,.08)}
.plans-create-preview.has-floor-frame[data-frame-type="cloison"] .plans-create-preview__shape{box-shadow:inset 0 0 0 5px rgba(100,116,139,.72),0 10px 28px rgba(15,23,42,.08)}
.plans-create-preview.has-floor-frame[data-frame-type="cloison_grille"] .plans-create-preview__shape{box-shadow:inset 0 0 0 3px rgba(100,116,139,.42),0 10px 28px rgba(15,23,42,.08);background-image:linear-gradient(90deg,rgba(71,85,105,.22) 1px,transparent 1px),linear-gradient(rgba(37,99,235,.08) 1px,transparent 1px);background-size:18px 100%,24px 24px}
.plan-stage-ruler-text,.plan-stage-dimension,.plan-wall-length,.plan-room-cotes text{font-weight:720!important;letter-spacing:0!important}
.plan-stage-ruler-text{font-size:10px!important;fill:#334155!important;stroke:#f8fafc!important;stroke-width:3!important;paint-order:stroke!important}
.plan-stage-dimension{font-size:11px!important;fill:#475569!important;stroke:#f8fafc!important;stroke-width:3!important;paint-order:stroke!important}
.plan-scale-caption{font-weight:650!important;font-size:9.5px!important;fill:#64748b!important}
.plan-wall-length{font-size:9.5px!important;font-weight:720!important;fill:#334155!important;stroke:#fffdf7!important;stroke-width:3!important;opacity:.82!important}
.plan-wall-segment-line--grid{stroke:#b6c0cc!important;stroke-width:3.2!important;stroke-linecap:round!important;opacity:.45!important;stroke-dasharray:none!important;filter:none!important}
.plan-wall-segment-axis--grid{display:block!important;stroke:#64748b!important;stroke-width:.75!important;stroke-dasharray:7 8!important;opacity:.38!important;vector-effect:non-scaling-stroke!important;pointer-events:none!important}
.plan-wall-grid-bar{stroke:#64748b!important;stroke-width:.7!important;opacity:.48!important;stroke-linecap:round!important;vector-effect:non-scaling-stroke!important;pointer-events:none!important}
.plan-wall-draft--grid line{stroke:#9aa6b4!important;stroke-width:2.5!important;stroke-dasharray:7 8!important;opacity:.62!important}
.plan-object.is-wall-segment.is-selected .plan-wall-segment-line--grid{stroke:#9aa6b4!important;opacity:.62!important;filter:none!important}
.plan-object.is-wall-segment.is-selected .plan-wall-grid-bar{stroke:#334155!important;opacity:.55!important;filter:none!important}
[data-theme="dark"] .plans-create-frame-toggle{background:rgba(15,23,42,.70);border-color:rgba(148,163,184,.22)}
[data-theme="dark"] .plans-create-frame-toggle strong{color:#e5e7eb}
[data-theme="dark"] .plans-create-frame-toggle small,[data-theme="dark"] .plans-create-frame-grid label>span{color:#cbd5e1}
[data-theme="dark"] .plan-stage-ruler-text,[data-theme="dark"] .plan-stage-dimension{fill:#e2e8f0!important;stroke:#0f172a!important}
@media(max-width:820px){.plans-create-frame-grid{grid-template-columns:1fr}.plans-create-frame-toggle{padding:11px 12px}}

/* v2.6.66 — PLANS OBJECT BOUNDS ROTATE1 */
.plan-object-rotate-control,
.plan-object-rotate-control *{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M21 8a9 9 0 1 0 1 11' fill='none' stroke='%232563eb' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M21 8v6h-6' fill='none' stroke='%232563eb' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 14 14, alias!important;
}
.plan-canvas-wrap.is-rotating-object,
.plan-canvas-wrap.is-rotating-object *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M21 8a9 9 0 1 0 1 11' fill='none' stroke='%232563eb' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M21 8v6h-6' fill='none' stroke='%232563eb' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 14 14, alias!important}
.plan-object-rotate-cue,
.plan-object-rotate-arrow{fill:none;stroke:#2563eb;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.62;pointer-events:auto}
.plan-object-rotate-arrow{stroke-width:1.45;opacity:.78}
.plan-object-rotate-control:hover .plan-object-rotate-cue,
.plan-object-rotate-control:hover .plan-object-rotate-arrow{opacity:1;stroke:#1d4ed8}
.plan-object-rotate-control:hover .plan-object-rotate-dot{fill:#eff6ff!important;stroke:#1d4ed8!important;filter:drop-shadow(0 2px 7px rgba(37,99,235,.25))!important}
.plan-object.plan-opening .plan-object-rotate-cue,
.plan-object.plan-opening .plan-object-rotate-arrow{stroke-width:1.05;opacity:.68}
.plan-object.is-storage .plan-object-rotate-cue,
.plan-object.is-storage .plan-object-rotate-arrow{stroke:rgba(37,99,235,.78);opacity:.72}
[data-theme="dark"] .plan-object-rotate-cue,
[data-theme="dark"] .plan-object-rotate-arrow{stroke:#60a5fa}

/* v2.6.67 — PLANS VIEWER LOCALIZE UX1 : lecture seule premium cohérente avec l'éditeur */
.plans-page--viewer:not(.plans-page--create) .plans-hero,
.plans-page--viewer:not(.plans-page--create) .plans-stat-grid,
.plans-page--viewer:not(.plans-page--create) .plans-panel,
.plans-page--viewer:not(.plans-page--create) .plans-editor-rail,
.plans-page--viewer:not(.plans-page--create) .plans-toolbar,
.plans-page--viewer:not(.plans-page--create) .plans-component-library,
.plans-page--viewer:not(.plans-page--create) .plan-location-search{display:none!important}
.plans-page--viewer:not(.plans-page--create) .plans-layout{display:block!important;width:min(1480px,calc(100vw - 32px));margin:0 auto!important;padding:0!important}
.plans-page--viewer:not(.plans-page--create) .plans-editor-card{padding:0!important;border:1px solid rgba(148,163,184,.28)!important;border-radius:8px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 18px 46px rgba(15,23,42,.08)!important}
.plans-page--viewer:not(.plans-page--create) .plans-editor-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;margin:0!important;padding:16px 18px!important;border-bottom:1px solid #e2e8f0!important;background:linear-gradient(180deg,#fff,#f8fafc)!important}
.plans-page--viewer:not(.plans-page--create) .plans-editor-head__identity{min-width:0!important}
.plans-page--viewer:not(.plans-page--create) .plans-head-back{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:0 0 6px!important;color:#334155!important;text-decoration:none!important;font-size:12.5px!important;font-weight:800!important}
.plans-page--viewer:not(.plans-page--create) .plans-section-kicker{color:#2563eb!important;font-size:10px!important;font-weight:950!important;letter-spacing:.10em!important;text-transform:uppercase!important}
.plans-page--viewer:not(.plans-page--create) .plans-editor-title{font-size:22px!important;line-height:1.1!important;margin:3px 0!important;color:#0f172a!important;letter-spacing:-.03em!important}
.plans-page--viewer:not(.plans-page--create) .plans-editor-sub{margin:0!important;color:#64748b!important;font-size:13px!important;line-height:1.35!important}
.plans-page--viewer:not(.plans-page--create) #planDirtyState{margin-top:8px!important;border-radius:4px!important;background:#eef2f7!important;color:#475569!important;font-weight:850!important}
.plans-page--viewer:not(.plans-page--create) .plans-editor-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
.plans-page--viewer:not(.plans-page--create) .plans-editor-actions .btn{min-height:36px!important;border-radius:4px!important;font-weight:900!important}
.plans-page--viewer:not(.plans-page--create) .plans-workbench{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:0!important;margin:0!important;min-height:calc(100vh - 230px)!important;background:#eef3f9!important}
.plans-page--viewer:not(.plans-page--create) .plan-canvas-wrap{min-height:calc(100vh - 230px)!important;margin:0!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#f6f9fc,#edf3f9)!important;box-shadow:none!important;overflow:hidden!important}
.plans-page--viewer:not(.plans-page--create) .plan-canvas-svg{min-height:calc(100vh - 230px)!important;background:transparent!important}
.plans-page--viewer:not(.plans-page--create) .plan-stage-bg{fill:#fffdf7!important;stroke:#111827!important;stroke-width:2.2!important;vector-effect:non-scaling-stroke!important}
.plans-page--viewer:not(.plans-page--create) .plan-stage-grid{opacity:.56!important}.plans-page--viewer:not(.plans-page--create) .plan-stage-grid--big{opacity:.62!important}
.plans-page--viewer:not(.plans-page--create) .plan-stage-ruler-text{font-size:12px!important;font-weight:850!important;fill:#334155!important;paint-order:stroke;stroke:#f8fafc;stroke-width:3}
.plans-page--viewer:not(.plans-page--create) .plan-stage-dimension{font-size:15px!important;font-weight:850!important;fill:#334155!important;paint-order:stroke;stroke:#f8fafc;stroke-width:3}
.plans-page--viewer:not(.plans-page--create) .plan-canvas-badge{left:18px!important;bottom:18px!important;gap:6px!important}.plans-page--viewer:not(.plans-page--create) .plan-canvas-badge span{border-radius:4px!important;background:rgba(15,23,42,.80)!important;font-size:11.5px!important;padding:6px 8px!important}
.plans-page--viewer:not(.plans-page--create) .plan-inspector{min-height:calc(100vh - 230px)!important;margin:0!important;padding:0!important;border:0!important;border-left:1px solid #dbe3ee!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:auto!important}
.plans-page--viewer:not(.plans-page--create) .plan-inspector-section{padding:16px!important;border-bottom:1px solid #edf1f6!important}.plans-page--viewer:not(.plans-page--create) .plan-inspector h3{font-size:16px!important;color:#0f172a!important}.plans-page--viewer:not(.plans-page--create) .plan-inspector p{font-size:12.5px!important;color:#64748b!important}
.plans-page--viewer:not(.plans-page--create) .plans-inspector-kv div{grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;background:transparent!important;border:0!important;padding:0!important}.plans-page--viewer:not(.plans-page--create) .plans-inspector-kv dt{font-size:12px!important;text-transform:none!important;letter-spacing:0!important;color:#64748b!important}.plans-page--viewer:not(.plans-page--create) .plans-inspector-kv dd{font-size:12.5px!important;font-weight:900!important;color:#0f172a!important;text-align:right!important}
.plans-page--viewer.plans-page--localization:not(.plans-page--create) .plans-editor-head{background:linear-gradient(180deg,#fff,#fff7ed)!important;border-bottom-color:#fed7aa!important}.plans-page--viewer.plans-page--localization:not(.plans-page--create) .plans-section-kicker{color:#d97706!important}.plans-page--viewer.plans-page--localization:not(.plans-page--create) .plan-object-highlight-frame{fill:rgba(245,158,11,.10)!important;stroke:#f59e0b!important;stroke-width:4!important;filter:drop-shadow(0 0 10px rgba(245,158,11,.25))}
@media(max-width:1100px){.plans-page--viewer:not(.plans-page--create) .plans-layout{width:calc(100vw - 16px)}.plans-page--viewer:not(.plans-page--create) .plans-editor-head{grid-template-columns:1fr!important}.plans-page--viewer:not(.plans-page--create) .plans-workbench{grid-template-columns:1fr!important}.plans-page--viewer:not(.plans-page--create) .plan-inspector{min-height:0!important;border-left:0!important;border-top:1px solid #dbe3ee!important}.plans-page--viewer:not(.plans-page--create) .plan-canvas-wrap,.plans-page--viewer:not(.plans-page--create) .plan-canvas-svg{min-height:540px!important}}
