/* VetCRM v3.5.160 — feuille canonique consolidée. Cascade historique conservée dans un seul fichier. */

/* ===== SOURCE CONSOLIDÉE : vetcrm.css ===== */
/* ===== Style consolidé 00 ===== */
:root{--navy:#0f1b34;--blue:#2563eb;--green:#16a34a;--red:#dc2626;--orange:#d97706;--bg:#f3f5f8;--card:#fff;--line:#d6dfeb;--text:#142033;--muted:#65738a;--radius:14px;font-family:Arial,Helvetica,sans-serif;color:var(--text)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);font-size:16px}button,input,select,textarea{font:inherit}button,.button-like{border:0;border-radius:11px;padding:11px 15px;background:#e3e9f1;color:var(--text);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover,.button-like:hover{filter:brightness(.97)}button.primary{background:var(--blue);color:#fff}button.danger,.danger{background:#fee2e2;color:#991b1b}.warning{background:#ffedd5;color:#9a3412}.icon{padding:7px 11px;min-width:38px}.app-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}.topbar{display:flex;align-items:center;gap:14px;padding:12px 16px;flex-wrap:wrap}.brand{font-size:1.55rem;font-weight:800}.version{font-size:.8rem;padding:4px 9px;background:#dff3ff;color:#075985;border-radius:999px}.header-status{color:#9db1d0;font-size:.9rem;flex:1;min-width:220px}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.button-like input{display:none}.nav{display:flex;gap:8px;padding:9px 12px;background:#e5e9ef;overflow-x:auto}.nav button{white-space:nowrap;background:#fff;font-weight:600}.nav button.active{background:var(--blue);color:#fff}.app-main{padding:14px}.module{max-width:1500px;margin:0 auto}.module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}.module-head h1{margin:0 0 4px;font-size:1.8rem}.module-head p{margin:0;color:var(--muted)}.action-row{display:flex;gap:8px;flex-wrap:wrap}.action-row.end{justify-content:flex-end}.sticky-actions{position:sticky;top:116px;z-index:10;background:var(--bg);padding:8px 0}.panel,.search-panel,.result-card,.agenda-card,.demo-card,.demo-group,.metric{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px}.search-panel{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:.86rem;font-weight:700;color:#37445a}.field input,.field select,.field textarea,select,input,textarea{width:100%;border:1px solid #cbd6e4;border-radius:10px;padding:10px 12px;background:#fff;color:var(--text)}.field.grow{flex:1;min-width:240px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filters{margin:10px 0;display:grid;gap:8px}.filter-row{display:grid;grid-template-columns:130px 180px 1fr 42px;gap:8px}.summary{margin:12px 0;color:var(--muted);font-weight:700}.result-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:10px}.result-card{padding:0}.result-open{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;background:transparent;padding:15px}.result-open strong{font-size:1.06rem}.result-open span,.result-open small{color:var(--muted);margin-top:4px}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.editor-column{display:grid;gap:14px;align-content:start}.panel h2{margin:0 0 12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.subrow{display:grid;grid-template-columns:1fr 1fr 42px;gap:8px;margin-top:8px}.machine-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:10px;margin-bottom:10px}.machine-card{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:10px}.machine-card.replaced{opacity:.75;background:#fff7ed}.machine-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.machine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.badge{background:#e0f2fe;color:#075985;border-radius:999px;padding:4px 8px;font-size:.78rem}.badge.sold{background:#dcfce7;color:#166534}.badge.hidden{background:#f3f4f6;color:#4b5563}.badge.transferred{background:#ffedd5;color:#9a3412}.empty{color:var(--muted);font-style:italic}.agenda-list{display:grid;gap:9px}.agenda-card{display:flex;justify-content:space-between;gap:12px;align-items:center}.agenda-card>div:first-child{display:flex;flex-direction:column;gap:4px}.agenda-card span,.agenda-card small{color:var(--muted)}.active-toggle{background:var(--blue);color:#fff}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays>div{text-align:center;font-weight:700;color:var(--muted);padding:7px}.calendar-cell{background:#fff;border:1px solid var(--line);border-radius:9px;min-height:115px;padding:7px;cursor:pointer}.muted-cell{background:transparent;border-style:dashed}.calendar-day{font-weight:800;margin-bottom:5px}.calendar-event{display:block;width:100%;padding:5px 6px;margin:3px 0;text-align:left;border-radius:7px;background:#dbeafe;color:#1e3a8a;font-size:.76rem;overflow:hidden}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:4vh 12px;overflow:auto}.modal{width:min(680px,100%);background:#fff;border-radius:16px;padding:18px;display:grid;gap:12px}.progress-modal{margin-top:18vh}.progress-track{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-track>div{height:100%;background:var(--blue);width:0;transition:width .2s}.suggestions{display:grid;border-radius:9px;overflow:hidden}.suggestions button{border-radius:0;justify-content:flex-start;background:#f8fafc}.suggestions small{color:var(--muted)}.demo-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.demo-group{margin:12px 0}.demo-group h2{margin-top:0}.demo-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:9px}.demo-card{display:flex;flex-direction:column;gap:7px}.demo-card small,.demo-card span{color:var(--muted)}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{background:#eef2f7}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.metric{display:flex;flex-direction:column}.metric strong{font-size:1.7rem}.metric span{color:var(--muted)}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.callout{margin-top:10px;border:1px solid #bfdbfe;background:#eff6ff;padding:10px;border-radius:10px}.muted{color:var(--muted)}details pre{white-space:pre-wrap;max-height:380px;overflow:auto;background:#0f172a;color:#e2e8f0;padding:10px;border-radius:8px}.boot-overlay{position:fixed;inset:0;background:#f5f7fa;z-index:200;display:flex;align-items:center;justify-content:center;padding:18px}.boot-overlay[hidden]{display:none}.boot-card{width:min(620px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.boot-card h1{margin-top:0}.boot-card .progress-track{margin:16px 0}.boot-note{color:var(--muted);font-size:.9rem}
@media(max-width:850px){.editor-grid,.admin-grid{grid-template-columns:1fr}.machine-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.calendar-cell{min-height:90px}.topbar{align-items:flex-start}.sticky-actions{top:150px}}
@media(max-width:560px){html,body{font-size:15px}.app-main{padding:10px}.header-actions{width:100%}.header-actions>*{flex:1}.two-cols,.machine-grid{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr 1fr 42px}.filter-value{grid-column:1/3}.result-list{grid-template-columns:1fr}.calendar-weekdays,.calendar-grid{gap:2px}.calendar-cell{padding:4px;min-height:78px}.calendar-event{font-size:.65rem;padding:3px}.agenda-card{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.module-head h1{font-size:1.5rem}}
@media print{body{background:#fff}.app-header,.module-head button,.search-panel,.filters,.demo-controls,.action-row,.modal-overlay{display:none!important}.app-main{padding:0}.module{max-width:none}.panel,.result-card,.agenda-card,.demo-card,.demo-group,.table-wrap{box-shadow:none;border-color:#bbb;break-inside:avoid}.result-list,.demo-cards{grid-template-columns:repeat(2,1fr)}.sticky-actions{position:static}.calendar-cell{min-height:90px}}

.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.88rem}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{font-weight:400}.modal-wide{width:min(1050px,100%)}.route-layout{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:14px}.route-map{min-height:340px;border:1px solid var(--line);border-radius:12px;background:#eef2f7;padding:8px}.route-map svg{display:block;width:100%;height:auto;max-height:460px}.route-legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);padding:8px}.route-legend span:first-child{color:#166534}.route-legend span:nth-child(2){color:#1d4ed8}.route-legend span:last-child{color:#b91c1c}.menu-pref-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border-bottom:1px solid var(--line)}.menu-pref-row label{font-weight:700}.quality-list{max-height:60vh;overflow:auto}.table-wrap input,.table-wrap select{min-width:90px;padding:7px}.table-wrap .ql-name{min-width:180px}.table-wrap .ql-ref{min-width:130px}.app-header .nav span{font-size:.72rem;color:inherit}.cloud-ok{color:#166534}.cloud-error{color:#991b1b}.module-note{background:#fff7ed;border:1px solid #fed7aa;padding:10px;border-radius:10px}.hidden-module{display:none!important}
@media(max-width:900px){.route-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.table-wrap{font-size:.86rem}.table-wrap th,.table-wrap td{padding:7px}}
@media print{.route-map{min-height:0}.route-layout{display:block}.route-layout>.panel:first-child{display:none}.metrics{break-inside:avoid}.app-main table{font-size:10px}}


/* VetCRM Clean Phase 2.1 — cartes, couleurs, devis complets et enrichissement */
.france-map-panel{display:grid;grid-template-columns:minmax(280px,560px) minmax(220px,1fr);gap:18px;align-items:start;margin:14px 0}
.france-map-wrap{background:#f8fafc;border:1px solid #d5deeb;border-radius:16px;padding:10px;min-width:0}
.france-map-wrap svg{display:block;width:100%;height:auto;max-height:520px}
.france-dept{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer;transition:opacity .15s,stroke .15s,filter .15s}
.france-dept:hover,.france-dept.is-selected{stroke:#0f172a;stroke-width:4;filter:brightness(.94)}
.france-dept-label{font-size:13px;fill:#0f172a;pointer-events:none;font-weight:700;text-anchor:middle}
.france-map-aside{display:grid;gap:10px}.france-map-aside .metric{min-height:86px}
.map-legend{display:flex;gap:12px;flex-wrap:wrap;color:#52637a;font-size:13px;margin-top:8px}.map-legend span{display:inline-flex;align-items:center;gap:6px}.map-dot{width:11px;height:11px;border-radius:3px;display:inline-block;background:var(--dot,#64748b)}
.crm-map-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.crm-map-toolbar strong{margin-right:auto}
.agenda-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.agenda-legend span{border-left:5px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 12%,white);border-radius:8px;padding:6px 9px;font-size:13px}
.agenda-card.event-colored{border-left:7px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 7%,white)}
.calendar-event.event-colored{border-left:5px solid var(--event-color)!important;background:color-mix(in srgb,var(--event-color) 13%,white)!important;color:#0f172a!important}
.quote-product-cell{min-width:270px}.quote-product-cell input{min-width:250px}.quote-internal-ref{display:none!important}
.quote-lines-table th:nth-child(2),.quote-lines-table td:nth-child(2){display:none}
.quote-summary-note{font-size:13px;color:#52637a;margin:6px 0 0}.quote-discounts{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #d5deeb}
.prime-basis{font-weight:700;color:#0f172a}.prime-help{padding:10px 12px;border-left:5px solid #2563eb;background:#eff6ff;border-radius:8px;margin-bottom:12px}
.sector-map-layout{display:grid;grid-template-columns:minmax(300px,580px) minmax(300px,1fr);gap:16px}.sector-map-side{display:grid;gap:10px;align-content:start}.sector-map-selected{font-weight:700;min-height:26px}
.sector-chip{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid #d5deeb;border-radius:10px;background:white}.sector-chip input[type=color]{width:42px;padding:2px;height:38px}.sector-chip.is-active{outline:3px solid #93c5fd}
.quality-toolbar{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:12px}.quality-toolbar .wide{grid-column:span 2}.quality-results{display:grid;gap:10px}.quality-result{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid #d5deeb;border-radius:12px;background:white;padding:12px}.quality-result small,.quality-result span{display:block;color:#52637a}.quality-actions{display:flex;gap:7px;flex-wrap:wrap;align-content:start}.quality-source-note{font-size:13px;color:#52637a;margin:8px 0}.quality-duplicate{background:#fff7ed;border-color:#fdba74}.quality-imported{background:#ecfdf5;border-color:#86efac}
.org-actions{display:flex;gap:6px;flex-wrap:wrap}
.route-france-map svg{max-height:600px}.route-path{fill:none;stroke:#2563eb;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.route-marker text{fill:#fff;font-weight:800;font-size:15px;text-anchor:middle;pointer-events:none}.route-marker circle{stroke:white;stroke-width:3;vector-effect:non-scaling-stroke}
@media(max-width:900px){.france-map-panel,.sector-map-layout{grid-template-columns:1fr}.quality-toolbar{grid-template-columns:1fr 1fr}.quality-toolbar .wide{grid-column:span 2}}
@media(max-width:560px){.quality-toolbar{grid-template-columns:1fr}.quality-toolbar .wide{grid-column:auto}.quality-result{grid-template-columns:1fr}.france-map-wrap{padding:4px}.france-dept-label{font-size:17px}}
@media print{.france-map-toolbar,.crm-map-toolbar,.quality-actions{display:none!important}}


/* VetCRM Clean Phase 2.2 */
.crm-workspace-v22{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(420px,1.22fr);gap:14px;align-items:start}.crm-list-pane-v22{min-width:0}.crm-map-pane-v22{position:sticky;top:8px;min-width:0}.crm-map-head-v22{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.crm-map-head-v22 h2{margin:0}.crm-map-status-v22{font-size:.82rem;color:var(--muted)}.slippy-map-v22{position:relative;height:610px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#dce7f1;touch-action:none;user-select:none}.slippy-map-v22.is-fullscreen{position:fixed;z-index:12000;inset:8px;height:auto;border-radius:14px}.map-tile-layer-v22,.map-marker-layer-v22{position:absolute;inset:0;overflow:hidden}.map-tile-v22{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none}.map-attrib-v22{position:absolute;right:5px;bottom:4px;z-index:5;background:rgba(255,255,255,.82);padding:2px 5px;border-radius:4px;font-size:10px;color:#334155}.map-controls-v22{position:absolute;left:8px;top:8px;z-index:7;display:grid;gap:5px}.map-controls-v22 button{width:38px;height:38px;padding:0;font-size:20px;background:#fff;border:1px solid #cbd5e1}.map-fit-v22{font-size:14px!important}.map-cluster-v22,.map-pin-v22{position:absolute;transform:translate(-50%,-50%);z-index:6;border:2px solid white;box-shadow:0 1px 5px rgba(15,23,42,.35);display:grid;place-items:center;cursor:pointer}.map-cluster-v22{width:44px;height:44px;border-radius:50%;background:#2563eb;color:white;font-weight:800}.map-cluster-v22.large{width:54px;height:54px;background:#1d4ed8}.map-pin-v22{width:22px;height:22px;border-radius:50% 50% 50% 0;background:#dc2626;transform:translate(-50%,-70%) rotate(-45deg)}.map-pin-v22 span{transform:rotate(45deg);display:block;width:6px;height:6px;background:white;border-radius:50%}.map-popup-v22{position:absolute;z-index:9;min-width:220px;max-width:300px;background:white;border:1px solid #cbd5e1;border-radius:10px;padding:10px;box-shadow:0 8px 24px rgba(15,23,42,.22);transform:translate(-50%,calc(-100% - 18px))}.map-popup-v22 strong,.map-popup-v22 span{display:block}.map-popup-v22 span{color:var(--muted);font-size:.85rem}.map-popup-v22 button{margin-top:8px;width:100%}.quote-brand-panel-v22{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}.quote-logo-preview-v22{height:90px;max-width:150px;object-fit:contain;background:white;border:1px dashed #cbd5e1;border-radius:10px;padding:6px}.quote-brand-actions-v22{display:flex;gap:8px;flex-wrap:wrap}.demo-stock-note-v22{margin:8px 0;padding:9px 11px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.demo-card.out-v22{opacity:.92;border-style:dashed}.demo-card .stock-out-v22{color:#9a3412;font-weight:700}.quality-danger-zone-v22{margin-top:12px;padding:12px;border:1px solid #fca5a5;background:#fff1f2;border-radius:12px}.quality-danger-zone-v22 h3{margin-top:0}.quality-file-summary-v22{font-size:.88rem;color:var(--muted);margin:8px 0}.tariff-preview-v22{max-height:260px;overflow:auto}.tariff-preview-v22 table{font-size:.82rem}.admin-import-panel-v22 .form-grid{margin-bottom:10px}.admin-import-panel-v22 input[type=file]{width:100%}.badge.stock-out-v22{background:#ffedd5;color:#9a3412}.map-loading-v22{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(255,255,255,.92);padding:12px 16px;border-radius:10px;border:1px solid #cbd5e1;text-align:center}.map-loading-v22[hidden]{display:none}
@media(max-width:1000px){.crm-workspace-v22{grid-template-columns:1fr}.crm-map-pane-v22{position:static}.slippy-map-v22{height:480px}}
@media(max-width:560px){.slippy-map-v22{height:420px}.quote-brand-panel-v22{grid-template-columns:1fr}.quote-logo-preview-v22{max-width:130px;height:75px}}
@media print{.crm-map-pane-v22,.quote-brand-panel-v22,.admin-import-panel-v22{display:none!important}}


/* VetCRM Clean Phase 2.3 — carte clusters CRM et société vendeuse */
.crm-cluster-layout-p23{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(520px,1.12fr);gap:14px;align-items:start}
.crm-cluster-left-p23{min-width:0}
.crm-cluster-right-p23{position:sticky;top:8px;min-width:0}
.crm-cluster-head-p23{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.crm-cluster-head-p23 h2{margin:0}
.crm-cluster-status-p23{font-size:.84rem;color:var(--muted);margin-top:3px}
.crm-leaflet-map-p23{height:610px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#dce7f1;position:relative}
.crm-leaflet-map-p23.is-fullscreen{position:fixed;z-index:13000;inset:8px;height:auto;border-radius:14px}
.crm-map-actions-p23{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.crm-map-actions-p23 button{padding:8px 10px}
.crm-map-fallback-p23{height:100%;display:grid;place-items:center;padding:24px;text-align:center;color:var(--muted)}
.crm-map-fallback-p23 strong{display:block;color:var(--ink);margin-bottom:6px}
.crm-cluster-icon-p23{background:transparent!important;border:0!important}
.crm-cluster-bubble-p23{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#2563eb;color:#fff;border:3px solid #fff;box-shadow:0 2px 8px #0007;font-weight:800;font-size:13px}
.crm-point-bubble-p23{width:18px;height:18px;border-radius:50%;background:#2563eb;border:2px solid #fff;box-shadow:0 1px 5px #0007}
.crm-leaflet-map-p23 .leaflet-popup-content button{width:100%;margin-top:8px}
.seller-profile-p23 .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.seller-profile-p23 .seller-preview-p23{padding:12px;border:1px dashed var(--line);border-radius:12px;background:#fff;line-height:1.45;white-space:pre-line}
.seller-profile-p23 .seller-preview-p23 strong{display:block;font-size:1.05rem;margin-bottom:4px}
.phase23-version-note{font-size:.78rem;color:var(--muted)}
@media(max-width:1100px){.crm-cluster-layout-p23{grid-template-columns:1fr}.crm-cluster-right-p23{position:static}.crm-leaflet-map-p23{height:500px}}
@media(max-width:600px){.crm-leaflet-map-p23{height:430px}.seller-profile-p23 .form-grid{grid-template-columns:1fr}.crm-cluster-head-p23{display:block}.crm-map-actions-p23{justify-content:flex-start;margin-top:8px}}
@media print{.crm-cluster-right-p23,.seller-profile-p23{display:none!important}}


/* Phase 2.4 — suivi des ventes filtrable et graphiques */
.sales-toolbar-v24{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end;margin-bottom:12px}
.sales-toolbar-v24 label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#172033}
.sales-toolbar-v24 input,.sales-toolbar-v24 select{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;background:#fff;color:#0f172a;font:inherit}
.sales-quick-v24{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}
.sales-summary-v24{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin:6px 0 12px;color:#52627a}
.sales-chart-panel-v24{background:#fff;border:1px solid #dbe3ef;border-radius:16px;padding:14px;margin:0 0 16px;overflow:hidden}
.sales-chart-head-v24{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.sales-chart-head-v24 h2{margin:0;font-size:1.2rem}
.sales-legend-v24{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:.92rem;color:#52627a}
.sales-legend-v24 span{display:inline-flex;gap:7px;align-items:center}
.sales-legend-v24 i{display:inline-block;width:13px;height:13px;border-radius:3px}
.sales-legend-v24 .ca{background:#2563eb}.sales-legend-v24 .margin{background:#16a34a}
.sales-chart-scroll-v24{overflow-x:auto;overflow-y:hidden;padding-bottom:4px}
.sales-chart-v24{display:block;min-height:330px;width:100%}
.sales-chart-v24 text{font-family:Arial,sans-serif;fill:#52627a;font-size:12px}
.sales-chart-v24 .axis{stroke:#94a3b8;stroke-width:1}
.sales-chart-v24 .grid{stroke:#e2e8f0;stroke-width:1}
.sales-chart-v24 .ca-bar{fill:#2563eb}.sales-chart-v24 .margin-bar{fill:#16a34a}
.sales-chart-v24 .ca-line{fill:none;stroke:#2563eb;stroke-width:3}.sales-chart-v24 .margin-line{fill:none;stroke:#16a34a;stroke-width:3}
.sales-chart-v24 .ca-point{fill:#2563eb}.sales-chart-v24 .margin-point{fill:#16a34a}
.sales-empty-v24{padding:45px 15px;text-align:center;color:#64748b}
.sales-negative-v24{color:#b91c1c}
@media(max-width:850px){.sales-toolbar-v24{grid-template-columns:1fr 1fr}.sales-chart-panel-v24{padding:10px}}
@media(max-width:520px){.sales-toolbar-v24{grid-template-columns:1fr}.sales-summary-v24{align-items:flex-start}.sales-chart-v24{min-height:300px}}


/* Phase 2.5 — produits, leasing, installations actives et enrichissement national */
.install-active-note-p25{margin:10px 0;padding:10px 12px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:10px;color:#1e3a8a}
.leasing-grid-p25{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}
.leasing-results-p25{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-top:14px}
.leasing-result-p25{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}
.leasing-result-p25 strong{display:block;font-size:1.35rem;margin-bottom:4px}.leasing-result-p25 span{color:var(--muted)}
.leasing-details-p25{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;line-height:1.55}
.quality-progress-p25{margin:10px 0}.quality-progress-p25 progress{width:100%;height:16px}
.quality-bulk-p25{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.quality-page-p25{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}
.quality-contact-p25{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:7px}.quality-contact-p25 small{display:block}
.quality-result .quality-contact-editor-p25{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:7px;margin-top:8px}.quality-result .quality-contact-editor-p25 input{width:100%}
.product-added-note-p25{padding:8px 10px;border-radius:9px;background:#ecfdf5;border:1px solid #86efac;color:#166534;margin-bottom:10px}
@media(max-width:900px){.leasing-grid-p25,.leasing-results-p25{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-result .quality-contact-editor-p25{grid-template-columns:1fr}}
@media(max-width:560px){.leasing-grid-p25,.leasing-results-p25{grid-template-columns:1fr}.quality-page-p25{align-items:stretch;flex-direction:column}}

.phase27-protect-row{display:flex;gap:.65rem;align-items:flex-start;margin-top:1rem;padding:.85rem;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;font-weight:600}.phase27-protect-row input{margin-top:.15rem}.phase27-colleague-panel,.phase27-access-panel{grid-column:1/-1}.phase27-reset-grid,.phase27-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem;margin:.75rem 0 1rem}.phase27-check{display:flex;gap:.55rem;align-items:flex-start;border:1px solid #d7dfeb;border-radius:11px;padding:.7rem;background:#fff}.phase27-check input{margin-top:.18rem}.phase27-check span{display:flex;flex-direction:column;gap:.12rem}.phase27-check small{font-weight:400;color:#64748b}.phase27-preserve{margin:.8rem 0}.phase27-warning{margin:1rem 0;background:#fff8e7}.phase27-colleague-panel h3,.phase27-access-panel h3{margin-top:1rem}.phase27-colleague-panel #p27ExportStatus{margin-top:.6rem}.phase27-access-panel .form-grid{align-items:end}@media(max-width:700px){.phase27-reset-grid,.phase27-module-grid{grid-template-columns:1fr}}

/* ===== Style consolidé 01 ===== */
/* VetCRM Clean Phase 2.6 - devis type Poly-Med, sans calculateur de leasing */
#openLeasingP25{display:none!important}
.quote-p26-note{margin:0 0 12px;padding:10px 12px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:10px}
.seller-profile-p26 .seller-bank-p26{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.seller-profile-p26 textarea{min-height:76px;resize:vertical}
.seller-preview-p26{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;line-height:1.5}
@media(max-width:720px){.seller-profile-p26 .form-grid{grid-template-columns:1fr}}

/* ===== Style consolidé 02 ===== */
/* Phase 3.2.7 */
#p327CongressToggle.p327-congress-on{background:#0f766e;color:#fff}
#p327QuickQuote{white-space:nowrap}
.p327-congress-hidden,.p327-congress-mode .p327-internal{display:none!important}
.p327-congress-mode #exportView,.p327-congress-mode #exportFull,.p327-congress-mode label.button-like:has(#importFullInput){display:none!important}
.p327-congress-mode .p321-quick-quote{border:2px solid #0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.08)}
.p327-congress-mode.p327-quote-active .module-head p{font-size:0}
.p327-congress-mode.p327-quote-active .module-head p:after{content:'Devis rapide client — coûts, marges et primes masqués';font-size:.95rem;color:var(--muted)}
.quote-client-suggestions-p313[hidden]{display:none!important}
.quote-client-suggestions-p313{position:relative;z-index:12;display:grid;gap:3px;margin-top:5px;max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;padding:4px}
.quote-client-suggestions-p313 button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border-radius:7px;background:#f8fafc}
.quote-client-suggestions-p313 small,.quote-client-selected-p313 small{display:block;color:var(--muted)}
.quote-client-selected-p313{padding-top:5px}
@media(max-width:720px){#p327QuickQuote,#p327CongressToggle{flex:1;min-height:44px}.p327-congress-mode .header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.p327-congress-mode #printView{grid-column:1/-1}.p327-congress-mode .app-main{padding-top:8px}.p327-congress-mode .p321-quick-quote{padding:12px}}

/* ===== Style consolidé 03 ===== */
.v3428-progress-actions{display:flex;justify-content:flex-end;margin-top:14px}
.v3428-progress-actions button{background:#fee2e2;color:#991b1b}
.v3428-route-reasons{margin-top:8px;border-top:1px dashed #cbd5e1;padding-top:7px}
.v3428-route-reasons summary{cursor:pointer;font-weight:700;color:#1d4ed8}
.v3428-route-reasons ul{margin:7px 0 0;padding-left:20px;color:#475569}
.v3428-route-reasons li{margin:3px 0}
.v3428-route-stats{display:block;margin-top:5px;color:#475569}
.v3428-cancelled{color:#92400e;font-weight:700}

/* ===== Style consolidé 04 ===== */
.p3429-metrics{margin-bottom:12px}.p3429-toolbar{margin-bottom:12px}.p3429-toolbar-row{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap}.p3429-tabs{display:flex;gap:8px;overflow-x:auto;margin:10px 0 14px;padding-bottom:2px}.p3429-tabs button{white-space:nowrap;background:#fff;border:1px solid var(--line)}.p3429-tabs button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.p3429-grid{align-items:start}.p3429-card .result-open{gap:7px}.p3429-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;width:100%}.p3429-card-actions{margin-top:8px}.p3429-card-actions button{padding:8px 10px;font-size:.84rem}.p3429-confidence{display:inline-flex;border-radius:999px;padding:2px 7px;font-weight:800;font-size:.76rem}.p3429-confidence.high{background:#dcfce7;color:#166534}.p3429-confidence.medium{background:#fef3c7;color:#92400e}.p3429-confidence.low{background:#fee2e2;color:#991b1b}.p3429-status{margin-top:10px;border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:10px;white-space:pre-wrap}.p3429-source-list,.p3429-proposal-list{max-height:62vh;overflow:auto}.p3429-source,.p3429-proposal{align-items:flex-start}.p3429-source a{display:inline-block;margin-top:5px;color:#1d4ed8;font-weight:700}.p3429-proposal>div:first-child{min-width:0}.p3429-proposal span,.p3429-proposal small{white-space:pre-wrap;overflow-wrap:anywhere}.p3429-server-panel{grid-column:1/-1}.p3429-admin-count{background:#e2e8f0;border-radius:999px;padding:5px 9px;font-size:.82rem;font-weight:800}.p3429-source-list .agenda-card,.p3429-proposal-list .agenda-card{flex-wrap:wrap}.p3429-source-list .agenda-card>div:first-child,.p3429-proposal-list .agenda-card>div:first-child{flex:1;min-width:250px}.p3429-card-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:850px){.p3429-toolbar-row{display:grid;grid-template-columns:1fr 1fr}.p3429-toolbar-row .field{grid-column:1/-1}.p3429-card-actions{display:grid;grid-template-columns:1fr 1fr}.p3429-metrics{grid-template-columns:repeat(2,1fr)}.p3429-source,.p3429-proposal{display:block}.p3429-source>button,.p3429-proposal>.action-row{margin-top:10px;width:100%}.p3429-proposal>.action-row{display:grid;grid-template-columns:1fr 1fr}}

/* ===== Style consolidé 05 ===== */
/* Phase 3.1.2 — règles de marge issues du calculateur Excel */
.margin-rule-p312{margin-top:14px;border-width:2px}.margin-rule-p312.ok{border-color:#86efac;background:#f0fdf4}.margin-rule-p312.warn{border-color:#fdba74;background:#fff7ed}.margin-rule-p312.unknown{border-color:#cbd5e1;background:#f8fafc}.margin-rule-head-p312{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.margin-rule-head-p312 h2{margin:0}.margin-status-p312{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:800}.margin-rule-p312.ok .margin-status-p312{background:#dcfce7;color:#166534}.margin-rule-p312.warn .margin-status-p312{background:#ffedd5;color:#9a3412}.margin-rule-p312.unknown .margin-status-p312{background:#e2e8f0;color:#475569}.margin-rule-metrics-p312{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:9px;margin-top:12px}.margin-rule-metric-p312{border:1px solid rgba(100,116,139,.25);border-radius:10px;background:rgba(255,255,255,.75);padding:10px}.margin-rule-metric-p312 strong{display:block;font-size:1.25rem}.margin-rule-metric-p312 span{display:block;color:var(--muted);font-size:.82rem;margin-top:3px}.margin-rule-detail-p312{margin:10px 0 0;color:#475569}.margin-rule-actions-p312{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.margin-rule-source-p312{font-size:.78rem;color:#64748b;margin-top:8px}.margin-gap-negative-p312{color:#b91c1c}.margin-gap-positive-p312{color:#166534}
@media(max-width:760px){.margin-rule-metrics-p312{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.margin-rule-metrics-p312{grid-template-columns:1fr}}

/* ===== Style consolidé 06 ===== */
/* Phase 3.1.3 — devis sans prix d'achat, marge par défaut, bases métier */
.business-scope-p313{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#eef4ff;border-top:1px solid #d8e2f0;border-bottom:1px solid #d8e2f0;overflow:auto}
.business-scope-p313 strong{white-space:nowrap;font-size:.85rem;color:#334155}
.business-scope-p313 button{white-space:nowrap;padding:8px 13px}
.business-scope-p313 button.active-toggle{background:#2563eb;color:#fff;border-color:#2563eb}
.business-scope-note-p313{font-size:.78rem;color:#64748b;margin-left:auto;white-space:nowrap}
.quote-lines-table th:nth-child(5),.quote-lines-table td:nth-child(5){display:none!important}
.quote-cost-hidden-p313{display:none!important}
.quote-client-search-p313{position:relative}
.quote-client-suggestions-p313{position:absolute;z-index:60;left:0;right:0;top:100%;max-height:300px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.2);margin-top:4px}
.quote-client-suggestions-p313:empty{display:none}
.quote-client-suggestions-p313 button{width:100%;display:block;text-align:left;background:#fff;border:0;border-bottom:1px solid #e2e8f0;border-radius:0;padding:10px 12px;color:#0f172a}
.quote-client-suggestions-p313 button:hover,.quote-client-suggestions-p313 button:focus{background:#eff6ff}
.quote-client-suggestions-p313 strong,.quote-client-suggestions-p313 span,.quote-client-suggestions-p313 small{display:block}
.quote-client-suggestions-p313 span,.quote-client-suggestions-p313 small{color:#64748b;font-weight:400}
.quote-client-selected-p313{font-size:.8rem;color:#166534;margin-top:4px}
.margin-override-p313{margin-top:12px;padding:11px 12px;border:1px solid #fdba74;background:#fff7ed;border-radius:10px}
.margin-override-p313 label{display:flex;align-items:flex-start;gap:9px;font-weight:700}
.margin-override-p313 input[type=checkbox]{margin-top:3px}
.margin-override-p313 textarea{width:100%;margin-top:8px;min-height:64px}
.margin-override-p313 small{display:block;color:#7c2d12;margin-top:4px;font-weight:400}
.margin-default-note-p313{margin:8px 0 0;color:#475569;font-size:.82rem}
.margin-rule-p312 .margin-rule-source-p312{display:none}
.clinic-business-p313{margin-top:10px}
.action-feedback-p313{margin-top:8px;color:#166534;font-size:.82rem}
@media(max-width:760px){.business-scope-note-p313{display:none}.business-scope-p313{padding:7px 8px}.quote-client-suggestions-p313{position:fixed;left:8px;right:8px;top:150px;max-height:55vh}}

/* ===== Style consolidé 07 ===== */
/* VetCRM Clean Phase 3.2 — connexion immédiate et synchronisation PC / Android */
html.p32-auth-pending .app-header,
html.p32-auth-pending .app-main,
html.p32-auth-pending #businessScopeP313{visibility:hidden!important}
.p32-gate{position:fixed;inset:0;z-index:30000;background:#eef2f7;display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}
.p32-gate[hidden]{display:none}
.p32-login-card{width:min(560px,100%);background:#fff;border:1px solid #cbd5e1;border-radius:20px;padding:24px;box-shadow:0 20px 60px rgba(15,23,42,.16)}
.p32-login-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.p32-login-brand strong{font-size:1.75rem}.p32-login-brand span{background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:5px 10px;font-size:.82rem;font-weight:800}
.p32-login-card h1{font-size:1.45rem;margin:0 0 6px}.p32-login-card p{color:#64748b;margin:0 0 15px}.p32-login-fields{display:grid;gap:10px}.p32-login-fields label{display:grid;gap:5px;font-weight:700}.p32-login-fields input,.p32-login-fields select{width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:11px 12px;background:#fff}.p32-login-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.p32-login-actions button{flex:1;min-width:150px}.p32-login-message{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f1f5f9;border:1px solid #cbd5e1;white-space:pre-wrap}.p32-login-message.error{background:#fff1f2;border-color:#fda4af;color:#9f1239}.p32-login-message.ok{background:#f0fdf4;border-color:#86efac;color:#166534}
.p32-workspace-list{display:grid;gap:8px;margin-top:12px}.p32-workspace-choice{width:100%;display:flex;justify-content:space-between;text-align:left;background:#f8fafc;border:1px solid #cbd5e1}.p32-workspace-choice span{font-weight:400;color:#64748b}.p32-gate-divider{height:1px;background:#e2e8f0;margin:16px 0}.p32-link-button{background:transparent!important;color:#1d4ed8!important;padding:7px!important}
.p32-sync-panel,.p32-users-panel{grid-column:1/-1}.p32-sync-cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:9px;margin:10px 0}.p32-sync-card{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.p32-sync-card strong{display:block;font-size:1.12rem;overflow-wrap:anywhere}.p32-sync-card span{display:block;color:var(--muted);font-size:.82rem;margin-top:3px}.p32-sync-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;background:#f59e0b}.p32-sync-dot.ok{background:#16a34a}.p32-sync-dot.error{background:#dc2626}.p32-sync-actions{display:flex;gap:8px;flex-wrap:wrap}.p32-sync-note{margin-top:9px;color:var(--muted);font-size:.85rem}
.p32-users-table{width:100%;border-collapse:collapse}.p32-users-table th,.p32-users-table td{padding:9px;border-bottom:1px solid var(--line);vertical-align:middle}.p32-user-name strong,.p32-user-name small{display:block}.p32-user-name small{color:var(--muted)}.p32-role-badge{display:inline-block;border-radius:999px;padding:4px 8px;background:#e0f2fe;color:#075985;font-size:.78rem;font-weight:800}.p32-status-active{color:#166534;font-weight:700}.p32-status-disabled{color:#991b1b;font-weight:700}.p32-rights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.p32-right-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:8px;padding:8px;border:1px solid var(--line);border-radius:9px;font-weight:600!important}.p32-right-check input{width:auto!important;margin-top:2px}.p32-invite-box{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.p32-invite-result{margin-top:8px;padding:9px;border-radius:9px;background:#ecfdf5;border:1px solid #86efac;font-family:ui-monospace,monospace;word-break:break-all}
.phase31-cloud-panel,.phase30-team-panel,.phase27-access-panel,.phase27-colleague-panel{display:none!important}
@media(max-width:900px){.p32-sync-cards{grid-template-columns:1fr 1fr}.p32-rights-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.p32-login-card{padding:18px}.p32-sync-cards,.p32-rights-grid{grid-template-columns:1fr}.p32-users-table thead{display:none}.p32-users-table,.p32-users-table tbody,.p32-users-table tr,.p32-users-table td{display:block;width:100%}.p32-users-table tr{border:1px solid var(--line);border-radius:10px;margin:8px 0;padding:7px}.p32-users-table td{border:0;padding:5px}.p32-users-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:.75rem}}

/* ===== Style consolidé 08 ===== */
/* VetCRM Clean Phase 3.2.1 — devis rapide, client facultatif, compatibilités et invitations */
.p321-quick-quote{border:2px solid #bfdbfe;background:#f8fbff}
.p321-quick-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.p321-quick-head h2{margin:0 0 4px}.p321-quick-head p{margin:0;color:var(--muted)}
.p321-machine-row{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:9px;align-items:end;margin-top:12px}
.p321-compatible-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.p321-compatible-group{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff;min-width:0}
.p321-compatible-group h3{margin:0 0 8px;font-size:1rem}.p321-product-buttons{display:flex;flex-wrap:wrap;gap:7px}
.p321-product-button{justify-content:flex-start;text-align:left;font-weight:600;padding:9px 11px;background:#eef2f7;max-width:100%}
.p321-product-button small{display:block;color:var(--muted);font-weight:400}
.p321-empty-compatible{color:var(--muted);font-size:.9rem;margin:0}
.p321-advanced-details{margin-top:12px}.p321-advanced-details>summary{cursor:pointer;font-weight:800;padding:11px 13px;background:#e8edf4;border-radius:11px;list-style:none}
.p321-advanced-details>summary::-webkit-details-marker{display:none}.p321-advanced-details>.panel{margin-top:8px}
.p321-client-note{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}
.p321-business-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:800;margin-left:7px;vertical-align:middle}
.p321-business-badge.vet{background:#dcfce7;color:#166534}.p321-business-badge.human{background:#ede9fe;color:#5b21b6}
.quote-client-suggestions-p313 .p321-business-badge{margin-left:auto;flex:none}
.p321-invite-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;letter-spacing:.08em;display:inline-block;padding:8px 11px;background:#fff;border:1px dashed #2563eb;border-radius:9px;margin:8px 0;user-select:all}
.p321-invite-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:720px){
 .p321-compatible-grid{grid-template-columns:1fr}.p321-machine-row{grid-template-columns:1fr}.p321-machine-row button{width:100%}
 .p321-quick-quote{padding:12px}.p321-product-button{width:100%}
 .quote-client-search-p313{grid-column:1/-1}
}

/* ===== Style consolidé 09 ===== */
/* VetCRM Clean Phase 3.2.2 — comptes sans SMTP et identité exacte des produits */
.p322-password-result{margin-top:10px;padding:12px;border:1px solid #86efac;background:#f0fdf4;border-radius:10px}
.p322-credential{display:grid;grid-template-columns:145px 1fr;gap:6px;margin-top:8px;align-items:center}
.p322-credential code{font-size:1rem;word-break:break-all;user-select:all;background:#fff;border:1px dashed #16a34a;padding:7px 9px;border-radius:8px}
.p322-first-password-note{padding:10px;border-radius:9px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;margin:9px 0}
.p322-status-temp{color:#b45309;font-weight:800}
@media(max-width:650px){.p322-credential{grid-template-columns:1fr}.p322-credential code{font-size:.94rem}}

/* ===== Style consolidé 10 ===== */
/* VetCRM Clean Phase 3.2.4 — identité des devis figée et séparation stricte des bases */
.p324-brand-admin{grid-column:1/-1}
.p324-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.p324-domain-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fafc}
.p324-domain-card h3{margin:0 0 8px}
.p324-logo-preview{display:grid;place-items:center;width:100%;height:105px;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;margin:8px 0;overflow:hidden}
.p324-logo-preview img{max-width:100%;max-height:95px;object-fit:contain}
.p324-logo-preview span{color:var(--muted);font-size:.85rem}
.p324-other-list{display:grid;gap:8px;margin-top:10px}
.p324-other-row{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}
.p324-other-row img{max-width:80px;max-height:45px;object-fit:contain}
.p324-quote-brand{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:12px}
.p324-quote-brand .p324-brand-state{font-size:.82rem;color:var(--muted);margin-top:5px}
.p324-quote-brand.locked{background:#f8fafc}
.p324-business-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:800;margin-left:6px}
.p324-business-badge.vet{background:#dcfce7;color:#166534}
.p324-business-badge.human{background:#dbeafe;color:#1d4ed8}
.p324-map-warning{color:#991b1b;font-weight:700}
.p324-user-pref{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.p324-reindex-note{font-size:.8rem;color:var(--muted);margin-top:6px}
.admin-module .quote-brand-panel-v22,.admin-grid>.quote-brand-panel-v22{display:none!important}
@media(max-width:760px){.p324-domain-grid{grid-template-columns:1fr}.p324-quote-brand{grid-template-columns:1fr}.p324-other-row{grid-template-columns:70px 1fr auto}}

/* ===== Style consolidé 11 ===== */
/* VetCRM Clean Phase 3.2.8 — Android congrès, PDF plein écran et synchronisation haute */
html.p328-android #printView,
html.p328-android #exportView,
html.p328-android #exportFull,
html.p328-android .header-actions > label.button-like,
html.p328-android .header-actions > label:has(#importFullInput){display:none!important}
html.p328-android .header-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
html.p328-android #p328SyncTop{background:#1d4ed8;color:#fff;border-color:#1d4ed8;min-height:42px;font-weight:800}
html.p328-android #p328SyncTop.is-working{opacity:.75;cursor:wait}
html.p328-android.p327-congress-mode .p321-advanced-details,
html.p328-android.p327-congress-mode #marginRuleP312,
html.p328-android.p327-congress-mode .margin-rule-p312,
html.p328-android.p327-congress-mode .p328-congress-hidden{display:none!important}
html.p328-android.p327-congress-mode #p321OpenAdvanced{display:none!important}
html.p328-android .p328-pdf-button{background:#0f766e!important;color:#fff!important;border-color:#0f766e!important}
@media(max-width:720px){
 html.p328-android .topbar{align-items:flex-start}
 html.p328-android .header-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px}
 html.p328-android .header-actions button{width:100%;min-width:0;padding:10px 7px;font-size:.86rem;white-space:normal}
 html.p328-android .app-main{padding-top:8px}
}
@media(max-width:430px){html.p328-android .header-actions{grid-template-columns:1fr 1fr}html.p328-android #p328SyncTop{grid-column:1/-1}}

/* ===== Style consolidé 12 ===== */
.p329-base-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.78rem;font-weight:800;white-space:nowrap}
.p329-base-chip.offline{background:#fef3c7;color:#92400e}
.p329-base-note{margin-top:9px;padding:9px 11px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:10px;color:#166534;font-size:.86rem}

/* ===== Style consolidé 13 ===== */
/* VetCRM Clean Phase 3.2.11 — Android compact, congrès strict et propositions sans doublons */
.p3211-congress-hide{display:none!important}
html.p3211-android #printView,
html.p3211-android #exportView,
html.p3211-android #exportFull,
html.p3211-android label:has(#importFullInput){display:none!important}
html.p3211-android #p327QuickQuote,
html.p3211-android #phase31Header,
html.p3211-android #p329BaseChip{display:none!important}
html.p3211-android .p3211-internal{display:none!important}
html.p3211-android.p327-congress-mode .p321-advanced-details,
html.p3211-android.p327-congress-mode #marginRuleP312,
html.p3211-android.p327-congress-mode .margin-rule-p312,
html.p3211-android.p327-congress-mode #p321OpenAdvanced{display:none!important}
html.p3211-android .p3211-added-note{font-size:.82rem;color:var(--muted);margin:5px 0 0}
html.p3211-android .p3211-all-added{padding:9px 10px;border:1px dashed #94a3b8;border-radius:9px;color:#475569;background:#f8fafc;margin:0}
@media(max-width:720px){
 html.p3211-android .app-header{position:sticky;top:0}
 html.p3211-android .topbar{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;padding:7px 10px!important;min-height:52px}
 html.p3211-android .brand{font-size:1.28rem!important;line-height:1;white-space:nowrap}
 html.p3211-android .version,
 html.p3211-android .header-status{display:none!important}
 html.p3211-android .header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:nowrap!important;width:auto!important;margin-left:auto!important;min-width:0}
 html.p3211-android .header-actions button{width:auto!important;min-width:0!important;min-height:36px!important;padding:7px 10px!important;border-radius:9px!important;font-size:.78rem!important;line-height:1.05!important;white-space:nowrap!important}
 html.p3211-android #p328SyncTop{min-height:36px!important;padding:7px 10px!important}
 html.p3211-android #p327CongressToggle{min-height:36px!important;padding:7px 10px!important}
 html.p3211-android .nav{gap:6px!important;padding:6px 8px!important}
 html.p3211-android .nav button{padding:8px 12px!important;border-radius:9px!important;font-size:.88rem!important;min-height:36px!important}
 html.p3211-android.p327-congress-mode .nav{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible!important}
 html.p3211-android.p327-congress-mode .nav button{width:100%!important}
 html.p3211-android .app-main{padding:8px!important}
 html.p3211-android .module-head{margin-bottom:9px!important;gap:8px!important}
 html.p3211-android .module-head h1{font-size:1.35rem!important}
 html.p3211-android .module-head p{font-size:.86rem!important}
 html.p3211-android .p321-quick-quote{padding:10px!important}
 html.p3211-android .p321-quick-head .badge{display:none!important}
 html.p3211-android .p321-quick-head h2{font-size:1.15rem!important}
 html.p3211-android .p321-quick-head p{font-size:.82rem!important}
 html.p3211-android .p321-machine-row{grid-template-columns:1fr!important}
 html.p3211-android .p321-compatible-grid{grid-template-columns:1fr!important;gap:9px!important}
 html.p3211-android .p321-product-buttons{gap:6px!important}
 html.p3211-android .p321-product-button{padding:8px 10px!important;font-size:.86rem!important;text-align:left!important;justify-content:flex-start!important}
 html.p3211-android.p327-congress-mode .module-head p{display:none!important}
 html.p3211-android.p327-congress-mode .quote-p26-note{display:none!important}
}
@media(max-width:390px){
 html.p3211-android .brand{font-size:1.15rem!important}
 html.p3211-android .header-actions button{padding:7px 8px!important;font-size:.73rem!important}
}

/* ===== Style consolidé 14 ===== */
/* VetCRM Clean Phase 3.2.12 — congrès réellement sans données internes */
.p3212-internal{display:none!important}
html.p3212-android.p327-congress-mode #appMain label:has(#qPrimeRate),
html.p3212-android.p327-congress-mode #appMain .module:has(#qPrimeRate) .metrics .metric:not(:has(#qSell)),
html.p3212-android.p327-congress-mode #appMain .quote-lines-table th:nth-child(5),
html.p3212-android.p327-congress-mode #appMain .quote-lines-table td:nth-child(5),
html.p3212-android.p327-congress-mode #appMain .p321-advanced-details,
html.p3212-android.p327-congress-mode #appMain #marginRuleP312,
html.p3212-android.p327-congress-mode #appMain .margin-rule-p312,
html.p3212-android.p327-congress-mode #appMain #p321OpenAdvanced,
html.p3212-android.p327-congress-mode #appMain .p3212-internal{display:none!important}
html.p3212-android.p327-congress-mode #appMain .module:has(#qPrimeRate) .metrics{
  grid-template-columns:minmax(0,1fr)!important;
}
html.p3212-android.p327-congress-mode #appMain .module:has(#qPrimeRate) .metrics .metric:has(#qSell){
  max-width:none!important;
}

/* ===== Style consolidé 15 ===== */
/* VetCRM Clean Phase 3.2.14 — catalogues vétérinaire / humain administrables */
.p3214-catalog-manager{grid-column:1/-1}
.p3214-catalog-manager .p3214-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.p3214-catalog-manager .p3214-stat{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel)}
.p3214-catalog-manager .p3214-stat strong{display:block;font-size:1.35rem}
.p3214-domain-badges{display:flex;gap:5px;flex-wrap:wrap}
.p3214-domain-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.76rem;font-weight:700;background:#e9eef5;color:#24344d}
.p3214-domain-badge.vet{background:#dcfce7;color:#166534}
.p3214-domain-badge.human{background:#dbeafe;color:#1d4ed8}
.p3214-domain-badge.none{background:#fee2e2;color:#991b1b}
.p3214-range-list{display:grid;gap:10px;margin-top:12px}
.p3214-range{border:1px solid var(--border);border-radius:12px;background:var(--panel);overflow:hidden}
.p3214-range summary{cursor:pointer;padding:12px 14px;font-weight:800;display:flex;justify-content:space-between;gap:10px;align-items:center}
.p3214-range[open] summary{border-bottom:1px solid var(--border)}
.p3214-range-body{padding:12px}
.p3214-range-actions,.p3214-product-actions{display:flex;gap:6px;flex-wrap:wrap}
.p3214-product-actions button,.p3214-range-actions button{padding:6px 9px;font-size:.78rem}
.p3214-catalog-table td{vertical-align:top}
.p3214-catalog-table small{display:block;color:var(--muted)}
.p3214-components-table input,.p3214-components-table select{min-width:115px}
.p3214-components-empty{padding:14px;border:1px dashed var(--border);border-radius:10px;color:var(--muted)}
.p3214-filter-row{display:grid;grid-template-columns:180px minmax(220px,1fr);gap:10px;align-items:end}
.p3214-help{padding:10px 12px;border-left:4px solid var(--primary);background:var(--primary-soft,#eef3f8);border-radius:8px}
@media(max-width:760px){
 .p3214-catalog-manager .p3214-summary{grid-template-columns:1fr 1fr}
 .p3214-filter-row{grid-template-columns:1fr}
 .p3214-catalog-manager .table-wrap{overflow:auto}
 .p3214-range summary{align-items:flex-start;flex-direction:column}
}

/* ===== Style consolidé 16 ===== */
.p3215-client-logo-panel{margin-top:12px}
.p3215-client-logo-grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center}
.p3215-client-logo-preview{width:120px;height:82px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:10px;background:#fff;overflow:hidden;color:var(--muted);font-size:.78rem;text-align:center;padding:5px}
.p3215-client-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.p3215-client-logo-help{font-size:.82rem;color:var(--muted);margin:4px 0 8px}
@media(max-width:620px){.p3215-client-logo-grid{grid-template-columns:1fr}.p3215-client-logo-preview{width:100%;height:92px}}

/* ===== Style consolidé 17 ===== */
#p3216PdfStatus{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.72);display:grid;place-items:center;padding:20px}
#p3216PdfStatus .p3216-card{width:min(420px,100%);background:#fff;color:#0f172a;border-radius:18px;padding:22px;border:1px solid #cbd5e1;text-align:center;box-shadow:0 18px 45px rgba(15,23,42,.25)}
#p3216PdfStatus strong{display:block;font-size:1.08rem;margin-bottom:8px}
#p3216PdfStatus p{margin:0;color:#475569;line-height:1.4}
#p3216PdfStatus button{margin-top:16px}

/* ===== Style consolidé 18 ===== */
/* VetCRM Clean Phase 3.2.19 — consolidation des services et fenêtres. */
#p3219Notice{position:fixed;inset:0;z-index:120000;background:rgba(15,23,42,.68);display:grid;place-items:center;padding:18px}
#p3219Notice .p3219-notice-card{width:min(440px,100%);max-height:85dvh;overflow:auto;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:18px;padding:22px;text-align:center;box-shadow:0 20px 48px rgba(15,23,42,.28)}
#p3219Notice h2{margin:0 0 10px;font-size:1.25rem}#p3219Notice p{white-space:pre-wrap;margin:0;color:#475569;line-height:1.45}#p3219Notice button{margin-top:18px}
.p3219-service-panel{grid-column:1/-1}.p3219-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:12px}.p3219-service{border:1px solid var(--line,#d6dfeb);border-radius:12px;padding:11px;background:#fff}.p3219-service strong{display:block}.p3219-service small{display:block;color:var(--muted,#65738a);margin-top:4px;line-height:1.35}.p3219-service.ok{border-left:5px solid #16a34a}.p3219-service.warn{border-left:5px solid #d97706}.p3219-service.error{border-left:5px solid #dc2626}.p3219-service .p3219-state{font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.02em}.p3219-service.ok .p3219-state{color:#166534}.p3219-service.warn .p3219-state{color:#9a3412}.p3219-service.error .p3219-state{color:#991b1b}
.modal-overlay{overscroll-behavior:contain}.modal{max-height:calc(100dvh - 36px);overflow:auto;overscroll-behavior:contain}
@media(max-width:720px){#p3219Notice{padding:12px}.modal-overlay{padding:12px;align-items:flex-start}.modal{width:100%;max-height:calc(100dvh - 24px);border-radius:16px}.p3219-service-grid{grid-template-columns:1fr}}

/* ===== Style consolidé 19 ===== */
/* VetCRM Clean Phase 3.3.3 — stabilisation terrain : devis, fenêtres et tests. */
html.p330-congress #appMain .p330-internal{display:none!important}
html.p330-congress #appMain .module:has(#qPrimeRate) .metrics .metric:not(:has(#qSell)){display:none!important}
html.p330-congress #appMain .module:has(#qPrimeRate) .metrics{grid-template-columns:minmax(0,1fr)!important}
html.p330-congress #appMain .module:has(#qPrimeRate) .metrics .metric:has(#qSell){display:flex!important}
.p330-machine-state{margin-top:7px;padding:7px 9px;border-radius:9px;background:#eef6ff;color:#1e3a8a;font-size:.82rem}
.p330-test-panel{grid-column:1/-1}
.p330-test-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.p330-test-grid{display:grid;gap:8px;margin-top:12px}
.p330-test-row{display:grid;grid-template-columns:minmax(220px,1fr) 170px minmax(220px,1fr);gap:9px;align-items:center;border:1px solid var(--line,#d6dfeb);border-radius:11px;padding:9px;background:#fff}
.p330-test-row strong{display:block}.p330-test-row small{display:block;color:var(--muted,#65738a);margin-top:3px}
.p330-test-row select,.p330-test-row input{min-width:0}
.p330-health{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:800;background:#e2e8f0;color:#334155}
.p330-health.ok{background:#dcfce7;color:#166534}.p330-health.error{background:#fee2e2;color:#991b1b}.p330-health.warn{background:#ffedd5;color:#9a3412}
.modal-overlay[data-vetcrm-window="phase33"] .modal{border:1px solid var(--line,#d6dfeb)}
@media(max-width:760px){
 .p330-test-row{grid-template-columns:1fr}
 .p330-test-toolbar button{padding:8px 10px;font-size:.82rem}
 html.p330-congress #mainNav{display:grid!important;grid-template-columns:1fr 1fr!important}
 html.p330-congress #mainNav [data-module]:not([data-module="crm"]):not([data-module="quotes"]){display:none!important}
}

/* ===== Style consolidé 20 ===== */
/* VetCRM Clean Phase 3.4.29 — synchronisation unique, reprise et diagnostic. */
.p340-sync-panel{border:2px solid #86efac;background:#f8fff9}
.p340-health-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:9px;margin:12px 0}
.p340-health-card{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px;min-width:0}
.p340-health-card strong{display:block;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p340-health-card span{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}
.p340-health-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-weight:800;font-size:.8rem}
.p340-health-badge.ok{background:#dcfce7;color:#166534}.p340-health-badge.warn{background:#fef3c7;color:#92400e}.p340-health-badge.error{background:#fee2e2;color:#991b1b}.p340-health-badge.offline{background:#e2e8f0;color:#475569}
.p340-sync-summary{margin-top:10px;padding:10px 12px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}
.p340-type-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.p340-type-chip{padding:4px 7px;border-radius:999px;background:#eef2f7;font-size:.76rem;color:#334155}
.p340-sync-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.p340-sync-actions .danger-soft{background:#fff7ed;border-color:#fdba74;color:#9a3412}
#p328SyncTop.p340-ok{outline:2px solid #86efac}#p328SyncTop.p340-warn{outline:2px solid #fbbf24}#p328SyncTop.p340-error{outline:2px solid #f87171}
@media(max-width:800px){.p340-health-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.p340-health-grid{grid-template-columns:1fr 1fr}.p340-health-card{padding:8px}.p340-sync-actions button{flex:1 1 44%}}

/* ===== Style consolidé 21 ===== */
/* VetCRM Clean Phase 3.4.29 — centrage automatique de la carte */
.p341-map-hint{font-size:.82rem;color:#64748b;margin-top:4px}

/* ===== Style consolidé 22 ===== */
/* VetCRM Clean Phase 3.4.29 — synchronisation par type et résolution des conflits */
.p342-type-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.86rem}
.p342-type-table th,.p342-type-table td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.p342-type-table th:first-child,.p342-type-table td:first-child{text-align:left;white-space:normal}
.p342-type-table tbody tr:last-child td{border-bottom:0}
.p342-type-table .p342-pending{font-weight:800;color:#92400e}
.p342-sync-scope{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:10px;padding:10px;border:1px solid #bfdbfe;border-radius:10px;background:#f8fbff}
.p342-sync-scope label{min-width:220px;flex:1 1 260px}.p342-sync-scope select{width:100%}
.p342-conflicts{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.p342-conflict{border:1px solid #fbbf24;background:#fffbeb;border-radius:10px;padding:10px;margin-top:8px}
.p342-conflict-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;flex-wrap:wrap}
.p342-conflict small{display:block;color:#64748b;margin-top:3px}
.p342-conflict-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.p342-conflict-actions button{padding:7px 9px}
.p342-conflict-actions .server{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.p342-conflict-actions .local{background:#ecfdf5;border-color:#86efac;color:#166534}
.p342-diff{margin-top:7px;color:#7c2d12;font-size:.8rem}
.p342-empty{padding:9px;border-radius:9px;background:#f1f5f9;color:#475569;margin-top:10px}
.p342-section-title{margin:14px 0 4px;font-size:1rem}
@media(max-width:680px){.p342-type-table{font-size:.78rem}.p342-type-table th,.p342-type-table td{padding:6px 5px}.p342-type-table th:nth-child(2),.p342-type-table td:nth-child(2){display:none}.p342-sync-scope button{width:100%}}

/* ===== Style consolidé 23 ===== */
/* Phase 3.4.29 — géocodage public des communes et adresses. */
.route-time-rule{margin:10px 0;padding:10px 12px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e3a8a;font-size:.92rem}
.route-location-options{display:grid;gap:8px;max-height:55vh;overflow:auto;margin:12px 0}
.route-location-choice{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #dbe4ef;border-radius:10px;background:#fff;cursor:pointer}
.route-location-choice input{margin-top:4px}.route-location-choice span{display:grid;gap:2px}.route-location-choice small{color:#64748b}
.route-schedule-summary{display:grid;gap:3px;margin:0 0 10px;padding:10px 12px;border:1px solid #86efac;border-radius:10px;background:#f0fdf4}
.route-schedule-summary.warn{border-color:#fbbf24;background:#fffbeb}.route-schedule-summary span,.route-schedule-summary small{color:#475569}

/* ===== Style consolidé 24 ===== */
/* VetCRM Clean Phase 3.4.29 — journal, verrou et reprise de synchronisation */
.p343-status-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}
.p343-status-item{min-width:0}.p343-status-item strong{display:block;font-size:.9rem}.p343-status-item span{display:block;margin-top:3px;color:#64748b;font-size:.78rem;overflow-wrap:anywhere}
.p343-status-box.running{border-color:#93c5fd;background:#eff6ff}.p343-status-box.interrupted,.p343-status-box.error{border-color:#fbbf24;background:#fffbeb}.p343-status-box.ok{border-color:#86efac;background:#f0fdf4}
.p343-recovery-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.p343-recovery-actions button{padding:7px 10px}
.p343-journal{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.p343-journal-head{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.p343-journal table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.8rem}.p343-journal th,.p343-journal td{padding:6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.p343-journal td:nth-child(3),.p343-journal td:nth-child(4){white-space:nowrap}.p343-log-ok{color:#166534;font-weight:800}.p343-log-error,.p343-log-interrupted{color:#b45309;font-weight:800}.p343-log-running{color:#1d4ed8;font-weight:800}
.p343-syncing #p340SyncNow,.p343-syncing #p340RepairServer,.p343-syncing #p327PublishAll,.p343-syncing #p343ResumeSync{opacity:.65;pointer-events:none;cursor:wait}
@media(max-width:680px){.p343-status-box{grid-template-columns:1fr}.p343-journal th:nth-child(2),.p343-journal td:nth-child(2),.p343-journal th:nth-child(4),.p343-journal td:nth-child(4){display:none}}

/* ===== Style consolidé 25 ===== */
.p346-hours-panel{grid-column:1/-1}.p346-hours-summary{display:flex;gap:10px;flex-wrap:wrap;margin:.65rem 0}.p346-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#eef2ff;font-size:.86rem}.p346-hours-table{width:100%;border-collapse:collapse}.p346-hours-table th,.p346-hours-table td{padding:7px 6px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.p346-hours-table input[type=time]{min-width:94px}.p346-hours-table .p346-day{font-weight:700;white-space:nowrap}.p346-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.p346-tool-grid .wide{grid-column:1/-1}.p346-status{margin:12px 0}.p346-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb}.p346-result strong,.p346-suggestion strong{display:block}.p346-result span,.p346-suggestion span,.p346-result small,.p346-suggestion small{display:block;color:#64748b;margin-top:3px}.p346-result.ok{border-left:4px solid #16a34a;padding-left:10px}.p346-result.none{border-left:4px solid #f59e0b;padding-left:10px}.p346-result.error{border-left:4px solid #dc2626;padding-left:10px}.p346-suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 0;border-bottom:1px solid #e5e7eb}.p346-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start}.p346-source-note{font-size:.86rem;color:#64748b}.p346-preview{margin-top:8px;padding:9px;border-radius:10px;background:#f8fafc;white-space:pre-line}.p346-progress{width:100%;height:12px}.p346-admin-panel .action-row{margin-top:10px}@media(max-width:760px){.p346-tool-grid{grid-template-columns:1fr}.p346-tool-grid .wide{grid-column:auto}.p346-result,.p346-suggestion{grid-template-columns:1fr}.p346-actions{justify-content:flex-start}.p346-hours-table{font-size:.84rem}.p346-hours-table input[type=time]{min-width:78px;width:78px;padding:5px}}

/* ===== Style consolidé 26 ===== */
.p347-admin-root{display:block!important}.p347-admin-nav{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;position:sticky;top:112px;z-index:9;background:var(--bg)}.p347-admin-nav button{white-space:nowrap;background:#fff;border:1px solid var(--line)}.p347-admin-nav button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.p347-admin-category{display:none}.p347-admin-category.active{display:block}.p347-admin-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:4px 0 12px}.p347-admin-category-head h2{margin:0 0 3px}.p347-admin-category-head p{margin:0;color:var(--muted)}.p347-admin-count{background:#e2e8f0;border-radius:999px;padding:5px 9px;font-size:.82rem;font-weight:800}.p347-admin-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.p347-admin-cards>.panel{margin:0}.p347-hours-panel{grid-column:1/-1}.p347-hours-grid{display:grid;grid-template-columns:1.2fr .65fr .55fr;gap:10px}.p347-hours-grid .wide{grid-column:1/-1}.p347-hours-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.88rem}.p347-hours-grid input,.p347-hours-grid select{font-weight:400}.p347-hours-diagnostic{margin-top:10px;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;font-size:.86rem;white-space:pre-wrap}.p347-hours-diagnostic.ok{border-color:#86efac;background:#f0fdf4}.p347-hours-diagnostic.error{border-color:#fecaca;background:#fef2f2}.p347-hours-results{display:grid;gap:8px;margin-top:12px}.p347-hours-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border:1px solid var(--line);border-radius:11px;padding:10px}.p347-hours-row.ok{border-left:5px solid #16a34a}.p347-hours-row.none{border-left:5px solid #d97706}.p347-hours-row.error{border-left:5px solid #dc2626}.p347-hours-row strong,.p347-hours-row span,.p347-hours-row small{display:block}.p347-hours-row span,.p347-hours-row small{color:var(--muted);margin-top:3px}.p347-hours-meta{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.p347-hours-meta span{background:#eef2ff;border-radius:999px;padding:4px 8px;font-size:.8rem}.p347-admin-empty{padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}
@media(max-width:850px){.p347-admin-nav{top:145px}.p347-admin-cards{grid-template-columns:1fr}.p347-hours-grid{grid-template-columns:1fr}.p347-hours-grid .wide{grid-column:auto}.p347-hours-row{grid-template-columns:1fr}}

/* ===== Style consolidé 27 ===== */
.p349-remote-panel,.p349-license-panel{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:10px}
.p349-remote-panel>summary{cursor:pointer;font-weight:800;display:flex;justify-content:space-between;gap:8px;align-items:center}
.p349-remote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.p349-remote-grid .wide{grid-column:1/-1}
.p349-copy-row{display:flex;gap:8px;align-items:end}.p349-copy-row .field{flex:1}
.p349-license-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.p349-license-head h4{margin:0}.p349-license-list{display:grid;gap:8px;margin-top:8px}
.p349-license-card{width:100%;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit}
.p349-license-card strong{overflow:hidden;text-overflow:ellipsis}.p349-license-card small{grid-column:1/-1;color:var(--muted)}.p349-license-badge{font-size:.75rem;border-radius:999px;padding:3px 8px;background:#e2e8f0;white-space:nowrap}.p349-license-badge.installed{background:#dcfce7;color:#166534}.p349-license-badge.potential{background:#fef3c7;color:#92400e}.p349-license-badge.pending{background:#dbeafe;color:#1d4ed8}
.p349-admin-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.p349-admin-stat{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fafc}.p349-admin-stat strong{display:block;font-size:1.35rem}.p349-danger-note{border-left:4px solid #dc2626;background:#fef2f2;padding:10px 12px;border-radius:8px;margin:10px 0}.p349-follow-list{display:grid;gap:10px}.p349-follow-row{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.p349-follow-row h3{margin:0 0 4px;font-size:1rem}.p349-follow-row p{margin:4px 0}.p349-follow-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
@media(max-width:760px){.p349-remote-grid{grid-template-columns:1fr}.p349-remote-grid .wide{grid-column:auto}.p349-admin-stats{grid-template-columns:1fr}.p349-license-head button{min-height:42px}.p349-remote-panel,.p349-license-panel{padding:9px}.p349-copy-row{align-items:stretch}.p349-copy-row button{min-width:82px}.p349-license-card{min-height:52px}.p349-android-clinic .p349-remote-panel>summary{min-height:44px}.p349-android-clinic .p349-license-head{position:sticky;top:0;background:#f8fafc;padding:2px 0;z-index:1}}

/* ===== Style consolidé 28 ===== */
/* VetCRM Phase 3.4.29 */
.p3411-hours-note{margin:10px 0;padding:10px 12px;border-radius:10px;background:var(--soft,#f3f6fb);font-size:.9rem;line-height:1.35}
.p3411-secondary-actions{margin:0 14px 10px;padding:8px 10px;border:1px solid var(--border,#d8dee9);border-radius:10px;background:var(--panel,#fff)}
.p3411-secondary-actions summary{cursor:pointer;font-weight:700}
.p3411-secondary-actions button{margin-top:8px;width:100%}
.p3411-merge-warning{padding:12px;border-radius:10px;background:#eef6ff;border:1px solid #c8def7;margin-bottom:12px}
.p3411-merge-preview{display:flex;flex-direction:column;gap:4px;margin:12px 0;padding:12px;border:1px solid var(--border,#d8dee9);border-radius:10px;background:var(--soft,#f7f8fa)}
.p3411-check input{width:auto;margin-right:8px}
.p3411-domain-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.p3411-domain-choice article{padding:14px;border:1px solid var(--border,#d8dee9);border-radius:12px;background:var(--panel,#fff)}
.p3411-domain-choice article h3{margin-top:0}
.p3411-domain-choice .danger-zone{border-color:#e5a1a1;background:#fff8f8}
@media(max-width:850px){
 .p3411-domain-choice{grid-template-columns:1fr}
 .p3411-domain-choice .action-row{display:grid;grid-template-columns:1fr}
 .p3411-domain-choice button{width:100%}
}

/* ===== Style consolidé 29 ===== */
/* VetCRM Clean Phase 3.4.29 — le matériel reste visible en mode congrès. */
html.p327-congress-mode .clinic-editor .p3410-material-panel,
html.p330-congress .clinic-editor .p3410-material-panel,
html.p327-congress-mode .clinic-editor .p3410-material-panel #machineRows,
html.p330-congress .clinic-editor .p3410-material-panel #machineRows,
html.p327-congress-mode .clinic-editor .p3410-material-panel .machine-card,
html.p330-congress .clinic-editor .p3410-material-panel .machine-card,
html.p327-congress-mode .clinic-editor .p3410-material-panel .p348-machine-card,
html.p330-congress .clinic-editor .p3410-material-panel .p348-machine-card {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
html.p327-congress-mode .clinic-editor .p3410-material-panel .section-head,
html.p330-congress .clinic-editor .p3410-material-panel .section-head,
html.p327-congress-mode .clinic-editor .p3410-material-panel .machine-summary,
html.p330-congress .clinic-editor .p3410-material-panel .machine-summary {
  display:flex!important;
  visibility:visible!important;
}
html.p327-congress-mode .clinic-editor .p3410-material-panel .p3410-congress-sensitive,
html.p330-congress .clinic-editor .p3410-material-panel .p3410-congress-sensitive {
  display:none!important;
}
html.p327-congress-mode .clinic-editor .p3410-material-panel .p349-license-card small,
html.p330-congress .clinic-editor .p3410-material-panel .p349-license-card small {
  font-size:0;
}
html.p327-congress-mode .clinic-editor .p3410-material-panel .p349-license-card small:after,
html.p330-congress .clinic-editor .p3410-material-panel .p349-license-card small:after {
  content:'Licence liée à cet appareil';
  font-size:.78rem;
}

/* ===== Style consolidé 30 ===== */
.brand-lockup{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}
.brand-lockup .version{font-size:.68rem;line-height:1;padding:3px 6px;font-weight:700}
@media(max-width:520px){.brand-lockup{gap:4px}.brand-lockup .brand{font-size:1.35rem}.brand-lockup .version{font-size:.62rem;padding:2px 5px}}

/* ===== Style consolidé 31 ===== */
.p3414-quick-overlay{z-index:260}.p3414-quick-sheet{width:min(520px,calc(100vw - 22px));margin:auto 11px 10px;border-radius:18px;padding:14px;background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.28)}
.p3414-quick-sheet h2{margin:0 0 4px;font-size:1.2rem}.p3414-quick-sheet p{margin:0 0 12px;color:var(--muted);font-size:.88rem}.p3414-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.p3414-quick-grid button{min-height:58px;text-align:left;padding:10px 12px;border-radius:12px;display:flex;flex-direction:column;justify-content:center;gap:2px}.p3414-quick-grid button strong{font-size:.98rem}.p3414-quick-grid button small{font-size:.74rem;color:var(--muted);font-weight:600}.p3414-quick-close{width:100%;margin-top:9px;min-height:43px}
html.p348-android-clinic .p348-bottom-bar{grid-template-columns:.72fr 1fr 1.18fr}html.p348-android-clinic .p348-bottom-bar .p3414-add{background:#dbeafe;color:#1d4ed8;font-weight:800}.p3414-machine-choice{display:grid;gap:8px}.p3414-machine-choice button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:54px;padding:10px 12px;border-radius:11px}.p3414-machine-choice small{color:var(--muted)}
.p3414-license-tools{display:flex;gap:7px;flex-wrap:wrap;margin:-2px 0 8px}.p3414-license-tools button{padding:7px 9px;font-size:.8rem}.p3414-reminder-row{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#f8fafc;margin-top:4px}.p3414-reminder-row label{display:flex;align-items:flex-start;gap:8px;font-weight:700}.p3414-reminder-row input{margin-top:3px}
@media(max-width:480px){.p3414-quick-grid{grid-template-columns:1fr}.p3414-quick-sheet{padding:12px}.p3414-quick-grid button{min-height:52px}}

/* ===== Style consolidé 32 ===== */
.p3416-recovery-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.p3416-recovery-actions button,.p3416-recovery-actions label{width:100%;text-align:center;justify-content:center}
.p3416-project-details{margin-top:12px;border:1px solid #cbd5e1;border-radius:12px;padding:9px;background:#f8fafc}
.p3416-project-details summary{cursor:pointer;font-weight:800;color:#334155}
.p3416-project-details .p32-login-fields{margin-top:10px}
.p3416-warning{padding:10px 12px;border:1px solid #fdba74;background:#fff7ed;color:#9a3412;border-radius:10px;margin:10px 0}
.p3416-db-list{display:grid;gap:8px;margin-top:10px}
.p3416-db-choice{display:flex!important;justify-content:space-between;gap:10px;text-align:left!important;background:#f8fafc!important;border:1px solid #cbd5e1!important}
.p3416-db-choice small{display:block;color:#64748b;font-weight:400}
.p3416-admin-panel{border:2px solid #bfdbfe;background:#f8fbff}
.p3416-diagnostic-output{white-space:pre-wrap;overflow:auto;max-height:360px;background:#0f172a;color:#e2e8f0;border-radius:10px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}
@media(max-width:620px){.p3416-recovery-actions{grid-template-columns:1fr}.p3416-project-details{padding:8px}}

/* ===== Style consolidé 33 ===== */
/* VetCRM v3.5.0 — matériel toujours visible et défilement complet des fiches. */
html.p3420-clinic-open,
html.p3420-clinic-open body{
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y!important;
}
html.p3420-clinic-open .app-main,
html.p3420-clinic-open .module,
html.p3420-clinic-open .clinic-editor,
html.p3420-clinic-open .editor-grid,
html.p3420-clinic-open .editor-column{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
html.p3420-clinic-open .app-main{
  padding-bottom:calc(150px + env(safe-area-inset-bottom))!important;
}
html.p3420-clinic-open .clinic-editor{
  padding-bottom:calc(115px + env(safe-area-inset-bottom))!important;
}
.p3420-equipment-panel{
  grid-column:1/-1;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  border:2px solid #bfdbfe!important;
  background:#f8fbff!important;
}
.p3420-equipment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.p3420-equipment-head h2{margin:0 0 3px!important}
.p3420-equipment-head p{margin:0;color:var(--muted);font-size:.86rem}
.p3420-equipment-actions{display:flex;gap:7px;flex-wrap:wrap}
.p3420-equipment-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;margin-top:11px}
.p3420-equipment-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;width:100%;min-height:82px;padding:11px 12px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:inherit}
.p3420-equipment-card strong{font-size:1rem;line-height:1.25}
.p3420-equipment-card span,.p3420-equipment-card small{color:var(--muted);line-height:1.28}
.p3420-equipment-card .p3420-status{display:inline-flex;background:#dcfce7;color:#166534;border-radius:999px;padding:3px 7px;font-size:.74rem;font-weight:800}
.p3420-equipment-empty{padding:12px;border:1px dashed #94a3b8;border-radius:10px;background:#fff;color:var(--muted);margin-top:10px}
.p3420-material-detail,
.p3420-material-detail #machineRows,
.p3420-material-detail .machine-card,
.p3420-material-detail .p348-machine-card{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.p3420-scroll-end{display:block!important;width:100%;height:135px;grid-column:1/-1;flex:0 0 135px;pointer-events:none}
html.p3420-clinic-open .p348-bottom-bar{z-index:200!important}
@media(max-width:760px){
  .p3420-equipment-panel{padding:11px!important}
  .p3420-equipment-head{display:grid;grid-template-columns:1fr}
  .p3420-equipment-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .p3420-equipment-actions button{min-height:43px;padding:8px 7px}
  .p3420-equipment-cards{grid-template-columns:1fr}
  .p3420-equipment-card{min-height:72px}
  html.p3420-clinic-open .p3420-material-detail{grid-column:1/-1!important}
}

/* ===== Style consolidé 34 ===== */
.p3421-notes-panel{border:2px solid #bfdbfe;background:#f8fbff}
.p3421-notes-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.p3421-notes-head h2{margin:0 0 4px}.p3421-notes-head p{margin:0;color:var(--muted);font-size:.87rem}
.p3421-report-list{display:grid;gap:9px;margin-top:12px}
.p3421-report-card{border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:11px}
.p3421-report-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.p3421-report-card header strong{font-size:.98rem}.p3421-report-card header span{color:var(--muted);font-size:.8rem}
.p3421-report-text{white-space:pre-wrap;margin:8px 0 0;line-height:1.42}
.p3421-report-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.p3421-report-actions button{padding:7px 10px;font-size:.82rem}
.p3421-analysis-badge{display:inline-flex;border-radius:999px;padding:3px 7px;background:#dcfce7;color:#166534;font-size:.72rem;font-weight:800}
.p3421-analysis-grid{display:grid;gap:9px}
.p3421-analysis-row{display:grid;grid-template-columns:auto 1fr;gap:9px;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}
.p3421-analysis-row>input{margin-top:4px}.p3421-analysis-row label{display:grid;gap:5px;font-weight:700}
.p3421-analysis-row input[type="text"],.p3421-analysis-row input[type="date"],.p3421-analysis-row input[type="time"],.p3421-analysis-row select{font-weight:400}
.p3421-analysis-help{padding:9px 11px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:10px;color:#1e3a8a}
.p3421-legacy{border-style:dashed;background:#f8fafc}
@media(max-width:760px){
 .p3421-notes-panel{grid-column:1/-1!important;padding:11px!important}
 .p3421-notes-head button{width:100%;min-height:43px}
 .p3421-report-card header{display:grid;grid-template-columns:1fr}
 .p3421-report-actions{display:grid;grid-template-columns:1fr 1fr}
 .p3421-report-actions button{min-height:40px}
 .p3421-analysis-row{grid-template-columns:auto minmax(0,1fr)}
}

/* ===== Style consolidé 35 ===== */
/* Interface active unique : les modules historiques restent chargés, mais ne pilotent plus des couches concurrentes. */
:root{--v3422-bottom-safe:calc(126px + env(safe-area-inset-bottom))}
body.v3422-modal-open{overflow:hidden!important;touch-action:none}
#phase2Modal{z-index:1000!important}
#progressOverlay{z-index:1100!important}
#p32AccessGate{z-index:1200!important}
.p3414-quick-overlay{z-index:950!important}
.v3422-modal-error{margin:10px 0 0;padding:10px 12px;border:1px solid #fecaca;border-radius:10px;background:#fff1f2;color:#991b1b;font-weight:700;white-space:pre-wrap}
.v3422-geo-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.v3422-geo-tools select{min-height:39px;padding:6px 9px;border:1px solid var(--line,#cbd5e1);border-radius:9px;background:#fff}
.v3422-geo-status{font-size:.78rem;color:var(--muted,#64748b);width:100%}
.v3422-route-gps{display:flex;gap:8px;align-items:center;margin-top:7px;flex-wrap:wrap}
.v3422-route-gps button{min-height:40px}
.v3422-route-gps small{color:var(--muted,#64748b)}
html.p3420-clinic-open .clinic-editor{padding-bottom:var(--v3422-bottom-safe)!important}
@media(max-width:760px){
  .v3422-geo-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .v3422-geo-tools .v3422-geo-status{grid-column:1/-1}
  .crm-map-actions-p23{width:100%}
}

/* ===== Style consolidé 36 ===== */
:root{--v3423-safe-bottom:calc(132px + env(safe-area-inset-bottom))}
.v3423-geo-tools{display:grid;grid-template-columns:minmax(92px,120px) repeat(3,minmax(0,auto));gap:8px;align-items:center;width:100%;margin-top:8px}
.v3423-geo-tools select,.v3423-geo-tools button{min-height:42px}
.v3423-geo-status{grid-column:1/-1;font-size:.86rem;color:#475569;min-height:1.2em}
.v3423-route-gps{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.v3423-route-gps small{flex:1 1 100%;color:#475569}
.v3423-summary-panel,.v3423-notes-panel{grid-column:1/-1}
.v3423-summary-head,.v3423-notes-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.v3423-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.v3423-summary-card{border:1px solid #dbe4ee;border-radius:12px;padding:12px;background:#f8fafc}
.v3423-summary-card h3{margin:0 0 7px;font-size:.98rem}
.v3423-summary-card p,.v3423-summary-card ul{margin:0;font-size:.9rem;line-height:1.45}
.v3423-summary-card ul{padding-left:18px}
.v3423-report-list{display:grid;gap:10px;margin-top:12px}
.v3423-report-card{border:1px solid #dbe4ee;border-radius:12px;padding:12px;background:#fff}
.v3423-report-card.is-legacy{background:#f8fafc}
.v3423-report-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.v3423-report-card header span,.v3423-report-card small{color:#64748b}
.v3423-report-card details{margin-top:8px}
.v3423-report-card details summary{cursor:pointer;font-weight:600;color:#1d4ed8}
.v3423-report-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 0;line-height:1.5}
.v3423-report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v3423-report-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v3423-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v3423-detail-card{border:1px solid #dbe4ee;border-radius:12px;padding:12px;background:#f8fafc}
.v3423-detail-card h3{margin-top:0}
.v3423-detail-list{display:grid;gap:8px}
.v3423-detail-item{border-top:1px solid #e2e8f0;padding-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}
.p3421-notes-panel{display:none!important}
@media(max-width:760px){
 .v3423-geo-tools{grid-template-columns:1fr 1fr}
 .v3423-geo-tools .v3423-route-from-map{grid-column:1/-1}
 .v3423-summary-grid,.v3423-detail-grid{grid-template-columns:1fr}
 .v3423-summary-panel,.v3423-notes-panel{scroll-margin-bottom:var(--v3423-safe-bottom)}
 .v3423-report-actions button{flex:1 1 44%}
}

/* ===== Style consolidé 37 ===== */
.v3424-context-notice{width:100%;margin-top:8px;padding:10px 12px;border:1px solid #fdba74;border-radius:11px;background:#fff7ed;color:#9a3412;font-weight:700;line-height:1.35}
.v3424-context-notice strong{display:block;margin-bottom:3px;color:#7c2d12}
.v3424-location-grid{display:grid;gap:12px}
.v3424-location-help{padding:11px 12px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff;color:#1e3a8a;line-height:1.4}
.v3424-location-help.warning{border-color:#fdba74;background:#fff7ed;color:#9a3412}
.v3424-location-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.v3424-location-results{display:grid;gap:7px;max-height:42vh;overflow:auto}
.v3424-location-choice{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid #d6dfeb;border-radius:10px;background:#fff;cursor:pointer}
.v3424-location-choice input{width:auto;margin-top:3px}
.v3424-location-choice span{display:grid;gap:3px}
.v3424-location-choice small{color:var(--muted,#64748b)}
.v3424-map-pick-banner{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:1000;width:min(92%,520px);padding:11px 13px;border:2px solid #2563eb;border-radius:12px;background:#fff;color:#1e3a8a;font-weight:800;text-align:center;box-shadow:0 8px 24px rgba(15,23,42,.25)}
.v3424-manual-position{background:#dbeafe!important;color:#1e3a8a!important}
.v3424-source-manual{color:#7c3aed;font-weight:700}
@media(max-width:760px){
 .v3423-geo-tools{grid-template-columns:1fr 1fr!important}
 .v3423-geo-tools #v3423Radius{grid-column:1/-1}
 .v3423-geo-tools #v3423AroundMe,.v3423-geo-tools #v3424ManualPosition,.v3423-geo-tools #v3423ClearAround,.v3423-geo-tools #v3423RouteFromMap{width:100%;min-height:54px}
 .v3424-location-search{grid-template-columns:1fr}
 .v3423-route-gps{grid-template-columns:1fr!important}
 .v3423-route-gps button{width:100%;min-height:48px}
}

/* ===== Style consolidé 38 ===== */
.p3431-library-panel{margin:12px 0}.p3431-library-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.p3431-library-actions{display:flex;gap:8px;flex-wrap:wrap}.p3431-library-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.p3431-library-metrics>div{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:10px}.p3431-library-metrics strong{display:block;font-size:1.22rem}.p3431-library-metrics span{font-size:.8rem;color:var(--muted)}.p3431-destination{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:.74rem;font-weight:800;margin-right:5px}.p3431-training{background:#dbeafe;color:#1d4ed8}.p3431-benchmark{background:#fef3c7;color:#92400e}.p3431-mixed{background:#ede9fe;color:#6d28d9}.p3431-pending{background:#fee2e2;color:#991b1b}.p3431-upload-status{white-space:pre-wrap;max-height:230px;overflow:auto}.p3431-document-list,.p3431-author-list{max-height:64vh;overflow:auto}.p3431-document-card,.p3431-author-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.p3431-document-card small,.p3431-author-card small{display:block;white-space:pre-wrap}.p3431-document-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.p3431-file-input{border:2px dashed #94a3b8;border-radius:12px;padding:18px;background:#f8fafc}.p3431-file-input input{width:100%}.p3431-warning{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:10px;padding:10px}.p3431-kol-candidate{border-left:4px solid #7c3aed}.p3431-storage-ok{color:#166534;font-weight:800}.p3431-storage-warn{color:#9a3412;font-weight:800}.p3431-queue{font-size:.84rem;color:var(--muted)}
@media(max-width:850px){.p3431-library-head{display:block}.p3431-library-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.p3431-library-metrics{grid-template-columns:1fr 1fr}.p3431-document-card,.p3431-author-card{display:block}.p3431-document-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.p3431-document-actions button{width:100%}}

/* ===== Style consolidé 39 ===== */
.p3432-analysis-panel{margin:12px 0;border-left:4px solid #2563eb}.p3432-analysis-actions{display:flex;gap:8px;flex-wrap:wrap}.p3432-analysis-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.p3432-analysis-grid>div{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:10px}.p3432-analysis-grid strong{display:block;font-size:1.2rem}.p3432-analysis-grid span{font-size:.8rem;color:var(--muted)}.p3432-list{max-height:63vh;overflow:auto}.p3432-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start}.p3432-card input[type=checkbox]{margin-top:6px;transform:scale(1.15)}.p3432-card-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.p3432-card small{display:block;white-space:pre-wrap}.p3432-status{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:800}.p3432-ready{background:#dbeafe;color:#1d4ed8}.p3432-running{background:#fef3c7;color:#92400e}.p3432-review{background:#ede9fe;color:#6d28d9}.p3432-valid{background:#dcfce7;color:#166534}.p3432-error{background:#fee2e2;color:#991b1b}.p3432-muted{background:#e2e8f0;color:#475569}.p3432-detail{max-height:64vh;overflow:auto}.p3432-detail h3{margin:18px 0 8px}.p3432-detail ul{margin:6px 0 10px;padding-left:20px}.p3432-summary{white-space:pre-wrap;border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:12px}.p3432-page-ref{border-left:3px solid #94a3b8;padding:7px 10px;margin:7px 0;background:#f8fafc}.p3432-consensus-card{border-left:4px solid #7c3aed}.p3432-progress{white-space:pre-wrap;max-height:240px;overflow:auto}.p3432-warning{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:10px;padding:10px}.p3432-actions-bottom{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.p3432-chip{display:inline-flex;padding:3px 7px;border-radius:999px;background:#e2e8f0;margin:2px;font-size:.75rem}.p3432-section{border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0}.p3432-section>h3{margin-top:0}
@media(max-width:850px){.p3432-analysis-grid{grid-template-columns:1fr 1fr}.p3432-card{display:block}.p3432-card>input{float:left;margin-right:10px}.p3432-card-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.p3432-card-actions button{width:100%}.p3432-analysis-actions{display:grid;grid-template-columns:1fr 1fr}.p3432-analysis-actions button{width:100%}}

/* ===== Style consolidé 40 ===== */
.p3436-import-json{background:#0f766e!important;color:#fff!important;border-color:#0f766e!important}
.p3436-preview{max-height:58vh;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:8px;background:#f8fafc}
.p3436-preview-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px;border-bottom:1px solid var(--line);background:#fff}
.p3436-preview-card:last-child{border-bottom:0}.p3436-preview-card input{margin-top:5px;transform:scale(1.15)}
.p3436-preview-card strong,.p3436-preview-card small{display:block}.p3436-preview-card small{color:var(--muted);margin-top:3px}
.p3436-import-report{white-space:pre-wrap;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:10px;background:#f8fafc}
.p3436-analysis-detail{max-height:68vh;overflow:auto}.p3436-analysis-detail section{border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0;background:#fff}
.p3436-analysis-detail h3{margin:0 0 8px}.p3436-analysis-detail h4{margin:12px 0 5px}.p3436-analysis-detail ul{margin:5px 0 8px;padding-left:20px}.p3436-analysis-detail .p3436-summary{white-space:pre-wrap;line-height:1.45}
.p3436-data-row{border-left:3px solid #0f766e;padding:7px 10px;margin:7px 0;background:#f0fdfa}.p3436-data-row small{display:block;color:var(--muted);margin-top:3px}
.p3436-notice{background:#fff7ed!important;border-color:#fdba74!important;color:#9a3412}.p3436-chip{display:inline-flex;padding:3px 7px;border-radius:999px;background:#e2e8f0;margin:2px;font-size:.75rem}
@media(max-width:850px){.p3436-preview-card{display:block}.p3436-preview-card input{float:left;margin-right:10px}.p3436-analysis-detail{max-height:64vh}}

/* ===== Style consolidé 41 ===== */
.p3438-hide-control{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-top:1px solid var(--line);background:#f8fafc;color:#475569;font-size:.82rem;cursor:pointer;border-radius:0 0 var(--radius) var(--radius)}
.p3438-hide-control:hover{background:#fff7ed;color:#9a3412}.p3438-hide-control input{width:auto;margin:2px 0 0;transform:scale(1.12);flex:0 0 auto}.p3438-hide-control span{display:block;line-height:1.25}.p3438-hide-control small{display:block;margin-top:2px;color:#64748b}
.p3438-hidden-panel{border-left:4px solid #d97706}.p3438-hidden-count{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#ffedd5;color:#9a3412;font-weight:800;font-size:.8rem}.p3438-hidden-list{display:grid;gap:8px;max-height:58vh;overflow:auto;margin-top:10px}.p3438-hidden-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff}.p3438-hidden-row strong,.p3438-hidden-row span,.p3438-hidden-row small{display:block}.p3438-hidden-row span,.p3438-hidden-row small{color:var(--muted);margin-top:3px}.p3438-hidden-empty{padding:18px;text-align:center;color:var(--muted);font-style:italic}.p3438-quality-note{margin:10px 0;border-left:4px solid #0f766e;background:#f0fdfa;padding:10px 12px;border-radius:8px;color:#115e59}.p3438-hidden-reason{font-size:.76rem;color:#92400e!important}
@media(max-width:760px){.p3438-hide-control{min-height:46px;padding:10px 12px}.p3438-hidden-row{grid-template-columns:1fr}.p3438-hidden-row button{width:100%;min-height:44px}}

/* ===== Style consolidé 42 ===== */
/* VetCRM v3.5.0 — données commerciales liées au compte */
.p3439-owner-filter{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:10px 0;padding:10px;border:1px solid #bfdbfe;border-radius:12px;background:#f8fbff}
.p3439-owner-filter .field{min-width:220px;flex:1 1 260px}.p3439-owner-filter p{margin:0;color:#64748b;font-size:.84rem;flex:2 1 320px}
.p3439-owner-badge{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:3px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.76rem;font-weight:700}
.p3439-owner-badge.unassigned{background:#fff7ed;color:#9a3412}.p3439-owner-field{grid-column:1/-1}
.p3439-scope-panel{grid-column:1/-1;border:2px solid #bfdbfe;background:#f8fbff}
.p3439-scope-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:9px;margin:12px 0}
.p3439-scope-grid>div{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px}.p3439-scope-grid strong{display:block;font-size:1.25rem}.p3439-scope-grid span{display:block;color:#64748b;font-size:.82rem;margin-top:2px}
.p3439-server-ok{color:#166534}.p3439-server-warn{color:#9a3412}.p3439-server-error{color:#991b1b}
@media(max-width:700px){.p3439-scope-grid{grid-template-columns:1fr 1fr}.p3439-owner-filter{align-items:stretch}.p3439-owner-filter .field{min-width:0}}

/* VetCRM v3.5.0 — marqueur de noyau consolidé */
html[data-vetcrm-version="v3.5.0"] .version{white-space:nowrap}


/* Inventaire parc démo — VetCRM v3.5.3 */
.demo-inventory-tools{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(230px,1fr) minmax(250px,1.1fr);gap:10px;align-items:end;margin:10px 0 12px;padding:12px;border:1px solid #bfdbfe;border-radius:12px;background:#f8fbff}
.demo-inventory-date{min-width:0}.demo-check{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 10px;border:1px solid #d6dfeb;border-radius:10px;background:#fff;font-weight:700}.demo-check input{width:auto;flex:0 0 auto}.demo-inventory-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.demo-inventory-actions button{background:#1d4ed8;color:#fff}.demo-valuation-total{grid-column:1/-1;font-weight:800;color:#1e3a8a}.demo-card-valuation{margin-top:3px;padding-top:6px;border-top:1px dashed #bfdbfe;color:#1e3a8a;font-weight:800}.demo-module td.num,.demo-module th.num{text-align:right}
@media(max-width:800px){.demo-inventory-tools{grid-template-columns:1fr 1fr}.demo-inventory-date{grid-column:1/-1}.demo-inventory-actions,.demo-valuation-total{grid-column:1/-1}}
@media(max-width:540px){.demo-inventory-tools{grid-template-columns:1fr}.demo-inventory-date,.demo-inventory-actions,.demo-valuation-total{grid-column:auto}.demo-inventory-actions button{width:100%}}
@media print{.demo-module .module-head p,.demo-stock-note-v22,.p3439-owner-filter,.demo-inventory-tools,#demoSummary{display:none!important}}


/* VetCRM v3.5.4 — écran dédié Codes AnyDesk. */
.anydesk-table td:first-child{min-width:220px}.anydesk-table td:first-child small,.anydesk-table td:nth-child(4) small{display:block;margin-top:4px;color:var(--muted)}
.anydesk-code{font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}.anydesk-actions{flex-wrap:nowrap}.anydesk-duplicate{background:#fff7ed}.anydesk-selected{display:flex;flex-direction:column;gap:4px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:10px;padding:10px}.anydesk-selected span{color:var(--muted)}
.anydesk-clinic-matches{display:grid;gap:6px;max-height:280px;overflow:auto}.anydesk-clinic-matches button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#f8fafc;border:1px solid var(--line)}.anydesk-clinic-matches small{color:var(--muted);font-weight:400;margin-top:3px}
@media(max-width:760px){.anydesk-table-wrap{border-radius:10px}.anydesk-table th,.anydesk-table td{padding:9px}.anydesk-actions{flex-wrap:wrap}.anydesk-table td:first-child{min-width:190px}}

/* VetCRM v3.5.6 — valorisation hybride du parc démo */
.v355-valuation-panel{border-left:4px solid #1d4ed8;margin:14px 0}.v355-valuation-panel .section-head{align-items:flex-start}.v355-valuation-panel .section-head p{margin:.25rem 0 0;color:#64748b;max-width:760px}.v355-kpis{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.v355-kpis span,.v355-mode-badge,.v355-admin-only{display:inline-flex;align-items:center;border-radius:999px;background:#eaf1fb;color:#1e3a8a;padding:4px 9px;font-size:.78rem;font-weight:700}.v355-kpis .warning,.v355-mode-badge.unresolved{background:#fff1d6;color:#9a3412}.v355-card-value{display:grid;gap:2px;margin-top:7px;padding:8px 10px;border-radius:10px;background:#eef6ff;border:1px solid #bfd7fa}.v355-card-value span,.v355-source{display:block;color:#475569;font-size:.76rem}.v355-card-value.unresolved{background:#fff8e8;border-color:#f6d28b}.v355-valuation-editor{margin:14px 0;padding:14px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.v355-valuation-editor h3{margin:0}.v355-auto-preview{display:grid;gap:4px;margin-top:10px;padding:11px;border-radius:10px;background:#eaf1fb;color:#0f1b34}.v355-auto-preview span,.v355-auto-preview small{color:#475569}.v355-demo-modal{max-width:820px}.v355-source{margin-top:3px}.v355-mode-badge{padding:2px 7px;margin-right:5px}.v355-valuation-panel .button-like{cursor:pointer}
@media(max-width:760px){.v355-valuation-panel .section-head{display:grid;gap:8px}.v355-valuation-panel .action-row{align-items:stretch}.v355-valuation-panel .action-row>*{width:100%;justify-content:center}.v355-demo-modal{max-height:calc(100dvh - 24px);overflow:auto}}

/* VetCRM v3.5.6 — suivi des primes par période et versement */
.prime-period-panel-v356{margin-bottom:14px}
.prime-period-grid-v356{grid-template-columns:repeat(3,minmax(170px,1fr));align-items:end}
.prime-metrics-v356{grid-template-columns:repeat(4,minmax(180px,1fr))}
.prime-metrics-v356 .metric small{display:block;margin-top:4px;color:#64748b;font-weight:500}
.prime-outstanding-v356{border-color:#f59e0b;background:#fffaf0}
.prime-status-v356{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-weight:800;white-space:nowrap}
.prime-status-v356.is-paid{background:#dcfce7;color:#166534}
.prime-status-v356.is-unpaid{background:#ffedd5;color:#9a3412}
.prime-missing-payment-v356{color:#b91c1c;font-weight:800}
.prime-payment-help-v356{margin-top:10px}
@media(max-width:900px){.prime-period-grid-v356,.prime-metrics-v356{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.prime-period-grid-v356,.prime-metrics-v356{grid-template-columns:1fr}.prime-module-v356 .table-wrap{overflow-x:auto}}


/* VetCRM v3.5.8 — primes, versements réels et régularisations */
.prime-module-v357{overflow-x:hidden}
.prime-period-grid-v357{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
.prime-metrics-v357{grid-template-columns:repeat(4,minmax(0,1fr))}
.prime-metrics-v357 .metric{min-width:0;padding:13px}
.prime-metrics-v357 .metric strong{font-size:clamp(1.25rem,2.1vw,1.7rem);overflow-wrap:anywhere}
.prime-metrics-v357 .metric small{display:block;margin-top:4px;color:#64748b;font-weight:500}
.prime-list-v357{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prime-card-v357{padding:14px!important;display:grid;gap:12px;min-width:0}
.prime-card-header-v357{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
.prime-card-title-v357{display:flex;flex-direction:column;gap:4px;min-width:0}
.prime-card-title-v357 strong,.prime-card-title-v357 span,.prime-card-title-v357 small{overflow-wrap:anywhere;word-break:break-word}
.prime-card-title-v357 strong{font-size:1.02rem}
.prime-card-title-v357 span,.prime-card-title-v357 small{color:var(--muted)}
.prime-financial-grid-v357{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.prime-financial-grid-v357>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px;min-width:0}
.prime-financial-grid-v357 span{display:block;color:var(--muted);font-size:.76rem;margin-bottom:3px}
.prime-financial-grid-v357 strong{display:block;font-size:.93rem;overflow-wrap:anywhere}
.prime-financial-grid-v357 .prime-amount-v357{background:#eff6ff;border-color:#bfdbfe}
.prime-financial-grid-v357 .prime-amount-v357 strong{color:#1d4ed8}
.prime-payment-row-v357{display:grid;grid-template-columns:minmax(90px,.32fr) minmax(0,1fr);gap:10px;align-items:start;border-top:1px solid var(--line);padding-top:10px;min-width:0}
.prime-payment-row-v357>span{color:var(--muted);font-size:.82rem;font-weight:700}
.prime-payment-row-v357>strong{font-size:.9rem;overflow-wrap:anywhere;word-break:break-word}
.prime-edit-v357{width:100%}
.prime-empty-v357{grid-column:1/-1}
@media(min-width:1450px){.prime-list-v357{grid-template-columns:repeat(3,minmax(0,1fr))}.prime-financial-grid-v357{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.prime-list-v357{grid-template-columns:1fr}.prime-financial-grid-v357{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:760px){
  .prime-period-grid-v357{grid-template-columns:1fr 1fr}
  .prime-period-grid-v357 .prime-scope-field-v357{grid-column:1/-1}
  .prime-metrics-v357{grid-template-columns:1fr 1fr;gap:8px}
  .prime-metrics-v357 .metric{padding:10px}
  .prime-metrics-v357 .metric strong{font-size:1.16rem}
  .prime-metrics-v357 .metric span{font-size:.82rem}
  .prime-metrics-v357 .metric small{font-size:.74rem}
  .prime-financial-grid-v357{grid-template-columns:repeat(3,minmax(0,1fr))}
  .prime-card-v357{padding:12px!important}
}
@media(max-width:430px){
  .prime-period-grid-v357{grid-template-columns:1fr 1fr;gap:7px}
  .prime-period-grid-v357 label{font-size:.8rem}
  .prime-period-grid-v357 input,.prime-period-grid-v357 select{padding:8px 7px;font-size:.9rem}
  .prime-metrics-v357{grid-template-columns:1fr 1fr}
  .prime-financial-grid-v357{grid-template-columns:1fr 1fr}
  .prime-financial-grid-v357 .prime-amount-v357{grid-column:1/-1}
  .prime-card-header-v357{align-items:flex-start}
  .prime-status-v356{font-size:.76rem;padding:4px 7px}
  .prime-payment-row-v357{grid-template-columns:1fr;gap:4px}
}


/* VetCRM v3.5.8 — montants réellement versés et régularisations */
.prime-status-v356.is-partial{background:#fef3c7;color:#92400e}
.prime-status-v356.is-overpaid{background:#fee2e2;color:#991b1b}
.prime-financial-grid-v358{grid-template-columns:repeat(4,minmax(0,1fr))}
.prime-financial-grid-v358 .prime-due-v358{background:#eff6ff;border-color:#bfdbfe}
.prime-financial-grid-v358 .prime-due-v358 strong{color:#1d4ed8}
.prime-financial-grid-v358 .prime-paid-v358{background:#f0fdf4;border-color:#bbf7d0}
.prime-financial-grid-v358 .prime-paid-v358 strong{color:#166534}
.prime-financial-grid-v358 .prime-regularization-v358{background:#fff7ed;border-color:#fed7aa;grid-column:span 2}
.prime-financial-grid-v358 .prime-regularization-v358 strong{color:#9a3412}
.prime-financial-grid-v358 .prime-regularization-v358.is-overpaid{background:#fef2f2;border-color:#fecaca}
.prime-financial-grid-v358 .prime-regularization-v358.is-overpaid strong{color:#991b1b}
.prime-paid-metric-v358{border-color:#86efac;background:#f0fdf4}
.prime-regularization-metric-v358{border-color:#fdba74;background:#fff7ed}
.prime-edit-summary-v358{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.prime-edit-summary-v358>div{border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0;background:#f8fafc}
.prime-edit-summary-v358 span{display:block;color:var(--muted);font-size:.8rem;margin-bottom:4px}
.prime-edit-summary-v358 strong{display:block;overflow-wrap:anywhere}
@media(min-width:1450px){.prime-financial-grid-v358{grid-template-columns:repeat(2,minmax(0,1fr))}.prime-financial-grid-v358 .prime-regularization-v358{grid-column:1/-1}}
@media(max-width:900px){.prime-financial-grid-v358{grid-template-columns:repeat(3,minmax(0,1fr))}.prime-financial-grid-v358 .prime-regularization-v358{grid-column:span 2}.prime-edit-summary-v358{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.prime-financial-grid-v358{grid-template-columns:1fr 1fr}.prime-financial-grid-v358 .prime-regularization-v358{grid-column:1/-1}.prime-edit-summary-v358{grid-template-columns:1fr 1fr;gap:6px}.prime-edit-summary-v358>div{padding:8px}.prime-edit-summary-v358 strong{font-size:.95rem}}


/* VetCRM v3.5.11 — clôture, solde net et filtre des primes */
.prime-status-v356.is-not_due{background:#e2e8f0;color:#334155}
.prime-paid-quick-v3511{display:flex;flex-direction:column;gap:6px;align-self:end}
.prime-paid-quick-v3511 button{width:100%;min-height:44px}
.prime-paid-quick-v3511 small{color:#64748b;line-height:1.25}
@media(max-width:720px){.prime-paid-quick-v3511{grid-column:1/-1}}


/* VetCRM v3.5.11 — solde net, zéro en vert clair et cartes soldées */
.prime-net-metric-v3511{border-width:2px}
.prime-net-metric-v3511.is-positive{border-color:#f59e0b;background:#fffaf0}
.prime-net-metric-v3511.is-zero{border-color:#86efac;background:#ecfdf3;color:#166534}
.prime-net-metric-v3511.is-negative{border-color:#fca5a5;background:#fff1f2;color:#991b1b}
.prime-breakdown-metric-v3511{border-color:#bfdbfe;background:#eff6ff}
.prime-card-v3511.is-settled{border-color:#86efac!important;background:#f0fdf4!important}
.prime-status-v356.is-paid,.prime-status-v356.is-not_due{background:#dcfce7;color:#166534}
.prime-regularization-v358.is-zero{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important}
@media(max-width:720px){
  .prime-net-metric-v3511 small,.prime-breakdown-metric-v3511 small{line-height:1.25}
}

/* VetCRM v3.5.13 — tournées validables, Agenda Google et clôture RDV */
.p3513-route-summary,.p3513-route-save{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;margin:0 0 10px}.p3513-route-summary div:first-child{display:grid;gap:3px}.p3513-route-summary small,.p3513-route-save span{color:#64748b}.p3513-route-card{align-items:flex-start;transition:border-color .15s ease,background .15s ease}.p3513-route-card.p3513-decision-validated{border-color:#22c55e;background:#f0fdf4}.p3513-route-card.p3513-decision-rejected{border-color:#fca5a5;background:#fff7f7;opacity:.86}.p3513-route-card.p3513-decision-pending{border-color:#fbbf24;background:#fffbeb}.p3513-route-main{min-width:0;flex:1}.p3513-route-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.p3513-decision-chip,.p3513-status-chip{display:inline-flex;width:max-content;align-items:center;border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:750;background:#e2e8f0;color:#334155;margin-top:5px}.p3513-decision-validated .p3513-decision-chip,.p3513-status-completed .p3513-status-chip{background:#dcfce7;color:#166534}.p3513-decision-rejected .p3513-decision-chip,.p3513-status-cancelled .p3513-status-chip{background:#fee2e2;color:#991b1b}.p3513-decision-pending .p3513-decision-chip,.p3513-status-planned .p3513-status-chip{background:#fef3c7;color:#92400e}.p3513-agenda-card.p3513-status-cancelled{opacity:.72}.p3513-agenda-card.p3513-status-cancelled strong{text-decoration:line-through}.p3513-agenda-card.p3513-status-completed{border-color:#86efac}.p3513-google-modal,.p3513-outcome-modal{max-width:760px}.p3513-equipment-fields{margin-top:10px}.p3513-outcome-modal section[hidden]{display:none!important}.p3513-route-terminal{background:#f8fafc}.p3513-route-save{margin-top:12px;position:sticky;bottom:8px;z-index:5;box-shadow:0 8px 24px rgba(15,23,42,.10)}

/* VetCRM v3.5.100 — masquage consolidé dans le CRM */
.p35100-hidden-search-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:9px 0 0;padding:9px 12px;border:1px solid #fed7aa;border-radius:11px;background:#fff7ed;color:#7c2d12}
.p35100-hidden-search-tools label{display:inline-flex;align-items:center;gap:8px;font-weight:800;cursor:pointer}.p35100-hidden-search-tools input{width:auto;margin:0}.p35100-hidden-search-tools small{color:#9a3412}
.p35100-result-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;overflow:hidden}.p35100-result-card.is-hidden{border-color:#f59e0b;background:#fffaf0}.p35100-result-card.is-hidden .result-open{background:#fffaf0}.p35100-result-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.p35100-hidden-badge{display:inline-flex!important;margin:0!important;padding:3px 8px;border-radius:999px;background:#ffedd5;color:#9a3412!important;font-size:.75rem;font-weight:900}.p35100-hidden-reason{color:#92400e!important;font-style:italic}.p35100-result-actions{display:flex;align-items:center;padding:10px;border-left:1px solid var(--line)}.p35100-result-actions button{white-space:nowrap}
.p35100-hidden-editor-banner{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin:-4px 0 12px;padding:11px 13px;border:1px solid #f59e0b;border-radius:11px;background:#fff7ed;color:#7c2d12}.p35100-hidden-editor-banner strong{font-size:1.02rem}.p35100-hidden-editor-banner span{color:#9a3412}
@media(max-width:760px){.p35100-result-card{grid-template-columns:1fr}.p35100-result-actions{border-left:0;border-top:1px solid var(--line)}.p35100-result-actions button{width:100%;min-height:44px}.p35100-hidden-search-tools{align-items:flex-start;flex-direction:column}}


/* VetCRM v3.5.120 — badge de version canonique.
   Les anciens modules peuvent encore écrire un ancien texte dans le DOM ;
   l'affichage visible reste lié à la version réellement déployée. */
.version{font-size:.8rem!important}
.brand-lockup .version{font-size:.68rem!important}
.version::after{content:none!important;display:none!important}
@media(max-width:520px){.brand-lockup .version{font-size:.62rem!important}}

/* VetCRM v3.5.111 — Cockpit commercial intégré. */
.cockpit-module{--cockpit-border:#d8e1ee}.cockpit-metrics{grid-template-columns:repeat(5,minmax(135px,1fr))}.cockpit-metric small{display:block;margin-top:.3rem;color:#64748b;font-size:.78rem}.cockpit-filters{margin-bottom:1rem}.cockpit-filters .form-grid{grid-template-columns:repeat(3,minmax(180px,1fr));align-items:end}.cockpit-check{justify-content:flex-end}.cockpit-check span{display:flex;align-items:center;gap:.55rem;min-height:44px}.cockpit-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr);gap:1rem;align-items:start}.cockpit-opportunities{display:grid;gap:.75rem}.cockpit-opportunity{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.85rem;border:1px solid var(--cockpit-border);border-radius:14px;background:#fff}.cockpit-opportunity.cockpit-high{border-color:#7dd3a8;background:#f4fff8}.cockpit-score{display:flex;flex-direction:column;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:#e8f0ff;color:#153b7a}.cockpit-score strong{font-size:1.35rem;line-height:1}.cockpit-score span{font-size:.72rem}.cockpit-opportunity-main h3{margin:0;font-size:1rem}.cockpit-opportunity-main p{margin:.2rem 0}.cockpit-reasons{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.cockpit-reasons span{padding:.25rem .5rem;border-radius:999px;background:#eef3f9;color:#334155;font-size:.76rem}.cockpit-actions{display:flex;flex-direction:column;gap:.4rem;min-width:92px}.cockpit-next{position:sticky;top:1rem}.cockpit-action-list{display:grid;gap:.55rem}.cockpit-action-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--cockpit-border);background:#fff}.cockpit-action-item span,.cockpit-action-item small{color:#64748b}.cockpit-action-item.overdue{border-color:#fecaca;background:#fff7f7}.cockpit-action-item.overdue small{color:#b91c1c;font-weight:700}.cockpit-pipeline{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--cockpit-border);display:grid;gap:.5rem}.cockpit-pipeline h3{margin:0 0 .25rem}.cockpit-pipeline button{display:grid;grid-template-columns:1fr auto;gap:.2rem .75rem;text-align:left;align-items:center}.cockpit-pipeline button small{grid-column:1/-1;color:#64748b}.cockpit-pipeline button strong{font-size:1.05rem}@media(max-width:1050px){.cockpit-metrics{grid-template-columns:repeat(2,minmax(140px,1fr))}.cockpit-layout{grid-template-columns:1fr}.cockpit-next{position:static}}@media(max-width:650px){.cockpit-filters .form-grid{grid-template-columns:1fr}.cockpit-opportunity{grid-template-columns:58px minmax(0,1fr)}.cockpit-score{width:52px;height:52px}.cockpit-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);width:100%}.cockpit-metrics{grid-template-columns:1fr 1fr}.cockpit-module .module-head{align-items:flex-start}}


/* VetCRM v3.5.111 — filtres géographiques du Cockpit commercial. */
.cockpit-filter-grid{grid-template-columns:repeat(4,minmax(170px,1fr))!important}.cockpit-location-field{grid-column:span 2}.cockpit-location-actions{margin-top:.75rem;align-items:center}.cockpit-geo-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem}.cockpit-distance{background:#dcfce7!important;color:#166534!important}.cockpit-filters #cockpitGeoStatus{margin:.55rem 0 0}.cockpit-filters select,.cockpit-filters input{min-height:44px}
@media(max-width:1150px){.cockpit-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr))!important}.cockpit-location-field{grid-column:span 2}}
@media(max-width:650px){.cockpit-filter-grid{grid-template-columns:1fr!important}.cockpit-location-field{grid-column:auto}.cockpit-location-actions{display:grid;grid-template-columns:1fr 1fr}.cockpit-location-actions button{width:100%}.cockpit-geo-badges{justify-content:flex-start}.cockpit-opportunity-main .section-head{align-items:flex-start;flex-direction:column}}


/* VetCRM v3.5.119 — état de mise à jour automatique du Cockpit */
.cockpit-auto-status{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:999px;background:#ecfdf5;color:#166534;font-size:.78rem;font-weight:800;white-space:nowrap}
.cockpit-auto-status::before{content:"";width:7px;height:7px;margin-right:7px;border-radius:50%;background:#22c55e}
.cockpit-auto-status.is-dirty{background:#fff7ed;color:#9a3412}.cockpit-auto-status.is-dirty::before{background:#f97316}
.cockpit-auto-status.is-loading{background:#eff6ff;color:#1d4ed8}.cockpit-auto-status.is-loading::before{background:#3b82f6;animation:cockpitPulse112 .9s infinite alternate}
@keyframes cockpitPulse112{to{opacity:.3;transform:scale(.75)}}
@media(max-width:650px){.cockpit-auto-status{order:5;width:100%;justify-content:center}}


/* VetCRM v3.5.119 — traitement direct des prochaines actions dans le Cockpit. */
.cockpit-action-card{display:grid;gap:.55rem;padding:.7rem;border:1px solid var(--cockpit-border);border-radius:12px;background:#fff}
.cockpit-action-card.overdue{border-color:#fecaca;background:#fff7f7}
.cockpit-action-summary{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:.25rem;text-align:left;border:0;background:transparent;color:inherit}
.cockpit-action-summary:hover{background:#f8fafc}
.cockpit-action-summary span,.cockpit-action-summary small{color:#64748b}
.cockpit-action-card.overdue .cockpit-action-summary small{color:#b91c1c;font-weight:700}
.cockpit-action-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.cockpit-action-controls button{min-width:0;padding:.55rem .65rem}
@media(max-width:650px){.cockpit-action-controls{grid-template-columns:1fr 1fr}}

/* ===== VetCRM v3.5.156 — comparaison lisible des conflits et position conservée ===== */
.p342-compare-intro{margin:10px 0 8px;padding:9px 11px;border:1px solid #fde68a;border-radius:9px;background:#fffdf4;color:#713f12;font-size:.9rem}
.p342-comparison-block{margin-top:10px}.p342-comparison-block h4{margin:0 0 7px;font-size:.95rem;color:#334155}
.p342-compare-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.p342-compare-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:720px}
.p342-compare-table th,.p342-compare-table td{padding:9px 10px;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;vertical-align:top;text-align:left;overflow-wrap:anywhere}
.p342-compare-table tr:last-child th,.p342-compare-table tr:last-child td{border-bottom:0}.p342-compare-table th:last-child,.p342-compare-table td:last-child{border-right:0}
.p342-compare-table thead th{background:#f8fafc;color:#334155;font-size:.82rem}.p342-compare-table thead th:first-child{width:22%}.p342-compare-table tbody th{background:#f8fafc;color:#0f172a;font-size:.86rem}
.p342-compare-table tbody th small{display:block;margin-top:3px;color:#94a3b8;font-size:.7rem;font-weight:500;text-transform:none}
.p342-value-text{white-space:normal;line-height:1.35}.p342-value-json{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.35;color:#0f172a}.p342-empty-value{color:#94a3b8;font-style:italic}
.p342-tech-only{margin:9px 0;padding:9px 11px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;color:#475569}
.p342-technical{margin-top:9px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;padding:8px 10px}.p342-technical summary{cursor:pointer;font-weight:750;color:#475569}.p342-technical[open] summary{margin-bottom:8px}
.p342-conflict-actions{position:sticky;bottom:8px;z-index:2;padding:8px;border:1px solid #fde68a;border-radius:10px;background:rgba(255,251,235,.97);backdrop-filter:blur(4px)}
@media(max-width:720px){
 .p342-compare-wrap{overflow:visible;border:0;background:transparent}.p342-compare-table{display:block;min-width:0}.p342-compare-table thead{display:none}.p342-compare-table tbody,.p342-compare-table tr,.p342-compare-table th,.p342-compare-table td{display:block;width:auto}
 .p342-compare-table tr{margin:0 0 10px;border:1px solid #dbe3ee;border-radius:10px;overflow:hidden;background:#fff}.p342-compare-table tbody th{border:0;border-bottom:1px solid #dbe3ee;padding:8px 10px}.p342-compare-table td{border:0;border-bottom:1px solid #e2e8f0;padding:9px 10px}.p342-compare-table td:last-child{border-bottom:0}
 .p342-compare-table td:nth-child(2)::before{content:'Cet appareil (local)';display:block;margin-bottom:5px;color:#166534;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
 .p342-compare-table td:nth-child(3)::before{content:'Supabase (serveur)';display:block;margin-bottom:5px;color:#1d4ed8;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
 .p342-conflict-actions{display:grid;grid-template-columns:1fr;bottom:6px}.p342-conflict-actions button{width:100%;min-height:45px}
}


/* ===== VetCRM v3.5.156 — résolution des conflits sans rerendu complet ===== */
#p340SyncPanel,.p342-conflicts,.p342-conflict{overflow-anchor:none}
.p342-conflict{scroll-margin-top:18px}
.p342-conflict.p342-resolving{opacity:.72;pointer-events:none}
.p342-conflict.p342-resolving .p342-conflict-actions button{cursor:wait}
.p342-resolve-message{position:sticky;top:8px;z-index:2;margin:8px 0 12px;padding:10px 12px;border:1px solid #86efac;border-radius:12px;background:#f0fdf4;color:#166534;font-weight:700;box-shadow:0 4px 12px rgba(15,23,42,.08)}

/* VetCRM v3.5.156 — Campagnes / Mailing */
.mail-module{display:grid;gap:14px}.mail-metrics{grid-template-columns:repeat(5,minmax(130px,1fr))}.mail-filter-grid{align-items:end}.mail-check{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;min-height:48px}.mail-check input{width:auto!important}.mail-tracking-note{margin:12px 0;padding:12px 14px;border:1px solid #f0c36a;border-radius:12px;background:#fff8df;color:#704a00}.mail-audience-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.mail-audience-head span{color:#64748b;font-size:.9rem}.mail-table-wrap{overflow:auto;border:1px solid #d8e1ec;border-radius:12px}.mail-table{width:100%;border-collapse:collapse;min-width:1050px}.mail-table th,.mail-table td{padding:10px;border-bottom:1px solid #e3e9f0;vertical-align:top;text-align:left}.mail-table th{position:sticky;top:0;background:#f5f8fc;z-index:1}.mail-table td:first-child,.mail-table th:first-child{width:42px;text-align:center}.mail-table td strong,.mail-table td span,.mail-table td small{display:block}.mail-table td small{color:#64748b;margin-top:3px}.mail-excluded{background:#fff7f2;color:#7c2d12}.mail-channel{display:inline-block!important;width:max-content;padding:4px 8px;border-radius:999px;font-weight:700;font-size:.82rem}.mail-channel.email{background:#e0f2fe;color:#075985}.mail-channel.paper{background:#ede9fe;color:#5b21b6}.mail-channel.phone{background:#dcfce7;color:#166534}.mail-channel.none{background:#fee2e2;color:#991b1b}.mail-ok{color:#166534;font-weight:700}.mail-no{color:#9a3412;font-weight:700}.mail-row-actions{display:flex;gap:6px;flex-wrap:wrap}.mail-campaign-list,.mail-suppressions>div,.mail-history{display:grid;gap:8px;margin-top:10px}.mail-campaign-list article,.mail-suppressions article,.mail-history article{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:11px 12px;border:1px solid #dce4ed;border-radius:11px;background:#fff}.mail-campaign-list article div:first-child,.mail-suppressions article div:first-child,.mail-history article>div{display:grid;gap:3px}.mail-campaign-list span,.mail-campaign-list small,.mail-suppressions span,.mail-history span,.mail-history small{color:#64748b}.mail-history pre{white-space:pre-wrap;max-height:240px;overflow:auto;background:#f7f9fc;padding:10px;border-radius:8px}.mail-clinic-warning{padding:10px 12px;border-radius:10px;background:#fff3cd;color:#7c4a00;margin-bottom:10px}.mail-suppressions summary{cursor:pointer}.mail-suppressions>div{margin-top:12px}
@media(max-width:850px){.mail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.mail-audience-head{align-items:flex-start;flex-direction:column}.mail-table-wrap{overflow:visible;border:0}.mail-table{min-width:0;display:block}.mail-table thead{display:none}.mail-table tbody{display:grid;gap:10px}.mail-table tr{display:grid;grid-template-columns:42px 1fr;gap:4px;border:1px solid #d8e1ec;border-radius:12px;padding:8px;background:#fff}.mail-table tr.mail-excluded{background:#fff7f2}.mail-table td{display:block;border:0;padding:5px 7px;grid-column:2}.mail-table td:first-child{grid-column:1;grid-row:1/9;width:auto}.mail-table td:nth-child(2){grid-row:1}.mail-table td:last-child{padding-top:8px}.mail-campaign-list article,.mail-suppressions article,.mail-history article{flex-direction:column}.mail-row-actions{width:100%}.mail-row-actions button{flex:1}.mail-module .action-row{flex-wrap:wrap}.mail-module .action-row>button{min-height:44px}}


/* VetCRM v3.5.156 — critères Mailing Inclure / Exclure */
.mail-criteria-builder{grid-column:1/-1;border:1px solid #cbd8ea;border-radius:14px;background:#f8fbff;padding:14px;min-width:0}
.mail-criteria-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}
.mail-criteria-head>div:first-child{display:flex;flex-direction:column;gap:3px}.mail-criteria-head small{color:#52647f;font-weight:400}
#mailCriteriaRows{display:flex;flex-direction:column;gap:8px}
.mail-criterion-row{display:grid;grid-template-columns:minmax(105px,.65fr) minmax(165px,1fr) minmax(220px,2fr) 46px;gap:8px;align-items:center}
.mail-criterion-row select,.mail-criterion-row input{width:100%;min-width:0}
.mail-criterion-mode{font-weight:800}.mail-criterion-mode:has(option[value="include"]:checked){background:#e8f7ee;color:#17613a}.mail-criterion-mode:has(option[value="exclude"]:checked){background:#fff0ef;color:#9d251f}
.mail-no-criteria{margin:4px 0;color:#65748b;font-size:.92rem}
@media(max-width:760px){.mail-criteria-head{flex-direction:column}.mail-criteria-head .action-row{width:100%}.mail-criteria-head .action-row button{flex:1}.mail-criterion-row{grid-template-columns:minmax(92px,.8fr) minmax(145px,1.3fr) 42px}.mail-criterion-value{grid-column:1/3}.mail-criterion-row .mail-remove-criterion{grid-column:3;grid-row:1/3;align-self:stretch}.mail-criteria-builder{padding:10px}}


/* VetCRM v3.5.156 — canaux multiples et filtre des visites récentes */
.mail-channel-picker{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,1.5fr) minmax(300px,1.2fr);gap:12px;align-items:end;padding:13px 14px;border:1px solid #cbd8ea;border-radius:14px;background:#f8fbff}
.mail-channel-picker>div:first-child{display:flex;flex-direction:column;gap:3px}.mail-channel-picker small{color:#52647f;font-weight:400}.mail-channel-options{display:flex;gap:8px;flex-wrap:wrap}.mail-channel-options .mail-check{min-height:44px;padding:8px 12px;border:1px solid #d6e0ed;border-radius:11px;background:#fff;flex:1;min-width:125px}.mail-channel-picker>label{margin:0}.mail-table td:nth-child(6) small{display:block;color:#64748b;margin-top:2px}
@media(max-width:980px){.mail-channel-picker{grid-template-columns:1fr}.mail-channel-options .mail-check{flex:1 1 30%}}
@media(max-width:620px){.mail-channel-options{display:grid;grid-template-columns:1fr}.mail-channel-options .mail-check{width:100%}.mail-channel-picker{padding:10px}}

/* VetCRM v3.5.156 — calendrier semaine et congés */
.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;align-items:stretch}.week-day{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px;min-height:260px;display:flex;flex-direction:column;gap:7px}.week-day.is-today{box-shadow:inset 0 0 0 2px var(--blue)}.week-day>header{display:flex;justify-content:space-between;gap:8px;text-transform:capitalize;border-bottom:1px solid var(--line);padding-bottom:7px}.week-day>header span{color:var(--muted);font-size:.78rem}.week-day-events,.week-day-leaves{display:grid;gap:6px}.week-day-events{flex:1;align-content:start}.week-event{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border-left:5px solid var(--event-color);border-radius:8px;padding:8px;background:#f8fafc;font-weight:400}.week-event strong{font-size:.83rem}.week-event span,.week-event small{font-size:.76rem;color:var(--muted)}.week-add{width:100%;padding:7px;background:#eef2f7}.leave-calendar-badge{display:block;width:100%;text-align:left;justify-content:flex-start;border-radius:7px;padding:6px 8px;background:#dcfce7;color:#14532d;border-left:5px solid var(--leave-color);font-size:.76rem}.calendar-month-head,.calendar-month-row{display:grid;grid-template-columns:48px repeat(7,minmax(100px,1fr));gap:5px}.calendar-month-head>div{text-align:center;font-weight:700;color:var(--muted);padding:7px}.calendar-month-grid{display:grid;gap:5px;min-width:810px}.calendar-month-row .calendar-cell{min-height:115px}.calendar-week-number{display:flex;align-items:flex-start;justify-content:center;padding-top:10px;font-size:.75rem;font-weight:800;color:var(--muted);background:#e9eef5;border-radius:9px}.leave-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.leave-module{display:grid;gap:14px}.leave-list{display:grid;gap:9px}.leave-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-left:6px solid var(--leave-color);border-radius:12px;background:#fff}.leave-card>div:first-child{display:flex;flex-direction:column;gap:4px}.leave-card span,.leave-card small{color:var(--muted)}.leave-profile .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-month-grid{overflow:visible}.agenda-module #agendaContent{overflow-x:auto;padding-bottom:4px}

/* v3.5.156 — Cockpit : propositions issues des comptes rendus */
.cockpit-report-suggestions{margin-top:18px;padding-top:14px;border-top:1px solid var(--border,#d8e0ec)}
.cockpit-report-suggestions h3{margin:0 0 4px}
.cockpit-report-suggestions .cockpit-action-summary{cursor:default;text-align:left}

/* ===== SOURCE CONSOLIDÉE : vetcrm-android.css ===== */
/* VetCRM 3.4.34 — fiche terrain Android simplifiée */
html.p348-android-clinic .app-main{padding-bottom:92px}
html.p348-android-clinic .app-header .nav{display:none!important}
html.p348-android-clinic .app-header .header-actions{display:none!important}
html.p348-android-clinic .topbar{padding:8px 10px;gap:8px}
html.p348-android-clinic .brand{font-size:1.25rem}
html.p348-android-clinic .header-status{font-size:.78rem;min-width:0}
html.p348-android-clinic .clinic-editor>.module-head{position:static!important;padding:2px 0 8px;margin:0;background:transparent;display:block}
html.p348-android-clinic .clinic-editor>.module-head .action-row{display:none!important}
html.p348-android-clinic .clinic-editor>.module-head h1{font-size:1.35rem;margin:0 0 2px}
html.p348-android-clinic .clinic-editor>.module-head p{font-size:.72rem}
html.p348-android-clinic .editor-grid.p348-flat-grid{display:grid;grid-template-columns:1fr;gap:10px}
html.p348-android-clinic .editor-column.p348-empty-column{display:none}
html.p348-android-clinic .panel{padding:12px;border-radius:12px}
html.p348-android-clinic .panel h2{font-size:1.08rem;margin-bottom:9px}
html.p348-android-clinic .p348-essential-grid,
html.p348-android-clinic .p348-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
html.p348-android-clinic .p348-essential-grid .field:first-child,
html.p348-android-clinic .p348-essential-grid .field:has(#clinic-adresse),
html.p348-android-clinic .p348-essential-grid .field:has(#clinic-notes){grid-column:1/-1}
html.p348-android-clinic .field{gap:4px}
html.p348-android-clinic .field>span{font-size:.78rem}
html.p348-android-clinic input,
html.p348-android-clinic select,
html.p348-android-clinic textarea{padding:9px 10px;border-radius:9px}
html.p348-android-clinic textarea{min-height:74px}
html.p348-android-clinic details.p348-more{margin-top:9px;border-top:1px solid var(--line);padding-top:8px}
html.p348-android-clinic details.p348-more>summary,
html.p348-android-clinic details.p348-list-details>summary,
html.p348-android-clinic details.p348-machine-card>summary,
html.p348-android-clinic details.p348-danger-details>summary{cursor:pointer;font-weight:800;color:#334155;padding:7px 2px;list-style:none}
html.p348-android-clinic details.p348-more>summary::-webkit-details-marker,
html.p348-android-clinic details.p348-list-details>summary::-webkit-details-marker,
html.p348-android-clinic details.p348-machine-card>summary::-webkit-details-marker,
html.p348-android-clinic details.p348-danger-details>summary::-webkit-details-marker{display:none}
html.p348-android-clinic details.p348-more>summary::after,
html.p348-android-clinic details.p348-list-details>summary::after,
html.p348-android-clinic details.p348-machine-card>summary::after,
html.p348-android-clinic details.p348-danger-details>summary::after{content:'›';float:right;font-size:1.3rem;line-height:.8;transform:rotate(90deg)}
html.p348-android-clinic details[open]>summary::after{transform:rotate(-90deg)}
html.p348-android-clinic .section-head{align-items:center}
html.p348-android-clinic .section-head h2{margin:0}
html.p348-android-clinic .section-head button{padding:8px 11px;min-height:38px;font-size:.86rem}
html.p348-android-clinic .machine-summary{font-size:.82rem;padding:8px;margin:8px 0}
html.p348-android-clinic .machine-card{padding:0;margin-top:8px;overflow:hidden;background:#fff}
html.p348-android-clinic .p348-machine-summary{padding:11px 12px;background:#f8fafc;display:flex;flex-direction:column;gap:3px}
html.p348-android-clinic .p348-machine-summary strong{font-size:1rem}
html.p348-android-clinic .p348-machine-summary small{font-weight:600;color:var(--muted)}
html.p348-android-clinic .p348-machine-body{padding:10px 11px}
html.p348-android-clinic .p348-machine-body>.machine-title{display:none}
html.p348-android-clinic .machine-grid{grid-template-columns:1fr 1fr;gap:7px}
html.p348-android-clinic .machine-grid .field:has(.machine-model),
html.p348-android-clinic .machine-grid .field:has(.machine-serial){grid-column:1/-1}
html.p348-android-clinic .machine-grid .field:has(.machine-price){display:none!important}
html.p348-android-clinic .p348-danger-details{margin-top:8px;border-top:1px dashed var(--line);padding-top:4px}
html.p348-android-clinic .p348-danger-details .action-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:5px}
html.p348-android-clinic .p348-danger-details button{padding:9px 7px;font-size:.82rem}
html.p348-android-clinic .p348-list-details{margin-top:8px}
html.p348-android-clinic .p348-list-details .subrow{grid-template-columns:1fr 1fr 38px}
html.p348-android-clinic .p346-hours-panel .table-wrap{display:none}
html.p348-android-clinic .p346-hours-panel>label,
html.p348-android-clinic .p346-hours-panel>.p346-source-note{display:none}
html.p348-android-clinic .p348-collapsed-panel>.p348-panel-content{padding-top:8px}
html.p348-android-clinic .p348-bottom-bar{position:fixed;z-index:90;left:0;right:0;bottom:0;display:grid;grid-template-columns:.8fr 1fr 1.25fr;gap:7px;padding:8px max(9px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));background:rgba(255,255,255,.97);border-top:1px solid #cbd5e1;box-shadow:0 -6px 20px rgba(15,23,42,.12)}
html.p348-android-clinic .p348-bottom-bar button{min-width:0;min-height:46px;padding:8px 6px;font-size:.9rem;border-radius:10px}
html.p348-android-clinic .p348-bottom-bar .p348-add-material{background:#dbeafe;color:#1d4ed8}
.p348-material-modal .modal{max-width:560px;padding:15px}
.p348-material-modal h2{margin:0}
.p348-material-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.p348-material-grid .wide{grid-column:1/-1}
.p348-material-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;margin-top:4px}
.p348-material-hint{font-size:.8rem;color:var(--muted);margin:0}
@media(max-width:430px){
 html.p348-android-clinic .p348-essential-grid,
 html.p348-android-clinic .p348-advanced-grid,
 html.p348-android-clinic .machine-grid,
 .p348-material-grid{grid-template-columns:1fr}
 html.p348-android-clinic .p348-essential-grid .field,
 html.p348-android-clinic .p348-advanced-grid .field,
 html.p348-android-clinic .machine-grid .field,
 .p348-material-grid .wide{grid-column:1}
 html.p348-android-clinic .p348-bottom-bar{grid-template-columns:.72fr 1fr 1.18fr}
 html.p348-android-clinic .p348-bottom-bar button{font-size:.82rem}
}
/* VetCRM v3.5.13 — ergonomie Android tournée et agenda */
@media (max-width:760px){.p3513-route-summary,.p3513-route-save{align-items:stretch}.p3513-route-summary>.action-row,.p3513-route-save>button{width:100%}.p3513-route-summary>.action-row button,.p3513-route-save button{flex:1}.p3513-route-card{display:block}.p3513-route-actions{justify-content:stretch;margin-top:10px}.p3513-route-actions button{flex:1 1 44%;min-height:44px}.p3513-agenda-card{display:block}.p3513-agenda-card>.action-row{margin-top:10px;justify-content:stretch}.p3513-agenda-card>.action-row button{flex:1 1 44%;min-height:44px}.agenda-module>.module-head .action-row{width:100%}.agenda-module>.module-head .action-row button{flex:1 1 42%;min-height:42px}.p3513-google-modal,.p3513-outcome-modal{width:min(96vw,760px);max-height:92vh;overflow:auto}.p3513-route-save{bottom:70px}}

/* VetCRM v3.5.156 — agenda semaine et congés Android */
@media (max-width:760px){.week-toolbar{justify-content:space-between;flex-wrap:wrap}.week-toolbar strong{width:100%;text-align:center;order:-1}.week-calendar{display:grid;grid-template-columns:1fr;gap:9px}.week-day{min-height:0}.calendar-month-head,.calendar-month-row{grid-template-columns:38px repeat(7,minmax(92px,1fr))}.calendar-month-grid{min-width:720px}.leave-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-profile .form-grid{grid-template-columns:1fr}.leave-card{align-items:flex-start;flex-direction:column}.leave-card .action-row{width:100%}.leave-card .action-row button{flex:1}.agenda-module>.module-head .action-row #agendaLeave{order:4}}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3515.css ===== */
/* VetCRM v3.5.15 — tournée itinérante et Google Agenda */
.p3514-week-modal{width:min(1180px,96vw);max-width:1180px;max-height:94vh;overflow:auto}
.p3514-google-modal{width:min(820px,95vw);max-width:820px}
.p3514-manual-modal{width:min(760px,95vw);max-width:760px}
.p3514-week-settings{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:12px 0}
.p3514-week-settings label{display:grid;gap:5px;font-size:.82rem;font-weight:700;color:#475569}
.p3514-week-settings input{width:100%}
.p3514-week-settings .p3514-check{align-self:end;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}
.p3514-week-toolbar{position:sticky;top:-1px;z-index:8;padding:10px 0;background:var(--surface,#fff);border-bottom:1px solid #e2e8f0;flex-wrap:wrap}
.p3514-status{margin:8px 0 12px;padding:9px 12px;border-radius:10px;background:#eff6ff;color:#1e40af;font-weight:650}
.p3514-week-body{display:grid;gap:12px}
.p3514-day-card{border:1px solid #cbd5e1;border-radius:14px;background:#fff;overflow:hidden}
.p3514-day-card>header,.p3514-day-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:11px 13px;background:#f8fafc}
.p3514-day-card h3{margin:0;text-transform:capitalize;font-size:1.02rem}
.p3514-day-card header small,.p3514-day-card footer{color:#64748b}
.p3514-day-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}
.p3514-day-columns>div{display:grid;align-content:start;gap:8px;min-width:0}
.p3514-fixed,.p3514-suggestion{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;border:1px solid #dbe3ee;border-radius:10px;padding:9px;background:#fff}
.p3514-fixed{display:grid;grid-template-columns:auto 1fr auto;align-items:center}
.p3514-fixed span,.p3514-suggestion span{font-weight:750;color:#1d4ed8;white-space:nowrap}
.p3514-fixed b,.p3514-suggestion b{overflow-wrap:anywhere}
.p3514-fixed small{grid-column:2/4;color:#64748b;overflow-wrap:anywhere}
.p3514-fixed em{font-size:.72rem;font-style:normal;background:#e0f2fe;color:#075985;padding:3px 7px;border-radius:999px}
.p3514-fixed.is-google{border-color:#93c5fd;background:#eff6ff}
.p3514-suggestion{justify-content:space-between}
.p3514-suggestion>div:first-child{display:grid;gap:3px;min-width:0;flex:1}
.p3514-suggestion.is-validated{border-color:#86efac;background:#f0fdf4}
.p3514-suggestion.is-rejected{border-color:#fecaca;background:#fff7f7;opacity:.78}
.p3514-suggestion.is-pending{border-color:#fcd34d;background:#fffbeb}
.p3514-mini-actions{display:flex;gap:5px;flex-wrap:wrap}
.p3514-mini-actions button{padding:6px 8px;font-size:.78rem}
.p3514-route-week-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;border:1px solid #93c5fd;border-radius:12px;background:#eff6ff;margin-bottom:10px}
.p3514-route-week-head>div:first-child{display:grid;gap:3px}
.p3514-fixed-route{border-color:#60a5fa!important;background:#eff6ff!important}
.p3514-lock{display:inline-flex;padding:4px 9px;border-radius:999px;background:#dbeafe;color:#1e40af;font-size:.78rem;font-weight:750}
#vetcrmUpdateBanner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:99999;display:flex;align-items:center;gap:10px;max-width:min(720px,calc(100vw - 24px));padding:11px 13px;border-radius:12px;background:#0f172a;color:#fff;box-shadow:0 12px 36px rgba(15,23,42,.35)}
#vetcrmUpdateBanner button{background:#fff;color:#0f172a;border:0;border-radius:9px;padding:8px 11px;font-weight:800}
@media(max-width:900px){.p3514-week-settings{grid-template-columns:1fr 1fr}.p3514-day-columns{grid-template-columns:1fr}.p3514-fixed{grid-template-columns:auto 1fr auto}}
@media(max-width:560px){.p3514-week-modal{width:100vw;max-height:100vh;border-radius:0}.p3514-week-settings{grid-template-columns:1fr 1fr;gap:7px}.p3514-week-settings label:nth-child(2),.p3514-week-settings label:nth-child(3),.p3514-week-settings label:nth-child(8),.p3514-week-settings label:nth-child(9),.p3514-week-settings .p3514-check{grid-column:1/-1}.p3514-day-card>header{align-items:flex-start}.p3514-day-card>header .action-row{width:100%}.p3514-day-card>header button{flex:1}.p3514-suggestion{display:grid}.p3514-mini-actions{width:100%}.p3514-mini-actions button{flex:1}.p3514-fixed{grid-template-columns:1fr auto}.p3514-fixed span{grid-column:1/2}.p3514-fixed b{grid-column:1/2}.p3514-fixed small{grid-column:1/3}}

.p3515-trip-rule,.p3515-google-steps{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border:1px solid #93c5fd;border-radius:11px;background:#eff6ff;color:#1e3a8a}
.p3515-trip-rule span{font-size:.86rem}.p3515-google-steps code{flex:1;min-width:220px;padding:7px 9px;border-radius:8px;background:#fff;color:#0f172a;overflow-wrap:anywhere}
.p3515-trip-chain{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;padding:8px 13px;background:#f0fdf4;border-top:1px solid #bbf7d0;border-bottom:1px solid #bbf7d0;color:#166534;font-size:.84rem;font-weight:700}
.p3515-warnings{display:grid;gap:4px;margin:8px 12px;padding:9px 11px;border:1px solid #fdba74;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:.84rem}
.p3515-lunch-rule{display:grid!important;grid-template-columns:auto 1fr!important;border-color:#c4b5fd!important;background:#f5f3ff!important}.p3515-lunch-rule small{grid-column:1/-1!important;color:#6d28d9!important}.p3515-lunch-rule span{color:#6d28d9!important}
.p3515-lunch-card{border-color:#c4b5fd!important;background:#f5f3ff!important}.p3515-conflict{border-color:#fb923c!important;background:#fff7ed!important}
@media(max-width:560px){.p3515-google-steps{display:grid}.p3515-google-steps code{min-width:0;width:100%}.p3515-trip-chain{display:grid}}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3518.css ===== */
#p3513GoogleSettings{display:none!important}
/* VetCRM v3.5.17 — droits Google Agenda et nuitées */
html[data-vetcrm-google-admin="false"] #p3515GoogleSync,
html[data-vetcrm-google-admin="false"] #p3515GoogleSettings,
html[data-vetcrm-google-admin="false"] #p3514GoogleSync,
html[data-vetcrm-google-admin="false"] #p3514GoogleSettings,
html[data-vetcrm-google-admin="false"] [data-p3513-google-event]{display:none!important}
.p3517-google-note{display:inline-flex;align-items:center;padding:8px 10px;border-radius:9px;background:#eef2f7;color:#526075;font-size:.83rem}
.p3517-overnight-card,.p3517-route-night{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:12px;border:1px solid #a7d8c4;border-left:6px solid #138a5b;border-radius:12px;background:#f0fdf7}
.p3517-night-main,.p3517-route-night>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.p3517-night-main>span,.p3517-route-night span{color:#34564a}
.p3517-night-main>small{color:#5f716b}
.p3517-hotel-status{display:flex;flex-direction:column;gap:3px;margin-top:4px}
.p3517-hotel-ok{color:#166534;font-weight:700}.p3517-hotel-warn{color:#9a3412;font-weight:700}.p3517-hotel-pending{color:#64748b;font-weight:700}
.p3517-hotel-status small{color:#64748b}
@media(max-width:760px){.p3517-overnight-card,.p3517-route-night{align-items:stretch;flex-direction:column}.p3517-overnight-card>.action-row,.p3517-route-night>.action-row{width:100%}.p3517-overnight-card>.action-row button,.p3517-route-night>.action-row button{flex:1;min-height:44px}.p3517-google-note{width:100%}}

/* v3.5.18 — étapes quotidiennes et priorité ancienneté */
.p3518-steps{margin:10px 0;padding:10px 12px;border:1px solid #d7e2ef;border-radius:12px;background:#f8fbff}
.p3518-steps>strong{display:block;margin-bottom:7px}
.p3518-steps ol{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:0;padding:0}
.p3518-steps li{display:flex;gap:6px;align-items:center;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #dce5ef;font-size:.82rem}
.p3518-steps time{font-weight:700;color:#1d4ed8}
.p3518-steps .is-fixed{border-color:#93c5fd;background:#eff6ff}
.p3518-steps .is-visit{border-color:#86efac;background:#f0fdf4}
.p3518-steps .is-lunch{border-color:#fde68a;background:#fffbeb}
.p3518-recency{display:inline-block;margin-top:5px;padding:2px 7px;border-radius:999px;background:#e0f2fe;color:#075985;font-style:normal;font-size:.72rem;font-weight:700}
@media(max-width:720px){.p3518-steps ol{display:grid}.p3518-steps li{border-radius:9px}.p3514-week-settings{grid-template-columns:1fr}}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3521.css ===== */
/* VetCRM v3.5.23 — écran unique IA tournée compacte et productive */
#p3515WeekPlanner,[data-open-day]{display:none!important}
.p3521-route-module{max-width:1500px;margin:0 auto}
.p3521-planner-host{width:100%;min-width:0}
.p3521-inline-planner.modal-overlay{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  display:block!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  background:transparent!important;
}
.p3521-inline-planner .p3514-week-modal,
.p3521-inline-planner .modal{
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0!important;
  border:1px solid var(--line,#d6dfeb);
  border-radius:var(--radius,14px);
  box-shadow:none!important;
}
.p3521-inline-planner .section-head{align-items:flex-start}
.p3521-inline-planner .section-head>div{max-width:980px}
.p3521-inline-planner .section-head h2{font-size:1.35rem;margin:0 0 5px}
.p3521-single-screen-note{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0 0 12px;
  padding:11px 13px;
  border:1px solid #93c5fd;
  border-radius:11px;
  background:#eff6ff;
  color:#1e3a8a;
}
.p3521-single-screen-note span{color:#334155}
.p3520-date-range,.p3521-date-range{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr)!important;
  align-items:end!important;
  gap:12px!important;
  margin:14px 0!important;
  padding:14px!important;
  border:3px solid #2563eb!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#eff6ff,#f0fdfa)!important;
}
.p3520-date-range label,.p3521-date-range label{display:grid!important;gap:7px!important;font-weight:900!important;color:#1e3a8a!important}
.p3520-date-range label span,.p3521-date-range label span{display:block!important;font-size:1.05rem!important}
.p3520-date-range input,.p3521-date-range input{
  display:block!important;
  width:100%!important;
  min-height:50px!important;
  padding:10px 12px!important;
  background:#fff!important;
  border:2px solid #93c5fd!important;
  border-radius:10px!important;
  font-size:1rem!important;
  font-weight:900!important;
  color:#0f172a!important;
  opacity:1!important;
  visibility:visible!important;
}
.p3520-date-arrow{display:block;padding:0 4px 13px;font-size:1.7rem;font-weight:900;color:#2563eb}
.p3521-inline-planner .p3514-week-toolbar{position:sticky;top:112px;z-index:8;background:#fff;padding:9px 0;border-bottom:1px solid #e2e8f0}
.p3521-error{display:grid;gap:5px;border-color:#f59e0b;background:#fffbeb;color:#92400e}

@media(max-width:720px){
  .p3521-inline-planner .p3514-week-modal,.p3521-inline-planner .modal{border-radius:12px;padding:12px}
  .p3521-inline-planner .p3514-week-toolbar{position:static}
  .p3521-inline-planner .p3514-week-settings{grid-template-columns:1fr!important}
  .p3520-date-range,.p3521-date-range{grid-template-columns:1fr!important;gap:9px!important;position:relative!important;top:auto!important;z-index:auto!important}
  .p3520-date-arrow{display:none!important}
  .p3520-date-range input,.p3521-date-range input{min-height:54px!important}
}

@media print{
  .p3521-inline-planner.modal-overlay{display:block!important}
}


/* v3.5.23 — zone principale, étapes obligatoires et carte complète */
.p3522-trip-example{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;padding:12px 14px;border:1px solid #67e8f9;border-left:6px solid #0891b2;border-radius:12px;background:#ecfeff;color:#164e63}
.p3522-trip-example span{color:#334155;line-height:1.42}
.p3522-area-field,.p3522-via-field{border:1px solid #bfdbfe;border-radius:11px;padding:10px;background:#f8fbff}
.p3522-area-field small,.p3522-via-field small,.p3514-week-settings label small{display:block;margin-top:5px;color:#64748b;font-weight:500;line-height:1.3}
.p3522-trip-map-card{margin:14px 0 18px;padding:14px;border:1px solid #bfdbfe;border-radius:14px;background:#f8fbff}
.p3522-trip-map-card .section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.p3522-trip-map-card h3{margin:0 0 4px}.p3522-trip-map-card p{margin:0;color:#526075}
.p3522-trip-map{height:430px;min-height:300px;border:1px solid #cbd5e1;border-radius:13px;overflow:hidden;background:#eaf2f8;position:relative}
.p3522-trip-map svg{display:block;width:100%;height:100%}
.p3522-trip-map .leaflet-control-container{font-size:.82rem}
.p3522-map-empty{display:grid;place-items:center;height:100%;padding:24px;text-align:center;color:#64748b;font-weight:700}
.p3522-map-note{display:block;margin-top:8px;color:#64748b}
.p3518-steps .is-guide{border-color:#c4b5fd;background:#f5f3ff}
.p3514-day-card>header .action-row{flex-wrap:wrap}
@media(max-width:720px){
  .p3522-trip-map-card .section-head{display:grid}.p3522-trip-map-card .action-row button{width:100%}
  .p3522-trip-map{height:330px}.p3522-trip-example{font-size:.9rem}
  .p3522-area-field,.p3522-via-field{padding:9px}
}


/* v3.5.23 — indicateurs de productivité et kilomètres */
.p3523-trip-metrics{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.p3523-trip-metrics strong,.p3523-trip-metrics span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#e0f2fe;color:#0c4a6e;font-size:.84rem;font-weight:800}
.p3523-trip-metrics strong{background:#dcfce7;color:#166534}
.p3523-day-efficiency{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:8px 0 10px;padding:9px 11px;border:1px solid #86efac;border-radius:10px;background:#f0fdf4;color:#166534}
.p3523-day-efficiency span{color:#334155;font-size:.88rem;font-weight:700}
.p3514-suggestion em.p3518-recency{display:inline-flex;align-items:center;gap:4px}
@media(max-width:720px){.p3523-day-efficiency{display:grid}.p3523-trip-metrics{gap:5px}.p3523-trip-metrics strong,.p3523-trip-metrics span{font-size:.78rem}}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3524.css ===== */
.p3524-panel{border:2px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff 0,#fff 210px)}
.p3524-admin-only{background:#1d4ed8;color:#fff;border-radius:999px;padding:.35rem .65rem;font-weight:800;font-size:.78rem}
.p3524-counts{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}
.p3524-counts span{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:.55rem .7rem;display:flex;gap:.35rem;align-items:baseline}
.p3524-counts strong{font-size:1.15rem;color:#0f3d74}
.p3524-panel label small{display:block;color:#526174;margin-top:.25rem;font-weight:400}
.p3524-check{display:flex!important;gap:.55rem;align-items:flex-start;background:#f8fafc;border:1px solid #dbe4ef;border-radius:10px;padding:.7rem}
.p3524-check input{width:auto!important;margin-top:.15rem}
.p3524-status{white-space:pre-line;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:.75rem;margin-top:.8rem}
.p3524-google-attribution{text-align:right;color:#4b5563;font-size:.78rem;margin:.6rem 0 0}
.p3524-results{display:grid;gap:.7rem;max-height:65vh;overflow:auto;padding-right:.25rem}
.p3524-result{display:flex;justify-content:space-between;gap:1rem;border:1px solid #dbe4ef;border-left:6px solid #f59e0b;border-radius:12px;padding:.75rem;background:#fff}
.p3524-result>div:first-child{display:grid;gap:.15rem}.p3524-result span,.p3524-result small{display:block;color:#526174}
.p3524-result.p3524-ok{border-left-color:#16a34a}.p3524-result.p3524-bad{border-left-color:#dc2626}
.p3524-result-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.p3524-result-actions a{display:inline-block;padding:.45rem .65rem;border:1px solid #bfdbfe;border-radius:9px;text-decoration:none;font-weight:700}
@media(max-width:700px){.p3524-result{display:block}.p3524-result-actions{justify-content:flex-start;margin-top:.55rem}.p3524-counts{display:grid;grid-template-columns:1fr 1fr}.p3524-counts span{display:block}}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3525.css ===== */
.p3525-panel{border-color:#93c5fd;background:linear-gradient(180deg,#eff6ff,#fff)}
.p3525-admin-only{display:inline-flex;padding:4px 9px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.78rem;font-weight:800}
.p3525-check{display:flex!important;align-items:center;gap:9px}.p3525-check input{width:auto!important}
.p3525-status{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #cbd5e1;white-space:pre-wrap}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3560.css ===== */
/* VetCRM v3.5.60 */

.v3560-contacts-panel{grid-column:1/-1;width:100%;min-width:0}
.v3560-contact-section+ .v3560-contact-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line,#d5deea)}
.v3560-contact-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 8px}
.v3560-contact-head h3{margin:0}
.v3560-contact-columns,.v3560-contact-row{display:grid;grid-template-columns:minmax(170px,1.45fr) minmax(115px,.8fr) minmax(155px,1.1fr) minmax(120px,.8fr) minmax(115px,.8fr) minmax(92px,auto) 48px;gap:8px;align-items:center}
.v3560-contact-columns{padding:0 10px 5px;color:#52647a;font-size:.78rem;font-weight:800}
.v3560-contact-table{display:grid;gap:8px}
.v3560-contact-row{padding:10px;border:1px solid var(--line,#d5deea);border-radius:12px;background:var(--surface-soft,#f8fafc)}
.v3560-contact-cell{display:block;min-width:0;margin:0}
.v3560-contact-cell>span{display:none;font-size:.72rem;font-weight:800;color:#52647a;margin-bottom:4px}
.v3560-contact-row input,.v3560-contact-row select{min-width:0;width:100%;box-sizing:border-box}
.v3560-primary{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-weight:800;background:#e7eef7;border-radius:10px;padding:10px 8px;margin:0}
.v3560-primary input{width:auto;min-width:auto}
.v3560-delete-contact{min-width:42px;height:42px;padding:0;font-size:1.25rem}
.v3560-route-exclusion,.v3560-scope{display:flex;gap:10px;align-items:flex-start;border:1px solid #d5deea;border-radius:10px;padding:10px;margin-top:16px}
.v3560-route-exclusion span,.v3560-scope span{display:flex;flex-direction:column;gap:3px}
.v3560-route-exclusion small,.v3560-scope small{color:#65738a}
.v3560-route-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:7px 0}.v3560-route-type{display:flex;flex-direction:column;gap:3px;min-width:190px}.v3560-route-type span{font-size:.75rem;color:#65738a}.v3560-route-type select{padding:7px;border:1px solid #cbd6e4;border-radius:8px;background:#fff}.v3560-route-status{font-size:.78rem;font-weight:700;color:#31557e;background:#eaf2ff;padding:6px 8px;border-radius:999px}.v3560-google-state{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#eef7ff;border:1px solid #bddafa;border-radius:10px;padding:8px 10px;margin:0 0 12px}.v3560-google-state span{color:#52647a}.v3560-agenda-card .v3560-status-chip{display:inline-flex;width:max-content;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:800;background:#e8eef6}.v3560-agenda-card.is-confirmed .v3560-status-chip{background:#dcfce7;color:#166534}.v3560-agenda-card.is-prospecting .v3560-status-chip{background:#dbeafe;color:#1d4ed8}.v3560-agenda-card.is-to_confirm .v3560-status-chip{background:#fef3c7;color:#92400e}.v3560-agenda-card.is-cancelled{opacity:.7}.v3560-missing-address{color:#a33!important}.v3560-agenda-help{background:#eef7ff;border:1px solid #bddafa;border-radius:10px;padding:10px;margin-top:10px}.v3560-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.v3560-nearby-status{display:flex;flex-direction:column;gap:4px;background:#eef7ff;border:1px solid #bddafa;border-radius:10px;padding:10px;margin:12px 0}.v3560-nearby-results,.v3560-exclusion-list{display:grid;gap:8px;max-height:55vh;overflow:auto}.v3560-nearby-results article,.v3560-exclusion-list article{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #d5deea;border-radius:10px;padding:10px}.v3560-nearby-results article>div:first-child,.v3560-exclusion-list article>div:first-child{display:flex;flex-direction:column;gap:3px}.v3560-nearby-toast{position:fixed;right:14px;bottom:calc(82px + env(safe-area-inset-bottom,0px));z-index:4500;border:0;border-radius:999px;padding:12px 16px;background:#0f4d87;color:#fff;font-weight:800;box-shadow:0 8px 24px #0004}.v3560-agenda-modal,.v3560-nearby-modal,.v3560-exclusions-modal{width:min(900px,94vw)}
@media(max-width:900px){
.v3560-contact-columns{display:none}
.v3560-contact-row{grid-template-columns:1fr 1fr}
.v3560-contact-cell>span{display:block}
.v3560-contact-value-cell,.v3560-contact-person-cell{grid-column:1/-1}
.v3560-primary{justify-self:stretch}
.v3560-delete-contact{justify-self:end}
.v3560-nearby-results article,.v3560-exclusion-list article{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
.v3560-contact-head{align-items:stretch;flex-direction:column}
.v3560-contact-head button{width:100%}
.v3560-contact-row{grid-template-columns:1fr}
.v3560-contact-value-cell,.v3560-contact-person-cell{grid-column:auto}
.v3560-primary{justify-content:flex-start}
.v3560-delete-contact{width:100%;justify-self:stretch}
.v3560-route-controls{align-items:stretch;flex-direction:column}.v3560-route-type{min-width:0;width:100%}.v3560-route-type select{width:100%}.v3560-nearby-toast{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3561.css ===== */
/* VetCRM v3.5.61 */
.v3561-add-contact{display:inline-flex!important;padding:2px 7px!important;margin-left:6px!important;border:0!important;border-radius:8px!important;background:#e8f0ff!important;color:#174ea6!important;font-size:.78rem!important;font-weight:700!important;vertical-align:middle!important}
.v3561-contact-sentinel{display:none!important}
.v3561-extra-contacts{display:grid;gap:7px;margin:-3px 0 10px;padding:0 4px}
.v3561-extra-contact{display:grid;grid-template-columns:minmax(150px,1.6fr) minmax(105px,.8fr) minmax(120px,1fr) minmax(105px,.8fr) auto auto;gap:7px;align-items:center;padding:8px;border:1px solid var(--line,#d7dfeb);border-radius:10px;background:var(--surface-soft,#f8fafc)}
.v3561-extra-contact input,.v3561-extra-contact select{min-width:0;width:100%}
.v3561-extra-contact button{white-space:nowrap}
.v3561-analysis-help,.v3561-matrix-help{margin:10px 0;padding:10px 12px;border:1px solid #bfd4ff;border-radius:10px;background:#eef5ff;color:#173b70}
.v3561-matrix-overlay{z-index:9999}.v3561-matrix-modal{width:min(98vw,1400px);max-width:1400px;max-height:96vh;overflow:auto}
.v3561-matrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.86rem}
.v3561-matrix th,.v3561-matrix td{border-right:1px solid #dbe3ee;border-bottom:1px solid #dbe3ee;padding:8px;vertical-align:top;text-align:center;background:#fff}
.v3561-matrix thead th{position:sticky;top:0;z-index:2;background:#edf3fb}.v3561-matrix tbody th{position:sticky;left:0;z-index:1;text-align:left;background:#f8fafc;min-width:180px}.v3561-matrix tbody th small{display:block;font-weight:400;color:#65738a;margin-top:3px}
.v3561-matrix-check{display:flex;align-items:center;justify-content:center;gap:4px;margin:2px;white-space:nowrap}.v3561-matrix-check input{width:auto}
.v3561-self-cell,.v3561-admin-cell{display:inline-block;padding:5px 7px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:700;font-size:.76rem}.v3561-admin-cell{background:#e0e7ff;color:#3730a3}
.v3561-access-panel small{display:block;margin-top:8px;color:#65738a}
@media(max-width:760px){.v3561-extra-contact{grid-template-columns:1fr 1fr}.v3561-extra-contact .v3561-contact-value,.v3561-extra-contact .v3561-contact-person{grid-column:1/-1}.v3561-matrix-modal{width:99vw;margin:1vh auto;padding:10px}.v3561-matrix th,.v3561-matrix td{padding:6px}.v3561-matrix tbody th{min-width:145px}}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3564.css ===== */
/* VetCRM v3.5.111 — tournée IA départ-arrivée, Agenda et matériel */
.v3562-modal{width:min(1220px,97vw);max-height:97vh;overflow:auto}.v3562-profile{display:grid;grid-template-columns:minmax(210px,1fr) minmax(320px,2fr) auto;gap:10px;align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;padding:12px;margin:10px 0}.v3562-profile>div{display:flex;flex-direction:column;gap:3px}.v3562-profile small{color:#64748b}.v3562-settings{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px}.v3562-settings label{display:flex;flex-direction:column;gap:5px;font-weight:700}.v3562-settings input{width:100%}.v3562-rule{display:flex;gap:10px;align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:10px;margin:12px 0}.v3562-rule span{color:#345}.v3562-toolbar{position:sticky;top:-1px;z-index:4;background:#fff;padding:10px 0;border-bottom:1px solid #dbe4ee}.v3562-status{padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #dbe4ee;margin:10px 0;font-weight:700}.v3562-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #cbd5e1;border-radius:13px;background:#fff}.v3562-summary>div{display:flex;flex-direction:column;gap:3px}.v3562-map{height:360px;border:1px solid #cbd5e1;border-radius:14px;margin:10px 0;overflow:hidden;background:#eef5fb}.v3562-map-empty{display:grid;place-items:center;height:100%;color:#64748b}.v3562-day{border:1px solid #d5dee9;border-radius:15px;padding:12px;margin:12px 0;background:#fff}.v3562-day>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #e2e8f0;padding-bottom:10px}.v3562-day h3{margin:0 0 4px}.v3562-columns{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(390px,1.4fr);gap:14px;margin-top:12px}.v3562-fixed,.v3562-visit{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #dbe4ee;border-radius:11px;padding:10px;margin:8px 0}.v3562-fixed>span,.v3562-visit>div:first-child>span{font-weight:800;color:#1d4ed8}.v3562-fixed b,.v3562-fixed small,.v3562-visit>div:first-child{display:flex;flex-direction:column}.v3562-fixed em,.v3562-visit em{font-style:normal;font-size:.8rem;background:#e2e8f0;border-radius:999px;padding:4px 8px}.v3562-fixed.is-hotel{border-color:#a78bfa;background:#f5f3ff}.v3562-fixed.is-hotel em{background:#ddd6fe;color:#5b21b6}.v3562-visit.is-validated{border-color:#86efac;background:#f0fdf4}.v3562-visit.is-rejected{opacity:.55;background:#f8fafc}.v3562-actions{display:flex;gap:6px;flex-wrap:wrap}.v3562-visit-title{display:flex;justify-content:space-between;align-items:center}.v3562-day footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;border-top:1px solid #e2e8f0;padding-top:10px}.v3562-warnings{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;padding:9px;margin-top:9px}.v3562-warnings>div+div{margin-top:4px}
@media(max-width:900px){.v3562-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.v3562-profile{grid-template-columns:1fr}.v3562-columns{grid-template-columns:1fr}.v3562-day>header{flex-direction:column}.v3562-map{height:300px}}
@media(max-width:560px){.v3562-modal{width:100%;max-width:none;border-radius:0;padding:10px}.v3562-settings{grid-template-columns:1fr}.v3562-rule{align-items:flex-start;flex-direction:column}.v3562-summary,.v3562-fixed,.v3562-visit,.v3562-day footer{align-items:flex-start;flex-direction:column}.v3562-map{height:260px}.v3562-day header .action-row,.v3562-actions{width:100%}.v3562-day header button,.v3562-actions button{flex:1}}

.p3521-single-screen-note{display:none!important}
/* v3.5.64 — rappels non géographiques */
.v3562-fixed.is-remote{border-color:#facc15;background:#fffbeb}.v3562-fixed.is-remote em{background:#fef3c7;color:#854d0e}.p3521-single-screen-note{display:none!important}


.v3562-settings select{width:100%;min-height:38px}
.v3562-population-setting small{font-weight:500;color:#64748b}
.v3562-population-setting.is-disabled{opacity:.48}
.v3562-population-legend{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center;margin:11px 0;padding:10px 12px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1e3a8a}
.v3562-population-legend small{grid-column:2;color:#475569}
.v3562-summary small{color:#1d4ed8;font-weight:700}
@media(max-width:700px){.v3562-population-legend{grid-template-columns:1fr}.v3562-population-legend small{grid-column:1}}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3565.css ===== */
/* VetCRM v3.5.67 — Agenda Google et contrôle de base */
.v3565-agenda-fields{display:grid;gap:10px;margin:10px 0}.v3565-google-check{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:10px}.v3565-inline-status{padding:10px;border-radius:10px;background:#f1f5f9;color:#475569}.v3565-google-badge{display:inline-flex!important;width:max-content;margin-top:5px;padding:3px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:700}.v3565-google-badge.pending{background:#fef3c7;color:#92400e}.v3565-audit-summary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.v3565-audit-summary span{background:#f1f5f9;border:1px solid #dbe4ef;border-radius:10px;padding:9px 11px}.v3565-quality-panel hr{border:0;border-top:1px solid #dbe4ef;margin:18px 0}.v3565-comparison-overlay{z-index:10020}.v3565-comparison-modal{width:min(1120px,96vw);max-height:96vh;overflow:auto}.v3565-google-map{height:320px;border:1px solid #cbd5e1;border-radius:14px;margin:10px 0;background:#e2e8f0}.v3565-google-attribution{text-align:right;font-size:.8rem;color:#64748b;margin:-4px 4px 12px}.v3565-comparison-list{display:grid;gap:12px}.v3565-comparison{display:grid;grid-template-columns:1fr auto;gap:14px;border:1px solid #cbd5e1;border-left:5px solid #f59e0b;border-radius:14px;padding:14px}.v3565-comparison.v3565-ok{border-left-color:#16a34a}.v3565-comparison.v3565-bad{border-left-color:#dc2626}.v3565-comparison>div:first-child{display:flex;flex-direction:column;gap:6px}.v3565-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v3565-compare-grid>div{display:flex;flex-direction:column;gap:4px;background:#f8fafc;border-radius:10px;padding:10px}.v3565-comparison-actions{display:flex;flex-direction:column;gap:7px;min-width:150px}.v3565-comparison-actions a,.v3565-comparison-actions button{display:inline-flex;justify-content:center}.v3565-audit-list small{color:#9a3412}@media(max-width:760px){.v3565-comparison{grid-template-columns:1fr}.v3565-compare-grid{grid-template-columns:1fr}.v3565-comparison-actions{flex-direction:row;flex-wrap:wrap;min-width:0}.v3565-google-map{height:240px}}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3583.css ===== */
/* VetCRM v3.5.74 — bases cloisonnées et rôles explicites */
.v3574-spaces-panel{grid-column:1/-1}
.v3574-state{border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:800;background:#eef2f7;color:#475569}
.v3574-state.ok{background:#dcfce7;color:#166534}.v3574-state.offline{background:#fff7ed;color:#9a3412}
.v3574-current{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center;border:1px solid var(--line,#d6dfeb);border-radius:12px;padding:12px;margin:12px 0;background:#f8fafc}
.v3574-current span{color:#64748b}.v3574-current small{grid-column:2;color:#64748b;overflow-wrap:anywhere}
.v3574-base-list{display:grid;gap:8px;margin:10px 0 14px}
.v3574-base-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line,#d6dfeb);border-radius:11px;padding:10px;background:#fff}
.v3574-base-row.active{border-color:#2563eb;background:#eff6ff}.v3574-base-row>div{display:grid;gap:3px}.v3574-base-row small{color:#64748b;overflow-wrap:anywhere}
.v3574-create{border-top:1px solid var(--line,#d6dfeb);padding-top:12px}.v3574-create summary{cursor:pointer;font-weight:800;margin-bottom:12px}
.v3574-grid{align-items:end}.v3574-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.v3574-check input{width:auto!important}
.v3574-result{margin-top:10px;padding:10px;border-radius:9px;background:#f8fafc}.v3574-result.success{background:#ecfdf5;color:#166534}.v3574-result.error{background:#fef2f2;color:#991b1b}.v3574-result code{font-weight:800;user-select:all}
.v3574-scope-note{padding:12px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:11px}
.p347-admin-nav [hidden]{display:none!important}
@media(max-width:700px){.v3574-base-row{align-items:stretch;flex-direction:column}.v3574-current{grid-template-columns:1fr}.v3574-current small{grid-column:auto}}

.v3574-transfer{border-top:1px solid var(--line,#d6dfeb);padding-top:12px;margin-top:16px}
.v3574-transfer summary{cursor:pointer;font-weight:800;margin-bottom:10px}
.v3574-transfer-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.v3574-transfer-types label{display:flex;align-items:center;gap:7px;border:1px solid var(--line,#d6dfeb);border-radius:9px;padding:9px;background:#fff}
.v3574-transfer-types input{width:auto}
@media(max-width:700px){.v3574-transfer-types{grid-template-columns:1fr}}

.v3574-assignment{border-top:1px solid var(--line,#d6dfeb);padding-top:12px;margin-top:16px}
.v3574-assignment summary{cursor:pointer;font-weight:800;margin-bottom:10px}
.v3574-assignment-badge{display:inline-flex;align-items:center;border:1px solid #86efac;background:#ecfdf5;color:#166534;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800;margin-left:auto}
@media(max-width:700px){.v3574-assignment-badge{width:100%;border-radius:10px;margin:6px 0 0}}

.v3574-grid .v3574-check{display:flex;flex-direction:row;align-items:center;gap:8px;padding:9px 0}.v3574-grid .v3574-check input{width:auto}
/* v3.5.78 — création des bases stabilisée */
.v3578-role-cell{display:flex;flex-direction:column;gap:4px;min-width:210px}.v3578-role-cell select{width:100%;min-width:205px;padding:9px 34px 9px 10px;border:1px solid #b8c7dd;border-radius:10px;background:#fff;font:inherit;font-weight:750;color:#0b2d52}.v3578-role-cell select:focus{outline:3px solid rgba(37,99,235,.18);border-color:#2563eb}.v3578-role-cell select.is-saving{opacity:.65}.v3578-role-status{min-height:1em;font-size:.76rem;color:#64748b}.v3578-role-status.ok{color:#15803d}.v3578-role-status.error{color:#b91c1c}.v3578-owner-badge{background:#dbeafe;color:#1e3a8a}.p32-users-table td[data-label="Profil"]{vertical-align:middle}@media(max-width:760px){.v3578-role-cell,.v3578-role-cell select{min-width:0;width:100%}}

/* v3.5.83 — propriétaire multi-bases */
.v3583-all-bases-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px}.v3583-all-bases-head>div{display:grid;gap:2px}.v3583-all-bases-head small{color:#64748b}.v3583-workspace-switcher{display:flex;align-items:center;gap:6px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:10px;padding:5px 7px}.v3583-workspace-switcher span{font-size:.75rem;font-weight:800;color:#1e3a8a}.v3583-workspace-switcher select{max-width:220px;border:0;background:transparent;font:inherit;font-weight:800;color:#0b2d52;padding:5px}.v3583-open-created{margin-top:10px}.v3574-base-list:empty::after{content:'Aucune base trouvée';color:#64748b}
@media(max-width:760px){.v3583-all-bases-head{align-items:stretch;flex-direction:column}.v3583-workspace-switcher{width:100%;order:-1}.v3583-workspace-switcher select{max-width:none;width:100%}.header-actions{flex-wrap:wrap}}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v3599.css ===== */
/* VetCRM v3.5.100 — module direct Parc installé */
.v3594-installed-module{display:grid;gap:14px}.v3594-owner-chip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:800}.v3594-installed-panel{display:grid;gap:14px}.v3594-tools{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,.45fr) auto;gap:12px;align-items:end}.v3594-tools label,.v3594-import-controls label{display:grid;gap:5px;font-weight:700}.v3594-tools input,.v3594-tools select,.v3594-import-controls select{min-height:44px;border:1px solid #c9d6e5;border-radius:10px;padding:8px 11px;background:#fff}.v3594-summary{padding:12px 14px;border:1px solid #c9d6e5;border-radius:11px;background:#f8fafc}.v3594-summary.ok{background:#ecfdf5;border-color:#a7f3d0}.v3594-summary.warn{background:#fff7ed;border-color:#fed7aa}.v3594-selection{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.v3594-selection label{display:flex;gap:8px;align-items:center}.v3594-table td small{display:block;color:#64748b;margin-top:3px}.v3594-import{margin-top:8px;border-top:2px solid #dbe5f0;padding-top:16px}.v3594-import-controls{display:grid;grid-template-columns:minmax(260px,.6fr) 1fr;gap:12px;align-items:end}.v3594-import-result{margin-top:12px;padding:11px;border-radius:10px;background:#f8fafc;border:1px solid #cbd5e1}.v3594-import-result.ok{background:#ecfdf5;border-color:#86efac}.v3594-import-result.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}@media(max-width:850px){.v3594-tools,.v3594-import-controls{grid-template-columns:1fr}.v3594-table{min-width:920px}}

/* Google Agenda v3.5.96 */
.p3596-google-modal{max-width:820px}.p3596-google-connection{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;margin:12px 0}.p3596-google-connection.connected{background:#ecfdf5;border-color:#86efac}.p3596-google-dot{width:13px;height:13px;border-radius:50%;background:#94a3b8;flex:0 0 auto}.p3596-google-connection.connected .p3596-google-dot{background:#16a34a}.p3596-google-connection div{display:grid;gap:3px}.p3596-google-connection small{color:#64748b}.p3596-google-connect-actions{margin-bottom:14px}.p3596-google-settings{margin-top:8px}

/* v3.5.100 — agenda futur par défaut */
.v3599-agenda-history{display:flex;justify-content:flex-end;margin:0 0 10px}.v3599-agenda-history button{font-size:.9rem}.v3560-agenda-card [data-v3599-open-clinic]{white-space:nowrap}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v35125.css ===== */
/* VetCRM v3.5.125 — Mode voiture sur téléphone */
.car-module{max-width:1180px;margin:0 auto}.car-settings{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.car-settings label{display:grid;gap:6px;font-weight:700}.car-settings select{min-width:190px}.car-check{grid-template-columns:auto 1fr!important;align-items:center!important}.car-next{background:#0f1b34;color:#fff;border-radius:18px;padding:20px;margin:14px 0;display:grid;gap:8px}.car-next>span{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#93c5fd}.car-next>strong{font-size:1.35rem}.car-next>small{font-size:1rem;color:#dbeafe}.car-next button:not(.primary){background:#e5edf8;color:#10203a}.car-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.car-toolbar span{font-weight:700}.car-list{display:grid;gap:12px}.car-stop{display:grid;grid-template-columns:54px minmax(0,1fr) minmax(180px,240px);gap:14px;align-items:center;border:1px solid #d7e2ef;border-radius:16px;background:#fff;padding:14px}.car-stop.is-late{border-color:#ef4444;background:#fff7f7}.car-stop.is-skipped{opacity:.58}.car-stop-order{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#eaf2ff;color:#174ea6;font-size:1.1rem;font-weight:900}.car-stop-main h2{font-size:1.13rem;margin:3px 0}.car-stop-main p{margin:3px 0}.car-stop-time{font-weight:900;color:#1d4ed8}.car-stop.is-late .car-stop-time{color:#b91c1c}.car-address{color:#475569}.car-stop-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.car-stop-actions .primary{grid-column:1/-1}.car-stop-actions .button-like{display:flex;align-items:center;justify-content:center;text-decoration:none}.car-chip{display:inline-block;border-radius:999px;padding:4px 9px;background:#dcfce7;color:#166534;font-size:.78rem;font-weight:800;margin:5px 6px 0 0}.car-chip.muted{background:#e2e8f0;color:#475569}.car-safety{margin-top:16px;background:#fffbea}.car-loading{padding:24px;font-weight:700}@media(max-width:760px){.car-module{padding-bottom:96px}.car-module .module-head{align-items:flex-start}.car-stop{grid-template-columns:42px minmax(0,1fr)}.car-stop-order{width:38px;height:38px}.car-stop-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.car-stop-actions button,.car-stop-actions .button-like{min-height:50px;font-size:1rem}.car-next .action-row{display:grid;grid-template-columns:1fr}.car-next button{min-height:52px}.car-toolbar{display:grid;grid-template-columns:1fr}.car-toolbar button{min-height:48px}}

/* ===== SOURCE CONSOLIDÉE : vetcrm-v35126.css ===== */
/* VetCRM v3.5.130 — bilan d’activité */
.v35126-activity .module-head{align-items:flex-start}
.v35126-filters .form-grid{align-items:end}
.v35126-period-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:end;grid-column:span 2}
.v35126-metrics{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.v35126-metric{min-height:104px}
.v35126-metric strong{font-size:1.45rem;line-height:1.05}
.v35126-metric small{display:block;margin-top:5px;color:var(--muted);font-size:.76rem}
.v35126-rule{border-left:5px solid #16a34a;background:#f0fdf4}
.v35126-rule p{margin:.4rem 0 0;color:#365445}
.v35126-warning{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-left:5px solid #d97706;background:#fffbeb}
.v35126-warning span{flex:1;min-width:220px;color:#78520d}
.v35126-ratios{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-top:12px}
.v35126-ratios>div{display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft,#f8fafc)}
.v35126-ratios strong{font-size:1.3rem}.v35126-ratios span{font-size:.8rem;color:var(--muted)}
.v35126-types{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.v35126-type-chip{padding:7px 10px;border-radius:999px;background:#eef2ff;color:#27336d;font-size:.82rem}
.v35126-table td small{display:block;margin-top:4px;color:var(--muted);max-width:300px}
.v35126-table td strong{white-space:nowrap}
.v35126-entry-help{margin-top:10px;padding:10px 12px;border-radius:10px;background:#eff6ff;color:#1e3a5f;font-size:.85rem}
@media(max-width:900px){
 .v35126-ratios{grid-template-columns:repeat(2,minmax(120px,1fr))}
 .v35126-period-actions{grid-column:1/-1}
}
@media(max-width:620px){
 .v35126-activity .module-head .action-row{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .v35126-activity .module-head .action-row .primary{grid-column:1/-1}
 .v35126-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .v35126-metric{min-height:96px;padding:12px}.v35126-metric strong{font-size:1.15rem}
 .v35126-ratios{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v35126-filters .form-grid{grid-template-columns:1fr 1fr}
 .v35126-period-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .v35126-period-actions .primary{grid-column:1/-1}
 .v35126-warning{align-items:flex-start}
}
@media print{
 .v35126-activity .module-head .action-row,.v35126-filters,.v35126-warning button,.v35126-table th:last-child,.v35126-table td:last-child{display:none!important}
 .v35126-activity .panel{break-inside:avoid}
 .v35126-table{font-size:9pt}
}

/* ===== SOURCE CONSOLIDÉE : vetcrm-devis.css ===== */
/* VetCRM v3.5.156 — moteur Devis canonique unique */
.vd-module{display:grid;gap:14px}.vd-head{align-items:flex-start}.vd-catalog-status,.vd-rule-note{padding:10px 12px;border:1px solid #cbdcf3;border-radius:12px;background:#eef6ff;color:#173b68}.vd-catalog-error{padding:16px;border:1px solid #f2c8c8;border-radius:14px;background:#fff7f7;color:#8b1e1e}.vd-machine-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end}.vd-machine-row label{display:grid;gap:6px}.vd-compatible-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.vd-compatible-grid>div{min-width:0;padding:12px;border:1px solid #d7e0ec;border-radius:14px;background:#fbfdff}.vd-compatible-grid h3{margin:0 0 10px}.vd-product-list{display:grid;gap:8px;max-height:360px;overflow:auto}.vd-product-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #dce4ef;border-radius:10px;background:#fff}.vd-product-card>div{display:grid;gap:2px;min-width:0}.vd-product-card strong,.vd-product-card small{overflow-wrap:anywhere}.vd-product-card small{color:#64748b}.vd-table-wrap{overflow:auto}.vd-lines{min-width:850px}.vd-lines input{min-width:82px;width:100%;box-sizing:border-box}.vd-lines td:first-child input{min-width:220px}.vd-lines td:nth-child(2) input{min-width:130px}.vd-remove-line{min-width:38px;font-size:1.1rem}.vd-empty-row td{text-align:center;color:#64748b;padding:22px}.vd-hidden-cell{display:none}.vd-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vd-totals .metric{padding:12px;border:1px solid #d8e1ed;border-radius:12px;background:#fff}.vd-totals .metric span,.vd-totals .metric strong{display:block}.vd-totals .metric span{color:#64748b;font-size:.86rem}.vd-totals .metric strong{margin-top:5px;font-size:1.1rem}.vd-quote-card small{display:block;margin-top:4px}.vd-summary-panel .form-grid{align-items:end}
@media(max-width:850px){.vd-head,.vd-head .action-row{width:100%}.vd-head{display:grid;gap:10px}.vd-head .action-row{display:grid;grid-template-columns:repeat(3,1fr)}.vd-machine-row{grid-template-columns:1fr}.vd-compatible-grid{grid-template-columns:1fr}.vd-totals{grid-template-columns:1fr}.vd-product-list{max-height:none}.vd-lines{min-width:690px}.vd-summary-panel .form-grid{grid-template-columns:1fr}.vd-rule-note{font-size:.9rem}}
/* v3.5.133 — diagnostic et récupération du catalogue */
.vd-catalog-diagnostic{margin-top:12px}.vd-catalog-diagnostic summary{cursor:pointer;font-weight:700}.vd-catalog-diagnostic pre{max-height:220px;overflow:auto;white-space:pre-wrap;background:#fff;border:1px solid #d8dee8;border-radius:10px;padding:10px;font-size:.78rem}.vd-catalog-error .button-like{display:inline-flex;align-items:center}.vd-catalog-error .button-like input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}

/* v3.5.133 — sélection progressive des sondes, licences et options */
.vd-machine-row{grid-template-columns:1fr}.vd-machine-row small,.vd-product-select small{display:block;margin-top:5px;color:#64748b;font-weight:400}.vd-product-select{display:grid;gap:5px}.vd-product-select select,.vd-extra-machine-row select{width:100%;min-width:0}.vd-all-selected{margin:0;padding:10px 12px;border-radius:10px;background:#eef9f1;color:#166534}.vd-extra-machine{margin-top:12px;border-top:1px solid #d7e0ec;padding-top:10px}.vd-extra-machine summary{cursor:pointer;font-weight:700;color:#334155}.vd-extra-machine-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:10px}
@media(max-width:850px){.vd-extra-machine-row{grid-template-columns:1fr}.vd-extra-machine-row button{width:100%}.vd-product-select select{min-height:46px}}

/* v3.5.133 — devis Android fluide : aucune remontée après sélection */
.vd-quick-panel{scroll-margin-top:12px}
.vd-selected-products{margin-top:12px;padding:10px 12px;border:1px solid #d7e0ec;border-radius:12px;background:#f8fbff}
.vd-selected-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.vd-selected-head span{font-size:.82rem;color:#64748b}
.vd-selected-chips{display:flex;flex-wrap:wrap;gap:7px}
.vd-selected-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 7px 6px 10px;border:1px solid #cbd8e8;border-radius:999px;background:#fff}
.vd-selected-chip>span{display:grid;min-width:0;line-height:1.05}
.vd-selected-chip small{font-size:.68rem;color:#64748b}
.vd-selected-chip strong{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}
.vd-selected-chip button{display:grid;place-items:center;min-width:28px;width:28px;height:28px;padding:0;border-radius:50%;font-size:1.1rem;line-height:1}
.vd-selected-empty{margin:0}
.vd-collapsible>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0}
.vd-collapsible>summary::-webkit-details-marker{display:none}
.vd-collapsible>summary>span{display:grid;gap:3px}
.vd-collapsible>summary small{color:#64748b;font-weight:400}
.vd-collapsible>summary::after{content:'▾';font-size:1rem;color:#475569;transition:transform .15s ease}
.vd-collapsible:not([open])>summary::after{transform:rotate(-90deg)}
.vd-collapsible-body{margin-top:12px}
.vd-mobile-actions{display:none}

@media(max-width:850px){
  .vd-module{gap:8px;padding-bottom:12px}
  .vd-head{gap:4px}
  .vd-head>div:first-child p{display:none}
  .vd-head .action-row{display:none}
  .vd-head h1{font-size:1.35rem;margin:0}
  .vd-quick-panel{padding:10px;border-radius:12px}
  .vd-quick-panel .section-head{margin-bottom:8px}
  .vd-quick-panel .section-head h2{font-size:1.18rem;margin:0}
  .vd-quick-panel .section-head p{font-size:.82rem;line-height:1.25;margin-top:3px}
  .vd-machine-row small,.vd-product-select small{display:none}
  .vd-compatible-grid{gap:8px;margin-top:8px}
  .vd-compatible-grid>div{padding:8px;border-radius:10px}
  .vd-compatible-grid h3{margin:0 0 5px;font-size:.96rem}
  .vd-product-select select,.vd-machine-row select{min-height:44px;font-size:16px}
  .vd-selected-products{margin-top:8px;padding:8px}
  .vd-selected-head{margin-bottom:6px}
  .vd-selected-chips{display:grid;grid-template-columns:1fr;gap:5px}
  .vd-selected-chip{width:100%;box-sizing:border-box;border-radius:10px;padding:5px 6px 5px 9px}
  .vd-selected-chip>span{flex:1}
  .vd-selected-chip strong{max-width:none;white-space:normal;line-height:1.15}
  .vd-summary-panel,.vd-lines-panel{padding:10px 12px;border-radius:12px}
  .vd-collapsible>summary{min-height:38px}
  .vd-collapsible>summary strong{font-size:.98rem}
  .vd-collapsible>summary small{font-size:.78rem}
  .vd-collapsible-body{margin-top:8px}
  .vd-summary-panel .form-grid{gap:8px}
  .vd-summary-panel .form-grid label{gap:3px}
  .vd-lines-panel .section-head p{margin:0;font-size:.82rem}
  .vd-totals{grid-template-columns:1fr;margin-bottom:64px}
  .vd-totals .metric{padding:9px 10px}
  .vd-mobile-actions{position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:1200;display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:7px;padding:7px;border:1px solid #cbd5e1;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(15,23,42,.22);backdrop-filter:blur(8px)}
  .vd-mobile-actions button{min-height:44px;padding:8px 6px}
}

/* v3.5.140 — tableaux de choix visibles, quantités et remises multiples */
.vd-compatible-grid{align-items:start}
.vd-choice-table-wrap,.vd-selected-table-wrap{width:100%;overflow:visible}
.vd-choice-table,.vd-selected-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}
.vd-choice-table th,.vd-choice-table td,.vd-selected-table th,.vd-selected-table td{padding:7px 6px;border-bottom:1px solid #e2e8f0;vertical-align:middle;text-align:left;overflow-wrap:anywhere}
.vd-choice-table th,.vd-selected-table th{font-size:.76rem;color:#64748b;background:#f8fafc}
.vd-choice-table th:nth-child(1){width:43%}.vd-choice-table th:nth-child(2){width:25%}.vd-choice-table th:nth-child(3){width:20%}.vd-choice-table th:nth-child(4){width:12%}
.vd-choice-table td:nth-child(3){white-space:nowrap}.vd-choice-table td:last-child{text-align:right}
.vd-choice-table strong,.vd-choice-table small{display:block}.vd-choice-table small{margin-top:2px;color:#64748b;font-size:.7rem}
.vd-choice-table button{min-height:34px;padding:5px 9px;white-space:nowrap}
.vd-choice-note{display:block;margin-top:7px;color:#64748b}
.vd-selected-products{padding:10px}
.vd-selected-table th:nth-child(1){width:42%}.vd-selected-table th:nth-child(2){width:10%}.vd-selected-table th:nth-child(3){width:22%}.vd-selected-table th:nth-child(4){width:18%}.vd-selected-table th:nth-child(5){width:8%}
.vd-selected-table td:first-child small,.vd-selected-table td:first-child strong{display:block}.vd-selected-table td:first-child small{font-size:.7rem;color:#64748b;margin-bottom:2px}
.vd-selected-table input,.vd-selected-table select{width:100%;min-width:0;box-sizing:border-box}
.vd-selected-table .vd-quick-qty{max-width:74px}
.vd-selected-table td:nth-child(4){white-space:nowrap}
.vd-discount-control{display:grid;grid-template-columns:62px minmax(70px,1fr);gap:5px;align-items:center}
.vd-discount-control select,.vd-discount-control input{width:100%;min-width:0;box-sizing:border-box}
.vd-lines{width:100%;min-width:0;table-layout:fixed}
.vd-lines th:nth-child(1){width:24%}.vd-lines th:nth-child(2){width:14%}.vd-lines th:nth-child(3){width:8%}.vd-lines th:nth-child(4){width:12%}.vd-lines th:nth-child(5){width:17%}.vd-lines th:nth-last-child(2){width:13%}.vd-lines th:last-child{width:6%}
.vd-lines td:first-child input{min-width:0}.vd-lines input,.vd-lines select{min-width:0}
.vd-line-total{font-weight:700;white-space:nowrap}
.vd-discounts-panel .section-head{align-items:flex-start}
.vd-discounts-panel .section-head h2{margin:0 0 4px}.vd-discounts-panel .section-head p{margin:0;color:#64748b}
#vd-global-discounts{display:grid;gap:8px;margin-top:12px}
.vd-global-discount-row{display:grid;grid-template-columns:minmax(180px,1fr) 76px minmax(90px,130px) minmax(110px,140px) 42px;gap:8px;align-items:center;padding:8px;border:1px solid #d7e0ec;border-radius:10px;background:#fbfdff}
.vd-global-discount-row input,.vd-global-discount-row select{width:100%;min-width:0;box-sizing:border-box}
.vd-global-discount-preview{font-weight:700;text-align:right;white-space:nowrap}
.vd-no-global-discount{margin:0;padding:8px 0}
.vd-totals{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

@media(max-width:850px){
  .vd-compatible-grid{display:grid;grid-template-columns:1fr;gap:8px}
  .vd-compatible-grid>div{overflow:visible}
  .vd-choice-table{font-size:.78rem}
  .vd-choice-table th,.vd-choice-table td{padding:6px 4px}
  .vd-choice-table th:nth-child(1){width:42%}.vd-choice-table th:nth-child(2){width:25%}.vd-choice-table th:nth-child(3){width:20%}.vd-choice-table th:nth-child(4){width:13%}
  .vd-choice-table button{min-height:32px;padding:4px 6px;font-size:.75rem}
  .vd-selected-table thead{display:none}
  .vd-selected-table,.vd-selected-table tbody{display:block}
  .vd-selected-table tr{display:grid;grid-template-columns:minmax(0,1fr) 72px 116px 42px;gap:6px;align-items:center;padding:7px 0;border-bottom:1px solid #e2e8f0}
  .vd-selected-table td{display:block;padding:0;border:0;min-width:0}
  .vd-selected-table td:first-child{grid-column:1/-1}
  .vd-selected-table td:nth-child(4){text-align:right}
  .vd-selected-table td::before{content:attr(data-label);display:block;margin-bottom:2px;color:#64748b;font-size:.66rem;font-weight:600}
  .vd-selected-table td:first-child::before,.vd-selected-table td:last-child::before{display:none}
  .vd-selected-table .vd-quick-qty{max-width:none;min-height:38px;font-size:16px}
  .vd-selected-table .vd-discount-control{grid-template-columns:48px 1fr}
  .vd-selected-table select,.vd-selected-table input{min-height:38px;font-size:16px}
  .vd-selected-table button{width:38px;height:38px;padding:0}
  .vd-table-wrap{overflow:visible}
  .vd-lines,.vd-lines tbody{display:block;width:100%;min-width:0}
  .vd-lines thead{display:none}
  .vd-lines tr[data-vd-line]{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:9px 0;border-bottom:1px solid #d8e1ed}
  .vd-lines tr[data-vd-line] td{display:block;padding:0;border:0;min-width:0}
  .vd-lines tr[data-vd-line] td::before{content:attr(data-label);display:block;margin-bottom:2px;color:#64748b;font-size:.68rem;font-weight:700}
  .vd-lines tr[data-vd-line] td:first-child,.vd-lines tr[data-vd-line] td:nth-child(2){grid-column:1/-1}
  .vd-lines tr[data-vd-line] td:last-child{display:flex;justify-content:flex-end;align-items:end}
  .vd-lines input,.vd-lines select{width:100%;min-height:40px;font-size:16px;box-sizing:border-box}
  .vd-lines .vd-hidden-cell{display:none!important}
  .vd-lines .vd-remove-line{width:42px;height:40px;padding:0}
  .vd-empty-row{display:block}.vd-empty-row td{display:block!important}
  .vd-global-discount-row{grid-template-columns:minmax(0,1fr) 58px 92px 42px;gap:6px;padding:7px}
  .vd-global-discount-row .vd-global-discount-label{grid-column:1/-1}
  .vd-global-discount-preview{font-size:.84rem;text-align:left}
  .vd-global-discount-row input,.vd-global-discount-row select{min-height:40px;font-size:16px}
  .vd-discounts-panel{padding:10px 12px}
  .vd-discounts-panel .section-head{display:grid;gap:8px}
  .vd-discounts-panel .section-head button{width:100%}
  .vd-totals{grid-template-columns:1fr 1fr;margin-bottom:64px}
}


/* v3.5.140 — choix par ligne entière, sans référence dans les tableaux de sélection */
.vd-choice-table th:nth-child(1){width:auto}.vd-choice-table th:nth-child(2){width:118px;text-align:right}
.vd-choice-table td:nth-child(2){white-space:nowrap;text-align:right;font-weight:700}
.vd-choice-row{cursor:pointer;transition:background .12s ease,box-shadow .12s ease}
.vd-choice-row:hover,.vd-choice-row:focus-visible{background:#eaf3ff;outline:2px solid #2563eb;outline-offset:-2px}
.vd-choice-row:active{background:#dbeafe}
.vd-choice-help,.vd-choice-note{display:block;margin-top:7px;color:#64748b;font-size:.76rem}
.vd-pdf-overlay{position:fixed;inset:0;z-index:190000;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.72)}
.vd-pdf-card{width:min(500px,100%);padding:22px;border:1px solid #cbd5e1;border-radius:16px;background:#fff;color:#0f172a;text-align:center}
.vd-pdf-card .action-row{justify-content:center;margin-top:16px}.vd-pdf-card a{display:inline-flex;align-items:center;text-decoration:none}
@media(max-width:850px){
 .vd-choice-table{font-size:.86rem}.vd-choice-table th,.vd-choice-table td{padding:10px 8px}
 .vd-choice-table th:nth-child(2){width:104px}.vd-choice-row{min-height:46px}
 .vd-choice-help{font-size:.72rem}
}


/* v3.5.140 — recherche client identique au CRM */
.vd-client-search-block{grid-column:1/-1;display:grid;gap:7px}
.vd-field-label{font-weight:700}
.vd-client-searchbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px}
.vd-client-searchbar input{min-width:0}
.vd-client-selected-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid #9fb8d6;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#edf5fd)}
.vd-client-selected-main{display:grid;gap:8px;min-width:0;flex:1}
.vd-client-selected-title,.vd-client-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.vd-client-selected-title>div:first-child,.vd-client-result-identity{display:grid;gap:2px;min-width:0}
.vd-client-selected-title strong,.vd-client-result-identity strong{font-size:1rem;color:#10203c}
.vd-client-selected-title small,.vd-client-result-identity small{color:#52667e;font-size:.82rem;overflow-wrap:anywhere}
.vd-client-selected-card button{min-width:38px;width:38px;height:38px;padding:0}
.vd-client-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:9px;max-height:430px;overflow:auto;padding:10px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;box-shadow:0 10px 24px rgba(15,23,42,.12)}
.vd-client-result-summary{grid-column:1/-1;padding:3px 5px;color:#52667e;font-size:.82rem;font-weight:700}
.vd-client-result{display:grid;align-content:start;gap:8px;width:100%;min-height:142px;padding:13px 14px;border:1px solid #d5e0ed;border-radius:13px;background:#fff;color:#0f172a;text-align:left;box-shadow:0 2px 7px rgba(15,23,42,.05)}
.vd-client-result:hover,.vd-client-result:focus-visible{border-color:#2563eb;background:#eef6ff;outline:2px solid #2563eb;outline-offset:-2px;transform:translateY(-1px)}
.vd-client-badges{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.vd-client-badge,.vd-client-result-head em{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#e7eef7;color:#274667;font-size:.72rem;font-weight:800;font-style:normal;white-space:nowrap}
.vd-client-badge.is-pegas{background:#b0145d;color:#fff}
.vd-client-result-head em{background:#fef3c7;color:#92400e}
.vd-client-location{color:#40556e;font-size:.88rem;overflow-wrap:anywhere}
.vd-client-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}
.vd-client-contact-grid>span{display:grid;gap:1px;min-width:0;padding:7px 9px;border-radius:9px;background:#f3f7fb;color:#18324f;font-size:.84rem;overflow-wrap:anywhere}
.vd-client-contact-grid b{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:#60758e}
.vd-client-contact-grid small{color:#64748b;font-size:.75rem}
.vd-client-contact-grid .is-missing,.vd-client-location.is-missing{color:#8a97a7;font-style:italic}
.vd-client-equipment{padding-top:2px;color:#40556e;font-size:.82rem;overflow-wrap:anywhere}
.vd-client-agreement{padding:8px 10px;border-radius:9px;background:#f7dbea;color:#841047;font-size:.82rem;font-weight:800}
.vd-client-result.is-hidden{background:#fffaf0}
@media(max-width:850px){
 .vd-client-searchbar{grid-template-columns:1fr 1fr}
 .vd-client-searchbar input{grid-column:1/-1;min-height:44px;font-size:16px}
 .vd-client-searchbar button{min-height:42px;padding:7px}
 .vd-client-results{grid-template-columns:1fr;max-height:none;padding:6px}
 .vd-client-result{min-height:auto;padding:11px}
 .vd-client-selected-title,.vd-client-result-head{display:grid;gap:7px}
 .vd-client-badges{justify-content:flex-start}
 .vd-client-contact-grid{grid-template-columns:1fr}
}

.vd-cost-source-note{margin:-6px 4px 0;color:#52667e;font-size:.78rem}


/* v3.5.140 — devis rapide, aucune identité vendeur dans l'éditeur */
.vd-module .vd-quick-panel{margin-top:0}
.vd-module .vd-head p{margin:.15rem 0 0}
.vd-module .vd-compatible-grid{align-items:start}
.vd-module .vd-choice-table-wrap{max-height:none;overflow:visible}
html[data-device="android"] .vd-module .vd-head>div:first-child p{display:none}
html[data-device="android"] .vd-module .vd-head{position:sticky;top:0;z-index:9;background:var(--surface,#fff);padding:.45rem .55rem;border-bottom:1px solid #dbe3ee}
html[data-device="android"] .vd-module .vd-head .action-row{display:none}
html[data-device="android"] .vd-module .vd-totals{grid-template-columns:repeat(3,minmax(0,1fr))}
html[data-device="android"] .vd-module .vd-totals .metric{padding:.55rem}
html[data-device="android"] .vd-module .vd-totals .metric span{font-size:.76rem}
html[data-device="android"] .vd-module .vd-totals .metric strong{font-size:.95rem}
body.congress-mode .vd-module .vd-cost-source-note,
body.mode-congres .vd-module .vd-cost-source-note,
html[data-congress="true"] .vd-module .vd-cost-source-note{display:none!important}

/* v3.5.140 — devis types, logo ponctuel, accords et marge du Calculateur VET */
.vd-template-panel,.vd-template-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.vd-template-panel>div{display:grid;gap:2px;margin-right:auto}.vd-template-panel small{color:#64748b}
.vd-template-panel select,.vd-template-toolbar select{min-width:min(360px,100%)}
.vd-template-toolbar label{display:grid;gap:5px;flex:1;min-width:240px}
.vd-quote-logo-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px}
.vd-quote-logo-tools .button-like{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;cursor:pointer;font-weight:700}
.vd-quote-logo-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#475569;font-size:.82rem}
.vd-agreement-notice{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px;padding:7px 9px;border:1px solid #bfdbfe;border-radius:9px;background:#eff6ff;color:#1e3a8a;font-size:.78rem}
.vd-agreement-notice.muted{border-color:#e2e8f0;background:#f8fafc;color:#64748b}
.vd-margin-rule{border-width:2px}.vd-margin-rule.ok{border-color:#86efac;background:#f0fdf4}.vd-margin-rule.warn{border-color:#fdba74;background:#fff7ed}
.vd-margin-rule-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.vd-margin-rule-main>div:first-child{display:grid;gap:4px}.vd-margin-rule-main span{color:#475569}
.vd-margin-rule-numbers{display:flex;gap:8px;flex-wrap:wrap}.vd-margin-rule-numbers span{padding:6px 9px;border:1px solid rgba(100,116,139,.25);border-radius:999px;background:rgba(255,255,255,.8);font-weight:700}
.vd-margin-rule-numbers .negative{color:#b91c1c}.vd-margin-rule-numbers .positive{color:#166534}
.vd-margin-rule-actions{display:grid;grid-template-columns:auto auto minmax(220px,1fr);align-items:center;gap:10px;margin-top:12px}
.vd-margin-rule-actions label{display:flex;align-items:center;gap:6px;font-weight:700}.vd-margin-rule-actions input[type=text],.vd-margin-rule-actions input:not([type]){min-width:0}
.vd-totals .metric.is-warn{border-color:#fdba74;background:#fff7ed}.vd-totals .metric.is-ok{border-color:#86efac;background:#f0fdf4}
@media(max-width:850px){
 .vd-template-panel,.vd-template-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
 .vd-template-panel>div,.vd-template-toolbar label,.vd-template-panel select{grid-column:1/-1;min-width:0;width:100%}
 .vd-template-panel button,.vd-template-toolbar button{width:100%}
 .vd-margin-rule-actions{grid-template-columns:1fr}.vd-margin-rule-actions>*{width:100%}
}
body.congress-mode .vd-margin-rule,body.mode-congres .vd-margin-rule,html[data-congress="true"] .vd-margin-rule{display:none!important}


/* v3.5.156 — trois familles de choix, sans lignes de rubrique sélectionnables */
.vd-compatible-grid.vd-compatible-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.vd-compatible-grid.vd-compatible-grid-three{grid-template-columns:1fr}}

/* VetCRM v3.5.160 — agenda mensuel compact plein écran sous Android. */
@media (max-width:760px){
  html:has(.agenda-module),html:has(.agenda-module) body{overflow-x:hidden}
  html:has(.agenda-module) .app-main{padding:4px 3px calc(4px + env(safe-area-inset-bottom,0px))}
  html:has(.agenda-module) .topbar{padding:6px 7px!important;gap:6px!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none}
  html:has(.agenda-module) .topbar::-webkit-scrollbar,
  html:has(.agenda-module) .nav::-webkit-scrollbar,
  html:has(.agenda-module) .agenda-module>.module-head .action-row::-webkit-scrollbar{display:none}
  html:has(.agenda-module) .brand-lockup{flex:0 0 auto}
  html:has(.agenda-module) .brand-lockup .brand{font-size:1.2rem!important}
  html:has(.agenda-module) .brand-lockup .version,
  html:has(.agenda-module) .header-status{display:none!important}
  html:has(.agenda-module) .header-actions{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;width:auto!important;gap:5px!important;margin-left:auto!important}
  html:has(.agenda-module) .header-actions button,
  html:has(.agenda-module) .header-actions .button-like{min-height:32px!important;padding:5px 7px!important;font-size:.7rem!important;line-height:1!important;white-space:nowrap!important;border-radius:8px!important}
  html:has(.agenda-module) .nav{padding:5px 6px!important;gap:5px!important;scrollbar-width:none}
  html:has(.agenda-module) .nav button{padding:7px 9px!important;min-height:32px!important;font-size:.76rem!important;border-radius:9px!important}
  html:has(.agenda-module) .agenda-module{width:100%;max-width:none}
  html:has(.agenda-module) .agenda-module .module-head{display:block;margin:0 0 3px}
  html:has(.agenda-module) .agenda-module .module-head>div:first-child{display:none!important}
  html:has(.agenda-module) .agenda-module>.module-head .action-row{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;width:100%!important;gap:4px!important;padding:0 0 2px;scrollbar-width:none}
  html:has(.agenda-module) .agenda-module>.module-head .action-row button{flex:0 0 auto!important;min-height:30px!important;padding:5px 8px!important;font-size:.7rem!important;border-radius:8px!important}
  html:has(.agenda-module) .agenda-legend{display:none!important}
  html:has(.agenda-module) .agenda-module #agendaContent{overflow:visible!important;padding:0!important}
  html:has(.agenda-module) .calendar-toolbar{margin:1px 0 3px!important;gap:4px!important;min-height:30px}
  html:has(.agenda-module) .calendar-toolbar button{min-height:28px!important;padding:4px 7px!important;font-size:.68rem!important;border-radius:8px!important}
  html:has(.agenda-module) .calendar-toolbar strong{flex:1;text-align:center;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  html:has(.agenda-module) .calendar-month-head,
  html:has(.agenda-module) .calendar-month-row{grid-template-columns:22px repeat(7,minmax(0,1fr))!important;gap:2px!important;width:100%!important}
  html:has(.agenda-module) .calendar-month-head>div{padding:2px 0!important;font-size:.56rem!important;line-height:1!important}
  html:has(.agenda-module) .calendar-month-grid{min-width:0!important;width:100%!important;gap:2px!important;overflow:visible!important}
  html:has(.agenda-module) .calendar-month-row .calendar-cell{min-width:0!important;min-height:0!important;height:clamp(52px,calc((100dvh - 250px - env(safe-area-inset-bottom,0px))/6),76px)!important;padding:2px!important;border-radius:6px!important;overflow:hidden!important}
  html:has(.agenda-module) .calendar-week-number{min-width:0!important;padding-top:3px!important;font-size:.52rem!important;border-radius:6px!important}
  html:has(.agenda-module) .calendar-day{font-size:.7rem!important;line-height:1!important;margin:0 0 1px!important}
  html:has(.agenda-module) .calendar-event,
  html:has(.agenda-module) .leave-calendar-badge{display:block!important;min-width:0!important;min-height:0!important;width:100%!important;margin:1px 0!important;padding:2px 2px!important;border-left-width:3px!important;border-radius:4px!important;font-size:.49rem!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important}
  html:has(.agenda-module) .calendar-event span{font-weight:800}
  html:has(.agenda-module) .leave-calendar-badge span{display:block;overflow:hidden;text-overflow:ellipsis}
  html:has(.agenda-module) .muted-cell{opacity:.42}
}
@media (max-width:390px){
  html:has(.agenda-module) .calendar-month-row .calendar-cell{height:clamp(48px,calc((100dvh - 244px - env(safe-area-inset-bottom,0px))/6),70px)!important}
  html:has(.agenda-module) .calendar-event,
  html:has(.agenda-module) .leave-calendar-badge{font-size:.46rem!important;padding:1px 2px!important}
  html:has(.agenda-module) .calendar-day{font-size:.66rem!important}
}


/* VetCRM v3.5.168 — coque Android plein écran et compacte. */
@media (max-width:760px){
  html.v35163-android-shell,html.v35163-android-shell body{height:100%;min-height:100dvh;overflow:hidden!important}
  html.v35163-android-shell body{display:flex;flex-direction:column;background:var(--bg)}
  html.v35163-android-shell .app-header{position:relative!important;top:auto!important;flex:0 0 auto;z-index:40;box-shadow:0 1px 0 rgba(255,255,255,.08)}
  html.v35163-android-shell .topbar{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:5px!important;min-height:46px!important;padding:5px 7px!important;overflow:hidden!important}
  html.v35163-android-shell .brand-lockup{display:flex!important;align-items:center!important;gap:4px!important;flex:0 0 auto}
  html.v35163-android-shell .brand-lockup .brand{font-size:1.13rem!important;line-height:1!important}
  html.v35163-android-shell .brand-lockup .version{display:inline-flex!important;font-size:.55rem!important;line-height:1!important;padding:3px 4px!important;white-space:nowrap!important}
  html.v35163-android-shell .header-status{display:none!important}
  html.v35163-android-shell .v35163-account-button{display:block!important;min-width:0!important;max-width:112px!important;flex:1 1 85px!important;padding:6px 7px!important;min-height:34px!important;border-radius:9px!important;background:#e7edf6!important;color:#17233a!important;font-size:.68rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  html.v35163-android-shell #phase31Header{display:none!important}
  html.v35163-android-shell .header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex:0 1 auto!important;min-width:0!important;width:auto!important;gap:4px!important;margin-left:auto!important;flex-wrap:nowrap!important;overflow:hidden!important}
  html.v35163-android-shell .header-actions>button,html.v35163-android-shell .header-actions>.button-like{min-width:0!important;min-height:34px!important;padding:6px 7px!important;font-size:.66rem!important;border-radius:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  html.v35163-android-shell #p327CongressToggle{max-width:92px!important}
  html.v35163-android-shell #p328SyncTop{max-width:75px!important}
  html.v35163-android-shell #p329BaseChip{max-width:76px!important}
  html.v35163-android-shell .nav{display:flex!important;flex:0 0 auto!important;gap:4px!important;padding:5px 6px!important;overflow-x:auto!important;scrollbar-width:none!important;scroll-snap-type:x proximity;background:#e5e9ef!important}
  html.v35163-android-shell .nav::-webkit-scrollbar{display:none!important}
  html.v35163-android-shell .nav button{flex:0 0 auto!important;min-height:32px!important;padding:6px 9px!important;border-radius:8px!important;font-size:.73rem!important;scroll-snap-align:start}
  html.v35163-android-shell .app-main{display:block!important;flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;padding:5px 4px calc(6px + env(safe-area-inset-bottom,0px))!important}
  html.v35163-android-shell .module{width:100%!important;max-width:none!important;margin:0!important}
  html.v35163-android-shell .module-head{gap:5px!important;margin:0 0 6px!important}
  html.v35163-android-shell .module-head h1{font-size:1.22rem!important;margin-bottom:1px!important}
  html.v35163-android-shell .module-head p{font-size:.75rem!important;line-height:1.15!important}
  html.v35163-android-shell .panel,html.v35163-android-shell .search-panel,html.v35163-android-shell .result-card,html.v35163-android-shell .agenda-card,html.v35163-android-shell .demo-card,html.v35163-android-shell .demo-group,html.v35163-android-shell .metric{padding:9px!important;border-radius:11px!important}
  html.v35163-android-shell .editor-column,html.v35163-android-shell .editor-grid,html.v35163-android-shell .admin-grid{gap:7px!important}
  html.v35163-android-shell .form-grid,html.v35163-android-shell .two-cols{gap:6px!important}
  html.v35163-android-shell input,html.v35163-android-shell select,html.v35163-android-shell textarea{padding:8px 9px!important;border-radius:9px!important}
  html.v35163-android-shell button,html.v35163-android-shell .button-like{padding:8px 10px}
  html.v35163-android-shell .sticky-actions{position:sticky!important;top:0!important;z-index:12!important;padding:4px!important;margin:-1px -1px 5px!important;background:rgba(243,245,248,.96)!important;backdrop-filter:blur(8px)}
  html.v35163-android-shell .clinic-editor{min-height:100%;display:flex;flex-direction:column}
  html.v35163-android-shell .clinic-editor .editor-grid{flex:1 1 auto}
  html.v35163-android-shell .table-wrap{max-width:100%;overflow:auto}
  html.v35163-android-shell .modal-overlay{padding:env(safe-area-inset-top,8px) 6px env(safe-area-inset-bottom,8px)!important;align-items:stretch!important}
  html.v35163-android-shell .modal{width:100%!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;overflow:auto!important;border-radius:13px!important;padding:12px!important;align-self:stretch}
  .v35163-account-modal{align-self:flex-start!important;margin-top:8vh!important;height:auto!important;max-height:82dvh!important}
  .v35163-account-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding:8px 0}.v35163-account-grid span{color:var(--muted)}
}
@media (max-width:390px){
  html.v35163-android-shell .brand-lockup .brand{font-size:1.02rem!important}
  html.v35163-android-shell .v35163-account-button{max-width:86px!important;font-size:.62rem!important}
  html.v35163-android-shell .header-actions>button{padding:6px 5px!important;font-size:.61rem!important}
}


/* VetCRM v3.5.176 — renommage de base et diagnostic comptes */
.v35173-rename-base{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin:10px 0 14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.v35173-rename-base label{display:flex;flex-direction:column;gap:5px;font-weight:600}.v35173-rename-base small{grid-column:1/-1;color:var(--muted)}.v35173-rename-status.success{color:#087443}.v35173-rename-status.warn{color:#9a5b00}
@media(max-width:700px){.v35173-rename-base{grid-template-columns:1fr}.v35173-rename-base button{width:100%}}

/* VetCRM v3.5.176 — diagnostic non destructif des comptes par base */
.v35175-member-status{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:10px 0 14px;padding:10px 12px;border:1px solid #a7d8b4;border-radius:12px;background:#effcf3;color:#174b29}.v35175-member-status.warn{border-color:#f0bf67;background:#fff8e8;color:#7b4700}.v35175-member-status small{display:block;flex-basis:100%;line-height:1.35}.v35175-member-status small strong{color:inherit}


/* VetCRM v3.5.198 — garde du noyau unique */
html[data-vetcrm-kernel="35182"] #appMain[data-active-module="quotes"] .p321-quick-quote,
html[data-vetcrm-kernel="35182"] #appMain[data-active-module="quotes"] .quote-brand-panel-v22,
html[data-vetcrm-kernel="35182"] #appMain[data-active-module="quotes"] .quote-p26-note,
html[data-vetcrm-kernel="35182"] #appMain[data-active-module="quotes"] .quote-client-search-p313,
html[data-vetcrm-kernel="35182"] #appMain[data-active-module="quotes"] .quote-client-suggestions-p313,
html[data-vetcrm-kernel="35182"] #appMain[data-active-module="quotes"] .quote-client-selected-p313{display:none!important}
html[data-vetcrm-accounts-privacy="35182"] .platform-owner,
html[data-vetcrm-accounts-privacy="35182"] .global-owner{display:none!important}

/* VetCRM v3.5.198 - Conges simples */
.leave-simple-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.leave-simple-form{grid-template-columns:repeat(3,minmax(0,1fr))}.leave-simple-form .wide{grid-column:1/-1}@media(max-width:900px){.leave-simple-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-simple-form{grid-template-columns:1fr}}

/* VetCRM v3.5.198 - pilotage global des conges */
.leave-owner-overview{display:grid;gap:14px}.leave-owner-toolbar{grid-template-columns:180px minmax(240px,1fr);align-items:end}.leave-owner-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.leave-owner-table td:first-child strong,.leave-owner-table td:first-child small{display:block}.leave-owner-table tr.is-selected{outline:2px solid var(--primary,#2563eb);outline-offset:-2px}.leave-owner-empty{text-align:center}.leave-person-detail{display:grid;gap:16px}@media(max-width:900px){.leave-owner-toolbar{grid-template-columns:1fr}.leave-owner-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-owner-table table{min-width:760px}}


/* VetCRM v3.5.198 - Agenda canonique unique */
.agenda-clean-module .module-head{align-items:flex-start;gap:1rem}
.agenda-clean-actions{flex-wrap:wrap}
.agenda-clean-google-state{margin:.5rem 0 1rem;padding:.75rem 1rem;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px;color:#1e3a8a;font-weight:600}
.agenda-clean-owner-filter{margin-bottom:1rem}
.agenda-clean-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}
.agenda-clean-legend span{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.86rem}
.agenda-clean-legend span::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--event-color)}
.agenda-clean-card{border-left:5px solid var(--event-color)}
.agenda-clean-card.is-cancelled{opacity:.68}
.agenda-clean-card.is-completed{background:#f8fafc}
.agenda-clean-google-badge{display:inline-flex;width:max-content;margin-top:.25rem;padding:.2rem .5rem;border-radius:999px;background:#e2e8f0;color:#334155}
.agenda-clean-google-badge.ok{background:#dcfce7;color:#166534}
.agenda-clean-google-badge.pending{background:#fef3c7;color:#92400e}
.agenda-clean-google-badge.error{background:#fee2e2;color:#991b1b}
.agenda-clean-day-add{width:100%;margin-top:.25rem;border:0;background:transparent;color:#64748b;cursor:pointer}
.agenda-clean-day-add:hover{background:#e2e8f0;color:#0f172a}
.agenda-clean-editor{max-width:760px}
.agenda-clean-editor-status{min-height:1.5rem;color:#b91c1c;font-weight:600}
.agenda-clean-google-check{padding:.65rem;border-radius:10px;background:#eff6ff}
#agendaCleanSuggestions button{display:flex;width:100%;justify-content:space-between;gap:.75rem;text-align:left}
@media(max-width:760px){.agenda-clean-module .module-head{display:block}.agenda-clean-actions{margin-top:.75rem}.agenda-clean-actions button{flex:1 1 auto}.agenda-clean-google-state{font-size:.9rem}.agenda-clean-editor{max-width:calc(100vw - 1rem);max-height:92vh;overflow:auto}.calendar-month-grid{min-width:720px}.agenda-clean-module #agendaContent{overflow-x:auto}}

/* VetCRM v3.5.198 - Google Maps + site officiel */
.p35196-auto{display:flex!important;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid #dbe4f0;border-radius:10px;background:#f8fbff}.p35196-auto input{width:auto!important;margin-top:3px}.p347-hours-row small{display:block;margin-top:4px}.p347-hours-row.ok{border-left:4px solid #16a34a}.p347-hours-row.none{border-left:4px solid #f59e0b}.p347-hours-row.error{border-left:4px solid #dc2626}


/* VetCRM v3.5.198 - Tournée IA ciblée, exclusions et aperçu sans perte d'état */
.v35197-route-preview-overlay,.v35197-remove-overlay,.v35197-exclusions-overlay{z-index:11050}
.v35197-route-preview{width:min(760px,94vw);max-height:90vh;overflow:auto}
.v35197-preview-grid{display:grid;grid-template-columns:minmax(120px,.45fr) 1fr;gap:.55rem 1rem;padding:.75rem 0}
.v35197-preview-grid span{color:var(--muted,#64748b)}
.v35197-preview-note{padding:.65rem 0;border-bottom:1px solid rgba(148,163,184,.25)}
.v35197-preview-note p{white-space:pre-wrap;margin:.35rem 0 0}
.v35197-choice{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem;border:1px solid rgba(148,163,184,.35);border-radius:12px;margin:.55rem 0;cursor:pointer}
.v35197-choice span{display:flex;flex-direction:column;gap:.2rem}.v35197-choice small{color:var(--muted,#64748b)}
.v35197-exclusions-modal{width:min(760px,94vw);max-height:88vh;overflow:auto}
.v35197-exclusion-list article{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid rgba(148,163,184,.25)}
.v35197-exclusion-list article>div{display:flex;flex-direction:column;gap:.15rem}
@media(max-width:700px){.v35197-preview-grid{grid-template-columns:1fr}.v35197-exclusion-list article{align-items:flex-start;flex-direction:column}.v35197-route-preview,.v35197-exclusions-modal,.v35197-remove-modal{width:96vw;max-height:92vh}}


/* VetCRM v3.5.198 - lien Google Maps memorise sur la fiche clinique */
.clinic-google-maps-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 14px;padding:10px 12px;border:1px solid #d7e3f4;border-radius:12px;background:#f7faff}
.clinic-google-maps-link small{color:#52647d;line-height:1.35}
.clinic-google-maps-link .button-like{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700}

/* VetCRM v3.5.214 - Android compact stable, sans menu Outils. */
@media (max-width:760px){
  html.v35207-android-compact .app-header{position:sticky!important;top:0!important;z-index:50!important}
  html.v35207-android-compact .topbar{
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;gap:5px 7px!important;padding:6px 8px!important;
  }
  html.v35207-android-compact .brand-lockup{grid-column:1!important;gap:4px!important;align-self:center!important}
  html.v35207-android-compact .brand-lockup .brand{font-size:1.22rem!important;line-height:1!important}
  html.v35207-android-compact .brand-lockup .version{font-size:.58rem!important;padding:3px 5px!important}
  html.v35207-android-compact .header-status{
    grid-column:1/-1!important;min-width:0!important;width:100%!important;margin:0!important;padding:2px 1px!important;
    font-size:.7rem!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  html.v35207-android-compact .header-actions{
    grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:stretch!important;gap:5px!important;width:100%!important;min-width:0!important;margin:0!important;overflow:visible!important;
  }
  html.v35207-android-compact .header-actions>*{min-width:0!important;width:100%!important;margin:0!important}
  html.v35207-android-compact .header-actions button,
  html.v35207-android-compact .header-actions .button-like{
    min-height:38px!important;padding:7px 8px!important;border-radius:9px!important;font-size:.75rem!important;
    line-height:1.05!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  html.v35207-android-compact .v3583-workspace-switcher{grid-column:1!important;padding:4px 6px!important;min-height:38px!important}
  html.v35207-android-compact .v3583-workspace-switcher span{font-size:.66rem!important}
  html.v35207-android-compact .v3583-workspace-switcher select{min-width:0!important;max-width:none!important;padding:4px!important;font-size:.8rem!important}
  html.v35207-android-compact #phase31Header{grid-column:2!important;display:flex!important;max-width:none!important}
  html.v35207-android-compact #phase31Header .p3442-user-copy{min-width:0!important;overflow:hidden!important}
  html.v35207-android-compact #phase31Header strong{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  html.v35207-android-compact #phase31Header small{display:none!important}
  html.v35207-android-compact #p329BaseChip{grid-column:1!important;display:flex!important;justify-content:center!important;border-radius:9px!important;min-height:38px!important;font-size:.72rem!important}
  html.v35207-android-compact #p327QuickQuote{grid-column:2!important;display:flex!important;min-height:38px!important}
  html.v35207-android-compact #p328SyncTop{grid-column:1!important;display:flex!important;min-height:36px!important}
  html.v35207-android-compact #p327CongressToggle{grid-column:2!important;display:flex!important;min-height:36px!important;max-width:none!important}
  html.v35207-android-compact #printView,
  html.v35207-android-compact #exportView,
  html.v35207-android-compact #exportFull,
  html.v35207-android-compact .header-actions>label:has(#importFullInput),
  html.v35207-android-compact #v35202Tools{display:none!important}
  html.v35207-android-compact .nav{gap:4px!important;padding:5px 6px!important}
  html.v35207-android-compact .nav button{min-height:34px!important;padding:6px 9px!important;border-radius:8px!important;font-size:.76rem!important}
  html.v35207-android-compact .app-main{padding:7px 6px calc(8px + env(safe-area-inset-bottom,0px))!important}
}
@media (max-width:390px){
  html.v35207-android-compact .brand-lockup .brand{font-size:1.1rem!important}
  html.v35207-android-compact .header-actions button,
  html.v35207-android-compact .header-actions .button-like{font-size:.69rem!important;padding:6px!important}
}

/* VetCRM v3.5.214 - Agenda : liste future par défaut. */
.agenda-clean-list-toolbar{display:flex;justify-content:flex-end;margin:0 0 10px}.agenda-clean-list-toolbar button{white-space:normal}
@media(max-width:760px){.agenda-clean-list-toolbar{justify-content:stretch}.agenda-clean-list-toolbar button{width:100%}}

/* VetCRM v3.5.214 — détail journalier Agenda */
.agenda-clean-module [data-agenda-day]{cursor:pointer}
.agenda-day-modal{max-width:760px;width:min(94vw,760px);max-height:88vh;overflow:auto}
.agenda-day-list{display:grid;gap:12px;margin:12px 0}
.agenda-day-card{border-left:5px solid var(--event-color,#0891b2);background:#f8fafc;border-radius:14px;padding:10px;display:grid;gap:8px}
.agenda-day-main{appearance:none;border:0;background:transparent;text-align:left;padding:0;display:grid;gap:4px;color:inherit;width:100%}
.agenda-day-main span,.agenda-day-main small{display:block}
@media(max-width:760px){.agenda-day-modal{width:96vw;max-height:92vh}.agenda-day-card .action-row{display:grid;grid-template-columns:1fr 1fr}.calendar-cell{min-height:64px}.calendar-event{display:none}.calendar-cell .agenda-clean-day-add{margin-top:4px}}

/* VetCRM v3.5.214 — Agenda : état Supabase et accès explicite à la journée */
.agenda-clean-cloud-state{margin:.5rem 0;padding:.65rem .8rem;border-radius:.8rem;background:#eef6ff;color:#173b66;font-size:.92rem;line-height:1.35}.agenda-clean-cloud-state.error{background:#fff1f2;color:#9f1239}.agenda-clean-week-day-open,.agenda-clean-day-open{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;border:0;background:transparent;text-align:left;padding:0;color:inherit}.agenda-clean-week-day-open strong{font:inherit;font-weight:800}.agenda-clean-week-day-open span,.agenda-clean-day-open small{font-size:.8rem;color:#64748b}.agenda-clean-day-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.55rem}.agenda-clean-day-actions button{min-height:2.8rem}.calendar-cell .agenda-clean-day-open{padding:.12rem .18rem .25rem}.calendar-cell .agenda-clean-day-open:hover,.agenda-clean-week-day-open:hover{background:rgba(37,99,235,.06);border-radius:.5rem}@media(max-width:700px){.agenda-clean-cloud-state{position:sticky;top:0;z-index:2}.agenda-clean-actions [data-agenda-action="export"],.agenda-clean-actions [data-agenda-action="settings"]{display:none}.agenda-clean-day-actions{grid-template-columns:1fr}.agenda-clean-week-day-open{min-height:2.5rem}}

/* VetCRM v3.5.214 — un seul bouton de synchronisation sur Android. */
html[data-device="android"] .agenda-clean-actions [data-agenda-action="reload-cloud"]{display:none!important}
html[data-device="android"] #p328SyncTop{white-space:nowrap!important}

/* VetCRM v3.5.218 — diagnostic primes */
.prime-recovery-v35215{margin:12px 0;border-left:4px solid #2563eb;background:#eff6ff;color:#1e3a5f}
.prime-recovery-v35215 strong{color:#1e40af}


/* VetCRM v3.5.218 — fiche clinique Android : un seul conteneur de défilement.
   Le shell v3.5.168 garde html/body fixes ; #appMain devient l'unique scroller.
   Le padding inférieur réserve la place de la barre Retour / + Ajouter / Enregistrer. */
@media (max-width:760px){
  html.v35163-android-shell.v35218-clinic-scroll,
  html.v35163-android-shell.v35218-clinic-scroll body{
    height:100%!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
  }
  html.v35163-android-shell.v35218-clinic-scroll #appMain.app-main{
    display:block!important;
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))!important;
    scroll-padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))!important;
  }
  html.v35163-android-shell.v35218-clinic-scroll #appMain .clinic-editor{
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  html.v35163-android-shell.v35218-clinic-scroll #appMain .p3420-scroll-end{
    height:0!important;
    min-height:0!important;
    flex:0 0 0!important;
  }
  html.v35163-android-shell.v35218-clinic-scroll .p348-bottom-bar{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:200!important;
  }
}


/* VetCRM v3.5.219 — coordonnées clinique : un seul point de saisie. */
.v35219-contact-extras{grid-column:1/-1;width:100%;box-sizing:border-box;margin:10px 0 16px;padding:12px;border:1px solid var(--line,#d7dfeb);border-radius:12px;background:var(--surface-soft,#f8fafc)}
.v35219-contact-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.v35219-contact-head>div:first-child{display:grid;gap:3px}
.v35219-contact-head small{color:var(--muted,#667085)}
.v35219-contact-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v35219-contact-group{display:grid;gap:8px;align-content:start}
.v35219-contact-group h4{margin:0;font-size:.92rem}
.v35219-contact-row{display:grid;grid-template-columns:minmax(150px,1.45fr) minmax(110px,.8fr) minmax(150px,1fr) 44px;gap:7px;align-items:end;padding:9px;border:1px solid var(--line,#d7dfeb);border-radius:10px;background:var(--surface,#fff)}
.v35219-contact-row label{display:grid;gap:4px;min-width:0;margin:0}
.v35219-contact-row label>span{font-size:.72rem;font-weight:800;color:var(--muted,#667085)}
.v35219-contact-row input,.v35219-contact-row select{width:100%;min-width:0;box-sizing:border-box}
.v35219-delete-contact{height:42px;align-self:end}
.v35219-route-exclusion{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line,#d7dfeb)}
.v35219-route-exclusion span{display:grid;gap:2px}
.v35219-route-exclusion small{color:var(--muted,#667085)}
.v3560-legacy-contact-field[hidden]{display:block!important}
@media(max-width:900px){.v35219-contact-groups{grid-template-columns:1fr}.v35219-contact-row{grid-template-columns:1fr 1fr}.v35219-contact-row label:first-child,.v35219-contact-row label:nth-child(3){grid-column:1/-1}.v35219-delete-contact{width:100%;height:auto}.v35219-contact-head{align-items:stretch;flex-direction:column}.v35219-contact-head .action-row{display:grid;grid-template-columns:1fr 1fr}.v35219-contact-head .action-row button{width:100%}}
@media(max-width:560px){.v35219-contact-row{grid-template-columns:1fr}.v35219-contact-row label:first-child,.v35219-contact-row label:nth-child(3){grid-column:auto}.v35219-contact-head .action-row{grid-template-columns:1fr 1fr}}

/* VetCRM v3.5.220 — coordonnées supplémentaires visibles sur tous les gabarits. */
.v35219-contact-extras.wide{grid-column:1/-1!important;min-width:0!important}
@media(max-width:760px){.v35219-contact-extras{margin-top:8px!important;padding:10px!important}.v35219-contact-head{gap:8px!important}.v35219-contact-head .action-row{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.v35219-contact-head .action-row button{min-height:46px!important;font-weight:800!important}.v35219-contact-groups{display:grid!important;grid-template-columns:1fr!important}.v35219-contact-row{grid-template-columns:1fr!important}.v35219-contact-row label{grid-column:auto!important}.v35219-delete-contact{width:100%!important;min-height:42px!important}}

/* VetCRM v3.5.222 — le mode fiche clinique ne doit jamais emprisonner le module Devis. */
@media (max-width:760px){
  html.p348-android-clinic:has(#appMain .vd-module) .app-header .nav{display:flex!important}
  html.p348-android-clinic:has(#appMain .vd-module) .app-header .header-actions{display:flex!important}
  html.p348-android-clinic:has(#appMain .vd-module) .app-main{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}
  #appMain .vd-module .vd-exit-module-35221{display:inline-flex!important;min-height:38px!important;padding:7px 11px!important;background:#e3e9f1!important;color:#142033!important}
}


/* VetCRM v3.5.222 — outils HS30 dans le moteur Devis canonique. */
.vd-hs30-tools-v35222{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 14px;padding:12px 14px;border:1px solid #b8d2ff;border-radius:14px;background:#eef5ff}
.vd-hs30-tools-v35222>div:first-child{display:grid;gap:3px;min-width:min(100%,320px)}
.vd-hs30-tools-v35222 small{color:#5d6878;line-height:1.35}
.vd-price-missing-v35222{font-weight:700;color:#8a5a00}
@media(max-width:720px){.vd-hs30-tools-v35222 .action-row{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.vd-hs30-tools-v35222 button{width:100%;min-height:46px}}

/* VetCRM v3.5.223 — client facultatif directement dans le Devis rapide. */
.vd-client-choice-v35223{margin:0 0 18px;padding:16px;border:1px solid #c9d8ea;border-radius:18px;background:#f7fbff}
.vd-client-choice-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.vd-client-choice-head>div:first-child{display:grid;gap:3px}.vd-client-choice-head strong{font-size:1.05rem}.vd-client-choice-head small{color:#66758a;line-height:1.3}
.vd-client-mode-actions{display:flex;gap:8px;flex-wrap:wrap}.vd-client-mode-actions button{min-height:44px}.vd-client-mode-actions button.is-active{background:#2b6dea;color:#fff;border-color:#2b6dea}
.vd-client-search-shell-v35223{margin-top:12px}.vd-client-search-shell-v35223[hidden]{display:none!important}
.vd-client-search-help-v35223{display:block;margin-top:7px;color:#68788e}
.vd-client-summary-v35223{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:#f4f7fb}.vd-client-summary-v35223 small{color:#6b7789}
@media(max-width:760px){.vd-client-choice-v35223{padding:13px;margin-bottom:14px}.vd-client-choice-head{display:grid}.vd-client-mode-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.vd-client-mode-actions button{width:100%}.vd-client-searchbar{display:grid!important;grid-template-columns:1fr 1fr}.vd-client-searchbar input{grid-column:1/-1;min-width:0}.vd-client-searchbar button{width:100%}.vd-client-selected-card{margin-top:10px}.vd-client-results{max-height:48vh;overflow:auto}}

/* VetCRM v3.5.225 — recherche Agenda et événements liés à la fiche CRM */
.agenda-clean-search{margin:12px 0;align-items:end}
.agenda-clean-search .field{margin:0;min-width:240px}
.agenda-clean-search-results h3{margin:18px 0 8px}
.agenda-clean-search-summary{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:8px 0 12px}
.clinic-agenda-panel .section-head{align-items:flex-start;gap:12px}
.clinic-agenda-panel .section-head p{margin:4px 0 0}
.clinic-agenda-rows>h3{margin:16px 0 8px}
.clinic-agenda-card{margin-bottom:8px}
@media (max-width:720px){.agenda-clean-search{display:grid;grid-template-columns:1fr auto}.agenda-clean-search .field{min-width:0}.clinic-agenda-panel .section-head{display:grid;grid-template-columns:1fr}.clinic-agenda-panel .section-head>.primary{width:100%}.clinic-agenda-card .action-row{width:100%}.clinic-agenda-card .action-row button{flex:1 1 auto}}


/* VetCRM v3.5.228 — devis : logo visible, prévisualisation et réparation du snapshot */
.vd-selected-table-v35225 th:nth-child(1){width:34%}
.vd-selected-table-v35225 th:nth-child(2){width:7%}
.vd-selected-table-v35225 th:nth-child(3){width:14%}
.vd-selected-table-v35225 th:nth-child(4){width:14%}
.vd-selected-table-v35225 th:nth-child(5){width:12%}
.vd-selected-table-v35225 th:nth-last-child(2){width:12%}
.vd-selected-table-v35225 th:last-child{width:7%}
.vd-selected-table-v35225 .vd-quick-name,.vd-selected-table-v35225 .vd-quick-ref,.vd-selected-table-v35225 .vd-quick-description{display:block;width:100%;box-sizing:border-box;margin-top:4px}
.vd-selected-table-v35225 .vd-quick-name{font-weight:700}
.vd-selected-table-v35225 .vd-quick-ref{font-size:.78rem}
.vd-selected-table-v35225 .vd-quick-description{min-height:48px;resize:vertical;font:inherit;font-size:.78rem}
.vd-manual-price-hint{display:block;margin-top:3px;color:#64748b;font-size:.66rem}
.vd-line-help-v35225{margin-top:10px}
@media(max-width:720px){
  .vd-selected-table-v35225 tr{display:grid;grid-template-columns:68px minmax(100px,1fr) minmax(120px,1.2fr) 42px;gap:7px;align-items:end}
  .vd-selected-table-v35225 td:first-child{grid-column:1/-1}
  .vd-selected-table-v35225 td[data-label="Qté"]{grid-column:1}
  .vd-selected-table-v35225 td[data-label="PU HT"]{grid-column:2}
  .vd-selected-table-v35225 td[data-label="Remise"]{grid-column:3}
  .vd-selected-table-v35225 td[data-label="Coût HT"]{grid-column:1/3}
  .vd-selected-table-v35225 td[data-label="Total HT"]{grid-column:3;text-align:right}
  .vd-selected-table-v35225 td:last-child{grid-column:4;grid-row:2}
  .vd-selected-table-v35225 .vd-quick-description{min-height:54px;font-size:15px}
  .vd-selected-table-v35225 .vd-quick-name,.vd-selected-table-v35225 .vd-quick-ref,.vd-selected-table-v35225 .vd-quick-unit{font-size:16px;min-height:40px}
}
/* v3.5.225 r1 — remise finale avec référence et saisie signée */
.vd-global-discount-row{grid-template-columns:minmax(90px,130px) minmax(180px,1fr) 76px minmax(110px,140px) minmax(110px,140px) 42px}
@media(max-width:850px){
  .vd-global-discount-row{grid-template-columns:minmax(0,1fr) 58px 108px 42px}
  .vd-global-discount-row .vd-global-discount-ref,.vd-global-discount-row .vd-global-discount-label{grid-column:1/-1}
}

/* v3.5.228 — prévisualisation fiable du logo sélectionné dans le devis */
.vd-logo-preview-v35226{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center;margin-top:10px;padding:10px;border:1px solid #d9e2ec;border-radius:12px;background:#f8fafc}
.vd-logo-preview-box-v35226{height:82px;display:grid;place-items:center;overflow:hidden;border:1px dashed #cbd5e1;border-radius:10px;background:#fff}
.vd-logo-preview-box-v35226 img{max-width:100%;max-height:74px;object-fit:contain}
.vd-logo-preview-box-v35226 span{font-size:.78rem;color:#64748b;text-align:center}
.vd-logo-preview-v35226>div:last-child{display:grid;gap:4px}
.vd-logo-preview-v35226 small{display:block;color:#64748b}
.vd-logo-preview-v35226.missing-logo{border-color:#f2b8b5;background:#fff7f7}
.vd-logo-preview-v35226 button{justify-self:start;margin-top:3px}
@media(max-width:620px){.vd-logo-preview-v35226{grid-template-columns:1fr}.vd-logo-preview-box-v35226{height:90px}.vd-logo-preview-v35226 button{width:100%}}

/* VetCRM v3.5.230 — Répertoire équin France */
.v35229-equine-toolbar{margin:10px 0 14px;padding:12px;border:1px solid var(--border,#d7dde5);border-radius:14px;background:var(--panel,#fff)}
.v35229-equine-toolbar.is-active{box-shadow:0 0 0 2px rgba(16,110,190,.08) inset}
.v35229-equine-main{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.v35229-equine-main .muted{font-size:.86em}
.v35229-equine-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-top:12px;align-items:end}.v35229-equine-actions{grid-column:1/-1;flex-wrap:wrap}
.v35229-equine-card .result-open{min-width:0}.v35229-equine-title{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.v35229-equine-people{font-weight:600}.v35229-confirmed{font-weight:700}.v35229-candidate{opacity:.85}.v35229-load-more{display:flex;justify-content:center;gap:12px;align-items:center;padding:14px;flex-wrap:wrap}
.v35229-clinic-equine .form-grid{margin-bottom:10px}.v35229-specialties{margin:12px 0}.v35229-specialty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:7px}.v35229-specialty-grid label{display:flex;align-items:center;gap:6px}
.v35229-source-list{display:grid;gap:8px}.v35229-source-list article{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--border,#d7dde5);border-radius:10px}.v35229-source-list article>div{display:grid;gap:2px}.v35229-source-list a{font-size:.88em}
.person-row .v35229-person-equine{display:flex;align-items:center;gap:5px;white-space:nowrap}.person-row .v35229-person-equine-specialties{min-width:150px}
@media(max-width:850px){.v35229-equine-filters{grid-template-columns:1fr 1fr}.v35229-equine-actions{grid-column:1/-1}.v35229-specialty-grid{grid-template-columns:1fr}.person-row .v35229-person-equine-specialties{grid-column:1/-1;width:100%}}
@media(max-width:560px){.v35229-equine-filters{grid-template-columns:1fr}.v35229-equine-actions{grid-column:1}.v35229-equine-main{align-items:flex-start}.v35229-source-list article{align-items:flex-start}}


/* VetCRM v3.5.230 — Registres Ordre + EBVS KOL */
.p35230-kol-registry{margin:12px 0}.p35230-kol-controls{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.p35230-kol-controls .field{min-width:170px;margin:0}.p35230-ebvs-badge{font-weight:700}.p35230-ebvs-card{border-left:3px solid currentColor}.p35230-registry-note{margin:.65rem 0 0}.p35230-kol-registry .section-head{align-items:flex-start}
@media(max-width:650px){.p35230-kol-controls{display:grid;grid-template-columns:1fr}.p35230-kol-controls>*{width:100%}.p35230-kol-controls .field{min-width:0}}

/* VetCRM v3.5.231 — Ciblage & Prospection CRM / KOL */
.p35231-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}.p35231-tabs button{min-height:42px}.p35231-tabs button.active{background:var(--primary,#1e5aa8);color:#fff;border-color:transparent}.p35231-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.p35231-filter-grid>label{display:flex;flex-direction:column;gap:.35rem;min-width:0}.p35231-filter-grid input,.p35231-filter-grid select,.p35231-work-table select,.p35231-work-table textarea,.p35231-work-table input{width:100%;min-width:0}.p35231-check{align-self:end;flex-direction:row!important;align-items:center!important;min-height:44px}.p35231-check input{width:auto!important}.p35231-table-wrap{overflow-x:auto;max-width:100%}.p35231-table{width:100%;border-collapse:collapse;min-width:1040px}.p35231-table th,.p35231-table td{padding:.65rem;border-bottom:1px solid var(--border,#d9dee7);vertical-align:top;text-align:left}.p35231-table td>strong,.p35231-table td>span,.p35231-table td>small{display:block;margin-bottom:.2rem}.p35231-table a{word-break:break-word}.p35231-kol,.p35231-ebvs{display:inline-block!important;width:max-content;padding:.15rem .4rem;border-radius:999px;font-size:.75rem;font-weight:700;margin:.12rem .2rem .12rem 0}.p35231-kol{background:rgba(50,100,180,.12)}.p35231-ebvs{background:rgba(120,80,160,.14)}.p35231-lists-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:1rem;align-items:start}.p35231-list-cards{display:grid;gap:.5rem}.p35231-list-cards article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem;border:1px solid var(--border,#d9dee7);border-radius:.65rem;padding:.25rem}.p35231-list-cards article.active{outline:2px solid var(--primary,#1e5aa8)}.p35231-list-cards article>button:first-child{border:0;background:transparent;text-align:left;display:grid;gap:.15rem;padding:.55rem}.p35231-list-cards article strong,.p35231-list-cards article span,.p35231-list-cards article small{display:block}.p35231-work-table{min-width:1280px}.p35231-contact-link{display:block!important;margin-bottom:.35rem;width:max-content;max-width:240px;white-space:normal}.p35231-row-actions{display:grid;gap:.4rem;min-width:110px}.p35231-next{display:grid;gap:.25rem;margin-top:.4rem;font-size:.78rem}.p35231-metrics{grid-template-columns:repeat(5,minmax(90px,1fr))}.p35231-clinic-panel{grid-column:1/-1}.p35231-clinic-kols{display:grid;gap:.45rem;margin:.75rem 0}.p35231-clinic-kols article{display:grid;grid-template-columns:minmax(150px,1.2fr) auto minmax(160px,1fr);gap:.5rem;align-items:center;padding:.55rem;border:1px solid var(--border,#d9dee7);border-radius:.55rem}.p35231-clinic-kols article small{grid-column:1/-1}.p35231-clinic-lists{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin:.75rem 0}.p35231-clinic-history{margin-top:.8rem}.p35231-clinic-history article{padding:.6rem 0;border-bottom:1px solid var(--border,#d9dee7)}.p35231-clinic-history article strong,.p35231-clinic-history article span,.p35231-clinic-history article small{display:block}.p35231-clinic-history article p{margin:.35rem 0;white-space:pre-wrap}
@media(max-width:1100px){.p35231-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p35231-lists-layout{grid-template-columns:1fr}.p35231-list-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.p35231-filter-grid{grid-template-columns:1fr}.p35231-tabs{display:grid;grid-template-columns:1fr}.p35231-tabs button{width:100%}.p35231-list-cards{grid-template-columns:1fr}.p35231-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.p35231-clinic-kols article{grid-template-columns:1fr}.p35231-clinic-kols article small{grid-column:auto}.p35231-table{min-width:940px}.p35231-work-table{min-width:1120px}}

/* VetCRM v3.5.232 — CRM clarifié */
.v35229-equine-toolbar{display:none!important}
.crm-module .v35232-classic-search{margin-bottom:.55rem}
.v35232-filter-row .filter-field optgroup{font-weight:700}
.v35232-filter-row .filter-field option{font-weight:400}
.v35232-source-tools{margin:.75rem 0 1rem;padding:.75rem 1rem}
.v35232-source-tools>summary{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;cursor:pointer;min-height:42px}
.v35232-source-tools>summary span{font-size:.86rem;color:var(--muted,#667085);font-weight:400}
.v35232-source-tools[open]>summary{margin-bottom:.75rem}
.v35232-activity-details{grid-column:1/-1;border:1px solid var(--border,#d9dee7);border-radius:.75rem;background:var(--panel,#fff);margin:.6rem 0}
.v35232-activity-details>summary{display:flex;align-items:center;gap:.6rem;justify-content:space-between;flex-wrap:wrap;cursor:pointer;padding:.8rem 1rem;min-height:44px}
.v35232-activity-details>summary span{font-size:.84rem;color:var(--muted,#667085);font-weight:400}
.v35232-activity-details>.v35229-clinic-equine{margin:0;border:0;border-top:1px solid var(--border,#d9dee7);border-radius:0;padding:1rem}
@media(max-width:680px){.v35232-source-tools>summary,.v35232-activity-details>summary{align-items:flex-start;flex-direction:column;gap:.2rem}}

/* VetCRM v3.5.235 — Déplacements & activité */
.travel-module{display:block}.travel-home-line{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center}.travel-home-line small{grid-column:1/-1;color:var(--muted,#64748b)}.travel-section{border:1px solid var(--border,#dbe3ea);border-radius:14px;background:var(--panel,#fff);margin:14px 0;overflow:hidden}.travel-section>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;list-style:none}.travel-section>summary::-webkit-details-marker{display:none}.travel-section>summary span{font-size:.9rem;color:var(--muted,#64748b);text-align:right}.travel-section-body{padding:0 14px 14px}.travel-metrics,.travel-report-metrics{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.travel-metrics .metric small,.travel-report-metrics .metric small{display:block;margin-top:3px;color:var(--muted,#64748b);font-size:.78rem}.travel-attention{margin:12px 0}.travel-days{display:grid;gap:12px}.travel-day-card{margin:0}.travel-day-card .section-head{align-items:flex-start}.travel-alert{font-weight:700;padding:5px 9px;border-radius:999px;background:#fff4e5;color:#8a4b00;white-space:nowrap}.travel-event-list{display:grid;gap:2px;margin:10px 0}.travel-event{display:grid;grid-template-columns:60px 145px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--border,#e5e7eb)}.travel-event:first-child{border-top:0}.travel-event strong,.travel-event small{display:block}.travel-event small{color:var(--muted,#64748b);overflow-wrap:anywhere}.travel-time{font-variant-numeric:tabular-nums;font-weight:700}.travel-kind{font-size:.88rem}.travel-hotel-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 10px;align-items:center;border-radius:10px;padding:10px 12px;margin-top:10px;background:var(--soft,#f5f7fa)}.travel-hotel-line small{grid-column:2/3;color:var(--muted,#64748b)}.travel-hotel-line .action-row{grid-column:3;grid-row:1/3}.travel-hotel-line.is-danger{border-left:4px solid #b42318}.travel-hotel-line.is-warning{border-left:4px solid #b7791f}.travel-hotel-line.is-ok{border-left:4px solid #18794e}.travel-report-controls{margin:0 0 12px}.travel-report-detail{margin-top:12px}.travel-count-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.travel-count-grid span{border:1px solid var(--border,#dbe3ea);border-radius:999px;padding:6px 10px;background:var(--soft,#f8fafc)}
@media(max-width:720px){.travel-section>summary{align-items:flex-start;flex-direction:column}.travel-section>summary span{text-align:left}.travel-event{grid-template-columns:48px minmax(0,1fr) auto;gap:6px 8px}.travel-kind{grid-column:2/3;grid-row:2;font-size:.8rem}.travel-event>div{grid-column:2/3;grid-row:1}.travel-event>button{grid-column:3;grid-row:1/3}.travel-hotel-line{grid-template-columns:1fr}.travel-hotel-line small,.travel-hotel-line .action-row{grid-column:1;grid-row:auto}.travel-home-line{grid-template-columns:1fr}.travel-home-line small{grid-column:1}.travel-report-controls .action-row{display:grid;grid-template-columns:1fr}.travel-report-controls .action-row button{width:100%}}

/* v3.5.235 — intégration Déplacements dans le Bilan Cockpit existant */
.v35233-legacy-travel{margin:12px 0}.v35233-legacy-travel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.v35233-legacy-travel-head h3{margin:0 0 4px}.v35233-legacy-travel-head p{margin:0}.v35233-legacy-travel-metrics{margin-top:12px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.v35233-legacy-travel-metrics .metric small{display:block;margin-top:3px;color:var(--muted,#64748b);font-size:.78rem}
@media(max-width:680px){.v35233-legacy-travel-head{display:grid;grid-template-columns:1fr}.v35233-legacy-travel-head .action-row{display:grid;grid-template-columns:1fr;width:100%}.v35233-legacy-travel-head .action-row button{width:100%}}

/* v3.5.235 — diagnostic source Agenda */
.travel-agenda-source{margin:10px 0 4px;color:var(--muted,#64748b);font-size:.9rem}

/* VetCRM v3.5.239 — Assistant IA */
.ai35237-module{max-width:1500px;margin:0 auto}.ai35237-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:16px;align-items:start}.ai35237-compose label,.ai35237-result label{display:flex;flex-direction:column;gap:6px}.ai35237-modes{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin-bottom:12px}.ai35237-quick{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.ai35237-context{display:grid;gap:8px;margin:12px 0}.ai35237-context label{display:flex;align-items:flex-start;gap:8px}.ai35237-privacy{margin:12px 0}.ai35237-result textarea{width:100%;min-height:320px;font:inherit;line-height:1.5}.ai35237-sources{margin-top:14px}.ai35237-sources>div{display:grid;gap:8px}.ai35237-sources a{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--border,#d9dee8);border-radius:10px;text-decoration:none;overflow-wrap:anywhere}.ai35237-sources a span{font-size:.82rem;opacity:.75}.ai35237-template-list,.ai35237-history{display:grid;gap:8px}.ai35237-template-list article{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--border,#d9dee8);border-radius:10px;padding:10px}.ai35237-template-list article>div:first-child{display:flex;flex-direction:column;gap:2px}.ai35237-template-list span{font-size:.82rem;opacity:.72}.ai35237-history button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px}.ai35237-mail-panel textarea{width:100%}.ai35237-mail-note{margin-top:10px}.ai35237-mail-panel .error,#aiStatus.error{color:#b42318;font-weight:600}.ai35237-compose textarea,.ai35237-mail-panel textarea{resize:vertical}
@media(max-width:980px){.ai35237-layout{grid-template-columns:1fr}.ai35237-modes{grid-template-columns:1fr}.ai35237-template-list article{align-items:flex-start;flex-direction:column}.ai35237-result textarea{min-height:260px}}
.ai35237-hotel-box{margin:12px 0 16px;padding:14px;border:1px solid var(--border,#d9dee8);border-radius:12px;background:var(--soft,#f8fafc)}.ai35237-hotel-box .section-head{margin-bottom:10px}.ai35237-hotel-box h3{margin:0 0 4px}.ai35237-hotel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ai35237-hotel-grid .wide{grid-column:1/-1}.ai35237-hotel-grid label,.ai35237-hotel-box>label{display:flex;flex-direction:column;gap:5px}.ai35237-hotel-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:12px 0}.ai35237-hotel-checks label{display:flex;align-items:flex-start;gap:7px}.ai35237-hotel-rule{margin:8px 0 0;line-height:1.45}.ai35237-hotel-box input[type="number"],.ai35237-hotel-box input[type="date"],.ai35237-hotel-box input[type="text"],.ai35237-hotel-box input:not([type]){width:100%}
@media(max-width:980px){.ai35237-hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.ai35237-hotel-grid,.ai35237-hotel-checks{grid-template-columns:1fr}.ai35237-hotel-box .section-head{align-items:flex-start;flex-direction:column}.ai35237-hotel-box .section-head button{width:100%}}


/* VetCRM v3.5.239 — correctif cases Assistant IA */
.ai35237-context label,.ai35237-hotel-checks label{flex-direction:row!important;align-items:flex-start!important;justify-content:flex-start!important;font-weight:400}
.ai35237-context input[type="checkbox"],.ai35237-hotel-checks input[type="checkbox"]{width:auto!important;min-width:16px!important;max-width:16px!important;height:16px!important;flex:0 0 16px!important;margin:2px 0 0!important;padding:0!important}
.ai35237-context label{line-height:1.35}.ai35237-hotel-checks label{line-height:1.35}

/* v3.5.246 — résultats hébergement live */
.ai246-live{margin-top:12px;padding:12px;border:1px solid #cbd5e1;border-radius:14px;background:#fff}.ai246-live-head,.ai246-card-title{display:flex;flex-direction:column;gap:7px}.ai246-noai{align-self:flex-start;font-size:.8rem;font-weight:700;background:#dcfce7;color:#166534;padding:5px 9px;border-radius:999px}.ai246-card{border:1px solid #dbe3ef;border-radius:12px;padding:11px;margin:10px 0;background:#fff}.ai246-card-bad{opacity:.78;border-style:dashed}.ai246-rank{display:inline-flex;width:25px;height:25px;border-radius:50%;align-items:center;justify-content:center;background:#e8eef9;margin-right:7px;font-weight:800}.ai246-price{display:flex;gap:8px;align-items:baseline}.ai246-price strong{font-size:1.15rem}.ai246-price span,.ai246-meta span{font-size:.84rem;color:#52606d}.ai246-badges,.ai246-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ai246-badges span{background:#eef2ff;border-radius:999px;padding:4px 7px;font-size:.76rem}.ai246-invoice{font-size:.84rem;margin:9px 0}.ai246-live .action-row{display:grid;grid-template-columns:1fr 1fr}.ai246-live .button{display:flex;justify-content:center;align-items:center;text-decoration:none}.ai246-live-error{border-color:#fecaca;background:#fff7f7}.ai246-provider-note{margin-top:10px}


/* VetCRM v3.5.252 — parc démo recherche série / photo / aide */
.demo252-search-grid{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(145px,.65fr) minmax(165px,.75fr) minmax(220px,1.2fr) minmax(220px,1.1fr);gap:12px;align-items:end}
.demo252-serial-search input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.035em}
.demo252-serial-highlight mark{padding:.05em .12em;border-radius:4px;margin:0 .01em;font:inherit;color:inherit}
.demo252-serial-highlight .demo252-match{background:#b9f6c7;color:#075c23}
.demo252-serial-highlight .demo252-miss{background:#ffd2d2;color:#9b111e}
.demo252-score{display:inline-block;margin-left:.45rem;padding:.08rem .38rem;border-radius:999px;background:#eef2f7;color:#4d5d72;font-size:.78em}
.demo252-serial-tip{margin:0 0 12px}
.demo252-card{position:relative;overflow:hidden}.demo252-thumb{width:72px;height:52px;object-fit:cover;border-radius:7px;border:1px solid #d7deea;float:right;margin:0 0 6px 8px}
.demo252-photo-panel{border:1px solid #d7deea;border-radius:12px;padding:12px;margin:12px 0;background:#f8fafc}.demo252-photo-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.demo252-photo-preview{width:220px;height:135px;border:1px dashed #b8c3d3;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:white;color:#65758b}.demo252-photo-preview img{width:100%;height:100%;object-fit:contain}.demo252-photo-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.demo252-help-switch,.demo252-help-top{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:8px 0 14px}.demo252-help-topic{border:1px solid #d7deea;border-radius:10px;padding:10px 12px;margin:10px 0;background:#fff}.demo252-help-topic summary{font-weight:700;cursor:pointer}.demo252-help-topic li{margin:.45em 0}.demo252-help-warning{border-color:#f0c36d;background:#fff9e7}
@media(max-width:950px){.demo252-search-grid{grid-template-columns:1fr 1fr}.demo252-photo-preview{width:100%;max-width:320px}}
@media(max-width:620px){.demo252-search-grid{grid-template-columns:1fr}.demo252-module .module-head{align-items:flex-start}.demo252-module .module-head>.action-row{width:100%;justify-content:flex-start}.demo252-edit{max-height:94vh;overflow:auto}.demo252-photo-row{align-items:stretch}.demo252-photo-preview{max-width:none}.demo252-photo-actions{flex-direction:column;align-items:stretch}.demo252-photo-actions>*{width:100%;text-align:center}}
.demo253-recovery{display:grid;gap:10px;margin:10px 0 14px}.demo253-recovery .action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.demo253-recovery .action-row button{min-height:44px}.demo253-recovery .muted{display:block}

/* VetCRM v3.5.274 — intelligence médicale / KOL */
.v35273-panel .section-head{align-items:flex-start}.v35273-scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.v35273-scores>div{border:1px solid var(--border,#d9e0e8);border-radius:12px;padding:9px;display:flex;flex-direction:column}.v35273-equipment{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 12px}.v35273-tag{border:1px solid var(--border,#d9e0e8);border-radius:999px;padding:5px 8px;font-size:.84rem}.v35273-people{display:grid;gap:8px}.v35273-person{border:1px solid var(--border,#d9e0e8);border-radius:12px;padding:9px;display:grid;gap:8px}.v35273-person div{display:grid;gap:4px}.v35273-person p{margin:2px 0;font-size:.88rem}.v35273-person button{width:100%}.v35273-score{font-size:.8rem;font-weight:700}.v35273-evidence{padding-left:18px}.v35273-evidence li{margin:6px 0}

/* VetCRM v3.5.274 — expertise / influence / KOL par discipline */
.v35274-scores{grid-template-columns:repeat(5,minmax(0,1fr))}.v35274-person-head{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.v35274-mini-scores{display:flex;flex-wrap:wrap;gap:6px}.v35274-mini-scores span,.v35274-domain{border:1px solid var(--border,#d9e0e8);border-radius:999px;padding:4px 7px;font-size:.78rem}.v35274-disciplines{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0}.v35274-domain b{font-variant-numeric:tabular-nums}@media(max-width:760px){.v35274-scores{grid-template-columns:repeat(2,minmax(0,1fr))}.v35274-person-head{display:grid}}
\n/* VetCRM v3.5.277 — enrichissement départemental / tri intelligence */\n.v35275-crm-intelligence{border:1px solid var(--border,#d9e0e8);border-radius:12px;padding:10px 12px;margin:8px 0;background:var(--panel,#fff)}.v35275-intro{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}.v35275-intro span{font-size:.82rem;opacity:.72}.v35275-controls{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(5,minmax(95px,.7fr)) auto;gap:8px;align-items:end}.v35275-controls label,.v35275-dept-grid label{display:grid;gap:4px;font-size:.78rem}.v35275-controls input,.v35275-controls select,.v35275-dept-grid input,.v35275-dept-grid select{min-width:0}.v35275-metrics{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.v35275-metrics span{font-size:.73rem;padding:3px 6px;border:1px solid var(--border,#d9e0e8);border-radius:999px;background:rgba(127,127,127,.06)}.v35275-dept-panel{grid-column:1/-1}.v35275-dept-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v35275-check{display:flex!important;flex-direction:row;align-items:center;gap:7px!important;padding-top:19px}.v35275-check input{width:auto}.v35275-dept-panel progress{margin:9px 0 5px}\n@media(max-width:1100px){.v35275-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.v35275-dept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.v35275-controls,.v35275-dept-grid{grid-template-columns:1fr 1fr}.v35275-intro{display:grid}.v35275-controls button{grid-column:1/-1}}\n
/* v3.5.277 — équipe Web, matériel public et périmètre économique */
.person-row .v35276-person-details{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:6px;padding:8px;border-radius:10px;background:var(--soft,#f8fafc);font-size:.8rem;color:var(--muted,#475569)}
.v35276-person-details>span:not(.v35276-person-score){flex-basis:100%}.v35276-person-details small{flex-basis:100%;color:var(--muted,#64748b)}
.v35276-person-score{display:inline-flex;padding:3px 7px;border-radius:999px;background:#e2e8f0;color:#334155;font-weight:700}.v35276-person-score.v35276-kol{background:#fef3c7;color:#92400e}
.v35276-web-equipment-list{display:grid;gap:8px}.v35276-web-equipment-card{border:1px solid var(--border,#d8e0eb);border-radius:12px;padding:10px;background:var(--surface,#fff)}
.v35276-web-equipment-card p{margin:6px 0;color:var(--muted,#64748b);font-size:.82rem}.v35276-web-equip-actions{display:flex;flex-direction:column;gap:7px;align-items:stretch}.v35276-web-equip-actions a{font-size:.82rem}
.v35276-company-ca{margin-top:10px;padding:9px 10px;border-left:4px solid #f59e0b;border-radius:8px;background:#fffbeb;color:#78350f}.v35276-company-ca span{font-size:.82rem}

/* VetCRM v3.5.279 - stabilisation visuelle */
.v35279-taskbar{position:fixed;right:18px;bottom:18px;z-index:10040;width:min(520px,calc(100vw - 36px));display:none;gap:12px;align-items:center;padding:12px 14px;background:var(--panel,#fff);border:1px solid var(--line,#d9e1ec);border-radius:14px;box-shadow:0 10px 35px rgba(20,35,60,.18)}.v35279-taskbar.is-active{display:flex}.v35279-task-main{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;min-width:0;flex:1}.v35279-task-main strong{white-space:nowrap}.v35279-task-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v35279-task-main progress{grid-column:1/-1;width:100%;height:7px}.v35279-task-actions{display:flex;gap:6px;flex-wrap:wrap}.v35279-task-actions button{padding:7px 9px}
.v35279-clinic-web-summary{border-left:4px solid var(--accent,#2563eb)}.v35279-clinic-web-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.v35279-clinic-web-head h2{margin-bottom:2px}.v35279-quick-grid{display:grid;grid-template-columns:2fr repeat(4,minmax(110px,1fr));gap:8px;margin-top:10px}.v35279-quick-grid>div,.v35279-quick-grid>label{display:grid;gap:3px;padding:9px 10px;border:1px solid var(--line,#d9e1ec);border-radius:10px;background:var(--soft,#f8fafc);min-width:0}.v35279-quick-grid span{font-size:11px;color:var(--muted,#64748b);font-weight:700;text-transform:uppercase;letter-spacing:.02em}.v35279-quick-grid strong{font-size:13px;overflow:hidden;text-overflow:ellipsis}.v35279-site-field{display:flex;gap:6px;align-items:center}.v35279-site-field input{min-width:0;flex:1}.v35279-site-field a{white-space:nowrap}.v35279-intel-details{margin-top:8px;border-top:1px solid var(--line,#d9e1ec);padding-top:8px}.v35279-intel-details>summary{cursor:pointer;font-weight:700;color:var(--accent,#1d4ed8);padding:7px 0}.v35279-intel-details-body{display:grid;gap:10px;padding-top:8px}.v35279-intel-details-body h3{margin:6px 0 0}.v35274-panel .v35273-scores{margin-top:0}
.v35279-admin-hub{grid-column:1/-1}.v35279-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px}.v35279-tool-grid button{text-align:left;display:grid;gap:4px;min-height:72px;padding:12px}.v35279-tool-grid button strong{font-size:14px}.v35279-tool-grid button span{font-size:12px;color:var(--muted,#64748b)}.admin-grid>.panel{scroll-margin-top:90px}.v35275-dept-panel .section-head p,.p347-hours-panel .section-head p{max-width:760px}.v35275-dept-panel progress{height:8px}
@media(max-width:900px){.v35279-quick-grid{grid-template-columns:1fr 1fr}.v35279-quick-grid .wide{grid-column:1/-1}.v35279-tool-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.v35279-taskbar{left:8px;right:8px;bottom:74px;width:auto;align-items:stretch;flex-direction:column}.v35279-task-actions{justify-content:flex-end}.v35279-quick-grid,.v35279-tool-grid{grid-template-columns:1fr}.v35279-quick-grid .wide{grid-column:auto}.v35279-clinic-web-head{align-items:stretch}.v35279-clinic-web-head button{flex:0 0 auto}}



/* VetCRM v3.5.282 - lisibilité personnes Web / affiliations */
.person-row .v35280-person-affiliation{grid-column:1/-1;display:grid;grid-template-columns:minmax(170px,.8fr) minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:8px;align-items:end;padding:9px 10px;margin-top:2px;border:1px solid var(--line);border-radius:10px;background:#fff}
.person-row .v35280-person-affiliation label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:700;color:var(--muted)}
.person-row .v35280-person-affiliation input,.person-row .v35280-person-affiliation select{padding:7px 9px;min-height:36px}
.person-row .v35280-relation-badge{align-self:center;white-space:nowrap}
.person-row .v35276-person-details{line-height:1.35;row-gap:5px;padding:7px 10px}
.person-row .v35276-person-details>span:not(.v35276-person-score){display:block;flex-basis:100%;margin:0}
.person-row .v35276-person-details small{display:block;flex-basis:100%;margin-top:1px}
@media(max-width:1000px){.person-row .v35280-person-affiliation{grid-template-columns:1fr 1fr}.person-row .v35280-person-affiliation .v35280-relation-badge{grid-column:1/-1;justify-self:start}}
@media(max-width:680px){.person-row .v35280-person-affiliation{grid-template-columns:1fr}.person-row .v35280-person-affiliation .v35280-relation-badge{grid-column:auto}}

/* VetCRM v3.5.282 - domaines d'intervention */
.person-row>.v35229-person-equine,.person-row>.v35229-person-equine-specialties{display:none!important}
.v35281-person-activity,.v35281-clinic-activity{grid-column:1/-1;border:1px solid var(--line,#d8e1eb);border-radius:12px;background:var(--soft,#f8fafc);padding:10px 12px;margin-top:6px}
.v35281-clinic-activity{margin:10px 0 12px;background:#fff}
.v35281-activity-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.v35281-activity-head strong{font-size:.9rem}.v35281-activity-head .muted{font-size:.76rem;text-align:right}
.v35281-activity-grid{display:grid;grid-template-columns:minmax(205px,1.35fr) repeat(4,minmax(92px,.55fr));gap:8px;align-items:end}
.v35281-activity-grid label{display:flex;flex-direction:column;gap:4px;font-size:.76rem;font-weight:700;color:var(--muted,#475569)}
.v35281-activity-grid input,.v35281-activity-grid select{min-height:36px;padding:7px 9px}
.v35281-activity-grid .v35281-equine-spec{grid-column:1/-1}
.v35281-person-activity>small,.v35281-clinic-activity>small{display:block;margin-top:6px;color:var(--muted,#64748b);font-size:.73rem}
.v35281-activity-summary{display:block;flex-basis:100%;margin:0}
@media(max-width:1050px){.v35281-activity-grid{grid-template-columns:1fr 1fr 1fr}.v35281-activity-grid .v35281-profile{grid-column:1/-1}.v35281-activity-grid .v35281-equine-spec{grid-column:1/-1}}
@media(max-width:680px){.v35281-activity-head{align-items:flex-start;flex-direction:column;gap:3px}.v35281-activity-head .muted{text-align:left}.v35281-activity-grid{grid-template-columns:1fr 1fr}.v35281-activity-grid .v35281-profile,.v35281-activity-grid .v35281-equine-spec{grid-column:1/-1}}

/* VetCRM v3.5.282 - équipe Web fiabilisée et données techniques repliées */
.v35282-tech-details{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.v35282-tech-details summary{cursor:pointer;font-weight:700;color:var(--muted)}.v35282-tech-body{display:grid;gap:8px;margin-top:8px}.v35282-web-external{outline:1px dashed #d97706;outline-offset:3px}


/* VetCRM v3.5.284 - personnes ordonnables, groupes et alignement intelligence Web */
#peopleRows>.v35283-people-groups{display:grid;gap:10px;margin-top:8px}.v35283-people-group{border:1px solid var(--line);border-radius:12px;background:#f8fafc;overflow:hidden}.v35283-people-group>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;font-weight:800;list-style:auto}.v35283-people-group>summary:hover{background:#eef4fb}.v35283-count{display:inline-flex;min-width:28px;justify-content:center;border-radius:999px;padding:3px 8px;background:#e2e8f0;font-size:.8rem}.v35283-group-body{padding:2px 10px 10px}.v35283-group-body .person-row{background:#fff;border:1px solid #dbe3ed;border-radius:11px;padding:8px;margin-top:8px}.person-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto 42px;align-items:start}.v35283-order-controls{display:flex;gap:4px;align-items:center}.v35283-order-controls button{padding:6px 9px;min-width:34px;min-height:38px;border:1px solid #cbd5e1;background:#f8fafc}.v35283-person-web{border-left:4px solid #f59e0b!important}.v35283-person-manual{border-left-color:#22c55e!important}.v35283-web-legend{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 10px}.v35283-web-legend span,.v35283-match{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:800}.v35283-web-legend .existing,.v35283-match.existing{background:#dcfce7;color:#166534}.v35283-web-legend .new,.v35283-match.new{background:#ffedd5;color:#9a3412}.v35283-web-legend .missing,.v35283-match.missing{background:#fef3c7;color:#92400e}.v35283-web-existing{border-left:5px solid #22c55e}.v35283-web-new,.v35283-web-missing{border-left:5px solid #f59e0b}.v35273-person{grid-template-columns:minmax(0,1fr) minmax(150px,auto);align-items:start}.v35283-person-main{min-width:0;display:grid!important;gap:7px!important}.v35274-person-head{min-width:0}.v35274-person-head>div{min-width:0;display:flex!important;flex-wrap:wrap;align-items:center;gap:7px!important}.v35274-person-head strong{font-size:1.02rem;overflow-wrap:anywhere}.v35283-facts,.v35283-path,.v35283-evidence{display:block!important;line-height:1.4;overflow-wrap:anywhere;word-break:normal}.v35283-evidence{color:var(--muted);max-width:100%}.v35283-source{display:inline-block;width:max-content;max-width:100%;margin-top:2px}.v35273-person>button{align-self:start;white-space:nowrap}.v35274-mini-scores,.v35274-disciplines{align-items:center}.v35274-mini-scores span,.v35274-domain{line-height:1.25}
@media(max-width:760px){.person-row{grid-template-columns:1fr 42px}.person-row>.person-name,.person-row>.person-role{grid-column:1}.person-row>.delete-person{grid-column:2;grid-row:1}.v35283-order-controls{grid-column:2;grid-row:2;flex-direction:column}.v35283-group-body{padding:2px 7px 8px}.v35273-person{grid-template-columns:1fr}.v35273-person>button{width:100%;white-space:normal}}

/* VetCRM v3.5.284 — état compact des horaires, sans second affichage */
.v35284-hours-note{border:1px solid #d7deea;background:#f7f9fc;color:#40516a;border-radius:999px;padding:7px 11px;font-weight:700;white-space:nowrap}.v35284-hours-note.is-ok{background:#eef8f1;border-color:#cce8d3;color:#245d38}.v35279-quick-grid{align-items:stretch}
/* VetCRM v3.5.286 — spécialistes accessibles PC + Android */
.v35285-quicknav{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;padding:8px 2px 10px;margin:0 0 8px;scrollbar-width:thin}.v35285-quicknav button{flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid #d5deea;border-radius:999px;background:#fff;font-weight:750;white-space:nowrap}.v35285-quicknav button b{display:inline-flex;min-width:22px;justify-content:center;margin-left:4px;padding:1px 6px;border-radius:999px;background:#eaf1fb}.v35285-specialists{grid-column:1/-1}.v35285-specialist-tools{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(170px,1fr) minmax(170px,1fr);gap:8px;margin:10px 0}.v35285-specialist-tools input,.v35285-specialist-tools select{width:100%;min-height:42px}.v35285-specialist-list{display:grid;gap:8px}.v35285-specialist-card{border:1px solid #dce4ee;border-radius:12px;background:#fff;overflow:hidden}.v35285-specialist-card[hidden]{display:none!important}.v35285-specialist-card>summary{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.8fr) 24px;gap:10px;align-items:center;padding:11px 12px;cursor:pointer;list-style:none}.v35285-specialist-card>summary::-webkit-details-marker{display:none}.v35285-specialist-card[open]>summary{background:#f7faff;border-bottom:1px solid #e1e8f0}.v35285-specialist-name{font-weight:850;overflow-wrap:anywhere}.v35285-specialist-summary{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.v35285-chip,.v35285-person-specialist{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:750;line-height:1.2}.v35285-chip.is-disc{background:#e8f0fb;color:#244a7c}.v35285-chip.is-species{background:#edf7ef;color:#28643a}.v35285-person-specialist{background:#fff4d6;color:#805400;margin:4px 6px 2px 0;width:max-content;max-width:100%}.v35285-chevron{font-size:1.45rem;text-align:center;transition:transform .15s}.v35285-specialist-card[open] .v35285-chevron{transform:rotate(90deg)}.v35285-specialist-detail{display:grid;gap:7px;padding:11px 12px;line-height:1.4}.v35285-evidence{color:var(--muted);overflow-wrap:anywhere}.v35285-scope-warning{padding:8px 10px;border-radius:9px;background:#fff8dc;color:#715500;font-weight:700}.v35285-detail-actions{display:flex;justify-content:flex-end}.v35285-flash{outline:3px solid #f0b429!important;outline-offset:2px}.v35285-specialists .section-head p{margin:.2rem 0 0;color:var(--muted)}
@media(max-width:760px){.v35285-quicknav{position:sticky;top:0;z-index:18;background:rgba(248,250,252,.96);backdrop-filter:blur(8px);margin-inline:-4px;padding:7px 4px}.v35285-quicknav button{min-height:44px;padding:9px 12px}.v35285-specialist-tools{grid-template-columns:1fr;gap:6px}.v35285-specialist-card>summary{grid-template-columns:1fr 24px;gap:7px}.v35285-specialist-name{font-size:1rem}.v35285-specialist-summary{grid-column:1;grid-row:2}.v35285-chevron{grid-column:2;grid-row:1/3}.v35285-specialist-detail{padding:10px}.v35285-detail-actions button{width:100%;min-height:44px}.v35285-person-specialist{grid-column:1;white-space:normal}}
.v35285-status{display:block;width:max-content;max-width:100%;margin-top:4px;padding:2px 7px;border-radius:999px;font-size:.72rem;font-weight:800}.v35285-status.is-present{background:#dcfce7;color:#166534}.v35285-status.is-missing{background:#ffedd5;color:#9a3412}.v35285-specialist-card.is-present{border-left:4px solid #22c55e}.v35285-specialist-card.is-missing{border-left:4px solid #f59e0b}

/* VetCRM v3.5.286 — statut horaires canonique */
.v35284-hours-note.is-warning{background:#fff7e6;border-color:#f0d79a;color:#7a5210}

/* VetCRM v3.5.287 — fiche compacte PC / Android */
.clinic-editor .v35287-panel-toggle{flex:0 0 auto;min-width:42px;min-height:38px;padding:5px 10px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;font-size:1.35rem;font-weight:900;line-height:1;cursor:pointer}
.clinic-editor .v35287-created-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.clinic-editor .v35287-created-head h2,.clinic-editor .v35287-created-head h3{margin:0}
.clinic-editor .v35287-panel-body[hidden]{display:none!important}
.clinic-editor .v35287-collapsed{padding-bottom:10px}
.clinic-editor .v35287-collapsed>.section-head,.clinic-editor .v35287-collapsed>.v35279-clinic-web-head{margin-bottom:0}
.v35287-person-headline{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(150px,1fr) auto auto auto;gap:8px;align-items:center;width:100%}
.v35287-person-headline>.person-name,.v35287-person-headline>.person-role{width:100%;min-width:0}
.v35287-person-body{grid-column:1/-1;display:grid;gap:8px;width:100%;margin-top:6px}
.v35287-person-body[hidden]{display:none!important}
.v35287-person-toggle{min-width:40px;min-height:40px;padding:5px 9px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;font-size:1.3rem;font-weight:900;line-height:1}
.v35287-person-headline .v35283-order-controls{display:flex;flex-direction:row;grid-column:auto;grid-row:auto}
.v35287-person-headline .delete-person{grid-column:auto!important;grid-row:auto!important}
.v35287-person-headline .v35285-person-specialist{grid-column:1/-1;margin:0 0 2px}
.v35285-quicknav .v35287-collapse-all{background:#f4f6f9}
@media(min-width:761px){.v35285-quicknav{position:sticky;top:0;z-index:17;background:rgba(248,250,252,.96);backdrop-filter:blur(8px);padding-top:7px}}
@media(max-width:760px){
 .clinic-editor .panel{padding:12px}
 .clinic-editor .section-head,.clinic-editor .v35279-clinic-web-head{gap:8px;align-items:center}
 .clinic-editor .section-head h2,.clinic-editor .v35279-clinic-web-head h2{font-size:1.12rem;line-height:1.2}
 .clinic-editor .v35287-panel-toggle{min-width:44px;min-height:44px;font-size:1.5rem}
 .v35287-person-headline{grid-template-columns:minmax(0,1fr) 44px 44px;gap:6px}
 .v35287-person-headline>.person-name,.v35287-person-headline>.person-role{grid-column:1;width:100%}
 .v35287-person-headline>.person-name{grid-row:1}
 .v35287-person-headline>.person-role{grid-row:2}
 .v35287-person-headline>.v35283-order-controls{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:4px}
 .v35287-person-headline>.v35287-person-toggle{grid-column:3;grid-row:1}
 .v35287-person-headline>.delete-person{grid-column:3!important;grid-row:2!important;min-width:44px;min-height:44px}
 .v35287-person-headline>.v35285-person-specialist{grid-column:1/-1;grid-row:3}
 .v35287-person-body{margin-top:4px}
 .v35285-quicknav{top:0;box-shadow:0 2px 8px rgba(15,23,42,.08)}
}

/* VetCRM v3.5.288 - stabilisation UI canonique */
.clinic-editor .panel[hidden]{display:none!important}
.clinic-editor .v35287-panel-toggle{display:inline-flex!important;align-items:center;justify-content:center;visibility:visible!important;opacity:1!important}
.v35287-person-toggle{display:inline-flex;align-items:center;justify-content:center}
.v35288-manual-lock{font-size:.72rem;color:#64748b}
@media(max-width:760px){.clinic-editor .panel{margin-bottom:8px}.clinic-editor .v35287-panel-toggle,.v35287-person-toggle{min-width:44px;min-height:44px}.v35285-quicknav{max-width:100vw}}
/* VetCRM v3.5.289 - Aide matériel / KOL CRM / sauvegarde photo */
.v35289-help-search{max-width:760px}.v35289-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.v35289-help-card{margin:0}.v35289-help-topic{border-top:1px solid var(--border,#d9e1ec);padding:10px 0}.v35289-help-topic summary{cursor:pointer;font-weight:700;min-height:36px;display:flex;align-items:center}.v35289-help-topic li{margin:.4rem 0}.v35289-kol-source{display:flex;justify-content:space-between;gap:16px;align-items:center}.v35289-kol-source p{margin:.25rem 0 0}.demo252-edit #saveDemo[disabled]{opacity:.7;cursor:wait}
@media(max-width:760px){.v35289-help-grid{grid-template-columns:1fr}.v35289-kol-source{align-items:flex-start;flex-direction:column}.v35289-help-module .module-head{align-items:flex-start}.v35289-help-card .section-head{gap:8px;align-items:flex-start}.v35289-help-card .button-like{min-height:44px;display:inline-flex;align-items:center}.v35289-help-topic summary{min-height:44px}}

/* VetCRM v3.5.297 — sélecteur de compatibilités Parc Démo */
.v35294-legacy-compat{display:none!important}
.v35294-compat-panel{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fafc;display:grid;gap:10px}
.v35294-compat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.v35294-compat-head p{margin:.25rem 0 0;color:var(--muted);font-size:.88rem}
.v35294-selected{display:flex;flex-wrap:wrap;gap:7px;min-height:38px;align-items:center}
.v35294-selected-chip{padding:8px 10px;background:#dbeafe;color:#1e3a8a;border:1px solid #bfdbfe;max-width:100%;text-align:left}
.v35294-selected-chip strong{font-size:1.05rem;line-height:1}
.v35294-search{margin:0}
.v35294-available{display:flex;flex-wrap:wrap;gap:7px;max-height:220px;overflow:auto;padding:2px}
.v35294-product-button{justify-content:flex-start;text-align:left;font-weight:600;padding:9px 11px;background:#eef2f7;max-width:100%;display:flex;flex-direction:column;align-items:flex-start}
.v35294-product-button small{display:block;color:var(--muted);font-weight:400;font-size:.78rem}
.v35294-empty{margin:4px 0}
.v35294-manual{border-top:1px solid var(--line);padding-top:8px}
.v35294-manual summary{cursor:pointer;font-weight:700;color:#475569}
.v35294-manual p{font-size:.82rem;margin:.5rem 0}
@media(max-width:620px){.v35294-compat-head{display:block}.v35294-compat-head .badge{display:inline-block;margin-top:7px}.v35294-available{display:grid;grid-template-columns:1fr;max-height:260px}.v35294-product-button,.v35294-selected-chip{width:100%;justify-content:space-between}.v35294-selected{display:grid;grid-template-columns:1fr;width:100%}}

/* VetCRM v3.5.303 — filtre de parc visible dans le renderer actif */
.demo302-owner-filter select{font-weight:700;border-color:#93c5fd;background:#eff6ff}.demo302-owner-filter small{font-size:.76rem}.demo302-owner-filter span{color:#1d4ed8}
/* VetCRM v3.5.319 - securite des comptes + QR MFA */
.v35316-account-modal{max-width:720px}
.v35316-security-card{margin:18px 0;padding:16px;border:1px solid #d7dfeb;border-radius:14px;background:#f8fafc}
.v35316-security-card h3{margin:0 0 12px}
.v35316-security-lines{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,1fr);gap:8px 16px;align-items:center;margin-bottom:14px}
.v35316-security-lines span{color:#5d6878}
.v35316-security-lines strong.ok{color:#137333}.v35316-security-lines strong.warn{color:#9a5b00}
.v35316-modal{max-width:620px}
.v35316-mfa-enroll{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:18px;align-items:center;margin:16px 0}
.v35316-mfa-enroll img{width:100%;max-width:240px;background:#fff;border:1px solid #d7dfeb;border-radius:12px;padding:10px}
.v35316-mfa-enroll code{display:block;margin-top:8px;padding:10px;border-radius:8px;background:#eef2f7;word-break:break-all;user-select:all}
.v35319-mfa-qr{width:100%;max-width:240px;aspect-ratio:1/1;display:grid;place-items:center;background:#fff;border:1px solid #d7dfeb;border-radius:12px;padding:10px;overflow:hidden}
.v35319-mfa-qr svg,.v35319-mfa-qr img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.v35319-qr-error{font-size:13px;line-height:1.35;color:#8b1e2d;text-align:center;padding:12px}

@media(max-width:640px){.v35316-mfa-enroll{grid-template-columns:1fr}.v35316-mfa-enroll img{margin:auto}.v35316-security-lines{grid-template-columns:1fr}.v35316-security-lines span{margin-top:6px}}

/* VetCRM v3.5.326 — un seul accès compte dans l'en-tête */
#phase31Header,.phase31-header-button{display:none!important}
.v35322-account-button{display:inline-flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-width:0!important;max-width:118px!important;line-height:1.02;overflow:hidden}
.v35322-account-main{display:block;max-width:100%;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v35322-account-sub{display:block;max-width:100%;font-size:.61rem;font-weight:600;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* VetCRM v3.5.326 — valise / kit de sondes */
.demo324-case-field small{display:block;margin-top:6px;line-height:1.35}


/* VetCRM v3.5.326 — compatibilités disponibles / sondes partagées */
.demo325-compat-panel{margin-top:14px}.demo325-compat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}.demo325-compat-head h2{margin:0 0 4px}.demo325-compat-head p{margin:0;color:var(--muted,#667085)}.demo325-compat-head .field{min-width:250px;margin:0}.demo325-compat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:9px;margin-top:12px}.demo325-compat-item{border:1px solid var(--line,#d9e0e8);border-radius:12px;padding:11px;background:var(--surface,#fff);display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.demo325-compat-item>div{display:flex;flex-direction:column;gap:3px;min-width:0}.demo325-compat-item small{color:var(--muted,#667085)}.demo325-compat-item.shared{border:2px solid #d39b00;background:#fff8df;box-shadow:0 0 0 2px rgba(211,155,0,.08)}.demo325-shared-badge,.demo325-shared-inline{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#ffe9a6;color:#6e4d00;padding:5px 8px;font-weight:750;font-size:.82rem;white-space:nowrap}.demo325-shared-inline{width:max-content;margin-top:2px}.demo325-shared-check{margin:8px 0 14px;align-items:flex-start;flex-wrap:wrap}.demo325-shared-check small{display:block;width:100%;padding-left:26px}
@media(max-width:700px){.demo325-compat-head{align-items:stretch}.demo325-compat-head .field{min-width:0;width:100%}.demo325-compat-list{grid-template-columns:1fr}.demo325-compat-item{align-items:flex-start}}

/* VetCRM v3.5.326 — disponibilité ponctuelle entre valises */
.demo326-sharedwith-field small{display:block;margin-top:6px;line-height:1.35}.demo326-usages{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.demo326-use,.demo326-occasional-inline{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:4px 7px;font-size:.78rem;font-weight:700;background:#eef2f6;color:#344054}.demo326-use.shared{background:#ffe9a6;color:#6e4d00}.demo326-use.occasional,.demo326-occasional-inline{background:#e8efff;color:#174ea6}.demo326-use.home{background:#e9f7ef;color:#17633a}.demo326-occasional-inline{margin-top:2px}

/* v3.5.336 — base active toujours lisible */
.v3583-workspace-switcher{flex:0 0 auto;min-width:165px;max-width:260px}
.v3583-workspace-switcher select{min-width:105px;max-width:190px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
#p329BaseChip{flex:0 0 auto;white-space:nowrap}
@media(max-width:1100px) and (min-width:761px){.v3583-workspace-switcher{min-width:145px;max-width:190px}.v3583-workspace-switcher select{min-width:90px;max-width:125px}#p329BaseChip{max-width:180px;overflow:hidden;text-overflow:ellipsis}}
