/* Blitztouch — styles des composants. Toutes les valeurs viennent de tokens.json. */
.as, .as * { box-sizing: border-box; }
.as { font-family: var(--font-sans); font-size: 14px; line-height: 21px; color: var(--ink); background: var(--surface-50); -webkit-font-smoothing: antialiased; }
.as p { margin: 0; }
.as h1, .as h2, .as h3 { margin: 0; }
.as-mono { font-family: var(--font-mono); font-weight: 500; font-size: 12px; line-height: 16px; }
.as-muted { color: var(--ink-muted); }
.as-small { font-size: 13px; line-height: 19px; }
.as-label { font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--ink-muted); }
.as-icon { width: 16px; height: 16px; flex: none; display: inline-block; vertical-align: middle; }
.as-icon--sm { width: 14px; height: 14px; }
.as-row { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.as-stack { display: flex; flex-direction: column; gap: var(--space-4); }
:where(.as) :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* Pastille d'état */
.as-pill { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px 0 8px; border-radius: var(--radius-pill); font-size: 12px; line-height: 16px; font-weight: 600; white-space: nowrap; }
.as-pill .as-icon { width: 12px; height: 12px; }
.as-pill--validate { background: var(--status-validate-bg); color: var(--status-validate-ink); }
.as-pill--validate .as-pill__mark { color: var(--status-validate-mark); }
.as-pill--planned { background: var(--status-planned-bg); color: var(--status-planned-ink); }
.as-pill--planned .as-pill__mark { color: var(--status-planned-mark); }
.as-pill--sent { background: var(--status-sent-bg); color: var(--status-sent-ink); }
.as-pill--sent .as-pill__mark { color: var(--status-sent-mark); }
.as-pill--accepted { background: var(--status-accepted-bg); color: var(--status-accepted-ink); }
.as-pill--accepted .as-pill__mark { color: var(--status-accepted-mark); }
.as-pill--failed { background: var(--status-failed-bg); color: var(--status-failed-ink); }
.as-pill--failed .as-pill__mark { color: var(--status-failed-mark); }
.as-pill--paused { background: var(--status-paused-bg); color: var(--status-paused-ink); }
.as-pill--paused .as-pill__mark { color: var(--status-paused-mark); }
.as-pill--new { background: var(--surface-0); color: var(--ink-muted); box-shadow: inset 0 0 0 1px var(--line-strong); }
.as-pill__mark { display: inline-flex; }
.as-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }

