:root {
    --violet: #38227e;
    --violet-dark: #2d1b68;
    --violet-soft: #f1eef9;
    --vert: #98bf24;
    --vert-soft: #f3f8e7;
    --fond: #f6f7fb;
    --blanc: #ffffff;
    --texte: #1e293b;
    --muted: #64748b;
    --border: #e5e7eb;
    --danger: #dc2626;
    --shadow: 0 8px 30px rgba(30,41,59,.06);
}
* { box-sizing: border-box; }
html { min-height: 100%; }
body { margin: 0; min-height: 100vh; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--fond); color: var(--texte); }
a { color: var(--violet); text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, .btn { border-radius: 8px; }

/* Public / auth */
.topbar { background: white; border-bottom: 1px solid var(--border); padding: 16px 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 800; color: var(--violet); }
.brand-mark { width: 34px; height: 34px; display: inline-grid; place-items: center; border-radius: 10px; background: var(--violet); color: white; font-weight: 900; }
.container { width: min(100% - 32px, 1100px); margin: 40px auto; }
.auth-card { width: min(100%, 520px); margin: 30px auto; background: white; padding: 32px; border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow); }

h1,h2,h3,p { margin-top: 0; }
h1 { color: var(--texte); letter-spacing: -.03em; font-size: clamp(28px, 3vw, 38px); margin-bottom: 8px; }
h2 { font-size: 19px; margin-bottom: 5px; }
h3 { font-size: 17px; }
.muted { color: var(--muted); }
.eyebrow { text-transform: uppercase; letter-spacing: .11em; font-size: 11px; color: var(--violet); font-weight: 800; margin-bottom: 8px; }

