/* Identités visuelles propres aux six maquettes CRM Atelier DA. */
body[data-crm-trade] {
  --crm-accent: #177a5b;
  --crm-accent-strong: #125f48;
  --crm-ink: #18352e;
  --crm-sidebar: #142b25;
  --crm-canvas: #f2f5ef;
  --crm-paper: #fffefa;
  --crm-line: #dce6dc;
  --crm-radius: 14px;
  --crm-shadow: 0 12px 28px rgba(21, 43, 34, .07);
  background-color: var(--crm-canvas);
}

body[data-crm-trade="batiment"] {
  --crm-accent: #dc762e; --crm-accent-strong: #b8581e; --crm-ink: #22352d;
  --crm-sidebar: #1e302a; --crm-canvas: #edf1ed; --crm-paper: #fffefa;
  --crm-line: #d6ded7; --crm-radius: 5px; --crm-shadow: 0 8px 22px rgba(28,48,39,.08);
}
body[data-crm-trade="conciergerie"] {
  --crm-accent: #258979; --crm-accent-strong: #17695f; --crm-ink: #183b3b;
  --crm-sidebar: #153b3b; --crm-canvas: #eef5f2; --crm-paper: #fbfffd;
  --crm-line: #d6e6e0; --crm-radius: 19px; --crm-shadow: 0 15px 34px rgba(23,75,68,.08);
}
body[data-crm-trade="sav"] {
  --crm-accent: #3974d4; --crm-accent-strong: #2454a7; --crm-ink: #1b2b42;
  --crm-sidebar: #14243b; --crm-canvas: #edf2f8; --crm-paper: #fbfdff;
  --crm-line: #d5dfec; --crm-radius: 9px; --crm-shadow: 0 8px 22px rgba(27,54,92,.08);
}
body[data-crm-trade="commerce"] {
  --crm-accent: #bd6b38; --crm-accent-strong: #914a25; --crm-ink: #3a2b21;
  --crm-sidebar: #38291f; --crm-canvas: #f5f0e9; --crm-paper: #fffdf8;
  --crm-line: #e7daca; --crm-radius: 4px; --crm-shadow: 0 8px 22px rgba(75,51,32,.08);
}
body[data-crm-trade="resto"] {
  --crm-accent: #c45e43; --crm-accent-strong: #963d2a; --crm-ink: #26362c;
  --crm-sidebar: #23392e; --crm-canvas: #f3f1e9; --crm-paper: #fffdf7;
  --crm-line: #e5dfcf; --crm-radius: 2px; --crm-shadow: 0 9px 24px rgba(37,55,42,.09);
}
body[data-crm-trade="services"] {
  --crm-accent: #087e91; --crm-accent-strong: #075d70; --crm-ink: #173642;
  --crm-sidebar: #123341; --crm-canvas: #edf4f5; --crm-paper: #fbffff;
  --crm-line: #d7e5e8; --crm-radius: 12px; --crm-shadow: 0 11px 26px rgba(19,73,86,.08);
}

body[data-crm-trade] .app-sidebar { background: var(--crm-sidebar) !important; }
body[data-crm-trade] .sidebar-btn.active {
  color: #fff !important; background: var(--crm-accent) !important;
  box-shadow: 0 8px 19px color-mix(in srgb, var(--crm-accent) 28%, transparent);
}
body[data-crm-trade] .atelier-topbar,
body[data-crm-trade] .top-navy-banner { background: var(--crm-sidebar) !important; }
body[data-crm-trade] .app-main { background-color: var(--crm-canvas) !important; color: var(--crm-ink); }
body[data-crm-trade] .ada-toolbar,
body[data-crm-trade] .ada-crm-navbar,
body[data-crm-trade] .ada-crm-panel,
body[data-crm-trade] .ada-crm-kpi,
body[data-crm-trade] .ada-entity-card,
body[data-crm-trade] .ada-kanban-col {
  background: var(--crm-paper) !important; border-color: var(--crm-line) !important;
  border-radius: var(--crm-radius) !important; box-shadow: var(--crm-shadow) !important;
}
body[data-crm-trade] .ada-crm-nav-pill.active,
body[data-crm-trade] .ada-chip-btn.primary,
body[data-crm-trade] .ada-chip-btn.success,
body[data-crm-trade] .ada-kanban-card button.primary {
  color: #fff !important; background: var(--crm-accent) !important; border-color: var(--crm-accent) !important;
}
body[data-crm-trade] .ada-crm-nav-pill.active:hover,
body[data-crm-trade] .ada-chip-btn.primary:hover,
body[data-crm-trade] .ada-chip-btn.success:hover {
  background: var(--crm-accent-strong) !important; border-color: var(--crm-accent-strong) !important;
}
body[data-crm-trade] .ada-page-header { border-bottom-color: var(--crm-line) !important; }
body[data-crm-trade] .ada-page-header::before {
  content: ""; display: block; position: absolute; left: -12px; top: 3px; bottom: 22px;
  width: 3px; border-radius: 8px; background: var(--crm-accent);
}
body[data-crm-trade] .ada-page-header { position: relative; }
body[data-crm-trade] .ada-page-title,
body[data-crm-trade] .panel-title { color: var(--crm-ink) !important; }
body[data-crm-trade] .ada-crm-table th { background: color-mix(in srgb, var(--crm-accent) 8%, var(--crm-paper)) !important; }
body[data-crm-trade] .ada-crm-table tbody tr:hover { background: color-mix(in srgb, var(--crm-accent) 6%, var(--crm-paper)) !important; }
body[data-crm-trade] .ada-badge.blue { color: var(--crm-accent-strong); background: color-mix(in srgb, var(--crm-accent) 13%, white); }
body[data-crm-trade] .ada-save-indicator,
body[data-crm-trade] .ada-storage-indicator { color: var(--crm-accent-strong); }