/* Boutons */
.as-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: var(--radius-sm); border: 1px solid transparent; font: inherit; font-weight: 600; font-size: 14px; cursor: pointer; white-space: nowrap; text-decoration: none; }
.as-btn--primary { background: var(--brand); color: var(--on-brand); }
.as-btn--primary:hover { background: var(--brand-hover); }
.as-btn--secondary { background: var(--surface-0); color: var(--ink); border-color: var(--line-strong); }
.as-btn--secondary:hover { background: var(--surface-100); }
.as-btn--ghost { background: transparent; color: var(--ink); }
.as-btn--ghost:hover { background: var(--surface-100); }
.as-btn--danger { background: transparent; color: var(--status-failed-ink); }
.as-btn--danger:hover { background: var(--status-failed-bg); }
.as-btn--sm { height: 30px; padding: 0 10px; font-size: 13px; }
.as-btn[disabled] { opacity: .45; cursor: not-allowed; }
.as-link { color: var(--brand); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Champs */
.as-field { display: flex; flex-direction: column; gap: 6px; }
.as-field > label, .as-field__label { font-weight: 600; font-size: 13px; line-height: 19px; }
.as-input, .as-textarea, .as-select { width: 100%; font: inherit; color: var(--ink); background: var(--surface-0); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 8px 12px; }
.as-input { height: 38px; }
.as-textarea { resize: vertical; line-height: 22px; }
.as-select { display: inline-flex; align-items: center; justify-content: space-between; gap: var(--space-3); height: 38px; cursor: pointer; }
.as-check { width: 18px; height: 18px; border-radius: 4px; border: 1.5px solid var(--line-strong); background: var(--surface-0); display: inline-grid; place-items: center; flex: none; color: var(--on-brand); }
.as-check--on { background: var(--brand); border-color: var(--brand); }
.as-check--off { opacity: .4; }
.as-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.as-chip { display: inline-flex; align-items: center; gap: 4px; height: 26px; padding: 0 8px; border-radius: var(--radius-sm); background: var(--surface-100); font-size: 13px; }

/* Cartes et panneaux */
.as-card { background: var(--surface-0); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.as-card__body { padding: var(--space-6); }
.as-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }
.as-card__foot { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; padding: var(--space-4) var(--space-6); border-top: 1px solid var(--line); }
.as-divider { height: 1px; background: var(--line); border: 0; margin: 0; }

/* Jauge */
.as-gauge { display: flex; flex-direction: column; gap: 4px; }
.as-gauge__top { display: flex; gap: 0; justify-content: space-between; align-items: baseline; font-size: 13px; line-height: 18px; }
.as-gauge__rail { height: 6px; border-radius: var(--radius-pill); background: var(--gauge-track); overflow: hidden; }
.as-gauge__fill { height: 100%; border-radius: var(--radius-pill); background: var(--gauge-fill); }
.as-gauge--high .as-gauge__fill { background: var(--gauge-fill-high); }

/* Bloc Envoi */
.as-send { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4); background: var(--surface-0); border: 1px solid var(--line); border-radius: var(--radius-md); }
.as-send__row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.as-send__k { font-size: 13px; color: var(--ink-muted); }
.as-send__alert { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); border-radius: var(--radius-sm); background: var(--status-paused-bg); color: var(--status-paused-ink); font-size: 13px; line-height: 19px; }
.as-send__alert--stop { background: var(--status-failed-bg); color: var(--status-failed-ink); }
.as-send__ramp { font-size: 13px; line-height: 19px; padding: 6px 10px; border-radius: var(--radius-sm); background: var(--surface-100); }

/* Barre latérale et coquille d'app */
.as-app { display: grid; grid-template-columns: 272px 1fr; min-height: 100%; }
.as-side { background: var(--surface-100); border-right: 1px solid var(--line); padding: var(--space-6) var(--space-4); display: flex; flex-direction: column; gap: var(--space-6); }
.as-logo { display: flex; align-items: center; gap: 10px; padding: 0 var(--space-2); font-weight: 700; font-size: 18px; letter-spacing: -.01em; }
.as-word { font-weight: 700; letter-spacing: -.025em; }
.as-word b { font-weight: 400; color: var(--ink-muted); }
.as-logo__mark { width: 22px; height: 22px; border-radius: var(--radius-sm); background: var(--brand); display: grid; place-items: center; color: var(--on-brand); }
.as-nav { display: flex; flex-direction: column; gap: 2px; }
.as-nav__item { display: flex; align-items: center; gap: var(--space-3); height: 40px; padding: 0 var(--space-3); border-radius: var(--radius-sm); color: var(--ink); text-decoration: none; font-weight: 500; }
.as-nav__item:hover { background: var(--surface-150); }
.as-nav__num { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-mono); font-size: 12px; border: 1px solid var(--line-strong); color: var(--ink-muted); background: var(--surface-0); }
.as-nav__item--done .as-nav__num { background: var(--surface-0); color: var(--brand); border-color: var(--brand); }
.as-nav__item--active { background: var(--brand-soft); color: var(--brand); font-weight: 600; }
.as-nav__item--active .as-nav__num { background: var(--brand); color: var(--on-brand); border-color: var(--brand); }
.as-side__foot { margin-top: auto; display: flex; flex-direction: column; gap: var(--space-2); }
.as-side__title { padding: 0 var(--space-2); }
.as-main { padding: var(--space-8) 40px 48px; display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; }
.as-pagehead { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-6); }
.as-pagehead h1 { font-size: 26px; line-height: 32px; font-weight: 600; letter-spacing: -.01em; }
.as-pagehead p { margin-top: 4px; color: var(--ink-muted); }
.as-user { display: flex; align-items: center; gap: 10px; padding: var(--space-2); font-size: 13px; }
.as-avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--surface-0); border: 1px solid var(--line); display: grid; place-items: center; font-weight: 600; font-size: 12px; color: var(--ink); flex: none; }
.as-avatar--lg { width: 40px; height: 40px; font-size: 14px; background: var(--surface-100); }

