/*
 * Galerie d’Encre — identité d’atelier contemporain pour Tatqio.
 * Papier ivoire, graphite et bourgogne pigmentaire ; l’information prime sur l’effet.
 */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --bg: #f6f2eb;
  --bg-elevated: #fffdf9;
  --bg-input: #fffefa;
  --line: #e4ddd3;
  --line-strong: #d4c9be;
  --text: #211f20;
  --muted: #716c6d;
  --faint: #9b938d;
  --accent: #7a1f3d;
  --accent-dark: #5e1730;
  --accent-soft: #f4e7eb;
  --ok: #3b7a62;
  --ok-soft: #e8f2ed;
  --warn: #a9631e;
  --warn-soft: #fdf1dc;
  --danger: #bd3e4d;
  --danger-soft: #fbe9eb;
  --radius: 3px;
  --radius-sm: 2px;
  --shadow: 0 20px 46px -34px rgba(42, 28, 24, 0.52);
  --font: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --display: "DM Serif Display", Georgia, serif;
  --ease: cubic-bezier(0.23, 1, 0.32, 1);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
img, svg, video, canvas { max-width: 100%; }
button, input, select, textarea { max-width: 100%; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  background-color: var(--bg);
  background-image: radial-gradient(rgba(67, 48, 42, 0.09) 0.55px, transparent 0.7px);
  background-size: 5px 5px;
  color: var(--text);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.58;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
h1, h2, h3, h4 { margin: 0; color: var(--text); line-height: 1.08; letter-spacing: -0.035em; font-weight: 700; }
h1 { font-size: clamp(2.8rem, 5.2vw, 5.8rem); font-family: var(--display); font-weight: 400; letter-spacing: -0.06em; }
h2 { font-size: clamp(2rem, 3.2vw, 3.65rem); font-family: var(--display); font-weight: 400; letter-spacing: -0.052em; }
h3 { font-size: 1.05rem; }
p { margin: 0 0 1rem; }
small { font-size: 0.82rem; }

.wrap { width: min(1240px, calc(100% - 3rem)); margin-inline: auto; }
.wrap-narrow { width: min(720px, calc(100% - 3rem)); margin-inline: auto; }
.stack > * + * { margin-top: 1rem; }
.row { display: flex; gap: 0.65rem; align-items: center; flex-wrap: wrap; }
.row-between { display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.grid { display: grid; gap: 1rem; }
.muted { color: var(--muted); }
.faint { color: var(--faint); }
.center { text-align: center; }
.hidden { display: none !important; }
.mono { font-variant-numeric: tabular-nums; }
.nowrap { white-space: nowrap; }
.display { font-family: var(--display); font-weight: 400; letter-spacing: -0.052em; }

/* ------------------------------------------------------------------- chrome */
.topbar {
  position: sticky; top: 0; z-index: 20;
  background: rgba(246, 242, 235, 0.88);
  border-bottom: 1px solid rgba(212, 201, 190, 0.76);
  backdrop-filter: blur(13px);
}
.topbar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 76px; }
.topbar .brand { flex: 0 0 auto; }
.brand { display: inline-flex; align-items: center; gap: 0.65rem; color: var(--text); font-family: var(--display); font-size: 1.34rem; letter-spacing: -0.045em; text-decoration: none; }
.brand-mark {
  position: relative; width: 29px; height: 29px; display: grid; place-items: center;
  color: var(--accent); border: 1px solid currentColor; border-radius: 50%; font-family: var(--font); font-size: 0.65rem; font-weight: 800; letter-spacing: -0.06em;
}
.brand-mark::before { content: ""; position: absolute; width: 38px; height: 1px; background: currentColor; transform: rotate(-44deg); }
.brand-symbol { display:block; flex:0 0 auto; width:32px; height:32px; object-fit:contain; }
.brand-wordmark { color:var(--text); font-family:var(--font); font-size:1.18rem; font-weight:800; letter-spacing:-.065em; line-height:1; }
.nav { display: flex; gap: 0.55rem; align-items: center; min-width: 0; }
.nav > .muted { overflow: hidden; min-width: 0; color: var(--muted); font-size: 0.82rem; text-overflow: ellipsis; white-space: nowrap; }
.nav a { color: var(--muted); padding: 0.42rem 0.65rem; border-bottom: 1px solid transparent; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.065em; text-decoration: none; text-transform: uppercase; transition: color 160ms var(--ease), border-color 160ms var(--ease); }
.nav a:hover { color: var(--accent); border-bottom-color: var(--accent); }
.nav-sections { display: flex; gap: 0.2rem; align-items: center; }

/* ------------------------------------------------------------------ surfaces */
.card, .item, .modal {
  background: rgba(255, 253, 249, 0.91);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.card { padding: 1.35rem; }
.card-pad-lg { padding: 1.75rem; }
.card h3 + p { margin-top: 0.5rem; }
.divider { height: 1px; margin: 1.3rem 0; background: var(--line); border: 0; }

/* ------------------------------------------------------------------- buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 41px;
  padding: 0.58rem 1rem; border: 1px solid var(--accent); border-radius: var(--radius-sm);
  background: var(--accent); color: #fffaf9; font: inherit; font-size: 0.82rem; font-weight: 800; text-decoration: none;
  cursor: pointer; box-shadow: 0 11px 18px -14px rgba(92, 18, 46, 0.8); transition: background 160ms var(--ease), color 160ms var(--ease), transform 160ms var(--ease), box-shadow 160ms var(--ease);
}
.btn:hover { background: var(--accent-dark); box-shadow: 0 15px 22px -15px rgba(92, 18, 46, 0.9); transform: translateY(-2px); }
.btn:active { transform: scale(0.97); }
.btn:disabled { opacity: 0.48; cursor: not-allowed; }
.btn-ghost { background: transparent; border-color: var(--line-strong); color: var(--text); box-shadow: none; }
.btn-ghost:hover { background: var(--accent-soft); border-color: #bf92a2; color: var(--accent); }
.btn-quiet { padding-inline: 0.55rem; background: transparent; border-color: transparent; color: var(--muted); box-shadow: none; }
.btn-quiet:hover { background: transparent; color: var(--accent); transform: none; }
.btn-danger { background: transparent; border-color: #eab7be; color: var(--danger); box-shadow: none; }
.btn-danger:hover { background: var(--danger-soft); color: #982b3b; }
.btn-sm { min-height: 34px; padding: 0.38rem 0.65rem; font-size: 0.74rem; }
.btn-block { width: 100%; }

/* --------------------------------------------------------------------- forms */
label { display: block; margin-bottom: 0.34rem; color: #5f5857; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.035em; }
input, select, textarea {
  width: 100%; padding: 0.67rem 0.75rem; border: 1px solid var(--line-strong); border-radius: var(--radius-sm);
  background: rgba(255, 254, 250, 0.86); color: var(--text); font: inherit; transition: border-color 160ms var(--ease), box-shadow 160ms var(--ease), background 160ms var(--ease);
}
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--accent); background: #fffefb; box-shadow: 0 0 0 3px rgba(122, 31, 61, 0.11); }
textarea { min-height: 110px; resize: vertical; }
.field + .field { margin-top: 0.95rem; }
.field-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.95rem; margin-top: 0.95rem; }
.check { display: flex; gap: 0.6rem; align-items: flex-start; color: var(--text); font-size: 0.88rem; }
.check input { width: auto; margin-top: 0.2rem; accent-color: var(--accent); }
.hint { margin-top: 0.34rem; color: var(--faint); font-size: 0.78rem; }
fieldset { border: 0; padding: 0; margin: 0; }

/* -------------------------------------------------------------------- badges */
.badge { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.18rem 0.55rem; border: 1px solid transparent; border-radius: 999px; background: #f0ece7; color: #6e6764; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.015em; }
.badge-new { background: var(--accent-soft); color: var(--accent); }
.badge-quoted { background: var(--warn-soft); color: var(--warn); }
.badge-booked, .badge-scheduled { background: var(--ok-soft); color: var(--ok); }
.badge-completed { background: #eceae7; color: var(--muted); }
.badge-declined, .badge-expired, .badge-no_show, .badge-cancelled { background: var(--danger-soft); color: var(--danger); }

/* ---------------------------------------------------------------- stat tiles */
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0; overflow: hidden; border: 1px solid var(--line); background: rgba(255, 253, 249, 0.82); box-shadow: var(--shadow); }
.stat { min-height: 108px; padding: 1.05rem 1.2rem; background: transparent; border: 0; border-right: 1px solid var(--line); }
.stat:last-child { border-right: 0; }
.stat .label { color: var(--faint); font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.stat .value { margin-top: 0.2rem; font-family: var(--display); font-size: 2rem; font-weight: 400; letter-spacing: -0.045em; line-height: 1; font-variant-numeric: tabular-nums; }
.stat .sub { margin-top: 0.24rem; color: var(--muted); font-size: 0.74rem; }

/* --------------------------------------------------------------------- lists */
.item { position: relative; padding: 1.12rem 1.18rem; transition: border-color 160ms var(--ease), box-shadow 160ms var(--ease), transform 160ms var(--ease); }
.item + .item { margin-top: 0.75rem; }
.item .row-between > :first-child { flex: 1 1 320px; min-width: 0; }
.item-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 0.6rem; margin-left: auto; }
.item:hover { border-color: #c9b5a7; box-shadow: 0 22px 42px -35px rgba(42, 28, 24, 0.64); transform: translateY(-2px); }
.item-title { font-size: 0.95rem; font-weight: 800; }
.meta { display: flex; flex-wrap: wrap; gap: 0.35rem 0.9rem; margin-top: 0.38rem; color: var(--muted); font-size: 0.81rem; }
.meta b { color: var(--text); font-weight: 800; }
.empty { padding: 2.2rem 1rem; border: 1px dashed var(--line-strong); color: var(--faint); text-align: center; }
.item.item-live, .item.item-next { border-color: #d7c0c6; }
.item.item-live::before, .item.item-next::before { content: ""; position: absolute; top: 1rem; bottom: 1rem; left: -1px; width: 3px; background: var(--accent); }
.item.item-next::before { background: var(--ok); }

.tabs { display: flex; gap: 0.25rem; border-bottom: 1px solid var(--line); overflow-x: auto; }
.tab { position: relative; border: 0; border-bottom: 2px solid transparent; padding: 0.7rem 0.8rem; background: none; color: var(--muted); font: inherit; font-size: 0.84rem; font-weight: 800; cursor: pointer; white-space: nowrap; }
.tab[aria-selected="true"] { color: var(--accent); border-bottom-color: var(--accent); }
.tab .pill { display: inline-grid; place-items: center; min-width: 19px; height: 19px; margin-left: 0.4rem; padding: 0 0.3rem; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-size: 0.7rem; }

/* --------------------------------------------------------------------- modal */
.modal-backdrop { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 1.25rem; background: rgba(49, 35, 31, 0.34); backdrop-filter: blur(4px); }
.modal { width: min(560px, 100%); max-height: 88vh; padding: 1.5rem; overflow-y: auto; }
.toast-host { position: fixed; right: 1rem; bottom: 1rem; z-index: 60; display: grid; gap: 0.5rem; max-width: min(380px, calc(100% - 2rem)); }
.toast { padding: 0.75rem 0.9rem; border: 1px solid var(--line); border-left: 3px solid var(--accent); background: var(--bg-elevated); box-shadow: var(--shadow); color: var(--text); font-size: 0.86rem; }
.toast-ok { border-left-color: var(--ok); }.toast-error { border-left-color: var(--danger); }

/* ------------------------------------------------------------------- landing */
.hero { padding: clamp(4rem, 9vw, 7.4rem) 0 3.8rem; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2.5rem, 7vw, 8rem); align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; padding: 0; background: none; color: var(--accent); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.115em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 20px; height: 1px; background: currentColor; }
.lede { max-width: 37rem; margin-top: 1.45rem; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.feature { position: relative; min-height: 190px; border-radius: 0; box-shadow: none; }
.feature::before, .card-lift::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 2px; background: var(--accent); transform: scaleX(0.16); transform-origin: left; transition: transform 180ms var(--ease); }
.feature:hover::before, .card-lift:hover::before { transform: scaleX(1); }
.feature h3 { display: flex; align-items: center; gap: 0.6rem; font-family: var(--display); font-size: 1.55rem; font-weight: 400; }
.feature .icon { display: grid; flex: 0 0 auto; width: 27px; height: 27px; place-items: center; border: 1px solid var(--line-strong); color: var(--accent); font-family: var(--font); font-size: 0.75rem; }
.section { padding: 5.6rem 0; }
.section-head { max-width: 47rem; margin-bottom: 2.2rem; }
.section-head h2 { margin-bottom: 0.8rem; }
.footer { border-top: 1px solid var(--line); padding: 2.2rem 0; color: var(--faint); font-size: 0.8rem; }
.price-strike { color: var(--faint); text-decoration: line-through; }
.plan { display: flex; flex-direction: column; }.plan .btn { margin-top: auto; }.plan-featured { border-color: #c79dac; }.plan-price { margin: 0.7rem 0; font-family: var(--display); font-size: 2.35rem; letter-spacing: -0.05em; }.plan-price span { color: var(--muted); font-family: var(--font); font-size: 0.88rem; letter-spacing: 0; }

/* Animated line work stays available, but the atmosphere becomes a light paper atelier. */
.grain { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0.26; background-image: radial-gradient(rgba(67, 48, 42, 0.12) 0.55px, transparent 0.7px); background-size: 5px 5px; }
.bleed { position: absolute; z-index: 0; border-radius: 50%; filter: blur(80px); pointer-events: none; }.bleed-a { top: -200px; right: -190px; width: 580px; height: 580px; background: rgba(122, 31, 61, 0.12); }.bleed-b { bottom: -260px; left: 12%; width: 460px; height: 460px; background: rgba(59, 122, 98, 0.09); }
.reveal-line { display: block; overflow: hidden; padding-bottom: 0.08em; }.reveal-line > span { display: block; }.rise-in { opacity: 1; transform: none; }
.ink-frame { position: relative; width: 100%; max-width: 560px; aspect-ratio: 560 / 640; margin-inline: auto; background: rgba(255, 253, 249, 0.58); }
.ink-canvas { position: absolute; inset: 0; }
.ink-frame .frame-border { position: absolute; inset: 0; width: 100%; height: 100%; }.ink-frame .frame-border rect { fill: none; stroke: var(--line-strong); stroke-width: 1; }
.ink { position: absolute; inset: 0; width: 100%; height: 100%; }.ink path, .ink circle.mark { fill: none; stroke: var(--text); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }.ink .petal { stroke: var(--accent); }.ink .snake { stroke-width: 2.5; }
.needle { position: absolute; top: 0; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 6px rgba(122, 31, 61, 0.12); offset-path: path("M 78 566 C 140 520 108 428 182 398 C 262 364 348 420 416 372 C 486 322 466 216 398 182 C 340 152 280 182 274 232"); offset-distance: 62%; }
.ink-badge { position: absolute; top: 26px; left: -34px; width: 124px; height: 124px; }.ink-badge text { fill: var(--muted); font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; }
.ink-quote { position: absolute; right: -18px; bottom: 46px; width: 286px; padding: 18px 20px; border: 1px solid var(--line); background: rgba(255, 253, 249, 0.94); box-shadow: var(--shadow); }
.facts { display: flex; flex-wrap: wrap; gap: 2.5rem; }.fact { position: relative; padding-top: 0.8rem; }.fact::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: var(--accent); }.fact b { display: block; font-family: var(--display); font-size: 2rem; font-weight: 400; letter-spacing: -0.04em; }.fact span { color: var(--faint); font-size: 0.75rem; }
.assur { display: flex; flex-wrap: wrap; gap: 1.1rem 2rem; }.assur > div { display: flex; align-items: center; gap: 0.55rem; color: var(--muted); font-size: 0.82rem; }.assur svg path { fill: none; stroke: var(--ok); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* ---------------------------------------------------------------- client flow */
.steps { display: flex; align-items: center; }.step { display: flex; align-items: center; gap: 0.7rem; }.step .num { display: grid; flex: 0 0 auto; width: 29px; height: 29px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--faint); font-size: 0.76rem; }.step.on .num, .step.done .num { border-color: var(--accent); background: var(--accent); color: #fffaf9; }.step.done .num { opacity: 0.55; }.step.done .lbl { color: var(--muted); }.step .lbl { color: var(--faint); font-size: 0.8rem; white-space: nowrap; }.step.on .lbl { color: var(--text); font-weight: 800; }.step-link { position: relative; flex: 1; min-width: 24px; height: 1px; margin: 0 1rem; background: var(--line); }.step-link.fill::after { content: ""; position: absolute; inset: 0; width: 100%; background: var(--accent); }
.estimate-card { position: relative; overflow: hidden; }.estimate-card.refreshing::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 2px; background: var(--accent); }.price-rows { display: grid; gap: 0.1rem; }.price-rows > div { display: flex; align-items: baseline; justify-content: space-between; padding: 0.45rem 0; font-size: 0.86rem; }.price-rows > div > span { color: var(--muted); }.price-rows > div > b { font-weight: 800; }.price-rows > div.strong > b { color: var(--accent); font-size: 1.15rem; }
.tap { min-height: 46px; }.chip.tap, .seg-option { display: inline-flex; align-items: center; min-height: 46px; }

/* ---------------------------------------------------------- dashboard atelier */
body.app-dashboard { background-color: #f8f5ef; overflow-x: clip; }
.app-main { display: flex; flex-direction: column; gap: 1.2rem; min-width: 0; }
.app-head { order: 1; margin-bottom: 0 !important; }.app-head h2 { font-family: var(--display); font-size: clamp(2.25rem, 3.7vw, 3.6rem); font-weight: 400; }.app-head > div:first-child p { font-size: 0.9rem; }
.link-box { display: flex; gap: 0.5rem; align-items: center; padding: 0.38rem 0.38rem 0.38rem 0.8rem; border: 1px solid var(--line); background: rgba(255,253,249,0.88); box-shadow: var(--shadow); }.link-box code { flex: 1; overflow: hidden; color: var(--muted); font-size: 0.82rem; text-overflow: ellipsis; white-space: nowrap; }
.activation-card { order: 2; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(260px,.75fr); gap: 1.5rem; padding: clamp(1.2rem,3vw,2rem); border: 1px solid var(--line-strong); background: linear-gradient(120deg,rgba(255,253,249,.96),rgba(248,238,241,.82)); box-shadow: var(--shadow); }.activation-copy h2 { margin:.15rem 0 .6rem; font-family:var(--display); font-size:clamp(2rem,3vw,3.1rem); font-weight:400; letter-spacing:-.05em; line-height:.98; }.activation-copy > p:not(.eyebrow) { max-width:42rem; font-size:.92rem; line-height:1.65; }.activation-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.25rem; }.activation-progress { align-self:stretch; padding:1.05rem; border-left:1px solid var(--line); background:rgba(255,253,249,.62); }.activation-progress .brief-progress-track { margin:.8rem 0; }.activation-list { display:grid; gap:.48rem; }.activation-item { display:flex; gap:.55rem; align-items:center; color:var(--faint); font-size:.78rem; }.activation-item b { display:grid; width:18px; height:18px; place-items:center; border:1px solid var(--line-strong); border-radius:50%; font-size:.64rem; }.activation-item.done { color:var(--text); }.activation-item.done b { border-color:var(--ok); background:var(--ok-soft); color:var(--ok); }.app-workspace { order: 3; display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 1.6rem; align-items: start; min-width: 0; }.app-sidebar { position: sticky; top: 98px; min-width: 0; padding: 0.5rem; border: 1px solid var(--line); background: rgba(255,253,249,0.64); }.app-sidebar::before { content: "ATELIER"; display: block; padding: 0.5rem 0.7rem 0.35rem; color: var(--faint); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.12em; }.app-sidebar .tabs { display: grid; gap: 0.15rem; border: 0; overflow: visible; }.app-sidebar .tab { display: flex; align-items: center; width: 100%; min-height: 42px; border: 0; border-left: 2px solid transparent; color: var(--muted); font-size: 0.83rem; text-align: left; }.app-sidebar .tab:hover { color: var(--accent); background: var(--accent-soft); }.app-sidebar .tab[aria-selected="true"] { border-left-color: var(--accent); background: var(--accent-soft); color: var(--accent); }.app-sidebar .tab .pill { margin-left: auto; }.app-content { min-width: 0; max-width: 100%; }.app-main > .stats { order: 4; }
.app-dashboard .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }.app-dashboard .stat:nth-child(3n) { border-right: 0; }.app-dashboard .stat:nth-child(n+4) { border-top: 1px solid var(--line); }
.filters { display: flex; flex-wrap: wrap; gap: 0.38rem; margin: 0 0 1rem; padding: 0.4rem; border: 1px solid var(--line); background: rgba(255,253,249,0.62); }.filter { padding: 0.34rem 0.7rem; border: 1px solid transparent; background: transparent; color: var(--muted); font: inherit; font-size: 0.78rem; font-weight: 800; cursor: pointer; }.filter:hover { color: var(--text); background: #f2eee8; }.filter[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent); }
.warn-line { margin-top: 0.6rem; padding: 0.5rem 0.7rem; border: 1px solid #efd4a6; background: var(--warn-soft); color: var(--warn); font-size: 0.8rem; }.refs a { color: var(--accent); font-size: 0.8rem; }.outbox-item { padding: 0.8rem 0; border-bottom: 1px solid var(--line); }.outbox-item:last-child { border-bottom: 0; }.outbox-body { margin-top: 0.35rem; overflow-wrap: anywhere; color: var(--muted); font-size: 0.84rem; line-height: 1.6; }
.hours-row { display: grid; grid-template-columns: 130px minmax(0, 1fr) minmax(0, 1fr); gap: 0.7rem; align-items: center; }.hours-row + .hours-row { margin-top: 0.5rem; }.hours-row input[type="time"] { min-height: 40px; }.hours-row .check { margin: 0; }.hours-row.closed input[type="time"] { opacity: 0.4; }.slot-list { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.5rem; }.slot { padding: 0.35rem 0.75rem; border: 1px solid var(--line-strong); background: transparent; color: var(--muted); font: inherit; font-size: 0.8rem; cursor: pointer; }.slot:hover, .slot[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.auth-shell { position: relative; min-height: calc(100vh - 76px); overflow: hidden; }.auth-shell::before { content: ""; position: absolute; top: -180px; right: -130px; width: 440px; height: 440px; border-radius: 50%; background: rgba(122,31,61,0.075); filter: blur(28px); }.auth-shell > .wrap-narrow { position: relative; z-index: 1; }.auth-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .88fr) minmax(360px, .78fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: center; min-height: calc(100vh - 76px); padding: 4rem 0; }.auth-story { max-width: 560px; }.auth-story h1 { margin: .6rem 0 1.1rem; font-family: var(--display); font-size: clamp(3.35rem, 6vw, 6.25rem); font-weight: 400; letter-spacing: -.065em; line-height: .88; }.auth-story h1 em { color: var(--accent); font-style: italic; }.auth-story > p:not(.eyebrow):not(.auth-signature) { max-width: 450px; color: var(--muted); font-size: 1rem; line-height: 1.72; }.auth-points { display: grid; gap: .55rem; margin-top: 2rem; color: var(--text); font-size: .83rem; font-weight: 800; }.auth-points span { display: flex; gap: .55rem; align-items: center; }.auth-points span::first-letter { color: var(--accent); }.auth-signature { margin: 3rem 0 0; color: var(--accent); font-family: var(--display); font-size: 1.35rem; line-height: 1; }.auth-signature b { color: var(--muted); font-family: var(--font); font-size: .68rem; font-weight: 800; letter-spacing: .085em; text-transform: uppercase; }.auth-form-wrap { width: min(100%, 520px); margin-left: auto; }.auth-form-wrap .card { position: relative; box-shadow: 0 28px 55px -42px rgba(42, 28, 24, .62); }.auth-form-wrap .card::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 2px; background: var(--accent); }.auth-optional { margin-top:.9rem; color:var(--accent); font-size:.8rem; font-weight:800; }.auth-optional summary { width:max-content; cursor:pointer; }.auth-optional .field { margin: .8rem 0 0; }.password-field { position: relative; }.password-field input { padding-right: 5.9rem; }.password-toggle { position: absolute; top: 50%; right: .35rem; border: 0; padding: .35rem .45rem; background: transparent; color: var(--accent); font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; transform: translateY(-50%); }.password-toggle:hover { color: var(--accent-dark); }.password-strength { display: grid; grid-template-columns: repeat(4, 1fr); gap: .25rem; margin-top: .55rem; }.password-strength span { height: 3px; background: var(--line); transition: background 160ms var(--ease); }.password-strength span.active { background: var(--accent); }.consent { display: flex; gap: .55rem; align-items: flex-start; margin-top: .9rem; color: var(--muted); font-size: .78rem; font-weight: 500; line-height: 1.48; }.consent input { flex: 0 0 auto; width: auto; margin-top: .15rem; accent-color: var(--accent); }.consent a { color: var(--accent); font-weight: 800; }.auth-message { margin: 1rem 0; padding: .72rem .85rem; border-left: 3px solid var(--danger); background: var(--danger-soft); color: #8d2535; font-size: .83rem; font-weight: 700; line-height: 1.45; }
.brief-progress-track { height: 4px; margin-top: .45rem; overflow: hidden; background: var(--line); }.brief-progress-track span { display: block; width: 0; height: 100%; background: var(--accent); transition: width 180ms var(--ease); }.onboarding-list { display: grid; gap: .55rem; margin-top: 1rem; }.onboarding-item { display: flex; gap: .7rem; align-items: center; padding: .75rem .82rem; border: 1px solid var(--line); background: rgba(255,253,249,.62); font-size: .84rem; }.onboarding-item b { display: grid; flex: 0 0 auto; width: 22px; height: 22px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--faint); font-size: .72rem; }.onboarding-item.done b { border-color: var(--ok); background: var(--ok-soft); color: var(--ok); }.feedback-note { border-left: 2px solid var(--accent); padding: .75rem .9rem; background: var(--accent-soft); color: var(--muted); font-size: .84rem; }.auth-utility { margin: .9rem 0 0; text-align: center; }.auth-link { border: 0; padding: .2rem; background: transparent; color: var(--accent); font: inherit; font-size: .82rem; font-weight: 800; cursor: pointer; text-decoration: underline; text-underline-offset: .18em; }.auth-provider { margin: 1rem 0; }.provider-divider { display: flex; align-items: center; gap: .7rem; margin: 0 0 .8rem; color: var(--faint); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.provider-divider::before, .provider-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }.btn-google { border-color: var(--line-strong); background: var(--bg-input); color: var(--text); }.btn-google::before { content: "G"; display: inline-grid; width: 1.2rem; height: 1.2rem; margin-right: .55rem; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--accent); font-family: var(--display); }

@media (max-width: 900px) {
  .hero-grid, .app-workspace { grid-template-columns: minmax(0, 1fr); }
  .activation-card { grid-template-columns:minmax(0,1fr); }.activation-progress { border-top:1px solid var(--line); border-left:0; }
  .app-sidebar { position: static; max-width: 100%; overflow: hidden; }.app-sidebar::before { display: none; }.app-sidebar .tabs { display: flex; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }.app-sidebar .tab { width: auto; flex: 0 0 auto; border-left: 0; border-bottom: 2px solid transparent; }.app-sidebar .tab[aria-selected="true"] { border-bottom-color: var(--accent); }
  .app-dashboard .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }.app-dashboard .stat:nth-child(3n) { border-right: 1px solid var(--line); }.app-dashboard .stat:nth-child(even) { border-right: 0; }.app-dashboard .stat:nth-child(n+3) { border-top: 1px solid var(--line); }
  .auth-grid { grid-template-columns: 1fr; min-height: auto; padding: 3.25rem 0; }.auth-story { max-width: 650px; }.auth-form-wrap { width: min(100%, 560px); margin: 0; }
}
@media (max-width: 640px) {
  /* Mode téléphone : aucun panneau du tableau de bord ne conserve sa grille site. */
  .activation-card { gap:1rem; padding:1rem; }.activation-copy h2 { font-size:2rem; }.activation-actions { display:grid; grid-template-columns:1fr; }.activation-actions .btn { width:100%; }
  .wrap, .wrap-narrow { width: min(100% - 1.5rem, 1240px); }.topbar .wrap { min-height: 62px; }.nav-sections { display: none; }.nav > .muted { display: none; }.brand { font-size: 1.15rem; }.card { padding: 1rem; }.card-pad-lg { padding: 1.2rem; }.section { padding: 4rem 0; }.feature { min-height: 0; }.facts { gap: 1.3rem; }.ink-badge { display: none; }.ink-frame { aspect-ratio: auto; background: transparent; }.ink-canvas { position: relative; width: 100%; aspect-ratio: 560 / 640; overflow: hidden; background: rgba(255,253,249,.58); }.ink-quote { position: relative; right: auto; bottom: auto; width: auto; margin-top: .85rem; }.field-row { grid-template-columns: 1fr; }.hours-row { grid-template-columns: 92px minmax(0, 1fr) minmax(0, 1fr); gap: 0.42rem; }.hours-row input[type="time"] { padding-inline: 0.35rem; }.step .lbl { display: none; }.step.on .lbl { display: inline; }.step-link { margin: 0 0.55rem; }.item-actions { width: 100%; align-items: flex-start; margin-left: 0; }.item-actions .row { justify-content: flex-start !important; }.app-dashboard .stats { grid-template-columns: 1fr; }.app-dashboard .stat, .app-dashboard .stat:nth-child(n) { border-right: 0; border-top: 1px solid var(--line); }.app-dashboard .stat:first-child { border-top: 0; }.app-dashboard .app-content .grid { grid-template-columns: minmax(0, 1fr) !important; }.app-dashboard .app-content .grid > aside { min-width: 0; }.app-dashboard .app-content .row-between { align-items: flex-start; }.app-dashboard .app-content .row-between > :first-child, .app-dashboard .app-content .row-between > .link-box { flex: 1 1 100%; min-width: 0; }.app-dashboard .app-content .row-between > .btn { width: 100%; }.app-head { align-items: flex-start; }.app-head > * { min-width: 0; }.app-head .link-box, .app-content .link-box { width: 100%; max-width: 100%; min-width: 0 !important; }.link-box { min-width: 0; }.link-box .btn { flex: 0 0 auto; white-space: nowrap; }.filters { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }.filters::-webkit-scrollbar { display: none; }.filter { flex: 0 0 auto; min-height: 42px; }.auth-grid { padding: 2.25rem 0 3.5rem; }.auth-story h1 { font-size: clamp(3.2rem, 16vw, 5.15rem); }.auth-story > p:not(.eyebrow):not(.auth-signature), .auth-points { font-size: .86rem; }.auth-points, .auth-signature { margin-top: 1.6rem; }.auth-form-wrap { margin-top: 2rem; } input:not([type="checkbox"]):not([type="radio"]), select, textarea { min-height:48px; font-size:16px; } textarea { min-height:118px; } .btn { min-height:48px; } .tab { min-height:44px; } .check, .consent { font-size:.84rem; } .topbar .brand-mark { width:27px; height:27px; }
}
@media (max-width: 360px) {
  .topbar .wrap { gap: 0.6rem; }.nav { gap: 0.35rem; }.topbar .btn { padding-inline: 0.7rem; font-size: 0.72rem; }.link-box { gap: 0.35rem; padding-left: 0.65rem; }.link-box code { font-size: 0.74rem; }.link-box .btn { min-height: 42px; padding-inline: 0.6rem; font-size: 0.7rem; }.onboarding-item { align-items: flex-start; }.onboarding-item b { margin-top: 0.05rem; }.steps { justify-content: space-between; }.step { gap: 0.35rem; }.step .num { width: 26px; height: 26px; font-size: 0.7rem; }.step-link { min-width: 16px; margin-inline: 0.3rem; }.step.on .lbl { display: none; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }
.password-change-message { margin:0; padding:.72rem .85rem; border-left:3px solid var(--ok); background:var(--ok-soft); color:#245b47; font-size:.83rem; font-weight:700; line-height:1.45; }.password-change-message.error { border-left-color:var(--danger); background:var(--danger-soft); color:#8d2535; }
.link-settings-heading { gap:1rem; align-items:flex-end; }.link-editor { display:grid; gap:.65rem; margin-top:.8rem; }.link-editor-row { display:grid; grid-template-columns:minmax(120px,.55fr) minmax(0,1fr) auto; gap:.55rem; align-items:center; padding:.55rem; border:1px solid var(--line); background:var(--bg-input); }.link-editor-row input { min-width:0; }.link-editor-remove { min-height:38px; padding-inline:.65rem; white-space:nowrap; }@media(max-width:640px){.link-settings-heading{align-items:flex-start;flex-direction:column}.link-editor-row{grid-template-columns:1fr}.link-editor-remove{width:100%}}
.link-photo-controls { display:flex; gap:.85rem; align-items:center; padding:.7rem; border:1px solid var(--line); background:var(--bg-input); }.link-photo-preview { display:grid; width:64px; height:64px; flex:0 0 64px; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:50%; color:var(--accent); background:var(--paper); font-family:var(--display); font-size:1.2rem; }.link-photo-preview img { width:100%; height:100%; object-fit:cover; }.link-photo-controls .hint { max-width:430px; margin:.5rem 0 0; }@media(max-width:640px){.link-photo-controls{align-items:flex-start}.link-photo-controls .btn{margin-bottom:.35rem}}
.payout-settings { margin-top:1.1rem; }.payout-status { margin-top:.85rem; border-left:3px solid var(--accent); padding:.8rem .9rem; background:var(--bg-input); color:var(--text); font-size:.88rem; line-height:1.5; }.payout-status.ready { border-left-color:var(--ok); background:var(--ok-soft); }.payout-status.warning { border-left-color:var(--warning); background:var(--warning-soft); }.payout-actions { display:flex; flex-wrap:wrap; gap:.55rem; align-items:end; }.payout-actions .btn { margin-top:1.5rem; }@media(max-width:640px){.payout-actions{display:grid}.payout-actions .btn{width:100%;margin-top:0}}
.billing-status { margin-top:.85rem; border-left:3px solid var(--accent); padding:.8rem .9rem; background:var(--bg-input); color:var(--text); font-size:.88rem; line-height:1.5; }.billing-status.ready { border-left-color:var(--ok); background:var(--ok-soft); }.billing-status.warning { border-left-color:var(--warn); background:var(--warn-soft); }.billing-status.neutral { border-left-color:var(--line-strong); }.billing-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin-top:1rem; }.billing-plan { position:relative; display:flex; min-width:0; flex-direction:column; align-items:flex-start; padding:1rem; border:1px solid var(--line); background:var(--bg-input); }.billing-plan.is-current { border-color:#bf92a2; background:var(--accent-soft); }.billing-plan-head { display:flex; width:100%; align-items:flex-start; justify-content:space-between; gap:.5rem; }.billing-plan-head .eyebrow { margin-bottom:.35rem; }.billing-plan > b { color:var(--text); font-family:var(--display); font-size:2rem; font-weight:400; letter-spacing:-.055em; line-height:1; }.billing-plan > b small { color:var(--muted); font-family:var(--font); font-size:.8rem; letter-spacing:0; }.billing-plan > p { flex:1; margin:.75rem 0 1rem; color:var(--muted); font-size:.82rem; line-height:1.5; }.billing-plan .btn { width:100%; }.billing-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.settings-hero { display:flex; max-width:980px; align-items:end; justify-content:space-between; gap:1.5rem; margin:0 0 1rem; padding:1.45rem 1.55rem; border-left:4px solid var(--accent); background:var(--paper); box-shadow:0 12px 30px rgba(54,35,39,.05); }.settings-hero h2 { margin:.15rem 0 .3rem; font-family:var(--display); font-size:clamp(1.7rem,4vw,2.35rem); line-height:1; }.settings-hero p:not(.eyebrow) { max-width:630px; margin:0; color:var(--muted); line-height:1.55; }.settings-nav { display:flex; max-width:980px; gap:.45rem; margin:0 0 1rem; padding:.35rem; overflow:auto; border:1px solid var(--line); background:var(--paper); scrollbar-width:thin; }.settings-nav a { flex:0 0 auto; padding:.5rem .7rem; color:var(--muted); font-size:.78rem; font-weight:800; text-decoration:none; white-space:nowrap; }.settings-nav a:hover,.settings-nav a:focus-visible { color:var(--accent); background:var(--accent-soft); outline:none; }.settings-form { display:grid; max-width:980px; gap:1rem; }.settings-section { scroll-margin-top:1rem; }.settings-section h3,.settings-section h4 { margin:.15rem 0 .35rem; }.settings-section h4 { font-family:var(--display); font-size:1.25rem; }.settings-section-head { display:flex; justify-content:space-between; gap:1rem; margin-bottom:1.15rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }.settings-section-head .muted { max-width:650px; margin:0; font-size:.88rem; line-height:1.5; }.settings-subsection { margin-top:1.35rem; padding:1.1rem; border:1px solid var(--line); background:var(--bg-input); }.settings-subsection .muted { margin:.35rem 0 0; font-size:.88rem; line-height:1.5; }.settings-subsection .field-row { margin-top:1rem; }.settings-data-actions { margin-top:1rem; }.settings-savebar { position:sticky; bottom:.65rem; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem .9rem; border:1px solid var(--line-strong); background:color-mix(in srgb,var(--paper) 94%,transparent); box-shadow:0 10px 24px rgba(54,35,39,.1); backdrop-filter:blur(12px); }.settings-savebar .check { margin:0; }.settings-security-card { max-width:980px; margin-top:1rem; scroll-margin-top:1rem; }
.settings-nav-tab { flex:0 0 auto; border:0; padding:.5rem .7rem; color:var(--muted); background:transparent; font:inherit; font-size:.78rem; font-weight:800; white-space:nowrap; cursor:pointer; }.settings-nav-tab:hover,.settings-nav-tab:focus-visible,.settings-nav-tab[aria-selected="true"] { color:var(--accent); background:var(--accent-soft); outline:none; }
@media(max-width:640px){.settings-hero{align-items:flex-start;flex-direction:column;padding:1.15rem}.settings-hero .btn{width:100%}.settings-section{padding:1.1rem}.settings-subsection{margin-inline:-.15rem;padding:.9rem}.settings-savebar{align-items:stretch;flex-direction:column;bottom:.35rem}.settings-savebar .btn{width:100%}.settings-data-actions{display:grid}.settings-data-actions .btn{width:100%}}
@media(max-width:640px){.billing-plan-grid{grid-template-columns:1fr}.billing-actions{display:grid}.billing-actions .btn{width:100%}}
.email-page-head { align-items:flex-end; margin-bottom:1rem; }.email-page-head h3 { margin:.12rem 0 .32rem; font-family:var(--display); font-size:clamp(1.8rem,3.1vw,2.6rem); font-weight:400; }.email-page-head .muted { max-width:680px; font-size:.88rem; line-height:1.56; }.email-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:1rem; border:1px solid var(--line); background:rgba(255,253,249,.72); box-shadow:var(--shadow); }.email-stat { min-width:0; padding:1rem 1.08rem; border-right:1px solid var(--line); }.email-stat:last-child { border-right:0; }.email-stat span { display:block; overflow:hidden; color:var(--faint); font-size:.67rem; font-weight:800; letter-spacing:.07em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }.email-stat b { display:block; margin-top:.15rem; font-family:var(--display); font-size:1.85rem; font-weight:400; letter-spacing:-.045em; line-height:1; }.email-stat.is-warning b { color:var(--danger); }.email-workspace { display:grid; grid-template-columns:minmax(210px,.33fr) minmax(0,1fr); gap:1rem; align-items:start; }.email-client-pane { position:sticky; top:96px; padding:.95rem; }.email-client-pane h4 { font-size:.95rem; }.email-client-list { display:grid; gap:.35rem; margin-top:.8rem; }.email-client { display:grid; width:100%; gap:.18rem; padding:.72rem; border:1px solid transparent; border-left:2px solid var(--line); background:transparent; color:var(--text); text-align:left; cursor:pointer; transition:background 160ms var(--ease),border-color 160ms var(--ease); }.email-client:hover { background:var(--bg-input); border-left-color:#cdb0ba; }.email-client.is-selected { border-color:var(--line); border-left-color:var(--accent); background:var(--accent-soft); }.email-client .badge { width:max-content; margin-top:.15rem; }.email-client-name { overflow:hidden; font-size:.82rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }.email-client-meta { overflow:hidden; color:var(--faint); font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }.email-detail-pane { min-height:430px; padding:1.25rem; }.email-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }.email-detail-head h4 { margin:.08rem 0 .25rem; font-family:var(--display); font-size:1.7rem; font-weight:400; }.email-detail-head .muted { margin:0; overflow-wrap:anywhere; font-size:.82rem; }.email-detail-summary { display:flex; flex:0 0 auto; gap:.45rem; }.email-detail-summary span { padding:.38rem .5rem; border:1px solid var(--line); color:var(--muted); font-size:.72rem; white-space:nowrap; }.email-detail-summary b { color:var(--text); }.email-timeline { margin-top:1rem; }.email-event { position:relative; display:grid; grid-template-columns:18px minmax(0,1fr); gap:.72rem; padding:0 0 1.05rem; }.email-event:not(:last-child)::before { content:""; position:absolute; top:16px; bottom:0; left:8px; width:1px; background:var(--line); }.email-event-marker { position:relative; z-index:1; width:17px; height:17px; margin-top:.18rem; border:4px solid var(--bg-elevated); border-radius:50%; background:var(--line-strong); box-shadow:0 0 0 1px var(--line-strong); }.email-event-marker.sent,.email-event-marker.delivered,.email-event-marker.opened,.email-event-marker.clicked { background:var(--ok); box-shadow:0 0 0 1px var(--ok); }.email-event-marker.bounced,.email-event-marker.complained,.email-event-marker.failed { background:var(--danger); box-shadow:0 0 0 1px var(--danger); }.email-event-content { min-width:0; }.email-event-content .row-between { align-items:flex-start; flex-wrap:nowrap; }.email-kind { display:block; color:var(--accent); font-size:.65rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.email-event-content h5 { margin:.1rem 0 0; font-size:.88rem; line-height:1.32; }.email-event-date { margin:.25rem 0 .5rem; color:var(--faint); font-size:.73rem; }.email-content { border-top:1px solid var(--line); padding-top:.42rem; }.email-content summary { color:var(--accent); font-size:.76rem; font-weight:800; cursor:pointer; }.email-detail-empty { max-width:350px; padding:2rem .5rem; }.email-detail-empty h4 { margin:.1rem 0 .45rem; font-family:var(--display); font-size:1.8rem; font-weight:400; }.email-rule { margin-top:.85rem; padding:.9rem; border:1px solid var(--line); background:rgba(255,253,249,.64); }.email-rule-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.email-rule-head h5 { margin:0; font-size:.9rem; }.email-rule-head p { margin:.15rem 0 0; color:var(--faint); font-size:.76rem; }.email-rule-toggle { margin:0; white-space:nowrap; }.email-rule .field-row { grid-template-columns:minmax(130px,.25fr) minmax(0,1fr); }.email-automation-settings code { padding:.08rem .22rem; background:var(--accent-soft); color:var(--accent); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.72rem; }
@media(max-width:900px){.email-workspace{grid-template-columns:minmax(0,1fr)}.email-client-pane{position:static}.email-client-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.email-page-head{align-items:flex-start}.email-stat:nth-child(2n){border-right:0}.email-stat:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:640px){.email-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.email-client-list{grid-template-columns:1fr}.email-detail-pane{padding:1rem}.email-detail-head{display:grid}.email-detail-summary{flex-wrap:wrap}.email-event-content .row-between{flex-wrap:wrap}.email-event-content .badge{margin-top:.35rem}.email-rule-head{align-items:flex-start}.email-rule .field-row{grid-template-columns:1fr}.email-page-head .btn{width:100%}}
.agenda-calendar { margin:0 0 1.15rem; padding:1.2rem; overflow:hidden; }.calendar-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding-bottom:1rem; }.calendar-head h3 { margin:.1rem 0 0; font-family:var(--display); font-size:1.65rem; font-weight:400; }.calendar-nav { display:flex; align-items:center; gap:.4rem; }.calendar-nav strong { min-width:155px; font-family:var(--display); font-size:1.18rem; font-weight:400; text-align:center; text-transform:capitalize; }.calendar-title-button { border:0; background:transparent; color:var(--accent); font:inherit; font-size:.76rem; font-weight:800; cursor:pointer; }.calendar-title-button:hover { text-decoration:underline; }.calendar-weekdays,.agenda-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }.calendar-weekdays { margin-bottom:.28rem; padding:0 .1rem; color:var(--faint); font-size:.64rem; font-weight:800; letter-spacing:.075em; text-align:center; text-transform:uppercase; }.agenda-calendar-grid { border-top:1px solid var(--line); border-left:1px solid var(--line); }.calendar-day { display:flex; min-width:0; min-height:108px; flex-direction:column; gap:.26rem; padding:.45rem; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,253,249,.46); color:var(--text); font:inherit; text-align:left; cursor:pointer; transition:background 150ms var(--ease),box-shadow 150ms var(--ease); }.calendar-day:hover { background:var(--accent-soft); }.calendar-day.is-outside { background:rgba(39,31,30,.025); color:var(--faint); }.calendar-day.is-today .calendar-day-number { display:grid; width:1.58rem; height:1.58rem; place-items:center; border-radius:50%; background:var(--text); color:var(--bg); }.calendar-day.is-selected { position:relative; background:#fbf2ed; box-shadow:inset 0 0 0 2px var(--accent); }.calendar-day-number { display:block; color:inherit; font-size:.74rem; font-weight:800; line-height:1.58rem; }.calendar-day-events { display:grid; gap:.2rem; min-width:0; }.calendar-entry { display:block; overflow:hidden; padding:.16rem .24rem; background:var(--accent-soft); border-left:2px solid var(--accent); color:#62263b; font-size:.64rem; font-weight:700; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }.calendar-entry.more { border-left-color:#b79679; background:var(--bg-input); color:var(--muted); }.calendar-entry.blocked { border-left-color:#686159; background:#e9e5de; color:#4f4942; }.calendar-legend { display:flex; flex-wrap:wrap; gap:1rem; margin-top:.8rem; color:var(--muted); font-size:.73rem; }.calendar-legend span { display:flex; align-items:center; gap:.34rem; }.calendar-legend-dot { display:inline-block; width:.48rem; height:.48rem; border-radius:50%; background:var(--accent); }.calendar-legend-dot.blocked { background:#686159; }.calendar-legend-dot.today { background:var(--text); }.agenda-day-detail { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }.calendar-detail-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.calendar-detail-head .eyebrow { margin:0; }.calendar-detail-head h4 { margin:.12rem 0 0; font-family:var(--display); font-size:1.3rem; font-weight:400; }.calendar-detail-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.55rem; margin-top:.7rem; }.calendar-detail-item { display:grid; min-width:0; gap:.12rem; padding:.7rem; border:1px solid var(--line); border-left:3px solid var(--accent); background:var(--bg-elevated); color:var(--text); font:inherit; text-align:left; }.calendar-detail-item.session { cursor:pointer; transition:transform 160ms var(--ease),box-shadow 160ms var(--ease); }.calendar-detail-item.session:hover { transform:translateY(-1px); box-shadow:var(--shadow); }.calendar-detail-item.blocked { border-left-color:#686159; }.calendar-detail-item span { color:var(--accent); font-size:.67rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.calendar-detail-item.blocked span { color:#686159; }.calendar-detail-item b { overflow:hidden; font-size:.82rem; text-overflow:ellipsis; white-space:nowrap; }.calendar-detail-item small { overflow:hidden; color:var(--muted); font-size:.72rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:720px){.agenda-calendar{margin-inline:-.1rem;padding:.9rem}.calendar-head{align-items:flex-start;flex-direction:column}.calendar-nav{width:100%;justify-content:space-between}.calendar-nav strong{min-width:0;font-size:1.02rem}.calendar-day{min-height:76px;padding:.28rem}.calendar-entry{padding:.12rem .16rem;font-size:.54rem}.calendar-entry.session:not(:first-child),.calendar-entry.blocked{display:none}.calendar-weekdays{font-size:.54rem}.calendar-detail-head{align-items:flex-start;flex-direction:column}.calendar-detail-head .btn{width:100%}.calendar-detail-list{grid-template-columns:1fr}.calendar-legend{gap:.6rem;font-size:.67rem}}
.studio-calendar { margin-top:1rem; }.studio-calendar-filters { display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 .85rem; }.studio-calendar-filter { display:inline-flex; align-items:center; gap:.35rem; min-height:34px; border:1px solid var(--line-strong); padding:.32rem .62rem; background:transparent; color:var(--muted); font:inherit; font-size:.72rem; font-weight:800; cursor:pointer; }.studio-calendar-filter:hover,.studio-calendar-filter.is-active { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }.studio-calendar-filter i { display:inline-block; width:.46rem; height:.46rem; border-radius:50%; background:currentColor; }.studio-calendar-filter span { color:var(--faint); font-size:.65rem; }.calendar-entry.studio-color-0,.calendar-detail-item.studio-color-0 { border-left-color:#8b2944; }.calendar-entry.studio-color-0 { background:#f5e5e9; color:#6d1e37; }.calendar-entry.studio-color-1,.calendar-detail-item.studio-color-1 { border-left-color:#206d62; }.calendar-entry.studio-color-1 { background:#def0eb; color:#185a50; }.calendar-entry.studio-color-2,.calendar-detail-item.studio-color-2 { border-left-color:#a56b23; }.calendar-entry.studio-color-2 { background:#f7ebd5; color:#78501a; }.calendar-entry.studio-color-3,.calendar-detail-item.studio-color-3 { border-left-color:#5f4c8c; }.calendar-entry.studio-color-3 { background:#ebe5f5; color:#4d3c76; }.studio-calendar-filter.studio-color-0 i { color:#8b2944; }.studio-calendar-filter.studio-color-1 i { color:#206d62; }.studio-calendar-filter.studio-color-2 i { color:#a56b23; }.studio-calendar-filter.studio-color-3 i { color:#5f4c8c; }.calendar-legend-dot.studio-a { background:#8b2944; }.calendar-legend-dot.studio-b { background:#206d62; }.studio-agenda-list-title { margin:1.4rem 0 0; font-size:1rem; }
@media(max-width:720px){.studio-calendar-filters{flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}.studio-calendar-filters::-webkit-scrollbar{display:none}.studio-calendar-filter{flex:0 0 auto}.studio-calendar-day .calendar-entry.session:not(:first-child){display:none}}
.join-shell { padding:3rem 0; }.join-card > .muted { max-width:42rem; }.join-calibration { padding:.72rem .82rem .82rem; border:1px solid var(--line); background:var(--bg-input); }.join-calibration summary { display:flex; width:100%; align-items:center; justify-content:space-between; gap:.6rem; color:var(--accent); }.join-calibration summary span { color:var(--faint); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; }.join-calibration[open] summary { margin-bottom:.55rem; }.join-calibration .hint { margin:.1rem 0 .6rem; line-height:1.45; }
@media(max-width:640px){.join-shell{min-height:auto;padding:1rem 0 2rem!important;overflow:visible}.join-shell::before,.join-shell .bleed,.join-shell .grain{display:none}.join-shell .auth-form-wrap{width:100%;margin:0}.join-card{padding:1.25rem 1rem}.join-card .display{margin-top:.5rem!important;font-size:clamp(2.15rem,11.6vw,3rem);line-height:.94}.join-card>.muted{margin:.7rem 0 1.25rem;font-size:.91rem;line-height:1.54}.join-card .field{margin-top:.82rem}.join-calibration{margin-top:.95rem}.join-calibration .field-row{gap:.1rem}.join-calibration .field{margin-top:.65rem}.join-card .consent{margin-top:.72rem}.join-card .btn[type=submit]{margin-top:1rem!important}}
.crm-toolbar { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }.crm-toolbar h3 { margin:.15rem 0 0; }.crm-search { min-width:min(100%,320px); }.crm-search input { width:100%; }.crm-views { display:flex; gap:.45rem; margin:0 0 1.1rem; overflow:auto; }.crm-view { border:1px solid var(--line-strong); padding:.45rem .75rem; color:var(--muted); background:transparent; font:inherit; font-size:.85rem; font-weight:800; white-space:nowrap; cursor:pointer; }.crm-view[aria-selected="true"] { border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }.crm-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.36fr); gap:1rem; align-items:start; }.crm-layout > *,#crm-workspace { min-width:0; }.crm-board { display:grid; width:100%; max-width:100%; min-width:0; grid-template-columns:repeat(5,minmax(205px,1fr)); gap:.75rem; overflow-x:auto; overscroll-behavior-inline:contain; padding-bottom:.35rem; }.crm-column { min-width:0; min-height:250px; padding:.75rem; border:1px solid var(--line); background:var(--bg-input); }.crm-column-head { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.75rem; }.crm-column-head h4 { margin:0; font-size:.9rem; }.crm-count { display:grid; min-width:1.55rem; height:1.55rem; place-items:center; border-radius:50%; color:var(--muted); background:var(--paper); font-size:.74rem; }.crm-cards { display:grid; gap:.55rem; }.crm-card { width:100%; min-width:0; border:1px solid var(--line); padding:.72rem; color:var(--text); background:var(--paper); text-align:left; cursor:pointer; transition:transform 160ms var(--ease),border-color 160ms var(--ease); }.crm-card:hover,.crm-card.is-selected { border-color:var(--accent); transform:translateY(-1px); }.crm-card-name { display:block; font-weight:800; overflow-wrap:anywhere; }.crm-card-project { display:block; margin-top:.2rem; color:var(--muted); font-size:.82rem; line-height:1.35; overflow-wrap:anywhere; }.crm-card-meta { display:flex; justify-content:space-between; gap:.45rem; margin-top:.6rem; color:var(--muted); font-size:.74rem; }.crm-detail { position:sticky; top:1rem; min-width:0; min-height:210px; border:1px solid var(--line); padding:1rem; background:var(--paper); overflow-wrap:anywhere; }.crm-detail h3 { margin:.2rem 0; }.crm-detail-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.9rem; }.crm-tags { display:flex; flex-wrap:wrap; gap:.35rem; margin:.75rem 0; }.crm-tag { border:1px solid var(--line-strong); padding:.15rem .4rem; color:var(--muted); font-size:.72rem; }.crm-client-list,.crm-followups { display:grid; gap:.6rem; }.crm-client { display:flex; width:100%; align-items:center; justify-content:space-between; gap:1rem; border:1px solid var(--line); padding:.8rem; color:var(--text); background:var(--paper); text-align:left; cursor:pointer; }.crm-client:hover { border-color:var(--accent); }.crm-followup { border-left:3px solid var(--warning); padding:.75rem .85rem; background:var(--warning-soft); text-align:left; cursor:pointer; }.crm-followup strong,.crm-followup span { display:block; }.crm-followup span { margin-top:.22rem; color:var(--muted); font-size:.83rem; }.crm-detail textarea { min-height:100px; }.crm-detail label { display:block; margin-top:.85rem; font-size:.78rem; font-weight:800; }.crm-detail input,.crm-detail textarea { width:100%; margin-top:.3rem; }@media(max-width:900px){.crm-layout{grid-template-columns:1fr}.crm-detail{position:static}.crm-board{grid-template-columns:repeat(5,minmax(230px,1fr))}}@media(max-width:640px){.crm-toolbar{display:grid;align-items:stretch}.crm-search{min-width:0}.crm-client{align-items:flex-start;flex-direction:column;gap:.35rem}}
.crm-layout-single { display:block; }
.crm-client-import { margin-bottom:1rem; padding:1rem; border-left:3px solid var(--accent); background:var(--bg-input); }.crm-client-import-head { display:flex; align-items:start; justify-content:space-between; gap:1rem; }.crm-client-import h4 { margin:.15rem 0 .35rem; }.crm-client-import .muted { max-width:580px; margin:0; font-size:.83rem; line-height:1.5; }.crm-import-preview { margin-top:.85rem; padding:.75rem; border:1px solid var(--line); background:var(--paper); }.crm-import-preview p { margin:0; font-size:.84rem; }.crm-import-preview p + p,.crm-import-preview .btn { margin-top:.55rem; }.crm-add-client-form { display:grid; grid-template-columns:1.1fr 1.2fr .9fr auto; gap:.55rem; align-items:end; margin-top:.9rem; padding-top:.9rem; border-top:1px solid var(--line); }.crm-add-client-form label { display:block; margin:0 0 .25rem; font-size:.74rem; font-weight:800; }.crm-add-client-form input { width:100%; }.crm-add-client-form .btn { min-height:40px; }@media(max-width:640px){.crm-client-import-head{align-items:stretch;flex-direction:column}.crm-client-import-head .btn{width:100%}.crm-add-client-form{grid-template-columns:1fr}.crm-add-client-form .btn{width:100%}}
.crm-client-page-head,.agenda-toolbar { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:0 0 1rem; padding:1rem 1.1rem; border-left:3px solid var(--accent); background:var(--bg-input); }.crm-client-page-head h4,.agenda-toolbar h3 { margin:.15rem 0 .3rem; font-family:var(--display); font-size:1.35rem; }.crm-client-page-head .muted,.agenda-toolbar .muted { max-width:590px; margin:0; font-size:.85rem; line-height:1.5; }.crm-client-page-actions,.agenda-actions,.modal-actions { display:flex; flex-wrap:wrap; gap:.55rem; justify-content:flex-end; }.agenda-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.45fr); gap:1rem; align-items:start; }.agenda-section-heading { display:flex; justify-content:space-between; gap:1rem; padding-bottom:.9rem; border-bottom:1px solid var(--line); }.agenda-section-heading h3,.agenda-side h3 { margin:.15rem 0 .3rem; }.agenda-section-heading .muted,.agenda-side .muted { margin:0; font-size:.85rem; line-height:1.5; }.agenda-main #appointments,.agenda-main #appointments-past { margin-top:.85rem; }.agenda-history-heading { margin-top:1.5rem; }.agenda-side { position:sticky; top:1rem; }.agenda-blocks { margin:1rem 0; }.modal-title-row { display:flex; align-items:start; justify-content:space-between; gap:1rem; }.modal-title-row h3 { margin:.15rem 0 0; }.action-modal-intro { margin:.75rem 0 1rem; font-size:.88rem; line-height:1.55; }.action-modal .field-row { margin-top:.8rem; }.action-modal label { display:block; margin:.55rem 0 .3rem; font-size:.8rem; font-weight:800; }.action-modal input,.action-modal textarea { width:100%; }.action-modal textarea { min-height:90px; }.action-modal .modal-actions { margin-top:1rem; }.import-step { display:flex; align-items:center; gap:.7rem; margin-top:.9rem; padding:.75rem; border:1px solid var(--line); background:var(--bg-input); }.import-step span { display:grid; width:1.7rem; height:1.7rem; flex:0 0 1.7rem; place-items:center; border-radius:50%; color:var(--accent); background:var(--paper); font-size:.78rem; font-weight:900; }.import-step b,.import-step p { display:block; margin:0; }.import-step .muted { margin-top:.15rem; font-size:.8rem; }.import-step .btn { margin-left:auto; }.crm-import-preview { margin-top:.85rem; }.import-preview-list { margin:.75rem 0; padding:.7rem; border-left:2px solid var(--line-strong); color:var(--muted); background:var(--paper); font-size:.84rem; line-height:1.5; }@media(max-width:900px){.agenda-layout{grid-template-columns:1fr}.agenda-side{position:static}}@media(max-width:640px){.crm-client-page-head,.agenda-toolbar{align-items:stretch;flex-direction:column}.crm-client-page-actions,.agenda-actions,.modal-actions{display:grid}.crm-client-page-actions .btn,.agenda-actions .btn,.modal-actions .btn{width:100%}.modal-title-row{align-items:stretch;flex-direction:column}.modal-title-row .btn{width:100%}.import-step{align-items:stretch;flex-wrap:wrap}.import-step .btn{width:100%;margin-left:2.4rem}}
.agenda-empty { display:grid; justify-items:start; gap:.55rem; min-height:180px; align-content:center; }.agenda-empty span { color:var(--muted); font-size:.88rem; }
.action-modal .manual-outside-check { display:flex; align-items:flex-start; gap:.7rem; margin:1rem 0 0; padding:.75rem .8rem; border:1px solid var(--line-strong); background:var(--bg-input); cursor:pointer; }.action-modal .manual-outside-check input { width:1rem; height:1rem; flex:0 0 1rem; margin:.16rem 0 0; accent-color:var(--accent); }.manual-outside-check span { display:grid; gap:.18rem; }.manual-outside-check b { font-size:.84rem; line-height:1.35; }.manual-outside-check small { color:var(--muted); font-size:.76rem; font-weight:500; line-height:1.4; }.manual-outside-check:hover { border-color:var(--accent); background:var(--accent-soft); }
.manual-client-picker { margin:.15rem 0 .2rem; padding:.8rem; border-left:3px solid var(--accent); background:var(--bg-input); }.manual-client-picker label { margin-top:0 !important; }.manual-client-picker select { width:100%; }.manual-client-picker .hint { margin:.45rem 0 0; }.manual-client-picker + #manual-new-client-fields { margin-top:.9rem; }
.client-modal { width:min(820px,calc(100vw - 2rem)); }.client-modal-overview { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem 1rem; margin:1rem 0; padding:.85rem; border-left:3px solid var(--accent); background:var(--bg-input); }.client-modal-overview .crm-tags,.client-modal-overview p { margin:0; }.client-modal-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:1rem; align-items:start; }.client-modal-grid h4 { margin:.15rem 0 .7rem; font-family:var(--display); font-size:1.08rem; }.client-projects { min-height:170px; padding:.9rem; border:1px solid var(--line); background:var(--bg-input); }.client-projects .meta { display:grid; gap:.5rem; }.client-modal-grid form { padding:.1rem; }.client-modal-grid form label { display:block; margin:.75rem 0 .3rem; font-size:.78rem; font-weight:800; }.client-modal-grid form input,.client-modal-grid form textarea { width:100%; }.client-modal-grid form textarea { min-height:115px; }@media(max-width:640px){.client-modal{width:calc(100vw - 1rem)}.client-modal-overview{align-items:stretch;flex-direction:column}.client-modal-grid{grid-template-columns:1fr}.client-projects{min-height:auto}}
.client-delete { margin-top:1.15rem; border:0; padding:.15rem 0; color:var(--danger); background:transparent; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; text-decoration:underline; text-underline-offset:.2em; }.client-delete:hover { color:#8d2535; }.client-delete + .hint { margin:.35rem 0 0; }
.availability-intro { margin:0 0 .75rem; color:var(--muted); font-size:.9rem; line-height:1.55; }.availability-opening { margin:0 0 .9rem; padding:.65rem .75rem; border-left:3px solid var(--accent); background:var(--accent-soft); color:var(--text); font-size:.82rem; font-weight:700; line-height:1.45; }.availability-picker { display:grid; gap:.8rem; }.availability-picker fieldset { display:grid; gap:.55rem; }.availability-picker legend { padding:0; color:var(--text); font-size:.82rem; font-weight:800; }.availability-options { display:flex; flex-wrap:wrap; gap:.5rem; }.availability-option { position:relative; display:inline-flex; align-items:center; min-height:42px; margin:0; border:1px solid var(--line-strong); padding:.48rem .75rem; color:var(--muted); background:var(--bg-input); font-size:.82rem; letter-spacing:0; cursor:pointer; transition:background 160ms var(--ease),border-color 160ms var(--ease),color 160ms var(--ease),transform 160ms var(--ease); }.availability-option input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.availability-option:has(input:checked) { border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }.availability-option:hover { border-color:var(--accent); transform:translateY(-1px); }.availability-flexible { color:var(--text); }.availability-more { border-top:1px solid var(--line); padding-top:.7rem; }.availability-more summary { display:flex; align-items:center; justify-content:space-between; gap:.6rem; color:var(--accent); font-size:.8rem; font-weight:800; cursor:pointer; }.availability-more summary span { color:var(--faint); font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }.availability-more fieldset { margin-top:.7rem; }.availability-slots { margin:.9rem 0 0; color:var(--muted); font-size:.82rem; line-height:1.5; }@media(max-width:640px){.availability-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.availability-option{justify-content:center;text-align:center}.availability-flexible{grid-column:1/-1}.availability-periods{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-periods .availability-option:last-child{grid-column:1/-1}}
.signup-plan-choice { margin:1.1rem 0 0; border:0; padding:0; }.signup-plan-choice legend { padding:0; font-size:.86rem; font-weight:800; }.signup-plan-choice .hint { margin:.25rem 0 .65rem; font-size:.78rem; line-height:1.48; }.signup-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }.signup-plan { position:relative; display:block; min-width:0; margin:0; border:1px solid var(--line-strong); background:var(--bg-input); cursor:pointer; transition:border-color 160ms var(--ease),background 160ms var(--ease),transform 160ms var(--ease); }.signup-plan:hover { border-color:var(--accent); transform:translateY(-1px); }.signup-plan input { position:absolute; width:1px; height:1px; opacity:0; }.signup-plan:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent); }.signup-plan > span { display:grid; gap:.28rem; padding:.85rem; }.signup-plan b { color:var(--accent); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }.signup-plan strong { font-family:var(--display); font-size:1.6rem; font-weight:400; letter-spacing:-.05em; line-height:1; }.signup-plan strong small { color:var(--muted); font-family:var(--font); font-size:.7rem; letter-spacing:0; }.signup-plan span > small { color:var(--muted); font-size:.73rem; line-height:1.4; }
.billing-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:1rem 0 0; border:1px solid var(--line); background:rgba(255,253,249,.68); }.billing-overview-item { display:grid; min-width:0; gap:.2rem; padding:.85rem .9rem; border-right:1px solid var(--line); }.billing-overview-item:last-child { border-right:0; }.billing-overview-item span { overflow:hidden; color:var(--faint); font-size:.64rem; font-weight:800; letter-spacing:.07em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }.billing-overview-item b { overflow:hidden; color:var(--text); font-size:.78rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }.billing-help { margin:1rem 0 0; color:var(--faint); font-size:.76rem; line-height:1.5; }
@media(max-width:720px){.billing-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-overview-item:nth-child(2n){border-right:0}.billing-overview-item:nth-child(n+3){border-top:1px solid var(--line)}}
.subscription-onboarding .app-main { padding-top:clamp(2.3rem,8vw,6rem)!important; }.subscription-gate { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(1.2rem,4vw,4rem); max-width:1040px; margin:0 auto; padding:clamp(1.25rem,5vw,4rem); border:1px solid var(--line-strong); border-top:4px solid var(--accent); background:rgba(255,253,249,.84); box-shadow:var(--shadow); }.subscription-gate-copy h1 { max-width:620px; font-size:clamp(3rem,6vw,5.2rem); }.subscription-gate-copy h1 em { color:var(--accent); }.subscription-gate-lead { max-width:540px; margin:1rem 0 1.4rem; color:var(--muted); font-size:1rem; line-height:1.65; }.subscription-gate-note { display:grid; gap:.28rem; max-width:540px; padding:.8rem .9rem; border-left:3px solid var(--accent); background:var(--accent-soft); font-size:.8rem; line-height:1.5; }.subscription-gate-note span,.subscription-gate-foot { color:var(--muted); }.subscription-gate-plans { display:grid; gap:.8rem; align-content:start; }.subscription-gate-plan { display:flex; min-width:0; flex-direction:column; align-items:flex-start; padding:1.1rem; border:1px solid var(--line); background:var(--bg-input); }.subscription-gate-plan .eyebrow { margin-bottom:.35rem; }.subscription-gate-plan > b { font-family:var(--display); font-size:2.1rem; font-weight:400; letter-spacing:-.055em; line-height:1; }.subscription-gate-plan > b small { color:var(--muted); font-family:var(--font); font-size:.75rem; letter-spacing:0; }.subscription-gate-plan p { flex:1; margin:.65rem 0 1rem; color:var(--muted); font-size:.8rem; line-height:1.5; }.subscription-gate-plan .btn { width:100%; }.subscription-gate-foot { grid-column:1/-1; margin:0; padding-top:.9rem; border-top:1px solid var(--line); font-size:.76rem; line-height:1.45; }
@media(max-width:640px){.signup-plan-grid{grid-template-columns:1fr}.subscription-gate{grid-template-columns:1fr;gap:1.35rem;margin:0 -.1rem;padding:1.1rem}.subscription-gate-copy h1{font-size:clamp(2.55rem,14.5vw,4rem)}.subscription-gate-lead{font-size:.92rem}.subscription-gate-plan{padding:1rem}.subscription-gate-foot{font-size:.73rem}}