/* Six postes de travail réellement distincts, construits autour du rythme de chaque métier. */
.ada-trade-home { display:none; container-type:inline-size; }
.ada-trade-home.active { display:block; animation: adaFadeIn .28s ease both; }
.ada-trade-dashboard { color:var(--crm-ink); padding:8px 2px 30px; }
.ada-home-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:4px 0 24px; }
.ada-home-kicker { display:block; margin-bottom:8px; color:var(--crm-accent-strong); font-size:10px; font-weight:850; letter-spacing:.17em; }
.ada-home-intro h1 { margin:0; font-size:clamp(25px,3vw,36px); line-height:1.06; letter-spacing:-.045em; }
.ada-home-intro p { margin:8px 0 0; color:#69777a; font-size:13px; }
.ada-home-action { display:inline-flex; align-items:center; gap:18px; border:0; padding:12px 16px; border-radius:9px; background:var(--crm-accent); color:#fff; font-family:inherit; font-size:12px; font-weight:700; cursor:pointer; white-space:nowrap; }
.ada-home-action b { font-size:16px; }
.ada-home-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:18px; }
.ada-home-stat { min-height:82px; display:flex; flex-direction:column; justify-content:space-between; padding:13px 15px; border:1px solid var(--crm-line); background:var(--crm-paper); border-radius:var(--crm-radius); box-shadow:var(--crm-shadow); }
.ada-home-stat span { color:#718084; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.ada-home-stat strong { color:var(--crm-ink); font-size:23px; letter-spacing:-.04em; }
.ada-home-card-head { min-height:28px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#728082; font-size:9px; font-weight:850; letter-spacing:.13em; }
.ada-home-card-head button { padding:0; border:0; background:none; color:var(--crm-accent-strong); font-family:inherit; font-size:11px; font-weight:700; cursor:pointer; }

/* Bâtiment : grand suivi de chantier et journal de terrain. */
.ada-dashboard-batiment .ada-build-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:14px; }
.ada-dashboard-batiment .ada-build-feature { padding:23px 24px; background:#20352d; color:#f8fbf5; border-radius:5px; box-shadow:inset 4px 0 var(--crm-accent); }
.ada-build-feature .ada-home-card-head { color:#becbc1; }
.ada-build-feature h2 { margin:22px 0 5px; font-size:24px; letter-spacing:-.035em; }
.ada-build-feature p { margin:0; color:#bac8bd; font-size:12px; }
.ada-status-tag { color:#fee1c8; background:#82491f; padding:5px 8px; border-radius:2px; letter-spacing:.08em; }
.ada-build-progress { height:7px; margin-top:26px; background:#42544c; }
.ada-build-progress span { display:block; height:100%; background:#f19a5a; }
.ada-build-progress-meta,.ada-build-meta { display:flex; justify-content:space-between; gap:12px; margin-top:8px; font-size:10px; color:#d5dfd7; }
.ada-build-progress-meta b { color:#fff; }
.ada-build-meta { margin-top:24px; padding-top:13px; border-top:1px solid #526159; }
.ada-home-paper { padding:17px 19px; background:var(--crm-paper); border:1px solid var(--crm-line); box-shadow:var(--crm-shadow); }
.ada-build-log { border-radius:5px; }
.ada-log-line { display:grid; grid-template-columns:49px 1fr auto; align-items:start; gap:10px; padding:13px 0; border-bottom:1px solid var(--crm-line); }
.ada-log-line:last-child { border:0; }
.ada-log-line i { font-style:normal; color:var(--crm-accent-strong); font-size:11px; font-weight:800; }
.ada-log-line b,.ada-log-line small { display:block; }
.ada-log-line b { font-size:11px; }
.ada-log-line small { margin-top:4px; color:#75817e; font-size:10px; }
.ada-log-line em { color:#60736b; font-size:9px; font-style:normal; white-space:nowrap; }
.ada-log-line em.is-pending { color:#b8581e; }
.ada-log-line em.is-next { color:#6b7b71; }
.ada-dashboard-batiment .ada-home-stat { border-left:3px solid var(--crm-accent); border-radius:2px; }

/* Conciergerie : agenda de rotation et disponibilité du parc. */
.ada-dashboard-conciergerie .ada-home-intro { padding:18px 22px; margin-bottom:17px; background:#e0eee8; border-radius:20px 20px 6px 20px; }
.ada-dashboard-conciergerie .ada-home-intro h1 { font-family:Georgia,serif; font-weight:500; letter-spacing:-.035em; }
.ada-stay-layout { display:grid; grid-template-columns:1.55fr .75fr; gap:13px; }
.ada-stay-agenda,.ada-stay-side > * { padding:17px 19px; background:var(--crm-paper); border:1px solid var(--crm-line); border-radius:18px 18px 7px 18px; box-shadow:var(--crm-shadow); }
.ada-stay-agenda .ada-home-card-head > span:last-child { text-transform:none; letter-spacing:0; }
.ada-stay-item { display:grid; grid-template-columns:51px 1fr 10px; align-items:center; gap:12px; padding:16px 2px; border-bottom:1px solid #e8eeea; }
.ada-stay-time { color:var(--crm-accent-strong); font-size:18px; font-weight:800; letter-spacing:-.05em; }
.ada-stay-time span { font-size:10px; }
.ada-stay-item b,.ada-stay-item small { display:block; }
.ada-stay-item b { font-size:12px; }
.ada-stay-item small { margin-top:4px; color:#71817d; font-size:10px; }
.ada-stay-dot { width:9px; height:9px; border-radius:50%; background:#7da89a; }
.ada-stay-dot.checkout { background:#d79a67; }.ada-stay-dot.cleaning { background:#7b9f8b; }.ada-stay-dot.checkin { background:#258979; }
.ada-stay-footer,.ada-route-footer { display:block; width:100%; padding:12px 0 0; border:0; background:none; color:var(--crm-accent-strong); text-align:left; font-weight:750; font-size:11px; cursor:pointer; }
.ada-stay-side { display:grid; gap:13px; }
.ada-occupancy { background:#194c49 !important; color:#f4fffb; }
.ada-occupancy > span,.ada-stay-note > span { display:block; color:#bed7d0; font-size:9px; font-weight:800; letter-spacing:.14em; }
.ada-occupancy strong { display:block; margin-top:14px; font-size:49px; line-height:1; font-weight:500; font-family:Georgia,serif; }
.ada-occupancy strong small { font-size:19px; }
.ada-occupancy p,.ada-stay-note small { margin:6px 0 13px; color:#c7dad3; font-size:10px; }
.ada-occupancy-track { height:5px; background:#396b65; border-radius:10px; }.ada-occupancy-track i { display:block; width:78%; height:100%; background:#d9eddf; border-radius:10px; }
.ada-stay-note > span { color:var(--crm-accent-strong); }.ada-stay-note b,.ada-stay-note small { display:block; }.ada-stay-note b { margin-top:10px; font-size:17px; }.ada-stay-note small { color:#75817e; }.ada-stay-note button { padding:0; border:0; background:none; color:var(--crm-accent-strong); font-weight:750; cursor:pointer; font-size:10px; }
.ada-dashboard-conciergerie .ada-home-stat { border-radius:18px 18px 7px 18px; }

/* Réparation : file de tickets hiérarchisée et poste de diagnostic. */
.ada-dashboard-sav .ada-home-intro { align-items:center; padding:19px 23px; background:#152a45; color:#f3f7ff; border-radius:9px; }
.ada-dashboard-sav .ada-home-intro p { color:#b3c2d8; }.ada-dashboard-sav .ada-home-kicker { color:#91b8ff; }
.ada-dashboard-sav .ada-home-action { background:#3974d4; }
.ada-sav-layout { display:grid; grid-template-columns:1.25fr .75fr; gap:13px; }
.ada-sav-queue,.ada-sav-bench { padding:17px 18px; border:1px solid #d5dfec; background:var(--crm-paper); border-radius:9px; box-shadow:var(--crm-shadow); }
.ada-sav-counter { padding:5px 8px; background:#eaf1fd; color:#2454a7; border-radius:4px; letter-spacing:.04em; }
.ada-sav-ticket { display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:10px; min-height:65px; border-bottom:1px solid #e4eaf2; }
.ada-ticket-mark { display:grid; place-items:center; width:25px; height:25px; border:1px solid #d5dfec; color:#53647b; font-size:10px; font-weight:800; border-radius:5px; }
.ada-sav-ticket.urgent .ada-ticket-mark { border-color:#d96059; background:#fff0ef; color:#b63c36; }
.ada-sav-ticket b,.ada-sav-ticket small { display:block; }.ada-sav-ticket b { font-size:11px; }.ada-sav-ticket small { margin-top:4px; font-size:9px; color:#75839a; }
.ada-ticket-status { padding:5px 7px; color:#9d4a23; background:#fff2e8; font-size:8px; font-weight:850; letter-spacing:.06em; white-space:nowrap; }
.ada-ticket-status.is-wait { color:#496389; background:#edf3fc; }.ada-ticket-status.is-done { color:#347051; background:#edf7f0; }
.ada-sav-footer { padding:12px 0 0; border:0; background:none; color:#2454a7; font-weight:750; font-size:10px; cursor:pointer; }
.ada-sav-bench { background:#e7eef8; border-color:#d5dfec; }
.ada-bench-top { display:flex; justify-content:space-between; gap:8px; color:#60738f; font-size:8px; font-weight:850; letter-spacing:.1em; }.ada-bench-top i { color:#25845b; font-style:normal; }
.ada-bench-glyph { display:grid; place-items:center; width:44px; height:44px; margin-top:16px; border-radius:13px; color:#3974d4; background:#fff; font-size:30px; }
.ada-sav-bench h2 { margin:11px 0 3px; font-size:18px; }.ada-sav-bench p { margin:0; color:#62738a; font-size:10px; }
.ada-bench-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; margin:18px 0; }.ada-bench-steps span { padding-top:8px; border-top:2px solid #c7d4e6; color:#7c8ba0; font-size:8px; }.ada-bench-steps .done { border-color:#3974d4; color:#2454a7; }.ada-bench-steps .current { border-color:#e78c45; color:#9d4a23; }
.ada-sav-bench button { width:100%; padding:9px; border:1px solid #bfcde0; border-radius:5px; background:#f8fbff; color:#2454a7; font-size:10px; font-weight:750; cursor:pointer; }
.ada-dashboard-sav .ada-home-stat { border-radius:5px; }

/* Commerce : poste de caisse tactile et alertes de rayon. */
.ada-dashboard-commerce .ada-home-intro { align-items:center; padding:17px 21px; border:1px solid #eadaca; background:#fffaf2; }
.ada-dashboard-commerce .ada-home-intro h1 { font-family:Georgia,serif; font-weight:600; letter-spacing:-.03em; }
.ada-shop-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:12px; }
.ada-shop-register,.ada-shop-shelf { background:#fffdf8; border:1px solid #e7daca; box-shadow:var(--crm-shadow); }
.ada-register-top { display:grid; grid-template-columns:1fr auto; align-items:center; gap:3px 10px; padding:18px 20px; background:#38291f; color:#fff8ee; }
.ada-register-top span { color:#d6c4af; font-size:9px; font-weight:800; letter-spacing:.14em; }.ada-register-top strong { grid-column:2; grid-row:1 / span 2; font-family:Georgia,serif; font-size:25px; font-weight:500; }.ada-register-top small { color:#d6c4af; font-size:10px; }
.ada-register-products { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:16px; }
.ada-register-products button { min-height:102px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:5px; padding:12px; border:1px solid #eadaca; background:#fff; text-align:left; cursor:pointer; }
.ada-register-products button:hover { border-color:var(--crm-accent); background:#fff9f1; }.ada-register-products i { margin-bottom:auto; color:var(--crm-accent); font-style:normal; font-size:21px; }.ada-register-products b { font-size:10px; }.ada-register-products small { color:#8c7b6c; font-size:9px; }
.ada-register-bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px 16px; border-top:1px solid #eadaca; color:#7b6451; font-size:10px; }.ada-register-bottom button { border:0; background:none; color:#914a25; font-weight:750; cursor:pointer; }
.ada-shop-shelf { padding:17px 18px; }.ada-shelf-item { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:10px; padding:15px 0; border-bottom:1px solid #eee5db; }.ada-product-stamp { display:grid; place-items:center; width:31px; height:31px; background:#f3e7d8; color:#914a25; font-family:Georgia,serif; font-size:10px; }.ada-shelf-item b,.ada-shelf-item small { display:block; }.ada-shelf-item b { font-size:10px; }.ada-shelf-item small { margin-top:3px; color:#897c70; font-size:9px; }.ada-shelf-item > strong { color:#a14e26; font-size:14px; }.ada-shelf-item > strong small { display:inline; color:#998878; font-size:9px; }
.ada-shelf-note { display:flex; justify-content:space-between; gap:10px; padding-top:12px; color:#897c70; font-size:9px; }.ada-shelf-note b { color:#403328; }
.ada-dashboard-commerce .ada-home-stat { border-bottom:2px solid #ead8c3; border-radius:0; }

/* Restauration : plan des tables, puis bons au passe — lecture de salle immédiate. */
.ada-dashboard-resto .ada-home-intro { align-items:center; padding:4px 0 16px; border-bottom:1px solid #d9d3c7; }
.ada-dashboard-resto .ada-home-intro h1 { font-family:Georgia,serif; font-size:34px; font-weight:500; letter-spacing:-.035em; }.ada-dashboard-resto .ada-home-kicker { color:#a64a36; }
.ada-resto-layout { display:grid; grid-template-columns:1.06fr .94fr; gap:12px; }
.ada-resto-floor,.ada-resto-pass { border:1px solid #e5dfcf; background:#fffdf7; box-shadow:var(--crm-shadow); }
.ada-resto-floor { padding:17px 18px 13px; }.ada-resto-pass { background:#26382e; color:#f7f3e9; padding:17px 17px 13px; }
.ada-resto-floor .ada-home-card-head > span:last-child { text-transform:none; letter-spacing:0; }.ada-floor-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; padding:15px 10px 13px; }
.table-seat { min-height:74px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border:1px solid #d9d3c7; border-radius:50%; background:#f8f6ee; color:#485347; cursor:pointer; }.table-seat b { font-family:Georgia,serif; font-size:16px; font-weight:500; }.table-seat small,.table-seat i { font-size:8px; font-style:normal; }.table-seat.occupied { background:#e8efe6; border-color:#91ad8e; }.table-seat.reserved { background:#f8ead9; border-color:#d5a16d; }.table-seat.free { color:#8b8c7f; border-style:dashed; }
.ada-floor-legend { display:flex; justify-content:center; gap:14px; color:#777a70; font-size:8px; }.ada-floor-legend span { display:flex; align-items:center; gap:5px; }.ada-floor-legend i { width:7px; height:7px; border-radius:50%; background:#91ad8e; }.ada-floor-legend i.reserved { background:#d5a16d; }.ada-floor-legend i.free { background:#cccbbf; }
.ada-pass-head { display:flex; justify-content:space-between; align-items:center; min-height:28px; padding-bottom:11px; border-bottom:1px solid #536157; color:#e8bc83; font-size:9px; font-weight:850; letter-spacing:.13em; }.ada-pass-head b { color:#d9e5d6; font-size:9px; letter-spacing:0; }
.ada-resto-pass article { display:grid; grid-template-columns:40px 1fr auto; gap:8px; align-items:center; padding:14px 0; border-bottom:1px solid #47574b; }.ada-resto-pass time { color:#e8bc83; font-size:9px; font-weight:750; }.ada-resto-pass article b,.ada-resto-pass article small { display:block; }.ada-resto-pass article b { font-size:10px; }.ada-resto-pass article small { margin-top:4px; color:#bdc9bc; font-size:8px; }.ada-resto-pass article > span { color:#f0d2a1; font-size:9px; }.ada-resto-pass article > span.pass-wait { color:#d1d5ca; }
.ada-resto-pass > button { margin-top:10px; padding:0; border:0; background:none; color:#f0c98f; font-size:10px; font-weight:750; cursor:pointer; }.ada-dashboard-resto .ada-home-stat { border-radius:2px; }

/* Services : tournée verticale reliée à un schéma de secteur. */
.ada-dashboard-services .ada-home-intro { align-items:center; padding:18px 21px; background:#123341; color:#f2fbfd; border-radius:12px 12px 3px 12px; }.ada-dashboard-services .ada-home-intro p { color:#b4cbd0; }.ada-dashboard-services .ada-home-kicker { color:#7cd0d6; }.ada-dashboard-services .ada-home-action { background:#087e91; }
.ada-route-layout { display:grid; grid-template-columns:1.3fr .7fr; gap:13px; }.ada-route-list,.ada-route-map { padding:17px 19px; border:1px solid #d7e5e8; background:#fbffff; border-radius:12px 12px 3px 12px; box-shadow:var(--crm-shadow); }
.ada-route-list .ada-home-card-head > span:last-child { text-transform:none; letter-spacing:0; }.ada-route-stop { position:relative; display:grid; grid-template-columns:32px 1fr auto; gap:10px; align-items:start; padding:16px 0 16px 4px; border-bottom:1px solid #e2ecee; }.ada-route-stop:not(:last-of-type)::after { content:""; position:absolute; left:17px; top:44px; bottom:-17px; border-left:1px dashed #8ebec4; }
.ada-route-pin { position:relative; z-index:1; display:grid; place-items:center; width:26px; height:26px; border:1px solid #afcfd3; border-radius:50%; background:#f5fbfb; color:#39717a; font-size:8px; font-weight:850; }.ada-route-pin.current { background:#087e91; border-color:#087e91; color:#fff; }
.ada-route-stop b,.ada-route-stop small,.ada-route-stop span { display:block; }.ada-route-stop b { font-size:11px; }.ada-route-stop small { margin-top:3px; color:#6e8489; font-size:9px; }.ada-route-stop span { margin-top:6px; color:#55767d; font-size:9px; }.ada-route-stop > i { padding:5px 7px; color:#28717a; background:#e5f3f4; font-size:8px; font-style:normal; font-weight:750; white-space:nowrap; }.ada-route-stop > i.is-alert { color:#a55c2e; background:#fff0e5; }
.ada-route-map { position:relative; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; color:#087e91; background-color:#e6f1f1; background-image:linear-gradient(30deg,transparent 47%,#c9dede 48%,#c9dede 49%,transparent 50%),linear-gradient(120deg,transparent 46%,#c9dede 47%,#c9dede 48%,transparent 49%); background-size:65px 54px,80px 68px; }.ada-map-label { position:absolute; top:16px; left:17px; color:#5a8188; font-size:8px; font-weight:850; letter-spacing:.12em; }.ada-route-map svg { width:100%; height:195px; margin-top:20px; color:#087e91; fill:#087e91; }.ada-route-map > div { padding:9px 11px; background:#f7ffffdb; color:#173642; }.ada-route-map b,.ada-route-map small { display:block; }.ada-route-map b { font-size:10px; }.ada-route-map small { margin-top:4px; color:#658086; font-size:9px; }
.ada-dashboard-services .ada-home-stat { border-radius:12px 12px 3px 12px; }

@media (max-width:800px) {
  .ada-home-intro { align-items:flex-start; flex-direction:column; }
  .ada-build-layout,.ada-stay-layout,.ada-sav-layout,.ada-shop-layout,.ada-resto-layout,.ada-route-layout { grid-template-columns:1fr; }
  .ada-home-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container (max-width:800px) {
  .ada-home-intro { align-items:flex-start !important; flex-direction:column; }
  .ada-build-layout,.ada-stay-layout,.ada-sav-layout,.ada-shop-layout,.ada-resto-layout,.ada-route-layout { grid-template-columns:minmax(0,1fr) !important; }
  .ada-home-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
body.mobile-preview-mode[data-crm-trade] .app-shell { grid-template-columns:minmax(0,1fr) !important; }
body.mobile-preview-mode[data-crm-trade="batiment"] .ada-crm-navbar { display:flex !important; }
@media (max-width:1080px) {
  body[data-crm-trade] .app-shell { grid-template-columns:minmax(0,1fr) !important; }
  body[data-crm-trade="batiment"] .ada-crm-navbar { display:flex !important; }
}
@media (max-width:520px) {
  .ada-home-stat { min-height:70px; padding:10px; }.ada-home-stat strong { font-size:18px; }
  .ada-log-line { grid-template-columns:42px 1fr; }.ada-log-line em { grid-column:2; }
  .ada-sav-ticket { grid-template-columns:26px 1fr; padding:10px 0; }.ada-ticket-status { grid-column:2; justify-self:start; }
  .ada-register-products { grid-template-columns:1fr; }.ada-register-products button { min-height:70px; }
  .ada-route-stop { grid-template-columns:30px 1fr; }.ada-route-stop > i { grid-column:2; justify-self:start; }
}

/* Bâtiment : grille de plan, angles francs et repère orange sécurité. */
body[data-crm-trade="batiment"] .app-main { background-image: linear-gradient(#dce4dc88 1px,transparent 1px),linear-gradient(90deg,#dce4dc88 1px,transparent 1px) !important; background-size: 26px 26px !important; }
body[data-crm-trade="batiment"] .ada-toolbar { border-top: 3px solid var(--crm-accent) !important; }
body[data-crm-trade="batiment"] .ada-crm-kpi { border-left: 3px solid var(--crm-accent) !important; }
body[data-crm-trade="batiment"] .app-shell { grid-template-columns:220px minmax(0,1fr) !important; gap:14px; }
body[data-crm-trade="batiment"] .ada-crm-navbar { display:none !important; }
body[data-crm-trade="batiment"] .app-sidebar { border-right:1px solid #43584c; box-shadow:6px 0 20px #18372a12; }
body[data-crm-trade="batiment"] .ada-page-header { border-radius:3px; border-top:3px solid var(--crm-accent); background:#f9fbf7; }
body[data-crm-trade="batiment"] .ada-crm-table th { border-bottom:2px solid var(--crm-accent); }
body[data-crm-trade="batiment"] .ada-crm-table tbody tr { border-left:2px solid #d6ded7; }

/* Conciergerie : rythme doux, formes rondes et vert lagon. */
body[data-crm-trade="conciergerie"] .ada-crm-navbar { border-radius: 999px !important; padding: 10px 12px !important; }
body[data-crm-trade="conciergerie"] .ada-crm-kpi { border-top: 2px solid #b7d9ce !important; }
body[data-crm-trade="conciergerie"] .ada-entity-card { border-radius: 18px 18px 7px 18px !important; }
body[data-crm-trade="conciergerie"] .app-shell { grid-template-columns:minmax(0,1fr) !important; }
body[data-crm-trade="conciergerie"] .app-sidebar { display:none !important; }
body[data-crm-trade="conciergerie"] .ada-crm-navbar { position:sticky; top:8px; z-index:5; justify-content:center; margin:0 auto 18px; width:max-content; max-width:100%; }
body[data-crm-trade="conciergerie"] .ada-pill-num { display:none; }
body[data-crm-trade="conciergerie"] .ada-page-header { border:0; border-radius:24px 24px 8px 24px; background:#e7f2ed; box-shadow:none; }
body[data-crm-trade="conciergerie"] .ada-page-title { font-family:Georgia,serif; font-weight:500; }
body[data-crm-trade="conciergerie"] .ada-crm-table { border-collapse:separate; border-spacing:0 6px; }
body[data-crm-trade="conciergerie"] .ada-crm-table tbody tr { background:#f7fcf9; }

/* SAV : poste de diagnostic, surfaces bleutées et signalétique technique. */
body[data-crm-trade="sav"] .ada-toolbar { border-left: 4px solid var(--crm-accent) !important; }
body[data-crm-trade="sav"] .ada-crm-panel { box-shadow: inset 0 3px 0 #dbe7f8,var(--crm-shadow) !important; }
body[data-crm-trade="sav"] .ada-page-header::before { width: 5px; }
body[data-crm-trade="sav"] .app-shell { grid-template-columns:188px minmax(0,1fr) !important; gap:10px; }
body[data-crm-trade="sav"] .ada-crm-navbar { border-radius:4px; background:#e5edf8; }
body[data-crm-trade="sav"] .ada-crm-nav-pill { border-radius:4px; font-size:11px; }
body[data-crm-trade="sav"] .ada-page-header { background:#152a45; color:#f3f7ff; border-color:#304563; border-radius:7px; }
body[data-crm-trade="sav"] .ada-page-sub { color:#b7c5da; }
body[data-crm-trade="sav"] .ada-crm-table th { background:#e7eef8 !important; color:#28476f; }
body[data-crm-trade="sav"] .ada-crm-table td:first-child { color:#2454a7; font-family:Consolas,monospace; font-weight:750; }

/* Commerce : papier ivoire, filets chauds et silhouettes carrées. */
body[data-crm-trade="commerce"] .ada-crm-navbar { border-top: 2px solid #d9b28e !important; }
body[data-crm-trade="commerce"] .ada-crm-kpi { border-bottom: 2px solid #ead8c3 !important; }
body[data-crm-trade="commerce"] .ada-entity-card { border-radius: 4px !important; }
body[data-crm-trade="commerce"] .app-shell { grid-template-columns:minmax(0,1fr) !important; }
body[data-crm-trade="commerce"] .app-sidebar { display:none !important; }
body[data-crm-trade="commerce"] .ada-crm-navbar { justify-content:space-between; border-radius:0; background:#fffaf2; box-shadow:none; }
body[data-crm-trade="commerce"] .ada-pill-num { display:none; }
body[data-crm-trade="commerce"] .ada-crm-nav-pill { border-radius:2px; text-transform:uppercase; letter-spacing:.06em; font-size:10px; }
body[data-crm-trade="commerce"] .ada-page-header { border-radius:0; background:#fffaf2; box-shadow:none; border-color:#eadaca; }
body[data-crm-trade="commerce"] .ada-page-title { font-family:Georgia,serif; font-weight:600; }
body[data-crm-trade="commerce"] .ada-crm-table th { background:#f2e9dc !important; color:#60442e; }
body[data-crm-trade="commerce"] .ada-crm-table td { border-bottom:1px solid #eee5db; }

/* Restaurant : composition éditoriale, ligne de passe terracotta. */
body[data-crm-trade="resto"] .ada-toolbar { border-bottom: 2px solid var(--crm-accent) !important; }
body[data-crm-trade="resto"] .ada-crm-panel { border-top: 2px solid #d5b27d !important; }
body[data-crm-trade="resto"] .ada-crm-kpi { border-radius: 2px !important; }
body[data-crm-trade="resto"] .app-shell { grid-template-columns:minmax(0,1fr) !important; }
body[data-crm-trade="resto"] .app-sidebar { display:none !important; }
body[data-crm-trade="resto"] .ada-crm-navbar { padding:5px 0; border:0; border-bottom:1px solid #d9d3c7; border-radius:0; box-shadow:none; background:transparent; }
body[data-crm-trade="resto"] .ada-pill-num { display:none; }
body[data-crm-trade="resto"] .ada-crm-nav-pill { font-family:Georgia,serif; font-size:12px; font-weight:600; border-radius:0; }
body[data-crm-trade="resto"] .ada-page-header { padding:12px 2px 16px; border:0; border-bottom:1px solid #d9d3c7; border-radius:0; background:transparent; box-shadow:none; }
body[data-crm-trade="resto"] .ada-page-title { font-family:Georgia,serif; font-size:27px; font-weight:500; }
body[data-crm-trade="resto"] .ada-crm-table th { background:#26382e !important; color:#f7f3e9; }
body[data-crm-trade="resto"] .ada-crm-table tbody tr:nth-child(even) { background:#f3f1e9; }

/* Services : interface tournée, axe vertical et touches cyan. */
body[data-crm-trade="services"] .ada-toolbar { border-left: 4px solid var(--crm-accent) !important; }
body[data-crm-trade="services"] .ada-crm-kpi { border-radius: 12px 12px 3px 12px !important; }
body[data-crm-trade="services"] .ada-crm-nav-pill.active { box-shadow: 0 5px 16px #087e9138 !important; }
body[data-crm-trade="services"] .app-shell { grid-template-columns:205px minmax(0,1fr) !important; gap:12px; }
body[data-crm-trade="services"] .app-sidebar { border-right:2px solid #b8d5d9; }
body[data-crm-trade="services"] .ada-crm-navbar { border-radius:12px 12px 3px 12px; background:#e2eff1; }
body[data-crm-trade="services"] .ada-crm-nav-pill { border-radius:12px 12px 3px 12px; }
body[data-crm-trade="services"] .ada-page-header { border-radius:12px 12px 3px 12px; background:#e5f0f2; border-color:#d7e5e8; }
body[data-crm-trade="services"] .ada-page-title { letter-spacing:-.035em; }
body[data-crm-trade="services"] .ada-crm-table tbody tr td:first-child { border-left:3px solid #add0d4; font-weight:800; }
body[data-crm-trade="services"] .ada-crm-table tbody tr:hover td:first-child { border-left-color:var(--crm-accent); }

@media (prefers-reduced-motion: no-preference) {
  body[data-crm-trade] .ada-crm-kpi,
  body[data-crm-trade] .ada-entity-card { transition: transform .18s ease, box-shadow .18s ease; }
  body[data-crm-trade] .ada-crm-kpi:hover,
  body[data-crm-trade] .ada-entity-card:hover { transform: translateY(-2px); }
}