/* Carte de piste */
.as-piste { display: flex; flex-direction: column; }
.as-piste h3 { font-size: 18px; line-height: 26px; font-weight: 600; }
.as-piste__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-4); margin-top: var(--space-4); }
.as-piste__k { margin-bottom: 4px; }
.as-piste__meta { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ink-muted); }
.as-piste--rejected { background: var(--surface-50); box-shadow: none; }
.as-piste--rejected .as-card__body { opacity: .6; }

/* Ligne de prospect */
.as-prospect { display: grid; grid-template-columns: 24px 40px minmax(0, 1fr) 84px auto; align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--line); background: var(--surface-0); }
.as-prospect:last-child { border-bottom: 0; }
.as-prospect__name { font-weight: 600; font-size: 15px; line-height: 22px; }
.as-score { font-family: var(--font-mono); font-size: 20px; line-height: 24px; font-weight: 500; text-align: right; }
.as-score small { font-size: 12px; color: var(--ink-muted); }
.as-why { font-size: 13px; line-height: 19px; color: var(--ink-muted); }
.as-why b { color: var(--ink); font-weight: 600; }
.as-sel { display: grid; grid-template-columns: 40px minmax(0, 220px) 132px minmax(0, 1fr) 84px; align-items: center; gap: var(--space-4); padding: 14px var(--space-6); border-bottom: 1px solid var(--line); background: var(--surface-0); }
.as-sel:last-child { border-bottom: 0; }
.as-sel__invite { display: flex; align-items: center; gap: 8px; font-size: 13px; justify-content: flex-end; }
.as-table-head { display: grid; gap: var(--space-4); padding: 10px var(--space-6); background: var(--surface-100); border-bottom: 1px solid var(--line); }