.form-group { margin-bottom: 18px; }
label { display: block; font-weight: 700; font-size: 14px; margin-bottom: 7px; }
input, select, textarea { width: 100%; padding: 11px 13px; border: 1px solid #d9dce3; border-radius: 8px; background: white; color: var(--texte); outline: none; transition: .15s ease; }
input:focus, select:focus, textarea:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(56,34,126,.09); }
textarea { resize: vertical; }
.btn { display: inline-flex; justify-content: center; align-items: center; gap: 8px; border: 0; background: var(--violet); color: white; padding: 11px 17px; font-weight: 750; cursor: pointer; transition: .15s ease; }
.btn:hover { background: var(--violet-dark); transform: translateY(-1px); }
.btn-light { background: #eef0f4; color: var(--texte); }
.btn-light:hover { background: #e3e6eb; }
.btn-full { width: 100%; }
.alert { padding: 12px 14px; margin-bottom: 18px; background: white; border: 1px solid var(--border); border-left: 4px solid var(--violet); border-radius: 8px; }
.alert-error { border-left-color: var(--danger); }
.alert-success { border-left-color: var(--vert); }

/* App layout */
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; z-index: 30; inset: 0 auto 0 0; width: 250px; background: #fff; border-right: 1px solid var(--border); display: flex; flex-direction: column; }
.sidebar-brand { min-height: 70px; display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid #f1f2f5; }
.sidebar-close { display: none; border: 0; background: transparent; font-size: 28px; color: var(--muted); cursor: pointer; }
.sidebar-nav { padding: 18px 12px; flex: 1; overflow-y: auto; }
.nav-label { display: block; color: #98a1b2; text-transform: uppercase; font-size: 10px; letter-spacing: .13em; font-weight: 800; padding: 0 10px 8px; }
.nav-label-spaced { margin-top: 23px; }
.nav-item { min-height: 42px; display: flex; align-items: center; gap: 11px; padding: 9px 10px; border-radius: 8px; color: #445066; font-size: 14px; font-weight: 650; margin-bottom: 3px; }
.nav-item:hover { background: #f6f5fb; color: var(--violet); }
.nav-item.active { background: var(--violet-soft); color: var(--violet); }
.nav-icon { width: 22px; text-align: center; font-size: 17px; }
.nav-item small { margin-left: auto; font-size: 9px; text-transform: uppercase; color: #9ba3b1; background: #f2f3f6; padding: 3px 5px; border-radius: 5px; }
.nav-disabled { opacity: .58; cursor: default; }
.nav-disabled:hover { background: transparent; color: #445066; }
.sidebar-bottom { padding: 15px; border-top: 1px solid var(--border); }
.company-mini { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: center; margin-bottom: 12px; }
.company-avatar, .user-chip { display: grid; place-items: center; background: var(--violet-soft); color: var(--violet); font-weight: 850; }
.company-avatar { width: 34px; height: 34px; border-radius: 9px; }
.company-mini strong, .company-mini span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.company-mini strong { font-size: 13px; }
.company-mini span { color: var(--muted); font-size: 11px; margin-top: 2px; }
.logout-link { display: block; font-size: 12px; color: var(--muted); padding: 6px 4px; }
.app-main { margin-left: 250px; min-height: 100vh; }
.app-topbar { height: 70px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--border); display: flex; align-items: center; padding: 0 28px; position: sticky; top: 0; z-index: 20; }
.topbar-title { font-size: 14px; font-weight: 750; }
.user-chip { margin-left: auto; width: 34px; height: 34px; border-radius: 50%; font-size: 12px; text-transform: uppercase; }
.menu-toggle { display: none; margin-right: 12px; border: 0; background: transparent; font-size: 22px; cursor: pointer; }
.app-content { width: min(100% - 48px, 1320px); margin: 0 auto; padding: 36px 0 60px; }
.sidebar-overlay { display: none; }

.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.page-heading.compact { align-items: center; }
.page-heading p:last-child { margin-bottom: 0; }
.back-link { display: inline-block; font-size: 13px; font-weight: 700; margin-bottom: 13px; color: var(--muted); }

.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; margin-bottom: 22px; }
.stat-card { background: white; border: 1px solid var(--border); border-radius: 12px; padding: 20px; box-shadow: 0 3px 14px rgba(30,41,59,.025); }
.stat-card strong { display: block; font-size: 29px; letter-spacing: -.04em; margin: 9px 0 3px; }
.stat-label { color: var(--muted); font-size: 12px; font-weight: 750; }
.stat-note { color: #98a1b2; font-size: 11px; }
.stat-card-accent { background: var(--violet); color: white; border-color: var(--violet); }
.stat-card-accent .stat-label, .stat-card-accent .stat-note { color: rgba(255,255,255,.72); }

.panel, .form-panel { background: white; border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 3px 16px rgba(30,41,59,.025); }
.panel { padding: 22px; }
.panel-no-pad { padding: 0; overflow: hidden; }
.panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.panel-header h2 { margin-bottom: 4px; }
.panel-header p { color: var(--muted); font-size: 13px; margin: 0; }
.link-arrow { font-size: 13px; font-weight: 750; }
.empty-state { text-align: center; padding: 54px 22px; max-width: 560px; margin: auto; }
.empty-icon { width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto 14px; background: var(--violet-soft); color: var(--violet); border-radius: 14px; font-size: 23px; }
.empty-state p { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 0 auto 18px; }

.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { padding: 14px 16px; text-align: left; border-bottom: 1px solid #eef0f3; font-size: 13px; }
th { color: #7c8798; background: #fbfbfd; text-transform: uppercase; letter-spacing: .045em; font-size: 10px; }
tbody tr:last-child td { border-bottom: 0; }
.clickable-row { cursor: pointer; transition: .12s ease; }
.clickable-row:hover { background: #faf9fd; }
.cell-main, .cell-sub { display: block; }
.cell-sub { color: var(--muted); font-size: 11px; margin-top: 3px; }
.status { display: inline-flex; align-items: center; white-space: nowrap; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; background: #f1f3f6; color: #5e6878; }
.status-nouveau { background: #eeeafb; color: var(--violet); }
.status-a_contacter { background: #fff5dc; color: #946200; }
.status-devis { background: #e8f2ff; color: #2266a6; }
.status-gagne { background: var(--vert-soft); color: #5e7f08; }
.status-perdu { background: #feecec; color: #b12828; }
.status-large { padding: 8px 12px; font-size: 11px; }

.filter-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; margin-bottom: 17px; }
.filter-tabs a { flex: 0 0 auto; color: var(--muted); background: white; border: 1px solid var(--border); border-radius: 8px; padding: 8px 10px; font-size: 12px; font-weight: 700; }
.filter-tabs a span { display: inline-grid; place-items: center; min-width: 19px; height: 19px; margin-left: 5px; background: #f2f3f6; border-radius: 5px; font-size: 9px; }
.filter-tabs a.active { color: var(--violet); border-color: #cbc4e7; background: var(--violet-soft); }
.filter-tabs a.active span { background: white; }

.form-panel { max-width: 900px; overflow: hidden; }
.form-section { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 30px; padding: 26px; border-bottom: 1px solid var(--border); }
.section-title p { color: var(--muted); font-size: 12px; line-height: 1.5; }
.form-grid { display: grid; gap: 0 16px; }
.form-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.form-grid .full { grid-column: 1 / -1; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 18px 26px; background: #fbfbfc; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(290px, .75fr); gap: 18px; align-items: start; }
.info-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--border); border-radius: 9px; overflow: hidden; }
.info-list > div { padding: 15px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.info-list > div:nth-child(2n) { border-right: 0; }
.info-list > div:nth-last-child(-n+2) { border-bottom: 0; }
.info-list span, .message-box > span { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; margin-bottom: 5px; }
.info-list strong { font-size: 13px; }
.message-box { margin-top: 18px; padding: 16px; background: #fafafd; border-radius: 9px; }
.message-box p { margin: 0; line-height: 1.65; font-size: 14px; }

@media (max-width: 1000px) {
    .stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .sidebar { transform: translateX(-100%); transition: transform .2s ease; }
    .sidebar-close { display: block; }
    .sidebar-open .sidebar { transform: translateX(0); }
    .sidebar-open .sidebar-overlay { display: block; position: fixed; inset: 0; z-index: 25; background: rgba(17,24,39,.35); }
    .app-main { margin-left: 0; }
    .menu-toggle { display: block; }
    .app-topbar { height: 62px; padding: 0 15px; }
    .app-content { width: min(100% - 28px, 1320px); padding-top: 24px; }
    .page-heading { flex-direction: column; }
    .page-heading > .btn { width: 100%; }
    .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .stat-card { padding: 15px; }
    .stat-card strong { font-size: 24px; }
    .form-section { grid-template-columns: 1fr; gap: 12px; padding: 20px; }
    .form-grid.two { grid-template-columns: 1fr; }
    .form-actions { padding: 15px 20px; }
    .info-list { grid-template-columns: 1fr; }
    .info-list > div { border-right: 0; border-bottom: 1px solid var(--border) !important; }
    .info-list > div:last-child { border-bottom: 0 !important; }
}
@media (max-width: 480px) {
    .stats-grid { grid-template-columns: 1fr; }
    .auth-card { padding: 22px; }
}

/* Comtonet services */
.dashboard-heading { margin-bottom: 20px; }
.welcome-strip { background: linear-gradient(135deg, var(--violet-soft), #fff); border: 1px solid #ddd7f0; border-radius: 14px; padding: 22px 24px; margin-bottom: 18px; }
.welcome-strip h2 { font-size: 22px; margin-bottom: 6px; }
.welcome-strip p { margin: 0; color: var(--muted); }
.service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 22px; }
.service-card { display: flex; flex-direction: column; min-height: 255px; padding: 22px; background: white; border: 1px solid var(--border); border-radius: 14px; color: var(--texte); box-shadow: 0 3px 16px rgba(30,41,59,.025); transition: .16s ease; }
.service-card:hover { transform: translateY(-2px); border-color: #cbc4e7; box-shadow: var(--shadow); }
.service-card-featured { border: 2px solid var(--violet); padding: 21px; }
.service-card-top, .service-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.service-kicker { color: var(--violet); font-size: 11px; text-transform: uppercase; letter-spacing: .09em; font-weight: 850; }
.service-state { font-size: 10px; font-weight: 800; padding: 5px 8px; border-radius: 999px; background: #f3f4f6; color: var(--muted); }
.service-state.is-active { background: var(--vert-soft); color: #5e7f08; }
.service-card h2 { font-size: 20px; line-height: 1.25; margin: 24px 0 10px; }
.service-card p { color: var(--muted); line-height: 1.55; font-size: 13px; }
.service-card-bottom { margin-top: auto; padding-top: 18px; border-top: 1px solid #f0f1f3; font-size: 12px; }
.service-card-bottom strong { color: var(--texte); }
.service-card-bottom span { color: var(--violet); font-weight: 800; }
.dashboard-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.mini-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.mini-stats div { background: #fafafd; border: 1px solid #eef0f3; border-radius: 10px; padding: 17px; }
.mini-stats strong, .mini-stats span { display: block; }
.mini-stats strong { font-size: 27px; }
.mini-stats span { font-size: 11px; color: var(--muted); margin-top: 2px; }
.quick-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.quick-links a { border: 1px solid var(--border); border-radius: 9px; padding: 13px; font-size: 12px; font-weight: 750; color: var(--texte); background: #fbfbfd; }
.quick-links a:hover { border-color: #cbc4e7; color: var(--violet); }
.module-status { white-space: nowrap; align-self: flex-start; font-size: 11px; font-weight: 800; padding: 7px 10px; border-radius: 999px; background: #f1f3f6; color: var(--muted); }
.module-status.is-active { background: var(--vert-soft); color: #5e7f08; }
.activation-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--violet); color: white; border-radius: 14px; padding: 24px; margin-bottom: 12px; }
.activation-card .eyebrow { color: rgba(255,255,255,.68); }
.activation-card h2 { font-size: 21px; margin-bottom: 7px; color: white; }
.activation-card p { margin: 0; max-width: 760px; color: rgba(255,255,255,.78); line-height: 1.55; font-size: 13px; }
.activation-card .btn { background: white; color: var(--violet); white-space: nowrap; }
.activation-details { display: flex; justify-content: space-between; gap: 18px; align-items: center; background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 12px 15px; margin-bottom: 18px; font-size: 12px; }
.activation-details span { color: var(--muted); text-align: right; }
.feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.feature-card { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; background: white; border: 1px solid var(--border); border-radius: 12px; padding: 19px; min-height: 142px; }
.feature-card.is-locked { background: #fbfbfc; }
.feature-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; background: var(--violet-soft); color: var(--violet); font-weight: 900; }
.feature-card h3 { margin: 2px 0 6px; }
.feature-card p { color: var(--muted); font-size: 12px; line-height: 1.55; margin-bottom: 8px; }
.feature-card.is-locked .feature-icon, .feature-card.is-locked h3 { opacity: .65; }
.module-action { margin-top: 18px; }

@media (max-width: 1000px) {
    .service-grid { grid-template-columns: 1fr; }
    .service-card { min-height: 210px; }
}
@media (max-width: 760px) {
    .dashboard-grid, .feature-grid { grid-template-columns: 1fr; }
    .activation-card, .activation-details { align-items: flex-start; flex-direction: column; }
    .activation-details span { text-align: left; }
    .activation-card .btn { width: 100%; }
}

/* Interface simplifiée */
.dashboard-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dashboard-simple-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 18px; align-items: start; }
.service-list, .simple-list { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.service-list-row, .simple-list-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; color: var(--texte); background: #fff; border-bottom: 1px solid var(--border); transition: .14s ease; }
.service-list-row:last-child, .simple-list-row:last-child { border-bottom: 0; }
.service-list-row:hover, .simple-list-row:hover { background: #faf9fd; }
.service-list-row.is-featured { background: var(--violet-soft); }
.service-list-row strong, .service-list-row span, .simple-list-row strong, .simple-list-row span { display: block; }
.service-list-row > div:first-child span, .simple-list-row > div:nth-child(2) span { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.service-list-meta { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.service-list-meta b, .simple-list-arrow { color: var(--violet); font-size: 17px; }
.simple-list-row { justify-content: flex-start; }
.simple-list-row > div:nth-child(2) { flex: 1; min-width: 0; }
.simple-list-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; border-radius: 9px; background: var(--violet-soft); color: var(--violet); font-weight: 850; }
.attention-list { display: grid; gap: 9px; }
.attention-list a { display: flex; align-items: center; justify-content: space-between; padding: 13px 14px; border: 1px solid var(--border); border-radius: 9px; color: var(--texte); background: #fbfbfd; }
.attention-list a:hover { border-color: #cbc4e7; }
.attention-list span { color: var(--muted); font-size: 13px; }
.attention-list strong { font-size: 18px; }
.compact-empty { display: block; padding: 22px; border: 1px dashed #d8dbe2; border-radius: 10px; background: #fbfbfd; }
.compact-empty strong, .compact-empty span { display: block; }
.compact-empty span { margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.acquisition-stats { margin-bottom: 18px; }
.acquisition-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; align-items: start; }
.conversion-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.conversion-summary div { padding: 15px 12px; border-right: 1px solid var(--border); background: #fbfbfd; }
.conversion-summary div:last-child { border-right: 0; }
.conversion-summary span, .conversion-summary strong { display: block; }
.conversion-summary span { color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.conversion-summary strong { margin-top: 5px; font-size: 22px; }
.secondary-links { display: flex; gap: 12px; margin-top: 15px; padding-top: 14px; border-top: 1px solid #eef0f3; }
.secondary-links a { font-size: 12px; font-weight: 750; color: var(--muted); }
.secondary-links a:hover { color: var(--violet); }
.acquisition-activation { margin-bottom: 18px; }

@media (max-width: 1000px) {
    .dashboard-simple-grid, .acquisition-layout { grid-template-columns: 1fr; }
    .dashboard-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .dashboard-stats { grid-template-columns: 1fr; }
    .service-list-row { align-items: flex-start; }
    .service-list-meta { flex-direction: column; align-items: flex-end; gap: 7px; }
    .conversion-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .conversion-summary div:nth-child(2) { border-right: 0; }
    .conversion-summary div:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
}

/* Configurateur dispositif d'acquisition */
.launch-heading{max-width:950px}.launch-heading h1{max-width:850px}.launch-included{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-4px 0 20px;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:12px}.launch-included strong{margin-right:5px}.launch-included span{padding:6px 9px;background:var(--violet-soft);border-radius:999px;color:var(--violet);font-size:11px;font-weight:750}.launch-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start;width:100%;min-width:0}.launch-layout>*{min-width:0}.launch-form{max-width:none;overflow:visible}.launch-section{display:block;overflow:visible}.launch-section .section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.launch-section .section-title h2{margin:0 0 4px}.step-num{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:var(--violet);color:#fff;font-weight:850;font-size:12px}.choice-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card span b{display:block;margin-top:8px;color:var(--violet);font-size:12px}.conditional-field{margin-top:14px}.launch-price-card{position:sticky;top:86px}.launch-price-intro{font-size:12px;line-height:1.55;color:var(--muted);padding:12px;background:#fafafd;border-radius:9px;margin-bottom:12px}.price-lines>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef0f3;font-size:12px}.price-lines>div span{color:var(--muted)}.monthly-separator{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.monthly-separator strong,.monthly-separator span,.monthly-separator a{display:block}.monthly-separator span{margin:5px 0 9px;color:var(--muted);font-size:11px;line-height:1.5}.monthly-separator a{font-size:12px;font-weight:800}.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.quote-sheet{padding:28px}.quote-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--border)}.quote-head>div:last-child{text-align:right}.quote-head strong,.quote-head span{display:block}.quote-head span{color:var(--muted);font-size:12px}.quote-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:15px 0}.quote-options>div{padding:14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.quote-options>div:nth-child(2n){border-right:0}.quote-options>div:nth-last-child(-n+2){border-bottom:0}.quote-options span,.quote-options strong{display:block}.quote-options span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.quote-options strong{font-size:13px}.quote-note{padding:16px;background:var(--violet-soft);border-radius:10px;margin:18px 0}.quote-note p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.success-inline{padding:12px;border-radius:9px;background:var(--vert-soft);font-weight:800;color:#5e7f08;text-align:center}.quote-price{position:sticky;top:86px}
@media(max-width:1050px){.launch-layout,.quote-layout{grid-template-columns:1fr}.launch-price-card,.quote-price{position:static}.choice-grid-3{grid-template-columns:1fr}}
@media(max-width:700px){.choice-grid-2,.quote-options{grid-template-columns:1fr}.quote-options>div{border-right:0!important;border-bottom:1px solid var(--border)!important}.quote-options>div:last-child{border-bottom:0!important}.quote-head{flex-direction:column}.quote-head>div:last-child{text-align:left}}
@media print{.sidebar,.app-topbar,.back-link,.no-print,.quote-price{display:none!important}.app-main{margin:0!important}.app-content{width:100%!important;padding:0!important}.quote-layout{display:block}.quote-sheet{border:0;box-shadow:none}}

/* =========================================================
   CONFIGURATEUR ACQUISITION - COLONNE DE DROITE
   ========================================================= */

.launch-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 24px;
    align-items: start;
    width: 100%;
}

.launch-layout > * {
    min-width: 0;
}

.launch-price-card {
    position: sticky;
    top: 86px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.launch-price-card h2 {
    margin-top: 5px;
    margin-bottom: 14px;
}

.launch-price-intro {
    width: 100%;
    box-sizing: border-box;
}

/* Lignes du devis */
.launch-price-card .price-lines {
    width: 100%;
}

.launch-price-card .price-lines > div,
.launch-price-card .price-total-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
}

.launch-price-card .price-lines span,
.launch-price-card .price-total-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.launch-price-card .price-lines strong,
.launch-price-card .price-total-row strong {
    white-space: nowrap;
    text-align: right;
}

/* Total */
.launch-price-card .grand-total {
    margin-top: 10px;
}

.launch-price-card .grand-total strong {
    font-size: 22px;
}

/* CGV */
.launch-price-card .toggle-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 22px;
    align-items: center;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
}

.launch-price-card .toggle-row span {
    min-width: 0;
}

.launch-price-card .toggle-row input {
    margin: 0;
}

/* Boutons de paiement */
.launch-price-card .btn-full {
    display: flex;
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    box-sizing: border-box;

    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    text-align: center;
    line-height: 1.3;
    white-space: normal;
}

.launch-price-card .btn-full span {
    white-space: nowrap;
    font-weight: 850;
}

/* Texte sous les boutons */
.launch-price-card .secure-note {
    width: 100%;
    box-sizing: border-box;
    line-height: 1.5;
}

.launch-price-card #launch-saving {
    padding: 10px;
    margin-top: 8px;
    background: #f7f5fc;
    border-radius: 8px;
}

/* Partie abonnement / publicité */
.launch-price-card .monthly-separator {
    width: 100%;
    box-sizing: border-box;
    margin-top: 18px;
    padding-top: 18px;
}

.launch-price-card .monthly-separator span {
    overflow-wrap: anywhere;
}

/* Tablette */
@media (max-width: 1100px) {
    .launch-layout {
        grid-template-columns: 1fr;
    }

    .launch-price-card {
        position: static;
        top: auto;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .launch-layout {
        display: block;
    }

    .launch-price-card {
        margin-top: 20px;
    }

    .launch-price-card .btn-full {
        font-size: 13px;
    }
}

.launch-price-card {
    overflow: visible !important;
}

.launch-price-card .price-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    width: 100%;
    box-sizing: border-box;
}

.launch-price-card .grand-total {
    margin-top: 10px;
    padding-top: 15px;
    border-top: 1px solid var(--border);
}

.launch-price-card .grand-total strong {
    color: var(--violet);
    font-size: 22px;
}

.launch-cgv {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 20px 0 14px;
    cursor: pointer;
    font-size: 12px;
    line-height: 1.4;
}

.launch-cgv input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    accent-color: var(--violet);
}

.launch-payment-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 12px 14px;
    min-height: 54px;
}

.launch-payment-button strong {
    font-size: 13px;
}

.launch-payment-button span {
    font-size: 15px;
    font-weight: 850;
}

.launch-or {
    margin: 12px 0;
    text-align: center;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.launch-discount {
    margin-top: 9px;
    padding: 9px 10px;
    text-align: center;
    background: var(--vert-soft);
    border-radius: 8px;
    font-size: 11px;
}

.launch-discount strong {
    color: #688a0b;
}

.monthly-separator {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.monthly-separator strong,
.monthly-separator span {
    display: block;
}

.monthly-separator span {
    margin-top: 6px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
}

/* ===== Architecture Construire / Acquérir / Convertir / Projets ===== */
.nav-mini-badge{margin-left:auto;font-size:9px;font-weight:800;padding:3px 6px;border-radius:999px;background:#f1efff;color:var(--violet)}
.journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.journey-card{display:flex;flex-direction:column;min-height:185px;padding:20px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--text);text-decoration:none;transition:.18s ease}.journey-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(30,20,80,.07);border-color:#d9d4ff}.journey-step{font-size:11px;font-weight:900;color:var(--violet);letter-spacing:.08em}.journey-card strong{font-size:20px;margin:14px 0 7px}.journey-card p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.5}.journey-state{margin-top:auto;align-self:flex-start;padding:6px 9px;border-radius:999px;background:#f5f5f8;color:var(--muted);font-size:10px;font-weight:800}.journey-state.is-active{background:var(--vert-soft);color:#66820b}
.acquire-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.budget-form{display:flex;flex-direction:column;gap:14px}.money-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.money-input input{flex:1;min-width:0;border:0!important;box-shadow:none!important;border-radius:0!important}.money-input b{padding:0 14px;font-size:12px;color:var(--muted);white-space:nowrap}.field-help{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.conversion-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.included-note{font-size:12px;font-weight:800;color:#67860b;background:var(--vert-soft);padding:8px 11px;border-radius:999px}.activation-actions{display:flex;gap:10px;flex-wrap:wrap}.panel-header-pad{padding:20px 20px 0}.future-pill{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:#f1efff;color:var(--violet);font-size:11px;font-weight:850;white-space:nowrap}
@media(max-width:1050px){.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.journey-grid,.acquire-grid{grid-template-columns:1fr}.conversion-toolbar{align-items:flex-start;flex-direction:column}.journey-card{min-height:auto}}


/* =========================================================
   COMTONET CHAT GLOBAL
========================================================= */
.sr-only{
    position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
    margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;border:0!important
}
.comtonet-chat{position:fixed;right:24px;bottom:24px;z-index:1200;font-family:inherit}
.comtonet-chat-launcher{
    min-width:230px;display:flex;align-items:center;gap:12px;border:0;border-radius:18px;
    padding:12px 15px;background:#171b26;color:#fff;box-shadow:0 14px 38px rgba(23,27,38,.24);
    cursor:pointer;text-align:left
}
.comtonet-chat-launcher:hover{transform:translateY(-1px)}
.comtonet-chat-launcher-icon{
    width:40px;height:40px;display:grid;place-items:center;border-radius:12px;
    background:rgba(255,255,255,.12);font-size:19px;flex:0 0 auto
}
.comtonet-chat-launcher-text{display:flex;flex-direction:column;line-height:1.2}
.comtonet-chat-launcher-text strong{font-size:14px}
.comtonet-chat-launcher-text small{font-size:11px;opacity:.72;margin-top:3px}
.comtonet-chat-badge{
    margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:99px;
    display:grid;place-items:center;background:#6657e8;color:#fff;font-size:11px;font-weight:800
}
.comtonet-chat-panel{
    position:absolute;right:0;bottom:70px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 120px));
    display:none;grid-template-rows:auto auto minmax(0,1fr) auto;background:#fff;border:1px solid #e9e8f2;
    border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(23,27,38,.2)
}
.comtonet-chat.is-open .comtonet-chat-panel{display:grid}
.comtonet-chat-head{
    display:flex;align-items:center;justify-content:space-between;padding:15px 16px;background:#171b26;color:#fff
}
.comtonet-chat-head>div{display:flex;flex-direction:column}
.comtonet-chat-head strong{font-size:15px}
.comtonet-chat-head span{font-size:11px;opacity:.72;margin-top:2px}
.comtonet-chat-close{border:0;background:transparent;color:#fff;font-size:27px;line-height:1;cursor:pointer;padding:0 3px}
.comtonet-chat-context{
    padding:9px 14px;border-bottom:1px solid #efedf7;background:#faf9ff;
    display:flex;align-items:center;gap:6px;font-size:11px;color:#6d7180
}
.comtonet-chat-context strong{color:#5143ca}
.comtonet-chat-thread{overflow:auto;padding:14px;background:#f7f7fb}
.comtonet-chat-empty{
    min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;color:#777b88;padding:20px
}
.comtonet-chat-empty strong{color:#262b37;margin-bottom:6px}
.comtonet-chat-empty span{font-size:12px;line-height:1.5}
.comtonet-chat-message{margin:0 0 14px;max-width:86%}
.comtonet-chat-message.is-client{margin-left:auto}
.comtonet-chat-message.is-comtonet{margin-right:auto}
.comtonet-chat-message-meta{display:flex;gap:8px;align-items:center;margin:0 4px 4px;font-size:10px;color:#858998}
.comtonet-chat-message-meta time{margin-left:auto}
.comtonet-chat-bubble{padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #e8e8ef}
.comtonet-chat-message.is-client .comtonet-chat-bubble{background:#6657e8;border-color:#6657e8;color:#fff}
.comtonet-chat-bubble p{margin:0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.comtonet-chat-source{font-size:9px;color:#9397a5;margin:4px 5px 0;text-align:right}
.comtonet-chat-files{display:grid;gap:6px;margin-top:9px}
.comtonet-chat-file{
    display:flex;gap:7px;align-items:center;padding:7px 8px;border-radius:9px;text-decoration:none;
    background:rgba(255,255,255,.7);color:#292d37;border:1px solid rgba(0,0,0,.07)
}
.comtonet-chat-message.is-client .comtonet-chat-file{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.18)}
.comtonet-chat-file>span:last-child{display:flex;min-width:0;flex-direction:column}
.comtonet-chat-file strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.comtonet-chat-file small{font-size:9px;opacity:.7}
.comtonet-chat-form{padding:12px;border-top:1px solid #ececf2;background:#fff}
.comtonet-chat-form textarea{
    width:100%;resize:none;border:1px solid #dcdce6;border-radius:12px;padding:10px 11px;
    font:inherit;font-size:13px;outline:none;min-height:68px
}
.comtonet-chat-form textarea:focus{border-color:#6657e8;box-shadow:0 0 0 3px rgba(102,87,232,.1)}
.comtonet-chat-form-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.comtonet-chat-upload{
    position:relative;display:inline-flex;align-items:center;cursor:pointer;font-size:11px;font-weight:700;color:#5f6471
}
.comtonet-chat-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.comtonet-chat-send{padding:9px 14px!important;font-size:12px!important}
.comtonet-chat-help{display:block;font-size:9px;color:#9296a2;margin-top:6px}
@media(max-width:700px){
    .comtonet-chat{right:12px;bottom:12px}
    .comtonet-chat-launcher{min-width:0;border-radius:999px;padding:10px}
    .comtonet-chat-launcher-text{display:none}
    .comtonet-chat-panel{position:fixed;right:8px;left:8px;bottom:72px;width:auto;height:min(70vh,600px)}
}



/* Comtonet product suite */
.nav-item-product{align-items:center}.nav-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}.nav-copy strong{font-size:13px;font-weight:800}.nav-copy small{font-size:9px;color:#9398a6;margin-top:3px;font-weight:600}.nav-item.active .nav-copy small{color:#7b71cf}.module-text-link{color:#6657e8!important;text-decoration:none;font-weight:800}.module-text-link:hover{text-decoration:underline}.product-name{color:#6657e8;font-weight:850}.build-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;margin-bottom:22px}.build-hero-main,.build-hero-side{border:1px solid #e9e8f2;border-radius:22px;box-shadow:0 10px 28px rgba(23,27,38,.05)}.build-hero-main{position:relative;overflow:hidden;padding:34px;background:linear-gradient(135deg,#171b26 0%,#26213f 100%);color:#fff}.build-hero-main:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-95px;top:-110px;background:rgba(102,87,232,.25)}.build-hero-main>*{position:relative;z-index:1}.build-hero-main .eyebrow{color:#c4beff}.build-hero-main h1{font-size:clamp(35px,4vw,55px);line-height:1.03;letter-spacing:-1.7px;color:#fff;margin:9px 0 15px;max-width:820px}.build-hero-main h1 span{color:#aaa0ff}.build-hero-main p{max-width:760px;color:#e3e2ec;line-height:1.65;font-size:15px}.build-proof{display:flex;gap:9px;flex-wrap:wrap;margin-top:21px}.build-proof span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.10);font-size:11px;font-weight:750}.build-hero-side{padding:25px;background:#fff}.build-price{display:flex;align-items:flex-end;gap:8px;margin:11px 0}.build-price strong{font-size:42px;letter-spacing:-1.4px;color:#171b26}.build-price span{font-size:12px;color:#737785;padding-bottom:8px}.build-side-list{display:grid;gap:9px;margin:18px 0}.build-side-list div{font-size:12px;color:#505461}.build-side-list b{color:#6657e8;margin-right:7px}.build-active-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.build-active-head h1{margin:0}.build-active-head p{margin:4px 0 0}@media(max-width:900px){.build-hero{grid-template-columns:1fr}}
/* ComtoDeal V1 */
.conv-tabs a.conv-tab{text-decoration:none;color:inherit}

/* Livrables envoyés depuis le back-office */
.client-deliverables{margin-top:18px}.client-deliverable-list{display:grid;border:1px solid var(--border);border-radius:10px;overflow:hidden}.client-deliverable-list a{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;color:var(--texte);border-bottom:1px solid #eef0f3}.client-deliverable-list a:last-child{border-bottom:0}.client-deliverable-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:var(--vert-soft);color:#5f7f0c;font-weight:900}.client-deliverable-list strong,.client-deliverable-list small{display:block}.client-deliverable-list small{color:var(--muted);margin-top:3px}.client-deliverable-list b{font-size:10px;color:var(--violet)}@media(max-width:760px){.client-deliverable-list a{grid-template-columns:38px 1fr}.client-deliverable-list b{grid-column:2}}


/* Interface simplifiée */
.app-content{max-width:1380px;width:100%;margin:0 auto}.page-heading{margin-bottom:18px}.page-heading h1{margin-bottom:4px}.page-heading .muted{max-width:680px;line-height:1.45}.panel-header p,.section-title p{max-width:680px}.simple-home-grid .journey-card{min-height:150px;padding:22px}.simple-home-grid .journey-card p{font-size:12px;line-height:1.45;max-width:260px}.simple-stats .stat-card{padding:18px}.simple-stats .stat-note{display:none}.simple-tools .panel-header{padding-bottom:8px}.nav-copy small{line-height:1.25}.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center}.field input,.field select,.field textarea,input,select,textarea{min-height:42px}.eyebrow{letter-spacing:.06em}.lead-kpis article small:empty{display:none}.lead-source-list small:empty{display:none}.lead-truth-note:empty{display:none}
@media(max-width:650px){.app-content{padding-left:14px;padding-right:14px}.page-heading{gap:10px}.page-heading .btn{width:100%}.journey-grid{grid-template-columns:1fr}.simple-home-grid .journey-card{min-height:auto}.lead-kpis{grid-template-columns:1fr 1fr}}


/* =========================================================
   COMTONET — ERGONOMIE SIMPLE V2
   Interfaces plus lisibles, moins de cartes et moins d'effets.
========================================================= */
.app-content{max-width:1180px;margin:0 auto;width:100%}
.app-body .panel,.app-body .form-panel{border-radius:12px;box-shadow:none}
.app-body .page-heading{margin-bottom:20px;align-items:center}
.app-body .page-heading h1{font-size:30px;letter-spacing:-.5px}
.app-body .page-heading .muted{font-size:13px;max-width:650px}
.app-body .panel-header p,.app-body .section-title p{display:none}
.app-body .btn{min-height:42px;border-radius:9px;font-size:13px;padding:10px 15px}
.app-body input,.app-body select,.app-body textarea{font-size:14px!important;min-height:42px}
.app-body .form-group label{font-size:12px}
.app-body table th{font-size:10px}.app-body table td{font-size:12px}
.app-body .table-wrap{border-radius:10px}

.home-actions,.simple-choice-list,.simple-list-table{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.home-action,.simple-choice-row,.simple-contact-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--texte);transition:.15s ease}
.home-action:last-child,.simple-choice-row:last-child,.simple-contact-row:last-child{border-bottom:0}
.home-action:hover,.simple-choice-row[href]:hover,.simple-contact-row:hover{background:#faf9ff}
.home-action strong,.simple-choice-row strong,.simple-contact-row strong{display:block;font-size:15px;margin-bottom:3px}
.home-action span,.simple-choice-row span,.simple-contact-row span{display:block;color:var(--muted);font-size:12px}
.home-action>b,.simple-choice-row>b,.simple-contact-row .simple-row-right>b:last-child{font-size:18px;color:var(--violet)}
.simple-choice-row.is-disabled{background:#f7f7f8;color:#9a9ca3}.simple-choice-row.is-disabled span{color:#aaa}
.simple-inline-info{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 18px;padding:12px 0;border-bottom:1px solid var(--border);font-size:12px}.simple-inline-info span{color:var(--muted)}

.simple-workspace{margin-top:24px}.simple-workspace-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}.simple-workspace-head h2{margin:3px 0;font-size:24px}.simple-workspace-head p{margin:0}
.simple-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow:auto}.simple-tabs a{padding:10px 12px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:750;white-space:nowrap;border-bottom:2px solid transparent}.simple-tabs a.active{color:var(--violet);border-bottom-color:var(--violet)}
.simple-numbers{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:16px}.simple-numbers a{padding:15px 18px;border-right:1px solid var(--border);text-decoration:none;color:inherit}.simple-numbers a:last-child{border-right:0}.simple-numbers span{display:block;color:var(--muted);font-size:11px}.simple-numbers strong{display:block;font-size:25px;margin-top:3px}
.simple-row-right{display:flex;align-items:center;gap:10px}.new-message-dot{font-size:10px;color:#b32242;background:#fff0f3;padding:5px 7px;border-radius:99px}.simple-more{display:inline-block;margin-top:12px;font-size:12px;font-weight:800;text-decoration:none}.simple-empty{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid var(--border);border-radius:12px;background:#fff}.simple-empty strong{font-size:14px}.simple-empty span{color:var(--muted);font-size:12px;flex:1}.simple-offer-line{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:18px}.simple-offer-line strong,.simple-offer-line span{display:block}.simple-offer-line span{font-size:12px;color:var(--muted);margin-top:3px}

/* Réduit la sensation de mosaïque sur les écrans existants */
.app-body .detail-grid,.app-body .dashboard-grid,.app-body .acquisition-layout{gap:12px}
.app-body .stat-card,.app-body .deal-kpi,.app-body .billing-card,.app-body .r-list,.app-body .r-form{border-radius:10px;box-shadow:none}
.app-body .feature-card,.app-body .service-card,.app-body .ent-tool,.app-body .comm-product-card{box-shadow:none;border-radius:10px}
.app-body .eyebrow{font-size:10px}

@media(max-width:760px){
  .simple-workspace-head,.simple-offer-line,.simple-empty{align-items:flex-start;flex-direction:column}
  .simple-numbers{grid-template-columns:1fr 1fr}.simple-numbers a:nth-child(2){border-right:0}.simple-numbers a:nth-child(-n+2){border-bottom:1px solid var(--border)}
  .simple-contact-row,.home-action,.simple-choice-row{padding:15px}
  .simple-contact-row{align-items:flex-start}.simple-row-right{flex-direction:column;align-items:flex-end}
}

/* Coordonnées demandées une seule fois avant le premier paiement */
.company-before-pay{margin:18px 0;padding:18px;border:1px solid #e5e3ee;background:#faf9fc;border-radius:14px}.company-before-pay-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.company-before-pay-title strong{font-size:15px;color:#171b26}.company-before-pay-title span{font-size:11px;color:#747887}.company-before-pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.company-before-pay-grid .company-wide{grid-column:1/-1}.company-before-pay-grid .field{margin:0}.company-before-pay-grid .field span{display:block;margin-bottom:6px;font-size:11px;font-weight:800;color:#555b6c}.company-before-pay-grid input{width:100%;box-sizing:border-box}@media(max-width:650px){.company-before-pay-title{display:block}.company-before-pay-title span{display:block;margin-top:4px}.company-before-pay-grid{grid-template-columns:1fr}.company-before-pay-grid .company-wide{grid-column:auto}}

/* =========================================================
   MENU PRINCIPAL — état actif beaucoup plus visible
========================================================= */
.sidebar{
    width:270px;
    border-right:1px solid #dedbe9;
    box-shadow:8px 0 24px rgba(30,41,59,.035);
}
.app-main{margin-left:270px;}
.sidebar-nav{padding:16px 12px 20px;}
.nav-label{
    color:#737b8d;
    font-size:10px;
    letter-spacing:.12em;
    padding:0 11px 7px;
}
.nav-label-spaced{
    margin-top:20px;
    padding-top:14px;
    border-top:1px solid #efedf4;
}
.nav-item{
    position:relative;
    min-height:46px;
    gap:12px;
    padding:10px 12px;
    border:1px solid transparent;
    border-radius:10px;
    color:#3f4859;
    font-size:14px;
    font-weight:700;
    margin-bottom:4px;
    transition:background .14s ease,color .14s ease,border-color .14s ease;
}
.nav-item:hover{
    background:#f5f3fa;
    border-color:#e9e4f3;
    color:var(--violet);
}
.nav-item.active{
    background:var(--violet);
    border-color:var(--violet);
    color:#fff;
    box-shadow:0 5px 14px rgba(56,34,126,.18);
}
.nav-item.active::after{
    content:"";
    position:absolute;
    right:10px;
    top:50%;
    width:7px;
    height:7px;
    margin-top:-3.5px;
    border-radius:50%;
    background:#fff;
    opacity:.9;
}
.nav-icon{
    width:26px;
    height:26px;
    flex:0 0 26px;
    display:grid;
    place-items:center;
    border-radius:7px;
    background:#f2f0f7;
    color:var(--violet);
    font-size:16px;
    font-weight:900;
}
.nav-item.active .nav-icon{
    background:rgba(255,255,255,.16);
    color:#fff;
}
.nav-copy{padding-right:13px;}
.nav-copy strong{font-size:14px;font-weight:850;}
.nav-copy small{
    margin:3px 0 0;
    padding:0;
    background:transparent;
    color:#7e8797;
    font-size:10px;
    line-height:1.2;
    text-transform:none;
    font-weight:600;
}
.nav-item.active .nav-copy small{color:rgba(255,255,255,.78);}
.nav-item.active > span:not(.nav-icon):not(.nav-copy){font-weight:850;}
.sidebar-bottom{padding:15px 16px;border-top:1px solid #e8e5ef;background:#fbfafc;}

/* Les sous-onglets présents dans les pages sont eux aussi plus explicites */
.conv-tabs a.active,
.conv-tab.active,
.prospect-tabs a.active,
.filters a.active,
.tabs a.active{
    background:var(--violet)!important;
    border-color:var(--violet)!important;
    color:#fff!important;
    font-weight:800!important;
}

@media (max-width:760px){
    .sidebar{width:min(88vw,290px);}
    .app-main{margin-left:0;}
}

/* ===== Paiement simple : CB ou virement ===== */
.pay-choice-block{margin:18px 0}.pay-choice-title{font-size:14px;font-weight:800;color:#252936;margin-bottom:10px}.pay-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pay-choice-card{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;margin:0!important;padding:14px!important;border:1px solid #dedee8!important;border-radius:12px!important;background:#fff!important;cursor:pointer}.pay-choice-card:has(input:checked){border-color:#6657e8!important;background:#f7f5ff!important;box-shadow:0 0 0 2px rgba(102,87,232,.08)}.pay-choice-card input[type=radio]{appearance:auto!important;-webkit-appearance:radio!important;width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;margin:2px 0 0!important;padding:0!important;box-shadow:none!important}.pay-choice-content{display:block;min-width:0}.pay-choice-content strong{display:block;font-size:13px;color:#202430}.pay-choice-content small{display:block;margin-top:3px;font-size:11px;line-height:1.4;color:#787d89}.bank-transfer-box{margin-top:10px;padding:14px 15px;border:1px solid #e7e5f5;border-radius:12px;background:#faf9ff}.bank-transfer-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.bank-transfer-head strong{font-size:13px}.bank-transfer-head span{font-size:10px;color:#858995}.bank-transfer-lines{display:grid;gap:6px}.bank-transfer-lines>div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:10px;align-items:baseline}.bank-transfer-lines span{font-size:10px;color:#777c89}.bank-transfer-lines strong{font-size:12px;word-break:break-word}.bank-ref{color:#5143ca}.bank-transfer-note{margin:10px 0 0;font-size:11px;line-height:1.45;color:#656a76}.payment-confirm-row,.launch-cgv,.acq-conditions,.conv-terms{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:9px!important;margin:14px 0!important;padding:0!important;font-size:12px!important;line-height:1.45!important;color:#565b67!important}.payment-confirm-row input[type=checkbox],.launch-cgv input[type=checkbox],.acq-conditions input[type=checkbox],.conv-terms input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;margin:1px 0 0!important;padding:0!important;border:0!important;box-shadow:none!important}.payment-confirm-row span,.launch-cgv span,.acq-conditions span,.conv-terms span{display:block;flex:1}.payment-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.payment-actions .btn{min-height:44px;justify-content:center}@media(max-width:700px){.pay-choice-grid{grid-template-columns:1fr}.bank-transfer-head{align-items:flex-start;flex-direction:column}.bank-transfer-lines>div{grid-template-columns:1fr;gap:2px}}

/* Auth 2026 */
.auth-shell{width:min(100% - 32px,980px);min-height:calc(100vh - 150px);margin:42px auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr);align-items:stretch;border:1px solid #e3e4ea;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 18px 60px rgba(31,35,48,.08)}
.auth-brand-panel{position:relative;overflow:hidden;padding:48px;background:#171923;color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-brand-panel:after{content:"";position:absolute;width:420px;height:420px;right:-190px;top:-190px;border-radius:50%;background:radial-gradient(circle,rgba(102,87,232,.58),rgba(102,87,232,0) 68%)}.auth-brand-panel>*{position:relative;z-index:1}.auth-brand-panel .eyebrow{color:#c9c0ff}.auth-brand-panel h1{max-width:560px;margin:10px 0 14px;color:#fff;font-size:37px;line-height:1.08;letter-spacing:-1.2px}.auth-brand-panel>p{max-width:540px;color:#d8d9e1;line-height:1.65;font-size:14px}.auth-benefits{display:flex;flex-direction:column;gap:9px;margin-top:24px}.auth-benefits span{font-size:12px;font-weight:750;color:#f3f3f7}.auth-card.auth-card-modern{width:auto;max-width:none;margin:0;padding:44px;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;justify-content:center}.auth-card-modern h2{margin:5px 0 7px;font-size:28px}.auth-card-modern>p.muted{margin:0 0 22px;line-height:1.55}.auth-primary{min-height:48px;font-size:13px;margin-top:3px}.auth-label-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}.auth-label-row label{margin:0}.auth-label-row a{font-size:11px;font-weight:800}.auth-password-help{margin-top:18px;padding:13px 14px;border:1px solid #e7e5f5;border-radius:12px;background:#faf9ff}.auth-password-help strong,.auth-password-help span{display:block}.auth-password-help strong{font-size:11px}.auth-password-help span{margin-top:3px;color:#777c89;font-size:10px;line-height:1.45}.auth-bottom-link{margin:20px 0 0!important;text-align:center;color:#777c89;font-size:11px}.auth-bottom-link a{font-weight:800}.auth-success-icon,.auth-error-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;margin-bottom:13px;font-size:22px;font-weight:900}.auth-success-icon{background:#ecfdf3;color:#16803d}.auth-error-icon{background:#fff1f1;color:#a52b2b}
@media(max-width:800px){.auth-shell{grid-template-columns:1fr;margin:20px auto}.auth-brand-panel{padding:30px}.auth-brand-panel h1{font-size:30px}.auth-card.auth-card-modern{padding:30px}}
@media(max-width:480px){.auth-shell{width:min(100% - 20px,980px);border-radius:18px}.auth-brand-panel{padding:25px 22px}.auth-brand-panel h1{font-size:26px}.auth-card.auth-card-modern{padding:26px 22px}.auth-label-row{align-items:flex-start;flex-direction:column;gap:3px}}

/* ComtoWrite — mise en avant secondaire (derrière Build / Lead) */
.sidebar-nav .nav-item-write{background:linear-gradient(90deg,#f7f5ff,#fff);border:1px solid #ebe7ff}
.sidebar-nav .nav-item-write .nav-icon{background:#eeeaff;color:#5c4fd0}
.sidebar-nav .nav-item-write:hover,.sidebar-nav .nav-item-write.active{background:#f1eeff;border-color:#d7d0ff}
.home-action-write{position:relative;border-color:#dcd6ff!important;background:linear-gradient(135deg,#fbfaff,#f5f2ff)!important}
.home-action-write:before{content:'ComtoWrite';position:absolute;right:14px;top:10px;padding:4px 7px;border-radius:999px;background:#eee9ff;color:#5d4fd1;font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.home-action-write strong{color:#4f43ba}

/* Fix contraste ComtoWrite actif dans le menu latéral */
.sidebar-nav .nav-item-write.active,
.sidebar-nav .nav-item-write.active:hover{
  background:#f1eeff!important;
  border-color:#d7d0ff!important;
  color:#332b78!important;
}
.sidebar-nav .nav-item-write.active .nav-copy strong{
  color:#4337a8!important;
}
.sidebar-nav .nav-item-write.active .nav-copy small{
  color:#716b94!important;
}
.sidebar-nav .nav-item-write.active .nav-icon{
  background:#ded8ff!important;
  color:#4f43ba!important;
}

/* ComtoWrite — checkout lisible dans le récapitulatif */
.cw-checkout-box{
  margin:16px 0 12px;
  padding:14px;
  border:1px solid #e5e1f4;
  border-radius:14px;
  background:#faf9ff;
}
.cw-checkout-box .promo-field,
.cw-checkout-box .promotion-field,
.cw-checkout-box .form-group{margin-bottom:10px}
.cw-consent-row{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:10px;
  align-items:start;
  cursor:pointer;
  margin:0;
}
.cw-consent-row input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:var(--violet);
}
.cw-consent-row strong,.cw-consent-row small{display:block}
.cw-consent-row strong{font-size:12px;color:#242333;line-height:1.35}
.cw-consent-row small{margin-top:3px;font-size:10px;color:#77758a;line-height:1.4}
.cw-payment-actions{margin-top:10px}

/* ComtoWrite actif — contraste identique aux autres modules */
.sidebar-nav .nav-item-write.active,
.sidebar-nav .nav-item-write.active:hover{
  background:var(--violet)!important;
  border-color:var(--violet)!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(56,34,126,.18)!important;
}
.sidebar-nav .nav-item-write.active .nav-copy,
.sidebar-nav .nav-item-write.active .nav-copy strong,
.sidebar-nav .nav-item-write.active .nav-copy small{
  color:#fff!important;
}
.sidebar-nav .nav-item-write.active .nav-copy small{opacity:.82}
.sidebar-nav .nav-item-write.active .nav-icon{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
}

/* Chat temps réel léger */
.comtonet-chat-badge.is-hidden{display:none}
.comtonet-chat-new{
    display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;
    background:#fff2b8;color:#765900;font-size:9px;font-weight:800;line-height:1.2;
}

/* ===== Chat : alerte nouveau message très visible ===== */
.comtonet-chat-alert{
    position:absolute;right:10px;top:-15px;z-index:3;
    display:inline-flex;align-items:center;justify-content:center;
    min-height:30px;padding:6px 11px;border-radius:999px;
    background:#e03131;color:#fff;border:3px solid #fff;
    font-size:11px;font-weight:900;letter-spacing:.01em;
    box-shadow:0 7px 22px rgba(224,49,49,.42);
    white-space:nowrap
}
.comtonet-chat-alert.is-hidden,.comtonet-chat-badge.is-hidden{display:none!important}
.comtonet-chat.has-unread:not(.is-open) .comtonet-chat-launcher{
    background:#a4161a;
    box-shadow:0 0 0 5px rgba(224,49,49,.16),0 18px 45px rgba(164,22,26,.35);
    animation:comtonetChatPulse 1.35s ease-in-out infinite
}
.comtonet-chat.has-unread:not(.is-open) .comtonet-chat-launcher-icon{
    background:#fff;color:#a4161a
}
.comtonet-chat.has-unread:not(.is-open) .comtonet-chat-launcher-text strong::before{
    content:"● ";color:#fff
}
.comtonet-chat.has-unread:not(.is-open) .comtonet-chat-badge{
    background:#fff;color:#a4161a;min-width:30px;height:30px;font-size:13px;border:2px solid rgba(255,255,255,.55)
}
.comtonet-chat-new{
    display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:999px;
    background:#e03131;color:#fff;font-size:9px;font-weight:900;letter-spacing:.04em;
    box-shadow:0 3px 10px rgba(224,49,49,.24)
}
@keyframes comtonetChatPulse{
    0%,100%{transform:translateY(0) scale(1)}
    50%{transform:translateY(-2px) scale(1.025)}
}
@media (prefers-reduced-motion:reduce){
    .comtonet-chat.has-unread:not(.is-open) .comtonet-chat-launcher{animation:none}
}
@media(max-width:700px){
    .comtonet-chat.has-unread:not(.is-open) .comtonet-chat-launcher{padding:13px}
    .comtonet-chat-alert{right:0;top:-20px;font-size:10px;min-height:28px}
    .comtonet-chat.has-unread:not(.is-open) .comtonet-chat-badge{position:absolute;right:-5px;bottom:-5px;min-width:27px;height:27px}
}

/* Accueil : boîte à outils Comtonet */
.app-home-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.app-service-hub{padding:22px;border:1px solid var(--border);border-radius:18px;background:#fff}.app-service-hub-head h2{margin:3px 0 4px;font-size:23px}.app-service-hub-head p{margin:0 0 17px;color:var(--muted);font-size:12px}.app-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.app-service-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:112px;padding:15px;border:1px solid #e9e6ef;border-radius:14px;background:#fff;color:var(--texte);transition:.15s ease}.app-service-card:hover{background:#faf9fd;border-color:#d6cfec;transform:translateY(-1px);box-shadow:0 9px 22px rgba(40,30,76,.06)}.app-service-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f0edfa;color:#5542b4;font-size:18px}.app-service-card small,.app-service-card strong,.app-service-card p{display:block}.app-service-card small{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8a8492;font-weight:850}.app-service-card strong{margin-top:2px;font-size:14px}.app-service-card p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.35}.app-service-card>b{color:var(--violet);font-size:17px}.app-home-stats{margin-top:14px}.app-recent-card{margin-top:14px}
@media(max-width:1100px){.app-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.app-service-grid{grid-template-columns:1fr}.app-home-heading{align-items:flex-start;flex-direction:column}.app-service-hub{padding:15px}}

/* Mode test global - réservé au compte de développement */
.global-test-form{margin-left:auto}.global-test-toggle{display:flex;align-items:center;gap:8px;border:1px solid #dfe3ea;background:#fff;border-radius:999px;padding:7px 10px;cursor:pointer;color:#4c5260}.global-test-toggle b{font-size:11px;letter-spacing:.08em}.global-test-toggle small{font-size:10px;color:#747b8a}.global-test-dot{width:10px;height:10px;border-radius:50%;background:#c8ced8}.global-test-toggle.is-on{background:#edf9f1;border-color:#b8e4c5;color:#16733d}.global-test-toggle.is-on .global-test-dot{background:#23a55a;box-shadow:0 0 0 4px rgba(35,165,90,.12)}

/* Assistance publique Comtonet sur les écrans d'authentification */
.site-chat{position:fixed;right:24px;bottom:24px;z-index:1400;font-family:inherit}.site-chat-launcher{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 16px;border:0;border-radius:999px;background:#24134f;color:#fff;box-shadow:0 14px 38px rgba(28,16,60,.28);cursor:pointer}.site-chat-icon{font-size:23px}.site-chat-launcher-copy{display:flex;flex-direction:column;text-align:left;line-height:1.15}.site-chat-launcher-copy strong{font-size:14px}.site-chat-launcher-copy small{font-size:11px;opacity:.78;margin-top:3px}.site-chat-badge{position:absolute;right:-6px;top:-7px;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:#ef233c;color:white;display:grid;place-items:center;font-size:12px;font-weight:900;border:3px solid white}.site-chat-alert{position:absolute;right:4px;top:-36px;background:#ef233c;color:#fff;padding:8px 12px;border-radius:10px;font-size:11px;font-weight:900;white-space:nowrap;box-shadow:0 10px 28px rgba(239,35,60,.3)}.site-chat.is-open .site-chat-alert,.site-chat.is-open .site-chat-badge{display:none!important}.site-chat.has-unread:not(.is-open) .site-chat-launcher{background:#d90429}.site-chat-panel{display:none;position:absolute;right:0;bottom:72px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 120px));grid-template-rows:auto 1fr auto;background:#fff;border:1px solid #e7e4ef;border-radius:18px;overflow:hidden;box-shadow:0 22px 70px rgba(24,16,45,.25)}.site-chat.is-open .site-chat-panel{display:grid}.site-chat-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;background:#24134f;color:#fff}.site-chat-head>div{display:flex;flex-direction:column}.site-chat-head strong{font-size:16px}.site-chat-head span{font-size:11px;opacity:.75;margin-top:2px}.site-chat-head button{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.site-chat-thread{overflow:auto;padding:15px;background:#f7f6fb}.site-chat-welcome{padding:14px;border:1px solid #e8e5f0;background:#fff;border-radius:14px}.site-chat-welcome p{font-size:12px;line-height:1.55;color:#626777;margin:7px 0 0}.site-chat-message{max-width:86%;margin:0 0 12px}.site-chat-message.is-visiteur{margin-left:auto}.site-chat-message.is-comtonet{margin-right:auto}.site-chat-meta{display:flex;gap:8px;align-items:center;margin:0 4px 4px;font-size:10px;color:#858998}.site-chat-meta time{margin-left:auto}.site-chat-new{background:#ef233c;color:#fff;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:900}.site-chat-bubble{padding:10px 12px;border-radius:14px;background:white;border:1px solid #e8e8ef;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.site-chat-message.is-visiteur .site-chat-bubble{background:#6657e8;border-color:#6657e8;color:#fff}.site-chat-start,.site-chat-reply{padding:12px;border-top:1px solid #ececf2;background:#fff;display:grid;gap:8px}.site-chat-start label{display:grid;gap:4px;font-size:11px;font-weight:700;color:#414555}.site-chat-start label span{font-weight:400;color:#8b90a0}.site-chat-start input,.site-chat-start textarea,.site-chat-reply textarea{width:100%;border:1px solid #dcdde5;border-radius:10px;padding:10px 11px;font:inherit;font-size:13px;resize:vertical}.site-chat-start small{font-size:9px;color:#8a8f9f;line-height:1.45}.site-chat-error{min-height:0;color:#c1121f;font-size:11px}.site-chat .is-hidden{display:none!important}@media(max-width:640px){.site-chat{right:12px;bottom:12px}.site-chat-launcher{padding:12px}.site-chat-launcher-copy{display:none}.site-chat-panel{position:fixed;left:8px;right:8px;bottom:78px;width:auto;height:min(70vh,610px)}}