/* Mobile Tatqio : les longues fiches et séances défilent dans un parcours plein écran, sans action hors de portée. */
@media(max-width:640px){
  html,body{overflow-x:clip}.wrap,.wrap-narrow{width:min(100% - 1rem,1240px)}
  .topbar .wrap{min-height:62px;gap:.55rem}.brand{gap:.4rem;font-size:1.12rem}.brand-mark{width:24px;height:24px;font-size:.56rem}.brand-mark::before{width:30px}.brand-symbol{width:27px;height:27px}.brand-wordmark{font-size:1rem}.nav{gap:.2rem}.nav>.muted{max-width:112px;font-size:.7rem}.nav .btn{min-height:38px;padding-inline:.45rem;font-size:.7rem}
  input,select,textarea{font-size:16px}.field-row{grid-template-columns:1fr;gap:.75rem}.row-between{align-items:stretch}.app-head{gap:.7rem}.link-box{display:grid;grid-template-columns:minmax(0,1fr) auto auto;width:100%;min-width:0!important;padding:.3rem}.link-box code{min-width:0;padding-left:.35rem;font-size:.72rem}.link-box .btn{min-height:42px;padding-inline:.55rem}
  .app-dashboard .modal-backdrop{display:block;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:max(.45rem,env(safe-area-inset-top)) .45rem max(.45rem,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.app-dashboard .modal{width:100%!important;max-width:none;max-height:none!important;min-height:calc(100dvh - 0.9rem);margin:0;overflow:visible;padding:0}.app-dashboard .modal-title-row{position:sticky;top:0;z-index:2;align-items:stretch;margin:0;padding:1rem;border-bottom:1px solid var(--line);background:rgba(255,253,249,.98);box-shadow:0 7px 12px -13px rgba(42,28,24,.6)}.app-dashboard .modal-title-row .eyebrow{margin-bottom:.55rem}.app-dashboard .modal-title-row h3{font-size:1.35rem;line-height:1.08}.app-dashboard .modal-title-row .btn{min-height:46px;margin-top:.8rem;border-color:var(--line-strong);background:var(--bg-input);color:var(--accent)}.app-dashboard .modal-body{padding:0 1rem max(1rem,env(safe-area-inset-bottom));}.app-dashboard .modal-body .action-modal-intro{margin:1rem 0}.app-dashboard .modal-body .field-row{grid-template-columns:1fr;gap:.75rem}.app-dashboard .modal-body textarea{min-height:130px}.app-dashboard .modal-actions{display:grid;grid-template-columns:1fr;gap:.5rem;margin:1rem -1rem 0;padding:.75rem 1rem max(.75rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,253,249,.98)}.app-dashboard .modal-actions .btn{width:100%;min-height:50px;font-size:.86rem}.app-dashboard .manual-client-picker{margin-top:.3rem;padding:.75rem}.app-dashboard .manual-outside-check{margin-bottom:.4rem}.app-dashboard .client-modal-overview{gap:.8rem;margin:1rem 0;padding:.85rem}.app-dashboard .client-modal-overview .crm-detail-actions{display:grid;width:100%;grid-template-columns:1fr;gap:.5rem}.app-dashboard .client-modal-overview .crm-detail-actions .btn{width:100%;min-height:46px;margin:0;text-align:center}.app-dashboard .client-modal-grid{display:grid;grid-template-columns:1fr;gap:1.2rem}.app-dashboard .client-projects{min-height:0;padding:.85rem}.app-dashboard .client-projects .meta{gap:.65rem}.app-dashboard .client-projects .meta span{overflow-wrap:anywhere;line-height:1.45}.app-dashboard .client-delete{width:100%;min-height:46px;margin-top:1rem;padding:.5rem;text-align:left}.app-dashboard .client-delete+.hint{padding-bottom:.65rem}.app-dashboard .import-step{align-items:stretch}.app-dashboard .import-step .btn{margin-left:2.4rem}.app-dashboard .calendar-detail-item,.app-dashboard .crm-followup{min-height:50px}
}

/* Aperçu Tatqio : les signaux utiles du studio se lisent sans inventer de données ni dupliquer les écrans métier. */
.overview-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:0 0 1rem; padding:1.1rem 1.2rem; border-left:3px solid var(--accent); background:var(--bg-input); }.overview-head h3 { margin:.15rem 0 .35rem; font-family:var(--display); font-size:clamp(1.7rem,3vw,2.55rem); font-weight:400; }.overview-head .muted { max-width:590px; margin:0; font-size:.88rem; line-height:1.55; }.overview-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(240px,.72fr); gap:1rem; }.overview-card { min-width:0; padding:1.15rem; border:1px solid var(--line); background:rgba(255,253,249,.8); box-shadow:var(--shadow); }.overview-card .eyebrow { margin-bottom:.55rem; }.overview-card h4 { font-family:var(--display); font-size:1.55rem; font-weight:400; }.overview-next { display:grid; align-content:start; min-height:238px; border-top:2px solid var(--accent); }.overview-next .overview-strong { margin:.65rem 0 .28rem; color:var(--accent); font-size:.88rem; font-weight:800; }.overview-next .muted { max-width:480px; margin:.4rem 0 1rem; font-size:.85rem; line-height:1.5; }.overview-next .btn { margin-top:auto; align-self:start; }.overview-requests { display:flex; min-height:238px; flex-direction:column; align-items:flex-start; background:linear-gradient(145deg,var(--bg-input),var(--accent-soft)); }.overview-number { display:block; font-family:var(--display); font-size:4rem; font-weight:400; letter-spacing:-.07em; line-height:.9; }.overview-caption { margin-top:.25rem; color:var(--faint); font-size:.73rem; font-weight:800; letter-spacing:.075em; text-transform:uppercase; }.overview-requests .muted { margin:.75rem 0 1rem; font-size:.82rem; line-height:1.45; }.overview-requests .btn { margin-top:auto; }.overview-week { grid-column:1/-1; }.overview-week > .row-between,.overview-projects > .row-between { align-items:start; }.overview-week h4,.overview-projects h4 { font-size:1.3rem; }.overview-schedule { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.6rem; margin-top:1rem; }.overview-schedule-item,.overview-project { display:grid; min-width:0; gap:.16rem; border:1px solid var(--line); border-left:3px solid var(--accent); padding:.75rem; color:var(--text); background:var(--bg-input); font:inherit; text-align:left; cursor:pointer; transition:transform 160ms var(--ease),border-color 160ms var(--ease),background 160ms var(--ease); }.overview-schedule-item:hover,.overview-project:hover { border-color:var(--accent); background:var(--accent-soft); transform:translateY(-1px); }.overview-schedule-item span { color:var(--accent); font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.overview-schedule-item b,.overview-project b { overflow:hidden; font-size:.84rem; text-overflow:ellipsis; white-space:nowrap; }.overview-schedule-item small,.overview-project small { overflow:hidden; color:var(--muted); font-size:.74rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }.overview-finance { min-height:214px; background:var(--text); color:#fffaf9; }.overview-finance .eyebrow,.overview-finance .muted { color:#d8cbd0; }.overview-money { display:block; margin-top:.75rem; font-family:var(--display); font-size:3rem; font-weight:400; letter-spacing:-.07em; line-height:1; }.overview-finance .muted { margin:.65rem 0 1rem; font-size:.82rem; }.overview-finance .btn { margin-top:auto; border-color:rgba(255,250,249,.38); color:#fffaf9; }.overview-finance .btn:hover { background:rgba(255,250,249,.12); color:#fffaf9; }.overview-projects { min-height:214px; }.overview-project-list { display:grid; gap:.45rem; margin-top:.85rem; }.overview-project { grid-template-columns:auto minmax(0,1fr); align-items:center; border-left:0; padding:.58rem 0; border-top:1px solid var(--line); border-right:0; border-bottom:0; background:transparent; }.overview-project small { grid-column:2; }.overview-stats { margin-top:1rem; }.overview-stats .stats { grid-template-columns:repeat(3,minmax(0,1fr)); }.overview-stats .stat:nth-child(3n) { border-right:0; }.overview-stats .stat:nth-child(n+4) { border-top:1px solid var(--line); }
@media(max-width:640px){.overview-head{align-items:stretch;flex-direction:column;padding:1rem}.overview-head .btn{width:100%}.overview-grid{grid-template-columns:1fr}.overview-card{padding:1rem}.overview-next,.overview-requests{min-height:0}.overview-week{grid-column:auto}.overview-week>.row-between,.overview-projects>.row-between{align-items:stretch;flex-direction:column}.overview-week>.row-between .btn,.overview-projects>.row-between .btn{width:100%;border-color:var(--line-strong);background:var(--bg-input);color:var(--accent)}.overview-schedule{grid-template-columns:1fr}.overview-schedule-item{min-height:68px}.overview-finance{min-height:0}.overview-money{font-size:2.75rem}.overview-finance .btn{width:100%}.overview-stats .stats{grid-template-columns:1fr}.overview-stats .stat,.overview-stats .stat:nth-child(n){border-right:0;border-top:1px solid var(--line)}.overview-stats .stat:first-child{border-top:0}.app-dashboard .item-actions{align-items:stretch}.app-dashboard .item-actions>.row,.app-dashboard .crm-detail-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.app-dashboard .item-actions>.row .btn,.app-dashboard .crm-detail-actions .btn{width:100%;min-height:46px;padding-inline:.45rem;white-space:normal}.app-dashboard .modal-backdrop{align-items:end;padding:.5rem}.app-dashboard .modal{width:100%;max-height:calc(100dvh - 1rem);padding:1rem}.app-dashboard .modal-title-row .btn-quiet{border:1px solid var(--line-strong);background:var(--bg-input);color:var(--accent);text-align:center}.app-dashboard .modal-actions .btn,.app-dashboard .agenda-actions .btn,.app-dashboard .crm-client-page-actions .btn{min-height:48px}.app-dashboard .client-delete{min-height:44px;padding:.45rem 0}.app-dashboard .link-box .btn{min-height:44px}}

/* Tableau de bord 2026 — cockpit d'atelier, calme et orienté action. */
.app-dashboard { --dashboard-ink:#211c1b; --dashboard-ink-soft:#352a28; background:#f3efe9; background-image:none; }
.app-dashboard .topbar { background:rgba(33,28,27,.97); border-color:#3e3431; color:#fffaf7; }
.app-dashboard .topbar .wrap { min-height:66px; }
.app-dashboard .topbar .brand-wordmark { color:#fffaf7; }
.app-dashboard .topbar .brand-symbol { filter:brightness(0) invert(1); opacity:.94; }
.app-dashboard .topbar .nav>.muted { color:#bfb3ae; }
.app-dashboard .topbar .btn-quiet { color:#d7ccc7; }
.app-dashboard .topbar .btn-quiet:hover { color:#fff; }
.app-dashboard .app-main { width:min(1380px,calc(100% - 2.5rem)); padding:2rem 0 4rem!important; gap:1rem; }
.app-dashboard .app-head { align-items:flex-end; padding:0 .2rem .35rem; }
.app-dashboard .dashboard-date { margin:0 0 .35rem; }
.app-dashboard .app-head h2 { font-size:clamp(2.35rem,4vw,3.8rem); line-height:.95; }
.app-dashboard .app-head>.link-box { max-width:520px; min-height:54px; border-radius:10px; background:#fffdf9; box-shadow:none; }
.app-dashboard .activation-card { border-radius:12px; border-color:#dccbd0; background:linear-gradient(120deg,#fffdf9,#f5e9ed); box-shadow:0 18px 45px -38px rgba(42,28,24,.55); }
.app-dashboard .activation-progress { border-radius:8px; }
.app-dashboard .app-workspace { grid-template-columns:210px minmax(0,1fr); gap:1.25rem; }
.app-dashboard .app-sidebar { top:82px; padding:14px 10px; border:0; border-radius:12px; background:var(--dashboard-ink); box-shadow:0 18px 42px -34px rgba(0,0,0,.65); }
.app-dashboard .app-sidebar::before { content:"ESPACE STUDIO"; padding:.25rem .8rem .65rem; color:#8f827d; }
.app-dashboard .app-sidebar .tabs { margin:0!important; gap:3px; }
.app-dashboard .app-sidebar .tab { gap:.65rem; min-height:44px; padding:.7rem .8rem; border:0; border-radius:7px; color:#c9bdb8; font-weight:700; }
.app-dashboard .app-sidebar .tab>span[aria-hidden] { width:18px; color:#a99b96; font-size:1rem; text-align:center; }
.app-dashboard .app-sidebar .tab:hover { background:#302826; color:#fff; }
.app-dashboard .app-sidebar .tab[aria-selected="true"] { border:0; background:#3b252d; color:#fff; }
.app-dashboard .app-sidebar .tab[aria-selected="true"]>span[aria-hidden] { color:#e4a5b9; }
.app-dashboard .app-sidebar .tab .pill { background:#7a1f3d; color:#fff; }
.app-dashboard .app-content { padding:.15rem 0; }
.app-dashboard .overview-head { align-items:center; margin-bottom:1rem; padding:0 0 1rem; border:0; border-bottom:1px solid var(--line); background:transparent; }
.app-dashboard .overview-head h3 { font-family:var(--font); font-size:1.15rem; font-weight:800; letter-spacing:-.025em; }
.app-dashboard .overview-card { border-radius:10px; background:#fffdf9; box-shadow:none; }
.app-dashboard .overview-next { border-top:0; border-left:3px solid var(--accent); }
.app-dashboard .overview-requests { background:#f5e9ed; }
.app-dashboard .overview-schedule-item { border-radius:7px; background:#fff; }
.app-dashboard .overview-finance { border-color:var(--dashboard-ink); background:var(--dashboard-ink); border-radius:10px; }
.app-dashboard .stats { border-radius:10px; box-shadow:none; background:#fffdf9; }
.app-dashboard .item,.app-dashboard .card { border-radius:10px; box-shadow:none; }
.app-dashboard .filters { border-radius:9px; background:#fffdf9; }
.app-dashboard .filter { border-radius:7px; }
.app-dashboard .btn { border-radius:7px; box-shadow:none; }
.app-dashboard input,.app-dashboard select,.app-dashboard textarea { border-radius:7px; background:#fffdf9; }
@media(max-width:900px){.app-dashboard .app-workspace{grid-template-columns:1fr}.app-dashboard .app-sidebar{position:static;padding:8px;background:var(--dashboard-ink)}.app-dashboard .app-sidebar .tabs{display:flex}.app-dashboard .app-sidebar .tab{border:0}.app-dashboard .app-sidebar .tab[aria-selected="true"]{border:0}.app-dashboard .app-sidebar .tab>span[aria-hidden]{display:none}}
@media(max-width:640px){.app-dashboard .app-main{width:min(100% - 1.25rem,1380px);padding-top:1.25rem!important}.app-dashboard .app-head{align-items:stretch}.app-dashboard .app-head>.link-box{max-width:none}.app-dashboard .app-sidebar{margin-inline:-.15rem}.app-dashboard .overview-head{align-items:stretch}.app-dashboard .activation-card{border-radius:10px}}

/* Landing conversion — la promesse et le produit passent avant l'inventaire fonctionnel. */
.sales-landing { background:#f7f3ed; background-image:none; }
.sales-nav { position:sticky; top:0; z-index:30; border-bottom:1px solid var(--line); background:rgba(247,243,237,.92); backdrop-filter:blur(14px); }
.sales-nav .wrap { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:72px; }
.sales-nav nav,.sales-nav-links { display:flex; align-items:center; gap:1.25rem; }
.sales-nav a { text-decoration:none; }
.sales-nav-links a { color:var(--muted); font-size:.76rem; font-weight:800; }
.sales-nav-links a:hover { color:var(--accent); }
.sales-hero { position:relative; overflow:hidden; padding:clamp(4.5rem,8vw,7.5rem) 0 5rem; }
.sales-orb { position:absolute; top:1rem; right:-10rem; width:34rem; height:34rem; border-radius:50%; background:rgba(122,31,61,.07); filter:blur(10px); }
.sales-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.sales-hero h1 { max-width:48rem; font-size:clamp(3.25rem,6.4vw,6.7rem); line-height:.91; }
.sales-hero h1 em { color:var(--accent); font-weight:400; }
.sales-lead { max-width:42rem; margin:1.6rem 0 0; color:var(--muted); font-size:clamp(1rem,1.7vw,1.16rem); line-height:1.7; }
.sales-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.8rem; }
.sales-actions .btn { min-height:50px; padding-inline:1.25rem; }
.sales-reassurance { display:flex; flex-wrap:wrap; gap:.7rem 1.25rem; margin-top:1.25rem; color:var(--faint); font-size:.72rem; font-weight:800; }
.sales-reassurance span::before { margin-right:.35rem; color:var(--ok); content:"✓"; }
.sales-brief { border:1px solid var(--line-strong); border-radius:12px; background:var(--bg-elevated); box-shadow:0 26px 65px -39px rgba(42,28,24,.65); transform:rotate(1.2deg); }
.sales-brief-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; border-bottom:1px solid var(--line); font-size:.78rem; }
.sales-brief-body { padding:1.35rem; }
.sales-brief-body>.label { margin:0; color:var(--faint); font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.sales-brief h2 { margin:.3rem 0 1rem; font-size:2rem; }
.sales-brief dl { margin:0; }
.sales-brief dl>div { display:flex; justify-content:space-between; gap:1rem; padding:.68rem 0; border-top:1px solid var(--line); font-size:.78rem; }
.sales-brief dt { color:var(--muted); }.sales-brief dd { margin:0; font-weight:800; text-align:right; }
.sales-estimate { margin-top:1rem; padding:1rem; border-radius:8px; background:var(--accent-soft); }
.sales-estimate span { display:block; color:var(--accent); font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.sales-estimate strong { display:block; margin-top:.15rem; font-family:var(--display); font-size:2rem; font-weight:400; letter-spacing:-.045em; }
.sales-estimate small { display:block; margin-top:.2rem; color:var(--muted); }
.sales-proof { border-block:1px solid #453b38; background:#211c1b; color:#fffaf7; }
.sales-proof-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.sales-proof-grid>div { padding:1.8rem 2rem; border-right:1px solid #493e3b; }
.sales-proof-grid>div:last-child { border-right:0; }
.sales-proof strong { display:block; font-family:var(--display); font-size:2.1rem; font-weight:400; }
.sales-proof span { color:#bdb1ac; font-size:.74rem; }
.sales-process,.sales-pricing { padding:clamp(4.5rem,8vw,7rem) 0; }
.sales-section-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.5rem; }
.sales-section-head h2 { max-width:48rem; }
.sales-section-head>p { max-width:25rem; margin:0; color:var(--muted); }
.sales-steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-strong); }
.sales-steps article { padding:1.8rem 1.5rem 0 0; }
.sales-steps article+article { padding-left:1.5rem; border-left:1px solid var(--line); }
.sales-steps article>span { color:var(--accent); font-family:var(--display); font-size:1.8rem; }
.sales-steps h3 { margin:1rem 0 .55rem; font-size:1rem; }
.sales-steps p { color:var(--muted); font-size:.83rem; line-height:1.65; }
.sales-loss { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr); gap:3rem; align-items:center; padding:clamp(2rem,5vw,4rem); border-radius:12px; background:#211c1b; color:#fffaf7; }
.sales-loss h2 { color:#fffaf7; }
.sales-loss>div>p:not(.eyebrow) { max-width:46rem; margin:1rem 0 0; color:#c8bbb6; }
.sales-loss-number { padding-left:2rem; border-left:1px solid #514441; }
.sales-loss-number span,.sales-loss-number small { display:block; color:#b7aaa5; font-size:.72rem; }
.sales-loss-number strong { display:block; margin:.3rem 0; color:#fffaf7; font-family:var(--display); font-size:clamp(3rem,6vw,5rem); font-weight:400; letter-spacing:-.06em; line-height:1; }
.sales-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:900px; margin-inline:auto; }
.sales-plan { display:flex; flex-direction:column; padding:1.6rem; border:1px solid var(--line); border-radius:10px; background:var(--bg-elevated); }
.sales-plan-featured { border-color:#c795a6; background:linear-gradient(145deg,var(--bg-elevated),var(--accent-soft)); }
.sales-plan h3 { margin:.25rem 0 .8rem; font-family:var(--display); font-size:2.5rem; font-weight:400; }
.sales-plan h3 small { color:var(--muted); font-family:var(--font); font-size:.78rem; }
.sales-plan>p:not(.eyebrow) { flex:1; color:var(--muted); }
.sales-final { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; margin-bottom:5rem; padding:clamp(2rem,5vw,3.6rem); border-radius:12px; background:var(--accent-soft); }
.sales-final h2 { max-width:52rem; }.sales-final p:not(.eyebrow) { color:var(--muted); }.sales-final>div:last-child { text-align:center; }
.sales-final small { display:block; margin-top:.65rem; color:var(--muted); }
.sales-footer { border-top:1px solid var(--line); }.sales-footer .wrap { display:flex; justify-content:space-between; gap:1rem; padding:2rem 0; color:var(--faint); font-size:.72rem; }.sales-footer a { color:inherit; }
@media(max-width:800px){.sales-hero-grid{grid-template-columns:1fr}.sales-brief{max-width:540px;transform:none}.sales-proof-grid,.sales-steps{grid-template-columns:1fr}.sales-proof-grid>div{border-right:0;border-bottom:1px solid #493e3b}.sales-proof-grid>div:last-child{border-bottom:0}.sales-section-head{align-items:start;flex-direction:column}.sales-steps article+article{padding-left:0;border-top:1px solid var(--line);border-left:0}.sales-loss{grid-template-columns:1fr}.sales-loss-number{padding:1.5rem 0 0;border-top:1px solid #514441;border-left:0}.sales-final{grid-template-columns:1fr}.sales-final>div:last-child{text-align:left}}
@media(max-width:580px){.sales-nav-links{display:none}.sales-hero{padding-top:3.6rem}.sales-hero h1{font-size:clamp(3rem,15vw,4.6rem)}.sales-actions{display:grid}.sales-actions .btn{width:100%}.sales-proof-grid>div{padding:1.35rem .4rem}.sales-plans{grid-template-columns:1fr}.sales-final{margin-bottom:3rem}.sales-footer .wrap{flex-direction:column}}

/* Demandes : même lecture décisionnelle que la démo artiste. */
.crm-stage-strip { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:1rem; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--bg-elevated); }
.crm-stage-strip>button { display:flex; align-items:center; justify-content:space-between; gap:.75rem; min-width:0; padding:.8rem .95rem; border:0; border-right:1px solid var(--line); border-radius:0; background:transparent; color:var(--muted); font:inherit; font-size:.72rem; font-weight:800; text-align:left; cursor:pointer; }.crm-stage-strip>button:hover { background:var(--bg); color:var(--text); }
.crm-stage-strip>button:last-child { border-right:0; }.crm-stage-strip>button.is-current { background:var(--accent-soft); color:var(--accent); }.crm-stage-strip span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.crm-stage-strip b { display:grid; flex:0 0 auto; min-width:22px; height:22px; place-items:center; border-radius:50%; background:var(--bg); font-size:.7rem; }
.crm-request-layout { display:grid; grid-template-columns:minmax(220px,.38fr) minmax(0,1fr); gap:1rem; align-items:start; }
.crm-request-list,.crm-request-detail { min-width:0; border:1px solid var(--line); border-radius:10px; background:var(--bg-elevated); }
.crm-request-list { overflow:hidden; }.crm-request-list-head { padding:1rem; border-bottom:1px solid var(--line); }.crm-request-list-head .eyebrow { margin-bottom:.25rem; }.crm-request-list-head h4 { font-size:.95rem; }.crm-request-list .crm-cards { max-height:680px; overflow-y:auto; }
.crm-request-list .crm-card { border:0; border-bottom:1px solid var(--line); padding:.85rem 1rem; background:transparent; }.crm-request-list .crm-card:last-child { border-bottom:0; }.crm-request-list .crm-card:hover { background:#faf6f0; transform:none; }.crm-request-list .crm-card.is-selected { border-color:var(--line); border-left:3px solid var(--accent); background:var(--accent-soft); transform:none; }.crm-card-top { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }.crm-card-top .badge { flex:0 0 auto; font-size:.62rem; }.crm-card-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crm-request-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.2rem; border-bottom:1px solid var(--line); }.crm-request-heading .eyebrow { margin-bottom:.3rem; }.crm-request-heading h4 { font-family:var(--display); font-size:1.75rem; font-weight:400; }.crm-request-heading p:not(.eyebrow) { margin:.25rem 0 0; color:var(--muted); font-size:.75rem; overflow-wrap:anywhere; }
.crm-project-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(245px,.65fr); gap:1rem; padding:1.15rem; }.crm-project-brief { min-width:0; }.crm-project-brief h3 { font-family:var(--display); font-size:1.9rem; font-weight:400; }.crm-project-brief>p { margin:.65rem 0 0; color:var(--muted); font-size:.84rem; line-height:1.65; overflow-wrap:anywhere; }
.crm-project-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1.15rem; border-top:1px solid var(--line); }.crm-project-facts>div { min-width:0; padding:.8rem .8rem .8rem 0; }.crm-project-facts>div:nth-child(even) { padding-left:.8rem; border-left:1px solid var(--line); }.crm-project-facts span { display:block; color:var(--faint); font-size:.63rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.crm-project-facts b { display:block; margin-top:.25rem; font-size:.79rem; line-height:1.4; overflow-wrap:anywhere; }
.crm-decision { min-width:0; padding:1rem; border-radius:9px; background:#f8f1f3; }.crm-live-estimate { padding:1rem; border-radius:8px; background:var(--accent-soft); }.crm-live-estimate span { color:var(--accent); font-size:.63rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.crm-live-estimate strong { display:block; margin:.2rem 0; font-family:var(--display); font-size:2.1rem; font-weight:400; letter-spacing:-.05em; line-height:1; }.crm-live-estimate small { color:var(--muted); }.crm-budget-line { display:flex; justify-content:space-between; gap:.75rem; margin:.7rem 0 0; padding:.75rem 0; border-bottom:1px solid #dfcfd5; font-size:.75rem; }.crm-budget-line span { color:var(--muted); }.crm-budget-line b { text-align:right; }.crm-budget-line .is-ok { color:var(--ok); }.crm-budget-line .is-warning { color:var(--warn); }.crm-decision .crm-detail-actions { display:grid; grid-template-columns:1fr; }.crm-decision .crm-detail-actions .btn { width:100%; }
.crm-request-timeline { display:grid; gap:.65rem; margin-top:1rem; }.crm-request-timeline>div { display:flex; gap:.65rem; align-items:flex-start; color:var(--faint); }.crm-request-timeline>div>span { display:grid; flex:0 0 auto; width:22px; height:22px; place-items:center; border:1px solid var(--line-strong); border-radius:50%; font-size:.64rem; font-weight:800; }.crm-request-timeline>div.done { color:var(--text); }.crm-request-timeline>div.done>span { border-color:var(--ok); background:var(--ok-soft); color:var(--ok); }.crm-request-timeline p,.crm-request-timeline b,.crm-request-timeline small { display:block; margin:0; }.crm-request-timeline b { font-size:.75rem; }.crm-request-timeline small { margin-top:.1rem; color:var(--muted); font-size:.67rem; }
.crm-mobile-tools { display:flex; align-items:end; justify-content:space-between; gap:.75rem; margin-bottom:1rem; }.crm-mobile-tools label { display:grid; min-width:min(100%,240px); gap:.3rem; margin:0; color:var(--faint); font-size:.65rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.crm-mobile-tools select { min-height:42px; text-transform:none; letter-spacing:0; }.crm-mobile-tools .btn { min-height:42px; }.crm-request-heading-actions { display:flex; align-items:center; gap:.55rem; }.crm-archive-action { min-height:38px; margin:0; color:var(--muted); }.crm-archive-action:hover { color:var(--accent); }
@media(max-width:980px){.crm-request-layout{grid-template-columns:1fr}.crm-request-list .crm-cards{display:flex;max-height:none;overflow-x:auto;overflow-y:hidden}.crm-request-list .crm-card{min-width:240px;border-right:1px solid var(--line);border-bottom:0}.crm-request-list .crm-card.is-selected{border-left:0;border-bottom:3px solid var(--accent)}.crm-project-grid{grid-template-columns:1fr}}
@media(max-width:640px){.crm-mobile-tools{position:sticky;top:62px;z-index:8;align-items:stretch;margin:0 -.1rem 1rem;padding:.7rem;border:1px solid var(--line);border-radius:9px;background:rgba(255,253,249,.97);box-shadow:0 12px 24px -22px rgba(42,28,24,.6);backdrop-filter:blur(10px)}.crm-mobile-tools label{min-width:0;flex:1}.crm-mobile-tools .btn{align-self:end;min-width:108px;padding-inline:.7rem}.crm-stage-strip{grid-template-columns:repeat(2,1fr)}.crm-stage-strip>button:nth-child(2){border-right:0}.crm-stage-strip>button:nth-child(n+3){border-top:1px solid var(--line)}.crm-request-heading{align-items:flex-start;flex-direction:column}.crm-request-heading-actions{width:100%;justify-content:space-between}.crm-project-grid{padding:1rem}.crm-project-facts{grid-template-columns:1fr}.crm-project-facts>div:nth-child(even){padding-left:0;border-left:0}.crm-decision{padding:.85rem}.crm-live-estimate strong{font-size:1.9rem}.crm-archive-action{min-height:48px!important;border:1px solid var(--line-strong)!important;background:var(--bg-elevated)!important;color:var(--accent)!important}.crm-request-list .crm-card{min-width:82vw}}