/* Carte de message */
.as-msg__who { display: flex; align-items: center; gap: var(--space-3); }
.as-dossier { border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-50); }
.as-dossier__head { display: flex; align-items: center; gap: var(--space-2); padding: 10px var(--space-4); font-weight: 600; font-size: 13px; }
.as-dossier__body { padding: 0 var(--space-4) var(--space-4); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
.as-facts { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 19px; }
.as-facts li { display: flex; gap: 8px; align-items: baseline; justify-content: space-between; }
.as-src { flex: none; font-size: 12px; line-height: 16px; padding: 1px 6px; border-radius: 4px; background: var(--surface-0); border: 1px solid var(--line); color: var(--ink-muted); white-space: nowrap; }
.as-editor { border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface-0); }
.as-editor__text { padding: 12px 14px; min-height: 120px; line-height: 22px; white-space: pre-wrap; }
.as-editor__bar { display: flex; justify-content: space-between; align-items: center; padding: 6px 14px; border-top: 1px solid var(--line); color: var(--ink-muted); }
.as-rgpd { font-size: 12px; line-height: 17px; color: var(--ink-muted); }
.as-quote { padding: 12px 14px; border-radius: var(--radius-sm); background: var(--surface-50); border: 1px solid var(--line); line-height: 22px; white-space: pre-wrap; }
.as-notice { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--radius-sm); font-size: 13px; line-height: 19px; }
.as-notice--planned { background: var(--status-planned-bg); color: var(--status-planned-ink); }
.as-notice--validate { background: var(--status-validate-bg); color: var(--status-validate-ink); }
.as-notice--accepted { background: var(--status-accepted-bg); color: var(--status-accepted-ink); }
.as-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); }
.as-tab { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; font-weight: 500; color: var(--ink-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.as-tab--on { color: var(--brand); border-color: var(--brand); font-weight: 600; }
.as-count { font-family: var(--font-mono); font-size: 12px; padding: 0 6px; border-radius: var(--radius-pill); background: var(--surface-100); color: var(--ink-muted); }
.as-tab--on .as-count { background: var(--brand-soft); color: var(--brand); }

/* Stepper (écran projet) */
.as-steps { display: flex; align-items: center; gap: var(--space-3); font-size: 13px; color: var(--ink-muted); }
.as-steps__i { display: inline-flex; align-items: center; gap: 6px; }
.as-steps__i--done { color: var(--brand); font-weight: 600; }
.as-steps__i--on { color: var(--ink); font-weight: 600; }
.as-steps__sep { width: 24px; height: 1px; background: var(--line-strong); }


/* Parcours Blitztouch : création en 4 étapes, Aujourd'hui, Campagnes, Suivi */
.flip{transform:scaleX(-1)}
.t{font-weight:600}
.sub{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px 12px;padding-left:12px;border-left:1px solid var(--line-strong)}
.subi{font-size:13px;padding:6px 8px;border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:6px}
.subi:hover{background:var(--surface-150)}
.subi.new{color:var(--brand);font-weight:600}
.sec{font-size:18px;line-height:26px;font-weight:600;text-wrap:balance}
.stepper{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap;counter-reset:s}
.stepper li{flex:1 1 120px;min-width:0}
.stepper button{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-top:3px solid var(--line);background:none;font:inherit;font-size:13px;color:var(--ink-muted);cursor:pointer;text-align:left}
.stepper button[disabled]{cursor:default}
.stepper .num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;font-family:var(--font-mono);font-size:12px;border:1px solid var(--line-strong);background:var(--surface-0)}
.stepper .done button{border-top-color:var(--brand);color:var(--ink)}
.stepper .done .num{color:var(--brand);border-color:var(--brand)}
.stepper .on button{border-top-color:var(--brand);color:var(--brand);font-weight:600}
.stepper .on .num{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.stepper .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wizhead{display:flex;flex-direction:column;gap:4px}
.wizhead h1{font-size:26px;line-height:32px;font-weight:600;letter-spacing:-.01em;margin:4px 0 0}
.wizhead p{max-width:70ch}
.wizfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;border-top:1px solid var(--line)}
.bigbtn{height:44px;padding:0 20px;font-size:15px}
.two{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;border:1.5px dashed var(--line-strong);border-radius:var(--radius-sm);text-align:center;font-size:13px;color:var(--ink-muted);cursor:pointer}
.addchip{background:none;border:1px dashed var(--line-strong);color:var(--brand);font-weight:600}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.segb{font:inherit;font-size:13px;font-weight:600;padding:7px 12px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface-0);color:var(--ink);cursor:pointer}
.segb.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}
.fl{display:flex;flex-direction:column;gap:6px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.fl:last-child{border-bottom:0;padding-bottom:0}
.fl__head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.fl__row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.fl__row p{max-width:65ch}
.tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.tl li{display:flex;gap:10px;align-items:flex-start}
.tl__dot{width:22px;height:22px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:none}
.loading{max-width:560px}
.loading .as-card__body{align-items:flex-start}
.spin{width:28px;height:28px;border-radius:50%;border:3px solid var(--brand-soft);border-top-color:var(--brand);animation:sp 0.9s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ticks li{display:flex;align-items:center;gap:10px;color:var(--ink-muted)}
.ticks li.ok{color:var(--ink)}
.ticks li.ok svg{color:var(--status-accepted-mark)}
.ticks li.run{color:var(--ink);font-weight:600}
.dotrun,.dotwait{width:16px;height:16px;display:inline-grid;place-items:center}
.dotrun::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand)}
.dotwait::after{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid var(--line-strong)}
.cap .as-card__body{padding:16px 20px}
.cap__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center}
.capbar{display:flex;gap:4px;height:34px}
.capbar span{display:flex;align-items:center;padding:0 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.capbar .seg0{background:var(--brand);color:var(--on-brand)}
.capbar .seg1{background:var(--brand-soft);color:var(--brand)}
.capbar .free{border:1.5px dashed var(--line-strong);color:var(--ink-muted);font-weight:500}
.row-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pistes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.pm .as-card__body{padding:18px 20px}
.pm--on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.fit{display:inline-flex;align-items:baseline;gap:1px;padding:2px 8px;border-radius:var(--radius-sm);background:var(--surface-100);font-size:15px;flex:none}
.fit small{font-size:11px;color:var(--ink-muted)}
.kv{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px 10px;margin:0;font-size:13px;line-height:19px}
.kv dt{color:var(--ink-muted);font-weight:600}
.kv dd{margin:0}
.lrow{display:grid;grid-template-columns:minmax(0,1fr) 64px auto;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line)}
.more{display:block;width:100%;padding:12px 20px;background:var(--surface-50);border:0;text-align:left;font:inherit;font-size:13px;color:var(--ink-muted)}
.more-btn{cursor:pointer;color:var(--brand);font-weight:600}
.prow{display:grid;grid-template-columns:40px minmax(0,1fr) 84px auto;gap:16px;align-items:center;padding:14px 24px;border-bottom:1px solid var(--line)}
.prow .as-why{margin-top:4px}
.as-tab{background:none;border-left:0;border-right:0;border-top:0;font:inherit;cursor:pointer}
.auto{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-0)}
.auto p{margin-top:2px!important;max-width:75ch}
.switch{width:40px;height:22px;border-radius:var(--radius-pill);background:var(--line-strong);position:relative;flex:none;cursor:pointer;margin-top:2px}
.switch span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface-0);transition:left .15s;pointer-events:none}
.switch.on{background:var(--brand)}
.switch.on span{left:21px}
.recl{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}
.recl:last-child{border-bottom:0;padding-bottom:0}
.journal{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:baseline;padding:14px 20px;background:var(--surface-0);border:1px solid var(--line);border-radius:var(--radius-md)}
.journal .big{font-size:18px;margin-right:4px}
.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.progress{height:4px;border-radius:var(--radius-pill);background:var(--gauge-track);overflow:hidden}
.progress span{display:block;height:100%;background:var(--brand);transition:width .3s}
.why{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:19px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-50);border:1px solid var(--line)}
.big-actions{gap:12px}
.kbd{margin-left:auto}
.todo{display:flex;gap:12px;padding:16px}
.ic{width:32px;height:32px;border-radius:var(--radius-sm);display:grid;place-items:center;flex:none}
.ic--accepted{background:var(--status-accepted-bg);color:var(--status-accepted-ink)}
.ic--validate{background:var(--status-validate-bg);color:var(--status-validate-ink)}
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 24px}
.empty>svg{width:32px;height:32px;color:var(--status-accepted-mark)}
.camps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.minis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.newcamp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-style:dashed;background:var(--surface-50);box-shadow:none;font:inherit;font-weight:600;color:var(--brand);cursor:pointer;min-height:160px}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;gap:8px;align-items:center;padding:10px 16px;border-radius:var(--radius-sm);background:var(--ink);color:var(--surface-0);font-family:var(--font-sans);font-size:14px;box-shadow:var(--shadow-pop);max-width:calc(100% - 32px)}
@media (prefers-reduced-motion:reduce){.spin{animation:none}
.switch span,.progress span{transition:none}}
@media (max-width:1150px){.pistes{grid-template-columns:1fr}
.split,.two{grid-template-columns:1fr}
.cap__row{grid-template-columns:1fr}}
@media (max-width:860px){.as-app{grid-template-columns:1fr}
.as-side{display:none}
.as-main{padding:24px 16px 40px}
.as-pagehead{flex-direction:column;align-items:flex-start}
.prow{grid-template-columns:40px minmax(0,1fr)}
.prow>:nth-child(3),.prow>:nth-child(4){grid-column:2}
.prow .as-score{text-align:left}
.lrow{grid-template-columns:minmax(0,1fr) auto}
.lrow>:last-child{grid-column:1/-1;justify-content:flex-start!important}
.stepper .lbl{display:none}
.stepper li{flex:1 1 0}
.kbd{margin-left:0}
.camps,.minis{grid-template-columns:1fr}
.recl{grid-template-columns:1fr}
.wizfoot{flex-wrap:wrap}}
.wiz{display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px;align-items:start}
.wizmain{display:flex;flex-direction:column;gap:24px;min-width:0}
.rail{position:sticky;top:24px;display:flex;flex-direction:column;gap:20px}
.rail__name{font-size:18px;line-height:24px;font-weight:600;margin:4px 0 10px}
.rail__bar{height:6px;border-radius:var(--radius-pill);background:var(--gauge-track);overflow:hidden;margin-bottom:6px}
.rail__bar span{display:block;height:100%;background:var(--brand);border-radius:var(--radius-pill);transition:width .4s ease}
.rail__list{list-style:none;margin:0;padding:0;position:relative}
.rail__list::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:var(--line)}
.ri button{position:relative;width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 8px 10px 0;border:0;background:none;font:inherit;text-align:left;color:var(--ink-muted);cursor:pointer;border-radius:var(--radius-sm)}
.ri button[disabled]{cursor:default}
.ri__dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface-50);border:2px solid var(--line-strong);position:relative;z-index:1}
.ri--done .ri__dot{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.ri--on .ri__dot{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
.ri--on .ri__dot::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand)}
.ri__txt{display:flex;flex-direction:column;gap:3px;min-width:0;padding-top:2px}
.ri__t{font-weight:600;color:var(--ink)}
.ri--todo .ri__t{color:var(--ink-muted);font-weight:500}
.ri__sum{font-size:12px;line-height:17px;color:var(--ink-muted)}
.ri__sum--on{color:var(--brand);font-weight:600}
.ri__edit{font-size:12px;font-weight:600;color:var(--brand);opacity:0;padding-top:4px}
.ri--done button:hover .ri__edit,.ri--done button:focus-visible .ri__edit{opacity:1}
.ri--done button:hover{background:var(--surface-100)}
.rail__preview{padding:14px 16px;border-radius:var(--radius-md);background:var(--surface-100)}
.rail__preview dl{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:10px 0 0;font-size:13px}
.rail__preview dd{margin:0;text-align:right}
.ask{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--status-validate-bg)}
.ask label{display:flex;gap:6px;align-items:center;font-size:13px;font-weight:600;color:var(--status-validate-ink)}
.ask--ok{background:var(--status-accepted-bg)}
.ask--ok label{color:var(--status-accepted-ink)}
.scrim{position:fixed;inset:0;background:rgba(29,31,28,.35)}
.sheet{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 32px));max-height:calc(100% - 48px);overflow:auto;padding:24px;border-radius:var(--radius-md);background:var(--surface-0);box-shadow:var(--shadow-pop);font-family:var(--font-sans);color:var(--ink)}
.recap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.recap>div{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:var(--radius-sm);background:var(--surface-50);border:1px solid var(--line)}
.recap .big{font-size:24px;line-height:28px}
.wizhead h1{margin:0}
@media (max-width:1100px){.wiz{grid-template-columns:1fr}
.rail{position:static}
.rail__list{display:flex;gap:4px}
.rail__list::before{display:none}
.ri{flex:1;min-width:0}
.ri__sum,.ri__edit,.rail__preview{display:none}
.ri button{grid-template-columns:24px minmax(0,1fr)}}
@media (max-width:600px){.ri__t{display:none}
.recap{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.rail__bar span{transition:none}}
.as-main{max-width:1320px}
.wiz .kv{grid-template-columns:1fr;gap:2px}
.wiz .kv dd{margin-bottom:8px}
.pm .as-card__foot{flex-wrap:nowrap;gap:4px;padding:12px 16px}
.docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.docs li{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-50)}
.docic{width:32px;height:32px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--surface-0);border:1px solid var(--line);color:var(--ink-muted)}
.docn{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drop b{color:var(--ink)}
.two{grid-template-columns:minmax(0,1fr) 380px}
@media (max-width:860px){.docs li{grid-template-columns:32px minmax(0,1fr) auto}
.docs li .as-pill{display:none}}
.stack1{display:flex;flex-direction:column;gap:24px}
.stack1 .docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.stack1 aside .as-card__body>.drop,.stack1 aside .as-row{max-width:none}
.pm .as-card__foot{flex-wrap:wrap}
.cap__row>div{min-width:0}
.capbar{min-width:0}
@media (max-width:860px){.capbar{flex-direction:column;height:auto}
.capbar span{padding:8px 10px}}
