@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,300..700,0..1,-50..200&display=swap');

:root {
  --navy-950: #020c1e;
  --navy-900: #06152c;
  --navy-850: #081b37;
  --navy-800: #0b2344;
  --ink: #0c1734;
  --ink-soft: #4e5d7d;
  --muted: #7885a0;
  --line: #e4e8f2;
  --surface: #ffffff;
  --canvas: #f6f8fc;
  --primary: #4b18f5;
  --primary-dark: #3510c6;
  --primary-soft: #eeeaff;
  --violet: #7c3cff;
  --green: #0e9f6e;
  --danger: #d13c54;
  --shadow-sm: 0 8px 24px rgba(15, 28, 65, .07);
  --shadow-md: 0 18px 48px rgba(16, 26, 66, .13);
  --radius: 16px;
  --font-display: 'Manrope', 'Segoe UI', Arial, sans-serif;
  --font-body: 'Segoe UI', Arial, sans-serif;
  --text-caption: 12px;
  --text-small: 13px;
  --text-body: 14px;
  --text-body-large: 15px;
  --text-title-small: 16px;
  --text-title-medium: 18px;
  --text-title-large: 22px;
  --leading-tight: 1.3;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--surface); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
img { max-width: 100%; }
[hidden] { display: none !important; }

.material-symbols-rounded {
  display: inline-block;
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  overflow: hidden;
  font-family: 'Material Symbols Rounded';
  font-size: 1.35em;
  font-style: normal;
  font-weight: 450;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-variation-settings: 'FILL' 0, 'wght' 450, 'GRAD' 0, 'opsz' 24;
  vertical-align: middle;
}
.material-symbols-rounded.icon-filled { font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24; }
.material-symbols-rounded.icon-soft { font-variation-settings: 'FILL' 0, 'wght' 350, 'GRAD' 0, 'opsz' 24; }
.button > .material-symbols-rounded { font-size: 20px; }
.button--small > .material-symbols-rounded { font-size: 18px; }
.play-icon .material-symbols-rounded { font-size: 18px; }
.sparkles .material-symbols-rounded,
.module-card > span .material-symbols-rounded,
.nav-icon .material-symbols-rounded,
.notification-button > .material-symbols-rounded,
.app-search > span .material-symbols-rounded,
.sidebar-empty > span .material-symbols-rounded { font-size: 1em; }
.nav-main-link i .material-symbols-rounded { font-size: 18px; }
.chevron .material-symbols-rounded { font-size: 20px; }
.topbar-profile i .material-symbols-rounded { font-size: 18px; }
.rail-add .material-symbols-rounded { font-size: 25px; font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.password-field button .material-symbols-rounded { font-size: 21px; }
.status-pill { display: inline-flex; align-items: center; gap: 4px; }
.status-pill .material-symbols-rounded { font-size: 15px; }
.workspace-tip .material-symbols-rounded { margin-right: 3px; font-size: 17px; color: #7960ce; }
.auth-switch a,
.wizard-top a,
.edit-head > a { display: inline-flex; align-items: center; gap: 6px; }
.auth-switch .material-symbols-rounded,
.wizard-top .material-symbols-rounded,
.edit-head .material-symbols-rounded { font-size: 18px; }

.brand { display: inline-flex; align-items: center; gap: 11px; color: #fff; font: 800 22px/1 var(--font-display); letter-spacing: -.6px; }
.brand > span:last-child { display: flex; flex-direction: column; }
.brand small { margin-top: 5px; font: 600 10px/1 var(--font-body); letter-spacing: 1.5px; }
.brand--dark { color: var(--ink); }
.brand-mark { display: grid; place-items: center; width: 55px; height: 55px; overflow: hidden; border: 1px solid rgba(112, 78, 221, .14); border-radius: 15px; background: #fff; box-shadow: 0 10px 28px rgba(77, 22, 244, .2); }
.brand-mark img { width: 51px; height: 47px; object-fit: contain; }
.brand-mark--small { width: 37px; height: 37px; border-radius: 11px; }
.brand-mark--small img { width: 34px; height: 32px; }

.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; border: 1px solid transparent; border-radius: 9px; cursor: pointer; font-weight: 700; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-1px); }
.button--primary { color: #fff; background: linear-gradient(135deg, #5d23ff 0%, #4210e7 100%); box-shadow: 0 5px 12px rgba(72, 20, 229, .24); }
.button--primary:hover { background: linear-gradient(135deg, #6630ff 0%, #4a16ed 100%); box-shadow: 0 7px 16px rgba(72, 20, 229, .3); }
.button--secondary { color: var(--primary); background: #fff; border-color: #d9ddeb; box-shadow: var(--shadow-sm); }
.button--ghost { color: var(--ink); background: #fff; border-color: #dce1ed; }
.button--light { color: var(--primary-dark); background: #fff; box-shadow: 0 12px 30px rgba(0, 0, 0, .14); }
.button--large { min-height: 56px; padding: 0 27px; border-radius: 11px; }
.button--small { min-height: 39px; padding: 0 16px; font-size: 14px; }
.button--full { width: 100%; min-height: 52px; }
.text-link { font-weight: 600; }
.play-icon { display: grid; place-items: center; width: 26px; height: 26px; padding-left: 2px; border-radius: 50%; color: var(--primary); background: var(--primary-soft); font-size: 10px; }
.eyebrow { display: inline-block; margin-bottom: 13px; color: var(--primary); font-size: 12px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; }
.eyebrow--light { color: #c9b8ff; }

/* Landing */
.landing-page { overflow-x: hidden; }
.site-header { position: relative; z-index: 20; display: grid; width: min(1320px, calc(100% - 64px)); height: 84px; margin: 0 auto; grid-template-columns: 1fr auto 1fr; align-items: center; }
.site-nav { display: flex; gap: 35px; color: #4d5872; font-size: 14px; font-weight: 600; }
.site-nav a:hover { color: var(--primary); }
.header-actions { display: flex; justify-content: flex-end; align-items: center; gap: 25px; font-size: 14px; }
.hero { position: relative; display: grid; min-height: 680px; padding: 80px max(32px, calc((100vw - 1220px) / 2)) 100px; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 70px; overflow: hidden; background: linear-gradient(180deg, #fff 0%, #faf9ff 100%); }
.hero::before { content: ''; position: absolute; inset: 0; opacity: .42; background-image: linear-gradient(#ebe8f8 1px, transparent 1px), linear-gradient(90deg, #ebe8f8 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to right, transparent, #000 42%, #000 90%, transparent); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(25px); pointer-events: none; }
.hero-glow--one { width: 440px; height: 440px; top: 80px; right: 6%; background: rgba(103, 50, 255, .12); }
.hero-glow--two { width: 320px; height: 320px; bottom: -100px; left: 14%; background: rgba(50, 93, 255, .08); }
.hero-copy, .hero-visual { position: relative; z-index: 2; }
.announcement { display: inline-flex; align-items: center; gap: 9px; padding: 8px 13px; border: 1px solid #e0dafa; border-radius: 99px; color: #51456f; background: rgba(255,255,255,.76); font-size: 12px; font-weight: 700; }
.announcement span { width: 7px; height: 7px; border-radius: 50%; background: #6b32ff; box-shadow: 0 0 0 5px #eee9ff; }
.hero h1 { max-width: 710px; margin: 27px 0 24px; font: 800 clamp(49px, 5.2vw, 75px)/1.02 var(--font-display); letter-spacing: -4.4px; }
.hero h1 span { color: var(--primary); }
.hero-copy > p { max-width: 620px; margin: 0; color: var(--ink-soft); font-size: 19px; line-height: 1.68; }
.hero-actions { display: flex; gap: 14px; margin-top: 34px; }
.hero-proof { display: flex; align-items: center; gap: 16px; margin-top: 36px; color: #68738c; font-size: 13px; }
.hero-proof p { margin: 0; line-height: 1.45; }
.hero-proof strong { color: var(--ink); }
.avatar-stack { display: flex; padding-left: 9px; }
.avatar-stack span { display: grid; width: 35px; height: 35px; margin-left: -9px; place-items: center; border: 3px solid #fff; border-radius: 50%; color: #fff; background: #17325f; font-size: 10px; font-weight: 700; }
.avatar-stack span:nth-child(2) { background: #87511b; }.avatar-stack span:nth-child(3) { background: #1b765c; }.avatar-stack span:nth-child(4) { color: var(--primary); background: #ece8ff; }
.hero-visual { min-height: 500px; display: grid; place-items: center; }
.orbital { position: absolute; border: 1px solid rgba(88, 40, 241, .13); border-radius: 50%; }
.orbital--one { width: 570px; height: 430px; transform: rotate(-12deg); }.orbital--two { width: 460px; height: 520px; transform: rotate(24deg); }
.ai-card { position: relative; z-index: 2; width: min(460px, 85%); padding: 28px; border: 1px solid rgba(220, 216, 240, .9); border-radius: 22px; background: rgba(255,255,255,.9); box-shadow: 0 36px 90px rgba(48, 24, 116, .18); backdrop-filter: blur(18px); text-align: center; }
.ai-card__top { display: flex; align-items: center; text-align: left; }
.ai-symbol { display: grid; width: 45px; height: 45px; margin-right: 12px; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(145deg, #4f18f5, #8751ff); font-size: 24px; }
.ai-card__top div:nth-child(2) { display: flex; flex-direction: column; gap: 4px; }.ai-card__top div:nth-child(2) > span { color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: 1.3px; }.ai-card__top strong { font-size: 15px; }
.live-pill { margin-left: auto; padding: 6px 9px; border-radius: 99px; color: #10845e !important; background: #e8f8f2; letter-spacing: 0 !important; }
.score-ring { display: grid; width: 126px; height: 126px; margin: 30px auto 20px; place-items: center; border-radius: 50%; background: conic-gradient(var(--primary) 0 84%, #e7e5f3 84%); box-shadow: inset 0 0 0 1px rgba(71, 20, 234, .1); }
.score-ring::before { content: ''; position: absolute; width: 105px; height: 105px; border-radius: 50%; background: #fff; }
.score-ring span { position: relative; z-index: 1; color: #8c94a7; font-size: 12px; }.score-ring strong { color: var(--ink); font: 800 35px/1 var(--font-display); }
.ai-card h2 { margin: 0 0 8px; font: 800 21px/1.25 var(--font-display); }.ai-card > p { margin: 0 auto; max-width: 340px; color: #67728a; font-size: 13px; line-height: 1.5; }
.metric-row { display: grid; margin-top: 26px; grid-template-columns: repeat(3, 1fr); gap: 10px; text-align: left; }
.metric-row > div { display: flex; flex-direction: column; gap: 5px; padding: 10px; border-radius: 9px; background: #f7f7fc; }.metric-row span { color: #818a9e; font-size: 10px; }.metric-row strong { font-size: 11px; }.metric-row i { height: 3px; overflow: hidden; border-radius: 4px; background: #e1def1; }.metric-row i::before { content: ''; display: block; width: var(--progress); height: 100%; border-radius: inherit; background: var(--primary); }
.floating-note { position: absolute; z-index: 4; display: flex; align-items: center; gap: 10px; padding: 13px 16px; border: 1px solid #e6e4ed; border-radius: 13px; background: rgba(255,255,255,.94); box-shadow: var(--shadow-md); }
.floating-note > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: #fff; background: var(--green); }.floating-note div { display: flex; flex-direction: column; gap: 3px; }.floating-note strong { font-size: 12px; }.floating-note small { color: #7b849a; font-size: 10px; }.floating-note--top { top: 42px; right: -7px; }.floating-note--bottom { left: -4px; bottom: 45px; }.floating-note--bottom > span { background: var(--primary); }
.trust-strip { padding: 26px 32px 31px; border-top: 1px solid #ececf2; border-bottom: 1px solid #ececf2; text-align: center; }
.trust-strip > span { color: #9aa2b3; font-size: 10px; font-weight: 800; letter-spacing: 1.8px; }.trust-strip > div { display: flex; margin-top: 18px; justify-content: center; gap: clamp(30px, 7vw, 105px); color: #657087; }.trust-strip b { font: 700 15px var(--font-display); }
.section { padding: 115px max(32px, calc((100vw - 1220px) / 2)); }
.section-heading { max-width: 720px; }.section-heading h2 { margin: 0 0 20px; font: 800 clamp(38px, 4vw, 54px)/1.08 var(--font-display); letter-spacing: -2.5px; }.section-heading p { color: var(--ink-soft); font-size: 18px; line-height: 1.65; }
.section-heading--center { max-width: 850px; margin: 0 auto; text-align: center; }
.method { background: #fff; }.method-grid { display: grid; margin-top: 66px; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.method-card { position: relative; min-height: 400px; padding: 33px; overflow: hidden; border: 1px solid var(--line); border-radius: 19px; background: #fff; transition: transform .2s, box-shadow .2s; }.method-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }.method-card--featured { color: #fff; border-color: transparent; background: linear-gradient(145deg, #0a1a37, #102b54); box-shadow: 0 26px 60px rgba(6,21,44,.2); }
.method-number { position: absolute; top: 25px; right: 29px; color: #d5d9e2; font: 700 45px/1 var(--font-display); }.method-card--featured .method-number { color: rgba(255,255,255,.14); }.method-icon { display: grid; width: 54px; height: 54px; margin-bottom: 55px; place-items: center; border-radius: 15px; color: var(--primary); background: var(--primary-soft); font-size: 23px; font-weight: 700; }.method-card--featured .method-icon { color: #fff; background: var(--primary); }
.method-card h3 { margin: 0 0 13px; font: 800 22px var(--font-display); }.method-card p { min-height: 67px; color: #69758d; line-height: 1.55; }.method-card--featured p { color: #b8c4d8; }.method-card ul { display: flex; margin: 23px 0 0; padding: 21px 0 0; border-top: 1px solid var(--line); flex-direction: column; gap: 10px; list-style: none; font-size: 13px; }.method-card--featured ul { border-color: rgba(255,255,255,.13); }.method-card li::before { content: 'check_circle'; margin-right: 9px; color: var(--primary); font-family: 'Material Symbols Rounded'; font-size: 17px; font-weight: 450; line-height: 1; vertical-align: -3px; font-feature-settings: 'liga'; font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 20; }.method-card--featured li::before { color: #9e7aff; }
.journey { display: grid; padding-top: 100px; padding-bottom: 100px; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 90px; color: #fff; background: radial-gradient(circle at 75% 30%, #173a6d 0, #07172f 38%, #040e20 100%); }.journey-copy h2 { margin: 0 0 22px; font: 800 48px/1.1 var(--font-display); letter-spacing: -2.3px; }.journey-copy p { margin-bottom: 31px; color: #aebbd1; font-size: 17px; line-height: 1.7; }
.journey-panel { display: flex; min-height: 440px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: #f8f9fd; box-shadow: 0 35px 75px rgba(0,0,0,.35); transform: perspective(1100px) rotateY(-3deg); }.mini-sidebar { display: flex; width: 72px; padding: 21px 0; align-items: center; flex-direction: column; gap: 24px; background: #06152c; }.mini-logo { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 9px; background: var(--primary); }.mini-sidebar i { width: 30px; height: 30px; border-radius: 8px; background: #10284b; }.mini-content { flex: 1; padding: 24px; color: var(--ink); }.mini-top { display: flex; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 800; }.mini-progress { margin-top: 22px; padding: 20px; border-radius: 13px; background: #fff; box-shadow: var(--shadow-sm); }.mini-progress div { display: flex; justify-content: space-between; font-size: 11px; }.mini-progress div b { color: var(--primary); }.mini-progress i { display: block; height: 6px; margin-top: 13px; border-radius: 9px; background: #eeeefa; }.mini-progress em { display: block; width: 67%; height: 100%; border-radius: inherit; background: var(--primary); }.mini-cards { display: grid; margin-top: 15px; grid-template-columns: repeat(3,1fr); gap: 10px; }.mini-cards article { display: flex; min-height: 115px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; flex-direction: column; gap: 7px; background: #fff; }.mini-cards article > span { color: var(--primary); font-size: 18px; }.mini-cards b { font-size: 10px; }.mini-cards small { color: #8891a4; font-size: 10px; }.mini-task { display: grid; margin-top: 15px; padding: 17px; border-radius: 11px; grid-template-columns: 1fr auto; background: #eeebff; }.mini-task > span { grid-column: 1; color: var(--primary); font-size: 10px; font-weight: 800; text-transform: uppercase; }.mini-task strong { grid-column: 1; font-size: 11px; }.mini-task button { grid-column: 2; grid-row: 1 / 3; border: 0; border-radius: 7px; color: #fff; background: var(--primary); font-size: 10px; }
.why { background: #fafbfe; }.stats-grid { display: grid; margin-top: 65px; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }.stats-grid article { padding: 45px; text-align: center; }.stats-grid article + article { border-left: 1px solid var(--line); }.stats-grid strong { display: block; margin-bottom: 15px; color: var(--primary); font: 800 40px var(--font-display); }.stats-grid span { color: var(--ink-soft); line-height: 1.55; }
.cta-section { display: flex; margin: 0 max(32px, calc((100vw - 1280px) / 2)) 90px; padding: 68px 75px; align-items: center; justify-content: space-between; gap: 50px; border-radius: 25px; color: #fff; background: linear-gradient(125deg, #4915df, #6427ff 55%, #8b51ff); box-shadow: 0 28px 65px rgba(73, 21, 223, .3); }.cta-section h2 { margin: 0 0 16px; font: 800 42px/1.12 var(--font-display); letter-spacing: -2px; }.cta-section p { max-width: 650px; margin: 0; color: #e0d8ff; font-size: 16px; line-height: 1.6; }.cta-section .button { flex-shrink: 0; }
.site-footer { display: flex; min-height: 130px; padding: 30px max(32px, calc((100vw - 1220px) / 2)); align-items: center; gap: 40px; background: #040e20; color: #a4afc1; }.site-footer .brand { color: #fff; }.site-footer p { flex: 1; }.site-footer > span { font-size: 13px; }

/* Landing — nouvelle promesse de décollage et de relance. */
.hero-proof__icon { display: grid; width: 39px; height: 39px; flex: 0 0 39px; place-items: center; border: 1px solid #dcd4fb; border-radius: 50%; color: #5b27eb; background: #f0ecff; }
.hero-proof__icon .material-symbols-rounded { font-size: 21px; }
.product-story { background: linear-gradient(180deg,#fff,#faf9ff); }
.product-story .section-heading p { margin-right: auto; margin-left: auto; }
.product-story-grid { display: grid; margin-top: 62px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.product-story-grid article { display: grid; min-height: 215px; padding: 30px; grid-template-columns: 58px minmax(0,1fr); align-items: start; gap: 20px; border: 1px solid #e0e3ec; border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 9px 28px rgba(37,28,81,.055); transition: border-color .18s,transform .18s,box-shadow .18s; }
.product-story-grid article:hover { border-color: #bcaafa; box-shadow: 0 17px 38px rgba(69,38,156,.1); transform: translateY(-3px); }
.product-story-grid article > span { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg,#7446f6,#4b17e9); box-shadow: 0 9px 20px rgba(77,24,232,.22); }
.product-story-grid article > span .material-symbols-rounded { font-size: 30px; }
.product-story-grid small { color: #5a28e8; font-size: 11px; font-weight: 800; letter-spacing: 1.25px; }
.product-story-grid h3 { margin: 8px 0 10px; color: #101b34; font: 800 20px var(--font-display); }
.product-story-grid p { margin: 0; color: #68748b; font-size: 14px; line-height: 1.65; }
.rescue { display: grid; grid-template-columns: minmax(0,.92fr) minmax(420px,.78fr); align-items: center; gap: 80px; background: radial-gradient(circle at 82% 25%,rgba(105,57,240,.1),transparent 30%),#f7f8fc; }
.rescue-copy h2 { margin: 0 0 22px; color: #0c1734; font: 800 clamp(36px,3.7vw,52px)/1.1 var(--font-display); letter-spacing: -2px; }
.rescue-copy > p { margin: 0; color: #5d6981; font-size: 17px; line-height: 1.7; }
.rescue-signals { display: grid; margin: 29px 0 33px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 18px; }
.rescue-signals span { display: flex; align-items: flex-start; gap: 8px; color: #34425d; font-size: 13px; font-weight: 650; line-height: 1.45; }
.rescue-signals .material-symbols-rounded { margin-top: 1px; color: #159469; font-size: 18px; }
.rescue-panel { overflow: hidden; border: 1px solid #dedbea; border-radius: 21px; background: #fff; box-shadow: 0 28px 65px rgba(30,25,72,.14); transform: rotate(1deg); }
.rescue-panel > header { display: grid; min-height: 92px; padding: 22px 24px; grid-template-columns: 45px minmax(0,1fr); align-items: center; gap: 13px; color: #fff; background: linear-gradient(135deg,#091a37,#102f59); }
.rescue-panel > header > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 12px; color: #fff; background: #5a27eb; }
.rescue-panel header div { display: flex; flex-direction: column; gap: 4px; }
.rescue-panel header small { color: #a992ff; font-size: 10px; font-weight: 800; letter-spacing: 1.25px; }
.rescue-panel header strong { font: 750 16px var(--font-display); }
.rescue-panel ol { margin: 0; padding: 8px 24px; list-style: none; }
.rescue-panel li { display: grid; min-height: 106px; padding: 19px 0; grid-template-columns: 33px minmax(0,1fr) auto; align-items: start; gap: 12px; border-bottom: 1px solid #e9ebf0; }
.rescue-panel li:last-child { border-bottom: 0; }
.rescue-panel li > b { color: #c0c5d1; font: 800 20px var(--font-display); }
.rescue-panel li div { min-width: 0; }
.rescue-panel li strong { color: #17223b; font-size: 13px; }
.rescue-panel li p { margin: 5px 0 0; color: #6f7a8f; font-size: 11px; line-height: 1.45; }
.rescue-panel li em { padding: 5px 8px; border-radius: 99px; color: #5a2be3; background: #eeeaff; font-size: 10px; font-style: normal; font-weight: 750; white-space: nowrap; }
.rescue-panel > footer { display: flex; padding: 18px 24px; align-items: center; gap: 12px; color: #fff; background: linear-gradient(120deg,#5420e8,#7745f2); }
.rescue-panel > footer > .material-symbols-rounded { font-size: 25px; }
.rescue-panel footer span { display: flex; flex-direction: column; gap: 3px; }
.rescue-panel footer strong { font-size: 12px; }
.rescue-panel footer small { color: #dcd2ff; font-size: 10px; }

@media (max-width: 1050px) {
  .rescue { grid-template-columns: 1fr; gap: 50px; }
  .rescue-panel { width: min(680px,100%); margin: auto; transform: none; }
}
@media (max-width: 680px) {
  .product-story-grid { grid-template-columns: 1fr; }
  .product-story-grid article { min-height: 0; padding: 23px; grid-template-columns: 48px minmax(0,1fr); gap: 15px; }
  .product-story-grid article > span { width: 48px; height: 48px; }
  .rescue-signals { grid-template-columns: 1fr; }
  .rescue-panel li { grid-template-columns: 29px minmax(0,1fr); }
  .rescue-panel li em { grid-column: 2; width: max-content; }
}

/* Forms and authentication */
.field { display: flex; flex-direction: column; gap: 8px; color: #25314c; font-size: 13px; font-weight: 700; }.field em { float: right; color: #939bad; font-style: normal; font-weight: 400; }.field input, .field textarea, .field select, .read-only-grid input { width: 100%; border: 1px solid #d9deea; border-radius: 9px; outline: none; color: var(--ink); background: #fff; transition: border .18s, box-shadow .18s; }.field input, .field select, .read-only-grid input { height: 49px; padding: 0 14px; }.field textarea { padding: 13px 14px; resize: vertical; line-height: 1.55; }.field input:focus, .field textarea:focus, .field select:focus { border-color: #7a54f6; box-shadow: 0 0 0 4px #eeeaff; }.field input::placeholder, .field textarea::placeholder { color: #a2aabc; }.field small { color: #8c95a9; font-size: 11px; font-weight: 400; }.field-label-row { display: flex; justify-content: space-between; }.field-label-row a { color: var(--primary); font-weight: 600; }
.password-field { position: relative; }.password-field input { padding-right: 47px; }.password-field button { position: absolute; top: 50%; right: 9px; width: 33px; height: 33px; border: 0; transform: translateY(-50%); color: #8b95aa; background: transparent; cursor: pointer; }.check-field { display: flex; align-items: flex-start; gap: 10px; color: #69748c; font-size: 12px; line-height: 1.45; }.check-field input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--primary); }.check-field a { color: var(--primary); text-decoration: underline; }
.auth-layout { display: grid; min-height: 100vh; grid-template-columns: minmax(390px, 43%) 1fr; background: #fff; }.auth-brand-panel { position: relative; display: flex; padding: 52px max(45px, 8vw); overflow: hidden; flex-direction: column; justify-content: space-between; color: #fff; background: radial-gradient(circle at 65% 75%, #183865 0, #08192f 42%, #030d1e 100%); }.auth-brand-panel::before, .auth-brand-panel::after { content: ''; position: absolute; border: 1px solid rgba(132, 104, 255, .24); border-radius: 50%; }.auth-brand-panel::before { width: 540px; height: 540px; right: -280px; bottom: -180px; }.auth-brand-panel::after { width: 350px; height: 350px; right: -100px; bottom: -100px; }.auth-grid-lines { position: absolute; inset: 0; opacity: .1; background-image: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px); background-size: 55px 55px; mask-image: radial-gradient(circle at 80% 80%, #000, transparent 65%); }.auth-quote { position: relative; z-index: 2; max-width: 490px; margin-bottom: 13vh; }.auth-spark { color: #9d7cff; font-size: 35px; }.auth-quote blockquote { margin: 20px 0; font: 700 clamp(27px, 2.7vw, 40px)/1.3 var(--font-display); letter-spacing: -1.2px; }.auth-quote p { color: #9eacc1; font-size: 13px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; }.auth-form-panel { display: grid; padding: 50px 7vw; place-items: center; }.auth-form-wrap { width: min(440px, 100%); }.auth-mobile-brand { display: none; }.auth-heading { margin-bottom: 31px; }.auth-heading h1 { margin: 0 0 10px; font: 800 35px/1.18 var(--font-display); letter-spacing: -1.5px; }.auth-heading p { margin: 0; color: #707b91; line-height: 1.55; }.auth-form { display: flex; flex-direction: column; gap: 18px; }.auth-switch { margin-top: 25px; color: #778197; font-size: 13px; text-align: center; }.auth-switch a { color: var(--primary); font-weight: 700; }.form-errors { margin-bottom: 20px; padding: 13px 16px; border: 1px solid #facbd3; border-radius: 9px; color: #a22439; background: #fff1f3; font-size: 12px; line-height: 1.5; }.form-errors ul { margin: 6px 0 0; padding-left: 18px; }.password-strength { margin-top: -9px; }.strength-bar { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; }.strength-bar span { height: 3px; border-radius: 5px; background: #e4e7ee; }.strength-bar span.is-active { background: var(--primary); }.password-strength small { display: block; margin-top: 6px; color: #9098a9; font-size: 10px; }.demo-credentials { display: grid; margin-top: 17px; padding: 11px 13px; border: 1px dashed #d8dceb; border-radius: 8px; grid-template-columns: 1fr auto; gap: 4px 10px; background: #fafafe; font-size: 10px; }.demo-credentials span { grid-row: span 2; align-self: center; color: #8b93a5; }.demo-credentials code { color: #4b5670; }.success-illustration { display: grid; width: 75px; height: 75px; margin: 0 auto 28px; place-items: center; border-radius: 50%; color: var(--green); background: #e8f8f2; font-size: 32px; }.prototype-link { display: flex; margin-bottom: 20px; padding: 15px; border-radius: 9px; flex-direction: column; gap: 7px; background: #f3f0ff; font-size: 12px; }.prototype-link span { color: #727c92; }.prototype-link a { color: var(--primary); font-weight: 700; }.auth-layout--centered { display: grid; place-items: center; background: #f6f7fb; }.auth-card { width: min(540px, calc(100% - 40px)); padding: 45px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-md); }.setup-card h1 { font: 800 30px var(--font-display); }.setup-card p { color: var(--ink-soft); line-height: 1.6; }.setup-code { padding: 13px; border-radius: 8px; color: #5d45aa; background: #f2efff; font-family: monospace; }.form-hint { font-size: 12px; }

/* App shell */
.app-page { overflow: hidden; background: var(--canvas); }.app-shell { display: grid; height: 100vh; grid-template-columns: 104px 245px minmax(0,1fr); }.project-rail { position: relative; z-index: 10; display: flex; overflow-y: auto; padding: 16px 9px 22px; align-items: center; flex-direction: column; color: #fff; background: var(--navy-950); scrollbar-width: none; }.rail-brand { display: flex; width: 86px; padding-bottom: 20px; align-items: center; flex-direction: column; border-bottom: 1px solid rgba(255,255,255,.07); }.rail-brand img { width: 58px; height: 54px; object-fit: contain; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: #fff; box-shadow: 0 8px 20px rgba(61, 29, 158, .24); }.rail-brand strong { margin-top: 4px; font: 700 15px var(--font-display); }.rail-brand small { margin-top: 1px; font-size: 10px; letter-spacing: .55px; }.rail-projects { display: flex; width: 100%; padding-top: 14px; align-items: center; flex-direction: column; gap: 10px; }.rail-project { display: flex; width: 86px; min-height: 82px; padding: 9px 4px 7px; align-items: center; flex-direction: column; gap: 6px; border: 1px solid transparent; border-radius: 12px; color: #f3f5fa; font-size: 10px; }.rail-project:hover, .rail-project.is-active { border-color: rgba(255,255,255,.06); background: rgba(16, 44, 82, .66); }.rail-project > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; background: var(--project-color); box-shadow: 0 8px 17px color-mix(in srgb, var(--project-color) 36%, transparent); font: 800 18px var(--font-display); }.rail-project small { width: 100%; overflow: hidden; text-overflow: ellipsis; text-align: center; white-space: nowrap; }.rail-add { display: grid; width: 42px; height: 42px; margin-top: 7px; place-items: center; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; color: #fff; background: #102746; font-size: 27px; font-weight: 300; transition: background .2s, transform .2s; }.rail-add:hover { transform: rotate(90deg); background: var(--primary); }.admin-badge { margin-top: auto; padding: 5px 7px; border: 1px solid rgba(158,125,255,.35); border-radius: 5px; color: #bca9ff; font-size: 10px; font-weight: 800; letter-spacing: 1px; }
.rail-project-item { position: relative; width: 86px; flex: 0 0 auto; border-radius: 12px; transition: opacity .15s ease,transform .15s ease; }
.rail-project-drag { position: absolute; z-index: 2; top: 3px; right: 3px; display: grid; width: 21px; height: 21px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.11); border-radius: 6px; color: #afbdd1; background: rgba(4,18,39,.9); box-shadow: 0 3px 8px rgba(0,0,0,.2); opacity: 0; cursor: grab; touch-action: none; transition: opacity .15s ease,color .15s ease,background .15s ease; }
.rail-project-drag .material-symbols-rounded { font-size: 15px; }
.rail-project-item:hover .rail-project-drag,.rail-project-drag:focus-visible { opacity: 1; }
.rail-project-drag:hover,.rail-project-drag:focus-visible { color: #fff; background: #5424ec; outline: none; }
.rail-project-drag:active { cursor: grabbing; }
.rail-projects.is-single-project .rail-project-drag { display: none; }
.rail-project-item.is-dragging { z-index: 3; opacity: .42; transform: scale(.94); }
.rail-project-item.is-touch-dragging { pointer-events: none; }
.rail-project-item.is-drop-before::before { position: absolute; z-index: 5; top: -6px; right: 8px; left: 8px; height: 3px; border-radius: 3px; background: #8d70ff; box-shadow: 0 0 0 2px rgba(141,112,255,.16); content: ''; }
.app-sidebar { position: relative; z-index: 9; display: flex; min-width: 0; padding: 20px 15px 15px; flex-direction: column; color: #fff; background: linear-gradient(145deg, var(--navy-900), #0b2344); box-shadow: 8px 0 25px rgba(3, 14, 32, .1); }.mobile-sidebar-head { display: none; }.project-switcher { position: relative; }.project-switcher > button { display: grid; width: 100%; min-height: 57px; padding: 7px 5px; border: 0; grid-template-columns: 40px 1fr auto; align-items: center; gap: 10px; color: #fff; background: transparent; text-align: left; cursor: pointer; }.project-avatar { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 10px; color: #fff; background: var(--project-color); box-shadow: 0 7px 16px color-mix(in srgb, var(--project-color) 38%, transparent); font: 800 16px var(--font-display); }.project-switcher button > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 3px; }.project-switcher strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }.project-switcher small { color: #8ea0ba; font-size: 10px; }.chevron { color: #d9dfeb; font-style: normal; font-size: 17px; transition: transform .2s; }.is-open > button .chevron { transform: rotate(180deg); }
.project-menu { position: absolute; z-index: 30; top: 67px; left: 4px; display: none; width: 255px; padding: 8px; border: 1px solid #e0e3ec; border-radius: 13px; color: var(--ink); background: #fff; box-shadow: 0 20px 55px rgba(0,0,0,.23); }.is-open > .project-menu { display: block; animation: menuIn .15s ease-out; }.project-menu__head { display: flex; padding: 8px 9px 11px; justify-content: space-between; border-bottom: 1px solid #eceef3; flex-direction: column; gap: 2px; }.project-menu__head span { font-size: 11px; font-weight: 800; }.project-menu__head small { color: #929bad; font-size: 10px; }.project-menu a, .project-menu button { display: flex; width: 100%; padding: 10px 9px; border: 0; align-items: center; gap: 10px; border-radius: 8px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }.project-menu a:hover, .project-menu button:hover { background: #f4f3fa; }.project-menu a > span, .project-menu button > span { display: grid; width: 31px; height: 31px; flex-shrink: 0; place-items: center; border-radius: 7px; color: var(--primary); background: var(--primary-soft); font-size: 15px; }.project-menu a div, .project-menu button div { display: flex; flex-direction: column; gap: 2px; }.project-menu a strong, .project-menu button strong { font-size: 11px; }.project-menu a small, .project-menu button small { color: #8b95aa; font-size: 10px; }.project-menu form { margin: 0; }.project-menu .danger-item { color: #bb2941; }.project-menu .danger-item > span { color: #c6324a; background: #fff0f2; }.project-menu--user { top: auto; right: 0; bottom: 45px; left: auto; width: 260px; }
@keyframes menuIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
.app-nav { display: flex; margin-top: 30px; flex-direction: column; gap: 5px; }.nav-main-link { display: grid; height: 48px; padding: 0 10px; grid-template-columns: 28px 1fr auto; align-items: center; gap: 6px; border-radius: 9px; color: #d4deed; font-size: 13px; font-weight: 600; }.nav-main-link:hover, .nav-accordion.is-current .nav-main-link { color: #fff; background: rgba(255,255,255,.07); }.nav-icon { font-size: 19px; text-align: center; }.nav-main-link i { color: #8395af; font-style: normal; font-size: 18px; }.sidebar-progress { margin: auto 4px 18px; padding: 14px; border: 1px solid rgba(255,255,255,.06); border-radius: 11px; background: rgba(0,0,0,.1); }.sidebar-progress > span { display: flex; justify-content: space-between; font-size: 10px; }.sidebar-progress em { color: #bca9ff; font-style: normal; }.sidebar-progress > i { display: block; height: 4px; margin: 10px 0 8px; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.12); }.sidebar-progress > i b { display: block; height: 100%; border-radius: inherit; background: #7a50ff; }.sidebar-progress small { color: #7f92ad; font-size: 10px; }.sidebar-empty { margin: auto 12px; text-align: center; }.sidebar-empty > span { color: #8c68ff; font-size: 32px; }.sidebar-empty h2 { font: 700 17px var(--font-display); }.sidebar-empty p { color: #8798b0; font-size: 11px; line-height: 1.5; }
.sidebar-user { position: relative; display: grid; min-height: 57px; padding: 10px 5px 0; border-top: 1px solid rgba(255,255,255,.08); grid-template-columns: 35px 1fr auto; align-items: center; gap: 9px; }.user-avatar { display: grid; width: 35px; height: 35px; place-items: center; border: 2px solid rgba(255,255,255,.2); border-radius: 50%; color: #fff; background: linear-gradient(145deg, #8b5c30, #342116); font-size: 10px; font-weight: 700; }.sidebar-user > div:nth-child(2), .topbar-profile > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }.sidebar-user strong { font-size: 10px; }.sidebar-user small { color: #8396b0; font-size: 10px; }.user-menu { position: relative; }.user-menu > button { border: 0; color: #93a3ba; background: transparent; cursor: pointer; }.user-menu.is-open .project-menu { display: block; }
.app-main { display: flex; min-width: 0; min-height: 0; flex-direction: column; }.app-topbar { position: relative; z-index: 2147483000; display: flex; min-height: 84px; padding: 0 31px; align-items: center; justify-content: space-between; overflow: visible; border-bottom: 1px solid #e1e5ee; background: rgba(255,255,255,.95); }.app-title-block { display: flex; min-width: 0; flex: 1; align-items: center; gap: 13px; }.app-title-icon { display: grid; width: 43px; height: 43px; flex: 0 0 43px; place-items: center; border: 1px solid #ddd6fb; border-radius: 10px; color: #5928e8; background: #f0ecff; }.app-title-icon .material-symbols-rounded { font-size: 24px; }.app-title { min-width: 0; }.app-title h1 { margin: 0; font: 800 21px var(--font-display); letter-spacing: -.6px; }.app-title p { margin: 3px 0 0; color: #596681; font-size: 11px; }.topbar-actions { position: relative; z-index: 1; display: flex; align-items: center; gap: 18px; overflow: visible; }.app-search { display: flex; width: min(280px, 24vw); height: 43px; padding: 0 12px; align-items: center; gap: 9px; border: 1px solid #dce1ea; border-radius: 9px; background: #fff; }.app-search > span { font-size: 22px; }.app-search input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 10px; }.app-search kbd { color: #758097; font-size: 10px; }.notification-button { position: relative; display: grid; width: 42px; height: 42px; flex: 0 0 42px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: var(--ink); background: transparent; font-size: 26px; line-height: 1; cursor: pointer; }.notification-button .notification-badge { position: absolute; top: 0; right: -2px; display: grid; width: 16px; height: 16px; place-items: center; border: 2px solid #fff; border-radius: 50%; color: #fff; background: var(--primary); font-size: 10px; }.topbar-profile { display: flex; min-width: 135px; align-items: center; gap: 9px; }.topbar-profile strong { font-size: 10px; }.topbar-profile small { color: #65728c; font-size: 10px; }.topbar-profile i { margin-left: auto; font-style: normal; }.mobile-menu-button { display: none; }.app-content { position: relative; flex: 1; min-height: 0; padding: 35px 42px 30px; overflow-y: auto; background: radial-gradient(circle at 75% 10%, #fbfaff 0, var(--canvas) 50%, #f7f9fc 100%); }
.flash { position: fixed; z-index: 100; top: 18px; left: 50%; display: flex; min-width: 320px; padding: 12px 15px; align-items: center; justify-content: space-between; gap: 15px; border: 1px solid #dfe3ed; border-radius: 10px; transform: translateX(-50%); background: #fff; box-shadow: var(--shadow-md); font-size: 12px; transition: opacity .4s, transform .4s; }.flash--success { border-color: #bce9d9; color: #08704d; }.flash--error { border-color: #f1bdc6; color: #ad273e; }.flash button { border: 0; background: transparent; cursor: pointer; }.flash--leaving { opacity: 0; transform: translate(-50%, -15px); pointer-events: none; }
.welcome-block { padding-top: 12px; text-align: center; }.sparkles { color: var(--primary); font-size: 38px; }.welcome-block h2, .global-empty-state h2 { margin: 7px 0 6px; font: 800 27px var(--font-display); letter-spacing: -1px; }.welcome-block p { margin: 0; color: #596783; font-size: 13px; }.welcome-block small { display: block; margin-top: 6px; color: #64718a; font-size: 11px; }
.starter-actions { display: grid; max-width: 950px; margin: 28px auto 0; grid-template-columns: repeat(2,1fr); gap: 20px; }.starter-card { display: grid; min-height: 210px; padding: 26px; border: 1px solid #e2e5ed; border-radius: 11px; grid-template-columns: 170px 1fr; align-items: center; gap: 25px; background: rgba(255,255,255,.92); box-shadow: 0 8px 24px rgba(35,44,80,.04); }.starter-card h3 { margin: 0 0 12px; font: 800 15px var(--font-display); }.starter-card p { min-height: 51px; margin: 0 0 14px; color: #55627d; font-size: 11px; line-height: 1.55; }.starter-card .button { min-height: 40px; padding: 0 14px; font-size: 10px; }.starter-illustration { position: relative; height: 145px; border-radius: 10px; overflow: hidden; background: linear-gradient(145deg, #f3f1ff, #fff); }.starter-illustration::before { content: ''; position: absolute; inset: 19px; border: 1px solid #e1def4; border-radius: 6px; background: #fff; box-shadow: 0 5px 12px rgba(70,40,170,.08); }.starter-illustration > span { position: absolute; z-index: 2; top: 42px; left: 32px; width: 45px; height: 8px; border-radius: 5px; background: #e8e4f8; }.starter-illustration i { position: absolute; z-index: 2; bottom: 35px; width: 41px; height: 35px; border-radius: 5px; background: #eeeaff; }.starter-illustration i:nth-of-type(1) { left: 32px; }.starter-illustration i:nth-of-type(2) { left: 82px; background: var(--primary); box-shadow: 0 5px 12px rgba(75,24,245,.27); }.starter-illustration b { position: absolute; z-index: 3; right: 25px; bottom: 30px; color: var(--primary); font-size: 30px; }.starter-illustration--custom i:nth-of-type(2) { border: 1px dashed #855dff; background: transparent; box-shadow: none; }
.or-divider { position: relative; max-width: 1000px; height: 25px; margin: 18px auto 0; text-align: center; }.or-divider::before { content: ''; position: absolute; top: 12px; right: 0; left: 0; height: 1px; background: #dfe3ec; }.or-divider span { position: relative; z-index: 1; padding: 0 18px; color: #34436a; background: var(--canvas); font-size: 11px; font-weight: 700; }
.workspace-ready { text-align: center; }.workspace-ready > h3 { margin: 0; font: 800 15px var(--font-display); }.workspace-ready > p { margin: 5px 0 19px; color: #75819a; font-size: 10px; }.module-grid { display: grid; max-width: 1050px; margin: 0 auto; grid-template-columns: repeat(4,1fr); gap: 24px; }.module-card { min-height: 182px; padding: 21px 17px 18px; border: 1px dashed #cbd2e2; border-radius: 11px; background: rgba(255,255,255,.45); }.module-card > span { color: #aab3d5; font-size: 32px; }.module-card h4 { margin: 8px 0 6px; font-size: 12px; }.module-card p { min-height: 35px; margin: 0 0 13px; color: #5f6c86; font-size: 10px; line-height: 1.45; }.module-card a { display: inline-flex; min-height: 31px; padding: 0 16px; align-items: center; border: 1px dashed #aeb8da; border-radius: 7px; color: #493a96; font-size: 10px; }.workspace-tip { margin-top: 18px !important; color: #7d89a5 !important; font-size: 10px !important; }.global-empty-state { max-width: 620px; margin: 11vh auto 0; text-align: center; }.global-empty-state > p { margin: 12px auto 28px; color: #66738d; line-height: 1.6; }
.section-dashboard-head { display: flex; max-width: 1120px; margin: 0 auto 25px; align-items: flex-end; justify-content: space-between; gap: 30px; }.section-dashboard-head h2 { margin: 0 0 7px; font: 800 29px var(--font-display); }.section-dashboard-head p { margin: 0; color: #6d7890; font-size: 12px; }.progress-overview { display: flex; max-width: 1120px; min-height: 105px; margin: 0 auto 22px; padding: 22px 25px; align-items: center; gap: 50px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: var(--shadow-sm); }.progress-score { width: 270px; }.progress-score span { display: flex; align-items: baseline; gap: 5px; color: #8390a6; font-size: 10px; }.progress-score strong { color: var(--primary); font: 800 25px var(--font-display); }.progress-score i { display: block; height: 6px; margin-top: 11px; overflow: hidden; border-radius: 9px; background: #e9e8f3; }.progress-score i b { display: block; height: 100%; background: var(--primary); }.progress-meta { display: grid; flex: 1; grid-template-columns: repeat(3,1fr); }.progress-meta > span { display: flex; padding-left: 24px; border-left: 1px solid var(--line); flex-direction: column; gap: 6px; }.progress-meta small { color: #8a94a8; font-size: 10px; }.progress-meta strong { font-size: 12px; }.work-card-grid { display: grid; max-width: 1120px; margin: 0 auto; grid-template-columns: repeat(4,1fr); gap: 16px; }.work-card { min-height: 205px; padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 6px 16px rgba(27,41,79,.04); }.work-card > div { display: flex; align-items: center; justify-content: space-between; }.work-card > div > span { color: #c2c7d4; font: 800 24px var(--font-display); }.status-pill { padding: 5px 8px; border-radius: 99px; color: #6c5ba4; background: #f0edff; font-size: 10px; font-style: normal; font-weight: 700; }.status-pill--done { color: #087554; background: #e7f7f1; }.work-card h3 { min-height: 45px; margin: 26px 0 22px; font: 700 15px/1.4 var(--font-display); }.work-card > i { display: block; height: 4px; overflow: hidden; border-radius: 7px; background: #edf0f5; }.work-card > i b { display: block; height: 100%; background: var(--primary); }.work-card > button { display: flex; width: 100%; margin-top: 20px; padding: 11px 0 0; border: 0; border-top: 1px solid #eef0f5; justify-content: space-between; color: #5f6a81; background: transparent; font-size: 10px; font-weight: 700; cursor: pointer; }.ai-next-step { display: grid; max-width: 1120px; margin: 22px auto 0; padding: 22px; border: 1px solid #dcd5fc; border-radius: 13px; grid-template-columns: 45px 1fr auto; align-items: center; gap: 18px; background: linear-gradient(100deg, #f0edff, #faf9ff); }.ai-next-icon { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 11px; color: #fff; background: var(--primary); }.ai-next-step small { color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: 1px; }.ai-next-step h3 { margin: 4px 0; font: 700 13px var(--font-display); }.ai-next-step p { margin: 0; color: #707a90; font-size: 10px; }
.settings-layout { display: grid; max-width: 1000px; margin: 20px auto; grid-template-columns: 190px 1fr; gap: 25px; }.settings-nav { display: flex; padding: 9px; flex-direction: column; gap: 4px; }.settings-nav span { padding: 11px 13px; border-radius: 8px; color: #727e95; font-size: 11px; font-weight: 600; }.settings-nav span.is-active { color: var(--primary); background: #ece8ff; }.settings-card { padding: 34px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: var(--shadow-sm); }.settings-card h2 { margin: 0 0 6px; font: 800 22px var(--font-display); }.settings-card > p { margin: 0; color: #778197; font-size: 12px; }.profile-summary, .project-identity { display: flex; margin: 28px 0; padding: 20px; align-items: center; gap: 15px; border-radius: 11px; background: #f7f7fb; }.large-avatar { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #704022, #291b17); font-weight: 700; }.profile-summary > div, .project-identity > div { display: flex; flex-direction: column; gap: 4px; }.profile-summary small, .project-identity small { color: #7a8498; font-size: 10px; }.profile-summary em { width: max-content; padding: 3px 6px; border-radius: 4px; color: var(--primary); background: #e8e3ff; font-size: 10px; font-style: normal; text-transform: uppercase; }.project-identity .button { margin-left: auto; }.project-avatar--large { width: 58px; height: 58px; border-radius: 15px; font-size: 22px; }.read-only-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 15px; }.read-only-grid label { display: flex; flex-direction: column; gap: 7px; color: #69748a; font-size: 10px; font-weight: 700; }.read-only-grid input { color: #758096; background: #f9fafc; }
.settings-card--project { padding: 0; overflow: hidden; }.settings-project-head { padding: 30px 34px 0; }.settings-project-head > p { margin: 0; color: #778197; font-size: 12px; }.settings-project-identity { margin: 24px 34px 0; }.settings-project-form { width: 100%; margin: 0; padding: 26px 34px 34px; border: 0; border-radius: 0; box-shadow: none; }.settings-project-form .project-logo-field { width: 100%; }.settings-project-form .edit-actions { margin-top: 4px; }.settings-project-errors { margin: 22px 34px 0; }.settings-project-readonly { padding: 28px 34px 34px; }.settings-project-identity .project-avatar img { width: 100%; height: 100%; padding: 4px; object-fit: contain; background: #fff; }.settings-project-identity strong { font-size: 13px; }

/* Project wizard and edit */
.project-wizard-layout, .edit-layout { display: grid; min-height: 100vh; grid-template-columns: 390px 1fr; background: #f8f9fc; }.wizard-aside, .edit-aside { position: relative; display: flex; padding: 42px; flex-direction: column; color: #fff; background: radial-gradient(circle at 65% 65%, #173967, #07172f 48%, #030d1e); }.wizard-aside::after, .edit-aside::after { content: ''; position: absolute; inset: 0; opacity: .1; background-image: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(transparent 15%, #000 80%); }.wizard-aside > *, .edit-aside > * { position: relative; z-index: 1; }.wizard-message { margin-top: 85px; }.wizard-message > span { color: #9671ff; font-size: 35px; }.wizard-message h2 { margin: 15px 0; font: 700 27px/1.35 var(--font-display); }.wizard-message p { color: #92a1b8; font-size: 13px; line-height: 1.65; }.wizard-steps { display: flex; margin-top: auto; flex-direction: column; gap: 24px; }.wizard-step { position: relative; display: flex; align-items: center; gap: 13px; opacity: .42; }.wizard-step::after { content: ''; position: absolute; top: 35px; left: 15px; width: 1px; height: 20px; background: #647691; }.wizard-step:last-child::after { display: none; }.wizard-step.is-active, .wizard-step.is-complete { opacity: 1; }.wizard-step i { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid #6d7d95; border-radius: 50%; font-size: 10px; font-style: normal; }.wizard-step.is-active i { border-color: #8d68ff; background: var(--primary); }.wizard-step.is-complete i { color: #fff; border-color: var(--green); background: var(--green); }.wizard-step span { display: flex; flex-direction: column; gap: 3px; }.wizard-step strong { font-size: 11px; }.wizard-step small { color: #8191aa; font-size: 10px; }.wizard-main { min-width: 0; padding: 0 7vw 50px; }.wizard-top { display: flex; height: 75px; align-items: center; justify-content: space-between; color: #7c879b; font-size: 11px; }.wizard-top a { color: #4e5b75; font-weight: 600; }.wizard-form { width: min(720px, 100%); margin: 6vh auto 0; }.wizard-form section > h1 { margin: 0 0 10px; font: 800 36px var(--font-display); letter-spacing: -1.5px; }.wizard-form section > p { margin: 0 0 34px; color: #6f7a90; }.wizard-form section { animation: stepIn .3s ease; }.wizard-form .field { margin-bottom: 20px; }.wizard-actions { display: flex; margin-top: 33px; align-items: center; justify-content: space-between; }.stage-options, .color-options { margin: 26px 0 0; padding: 0; border: 0; }.stage-options legend, .color-options legend { margin-bottom: 12px; color: #25314c; font-size: 13px; font-weight: 700; }.stage-options { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }.stage-options legend { grid-column: 1 / -1; }.stage-options label { cursor: pointer; }.stage-options input { position: absolute; opacity: 0; }.stage-options label > span { display: grid; min-height: 110px; padding: 18px; border: 1px solid #dfe3ec; border-radius: 11px; grid-template-columns: 35px 1fr; gap: 3px 11px; background: #fff; }.stage-options label b { grid-row: span 2; color: var(--primary); font-size: 22px; }.stage-options label strong { font-size: 12px; }.stage-options label small { color: #7f899e; font-size: 10px; line-height: 1.4; }.stage-options input:checked + span { border-color: var(--primary); background: #f5f2ff; box-shadow: 0 0 0 3px #e9e3ff; }.project-preview { display: flex; width: 330px; margin: 35px 0 30px; padding: 17px; align-items: center; gap: 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow-sm); }.project-preview > div { display: flex; flex-direction: column; gap: 4px; }.project-preview small { color: #8590a5; font-size: 10px; }.project-avatar--preview { width: 51px; height: 51px; font-size: 20px; }.color-options { display: flex; align-items: center; gap: 11px; }.color-options legend { float: left; margin-right: 18px; }.color-options label { cursor: pointer; }.color-options input { position: absolute; opacity: 0; }.color-options label span { display: block; width: 34px; height: 34px; border: 4px solid #fff; border-radius: 50%; background: var(--swatch); box-shadow: 0 0 0 1px #d8dce6; }.color-options input:checked + span { box-shadow: 0 0 0 3px #d8ceff; }.creation-summary { display: flex; margin-top: 38px; padding: 18px; gap: 14px; border: 1px solid #ded8fa; border-radius: 11px; background: #f4f1ff; }.creation-summary > span { color: var(--primary); font-size: 22px; }.creation-summary strong { font-size: 12px; }.creation-summary p { margin: 5px 0 0; color: #69748a; font-size: 10px; line-height: 1.5; }
@keyframes stepIn { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: translateX(0); } }
.edit-layout { grid-template-columns: 330px 1fr; }.edit-aside { justify-content: space-between; }.edit-aside > div { margin: auto 0; text-align: center; }.project-avatar--huge { width: 90px; height: 90px; margin: 0 auto 20px; border-radius: 22px; font-size: 34px; }.edit-aside h2 { font: 800 25px var(--font-display); }.edit-aside p { color: #94a4ba; font-size: 12px; line-height: 1.6; }.edit-main { padding: 65px 8vw; }.edit-head, .edit-form, .edit-main > .form-errors { width: min(720px, 100%); margin-right: auto; margin-left: auto; }.edit-head__top { display: flex; min-height: 38px; margin-bottom: 34px; align-items: center; justify-content: space-between; gap: 20px; }.edit-back-link { display: inline-flex; min-height: 36px; padding: 0 12px 0 9px; align-items: center; gap: 7px; border: 1px solid #dfe4ed; border-radius: 8px; color: #4f5d73; background: #fff; box-shadow: 0 3px 10px rgba(20,32,58,.04); font-size: 12px; font-weight: 650; transition: border-color .15s,color .15s,background .15s,transform .15s; }.edit-back-link:hover { border-color: #b9a9f3; color: #5021e7; background: #faf8ff; transform: translateX(-2px); }.edit-back-link .material-symbols-rounded { font-size: 18px; }.edit-head__top .eyebrow { flex: 0 0 auto; margin-bottom: 0; }.edit-head h1 { margin: 0 0 9px; color: #0c1734; font: 800 36px/1.15 var(--font-display); letter-spacing: -.7px; }.edit-head p { margin: 0 0 30px; color: #727d92; font-size: 15px; line-height: 1.55; }.edit-form { display: flex; flex-direction: column; gap: 20px; padding: 30px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }.form-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 15px; }.color-options--compact { margin: 4px 0; }.edit-actions { display: flex; padding-top: 20px; justify-content: flex-end; gap: 12px; border-top: 1px solid var(--line); }

@media (max-width: 1450px) {
  .site-header { grid-template-columns: 1fr 1fr; }.site-nav { display: none; }.hero { grid-template-columns: 1fr .85fr; gap: 25px; }.hero h1 { letter-spacing: -3px; }.floating-note--top { right: 0; }.method-card { padding: 26px; }.journey { gap: 45px; }
  .app-shell { grid-template-columns: 88px 220px minmax(0,1fr); }.project-rail { padding-right: 4px; padding-left: 4px; }.rail-project, .rail-brand { width: 77px; }.app-content { padding-right: 25px; padding-left: 25px; }.starter-card { padding: 18px; grid-template-columns: 130px 1fr; gap: 18px; }.module-grid { gap: 13px; }.work-card-grid { grid-template-columns: repeat(2,1fr); }.app-search { display: none; }
}

@media (max-width: 900px) {
  .site-header { width: calc(100% - 36px); }.header-actions .text-link { display: none; }.hero { padding: 70px 24px 80px; grid-template-columns: 1fr; }.hero-copy { text-align: center; }.hero-copy > p { margin: auto; }.hero-actions, .hero-proof { justify-content: center; }.hero-visual { min-height: 460px; }.method-grid, .stats-grid { grid-template-columns: 1fr; }.method-card { min-height: 350px; }.stats-grid article + article { border-top: 1px solid var(--line); border-left: 0; }.journey { grid-template-columns: 1fr; }.journey-copy { text-align: center; }.journey-panel { max-width: 650px; width: 100%; margin: auto; transform: none; }.cta-section { padding: 48px; align-items: flex-start; flex-direction: column; }.site-footer { flex-wrap: wrap; }
  .app-shell { grid-template-columns: 74px minmax(0,1fr); }.project-rail { grid-column: 1; }.app-sidebar { position: fixed; top: 0; bottom: 0; left: 74px; width: 260px; transform: translateX(-110%); transition: transform .25s; box-shadow: 20px 0 50px rgba(0,0,0,.3); }.app-nav-open .app-sidebar { transform: translateX(0); }.mobile-sidebar-head { display: flex; margin-bottom: 12px; align-items: center; justify-content: space-between; color: #899bb5; font-size: 11px; }.mobile-sidebar-head button { border: 0; color: #fff; background: transparent; font-size: 23px; }.app-main { grid-column: 2; }.mobile-menu-button { display: block; width: 36px; height: 36px; margin-right: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }.app-title { flex: 1; }.topbar-profile > div, .topbar-profile > i { display: none; }.topbar-profile { min-width: 35px; }.starter-actions { grid-template-columns: 1fr; }.module-grid { grid-template-columns: repeat(2,1fr); }.project-wizard-layout, .edit-layout { grid-template-columns: 280px 1fr; }.wizard-aside, .edit-aside { padding: 30px; }
}

@media (max-width: 680px) {
  .site-header { height: 70px; }.brand { font-size: 19px; }.header-actions .button { min-height: 37px; padding: 0 12px; font-size: 12px; }.hero { padding-top: 55px; }.hero h1 { font-size: 43px; letter-spacing: -2.5px; }.hero-copy > p { font-size: 16px; }.hero-actions { align-items: stretch; flex-direction: column; }.hero-visual { min-height: 420px; }.ai-card { width: 95%; padding: 20px; }.floating-note { padding: 10px; }.floating-note--top { top: 0; }.floating-note--bottom { bottom: 15px; }.trust-strip > div { flex-wrap: wrap; gap: 20px 38px; }.section { padding: 80px 22px; }.section-heading h2, .journey-copy h2 { font-size: 36px; letter-spacing: -1.5px; }.journey-panel { min-height: 350px; }.mini-cards { grid-template-columns: 1fr; }.mini-cards article:nth-child(n+2) { display: none; }.cta-section { margin: 0 18px 60px; padding: 38px 25px; }.cta-section h2 { font-size: 32px; }.site-footer { padding: 30px 22px; }.site-footer p { order: 3; flex-basis: 100%; }
  .auth-layout { grid-template-columns: 1fr; }.auth-brand-panel { display: none; }.auth-form-panel { padding: 35px 22px; }.auth-mobile-brand { display: inline-flex; margin-bottom: 65px; }.auth-heading h1 { font-size: 30px; }
  .app-page { overflow: auto; }.app-shell { min-height: 100vh; height: auto; grid-template-columns: 1fr; }.project-rail { position: fixed; z-index: 20; right: 0; bottom: 0; left: 0; display: flex; width: auto; height: 66px; padding: 6px 13px; flex-direction: row; overflow-x: auto; overflow-y: hidden; border-top: 1px solid rgba(255,255,255,.1); }.rail-brand, .admin-badge { display: none; }.rail-projects { padding: 0; flex-direction: row; gap: 6px; }.rail-project { width: 57px; min-width: 57px; min-height: 53px; padding: 4px 2px; }.rail-project > span { width: 32px; height: 32px; border-radius: 8px; font-size: 12px; }.rail-project small { font-size: 10px; }.rail-add { width: 36px; min-width: 36px; height: 36px; margin: 0 0 0 4px; }.app-sidebar { left: 0; width: min(300px, 85vw); padding-bottom: 80px; }.app-main { grid-column: 1; padding-bottom: 66px; }.app-topbar { min-height: 75px; padding: 0 15px; }.app-title h1 { max-width: 230px; overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }.app-title p { display: none; }.notification-button,.topbar-planning { display: none; }.app-content { min-height: calc(100vh - 141px); padding: 25px 15px; overflow: visible; }.welcome-block h2 { font-size: 22px; }.starter-card { grid-template-columns: 1fr; }.starter-illustration { display: none; }.module-grid, .work-card-grid { grid-template-columns: 1fr; }.module-card { min-height: 150px; }.section-dashboard-head { align-items: stretch; flex-direction: column; }.progress-overview { align-items: stretch; flex-direction: column; gap: 20px; }.progress-score { width: 100%; }.progress-meta { grid-template-columns: 1fr; gap: 12px; }.progress-meta > span { padding: 0 0 0 10px; }.ai-next-step { grid-template-columns: 40px 1fr; }.ai-next-step .button { grid-column: 1 / -1; }.settings-layout { grid-template-columns: 1fr; }.settings-nav { overflow-x: auto; flex-direction: row; }.settings-card { padding: 22px; }.settings-card--project { padding: 0; }.settings-project-head { padding: 24px 20px 0; }.settings-project-identity { margin: 20px 20px 0; }.settings-project-form { padding: 22px 20px 24px; }.settings-project-errors { margin: 20px 20px 0; }.settings-project-readonly { padding: 22px 20px 24px; }.read-only-grid { grid-template-columns: 1fr; }
  .project-wizard-layout, .edit-layout { grid-template-columns: 1fr; }.wizard-aside, .edit-aside { min-height: auto; padding: 21px; }.wizard-aside .brand, .edit-aside .brand { margin: auto; }.wizard-message, .wizard-steps, .edit-aside > div { display: none; }.wizard-main { padding: 0 20px 35px; }.wizard-top { height: 65px; }.wizard-top span { display: none; }.wizard-form { margin-top: 25px; }.wizard-form section > h1 { font-size: 29px; }.stage-options { grid-template-columns: 1fr; }.wizard-actions { gap: 10px; }.wizard-actions .button { padding: 0 14px; }.edit-main { padding: 35px 20px; }.edit-head__top { margin-bottom: 28px; }.edit-head h1 { font-size: 31px; }.edit-head p { font-size: 14px; }.edit-form { padding: 20px; }.form-grid { grid-template-columns: 1fr; }.color-options { flex-wrap: wrap; }.color-options legend { width: 100%; }.edit-actions { flex-direction: column-reverse; }.edit-actions .button { width: 100%; }
}

@media (max-width: 420px) {
  .edit-head__top { align-items: flex-start; flex-direction: column; gap: 13px; }
}

@media (max-width: 1450px) {
  .rail-project-item { width: 77px; }
}
@media (max-width: 680px) {
  .rail-project-item { width: 57px; min-width: 57px; }
  .rail-project-drag { top: 0; right: 0; opacity: .78; }
  .rail-project-item.is-drop-before::before { top: 4px; right: auto; bottom: 4px; left: -4px; width: 3px; height: auto; }
}

/* Navigation latérale à trois états : complète, SaaS repliés, puis icônes seules. */
.sidebar-collapse-tab { display: none; }
@media (min-width: 901px) {
  .app-shell { background: var(--navy-950); }
  .sidebar-layout-ready .app-shell { transition: grid-template-columns .24s ease; }
  .project-rail { transition: opacity .18s ease, visibility 0s linear 0s; }
  .app-sidebar { transition: padding .24s ease; }
  .sidebar-collapse-tab { position: absolute; z-index: 80; top: 50%; right: -21px; display: grid; width: 22px; height: 70px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.12); border-left: 0; border-radius: 0 11px 11px 0; transform: translateY(-50%); color: #c8d3e4; background: #0b2344; box-shadow: 7px 0 16px rgba(4,16,36,.16); cursor: pointer; transition: color .16s ease, background .16s ease, box-shadow .16s ease; }
  .sidebar-collapse-tab:hover, .sidebar-collapse-tab:focus-visible { color: #fff; background: #5424ec; box-shadow: 7px 0 18px rgba(84,36,236,.26); outline: none; }
  .sidebar-collapse-tab .material-symbols-rounded { font-size: 17px; transition: transform .2s ease; }

  body.sidebar-state-rail-hidden .app-shell { grid-template-columns: 0 245px minmax(0,1fr); }
  body.sidebar-state-compact .app-shell { grid-template-columns: 0 72px minmax(0,1fr); }
  body.sidebar-state-rail-hidden .project-rail,
  body.sidebar-state-compact .project-rail { opacity: 0; visibility: hidden; overflow: hidden; pointer-events: none; transition: opacity .18s ease, visibility 0s linear .24s; }

  body.sidebar-state-compact .app-sidebar { padding-right: 9px; padding-left: 9px; }
  body.sidebar-state-compact .project-switcher > button { padding-right: 0; padding-left: 0; grid-template-columns: 1fr; justify-items: center; }
  body.sidebar-state-compact .project-switcher button > span:nth-child(2),
  body.sidebar-state-compact .project-switcher .chevron,
  body.sidebar-state-compact .nav-main-link > span:not(.nav-icon),
  body.sidebar-state-compact .nav-main-link > i,
  body.sidebar-state-compact .sidebar-progress,
  body.sidebar-state-compact .sidebar-empty { display: none; }
  body.sidebar-state-compact .project-avatar { width: 40px; height: 40px; }
  body.sidebar-state-compact .project-switcher .project-menu { z-index: 100; top: 0; left: calc(100% + 17px); }
  body.sidebar-state-compact .app-nav { margin-top: 30px; }
  body.sidebar-state-compact .nav-main-link { padding: 0; grid-template-columns: 1fr; place-items: center; }
  body.sidebar-state-compact .nav-icon { display: grid; width: 40px; height: 40px; place-items: center; }
  body.sidebar-state-compact .nav-icon .material-symbols-rounded { font-size: 22px; }
}
@media (min-width: 901px) and (max-width: 1450px) {
  body.sidebar-state-rail-hidden .app-shell { grid-template-columns: 0 220px minmax(0,1fr); }
}

/* Échelle typographique renforcée : aucun texte sous 10 px. */
.brand small,
.avatar-stack span,
.ai-card__top div:nth-child(2) > span,
.metric-row span,
.trust-strip > span,
.mini-cards small,
.mini-task > span,
.mini-task button,
.rail-brand small,
.admin-badge,
.project-menu__head small,
.project-menu a small,
.project-menu button small,
.sidebar-progress small,
.sidebar-user small,
.app-search kbd,
.notification-button .notification-badge,
.workspace-tip,
.ai-next-step small,
.profile-summary em,
.wizard-step small {
  font-size: 10px;
}

.workspace-tip { font-size: 10px !important; }

/* Informations de navigation, d’état et d’aide : 12 px minimum. */
.metric-row strong,
.mini-progress div,
.mini-cards b,
.mini-task strong,
.rail-project,
.rail-project small,
.project-switcher small,
.project-menu__head span,
.project-menu__head small,
.project-menu a strong,
.project-menu button strong,
.project-menu a small,
.project-menu button small,
.sidebar-progress > span,
.sidebar-progress small,
.sidebar-empty p,
.sidebar-user strong,
.sidebar-user small,
.app-title p,
.app-search input,
.topbar-profile strong,
.topbar-profile small,
.welcome-block small,
.starter-card p,
.starter-card .button,
.or-divider span,
.workspace-ready > p,
.module-card p,
.module-card a,
.progress-score span,
.progress-meta small,
.status-pill,
.work-card > button,
.ai-next-step p,
.ai-next-step small,
.settings-nav span,
.profile-summary small,
.project-identity small,
.read-only-grid label,
.field small,
.password-strength small,
.demo-credentials,
.wizard-step strong,
.wizard-step small,
.wizard-top,
.stage-options label small,
.project-preview small,
.creation-summary p,
.mobile-sidebar-head,
.admin-badge {
  font-size: 12px;
}

/* Finitions optiques des contrôles à icône. */
.edit-head > a { display: inline-flex; }
.user-menu > button,
.password-field button,
.flash button,
.mobile-sidebar-head button {
  display: grid;
  place-items: center;
}
.project-menu a > span .material-symbols-rounded,
.project-menu button > span .material-symbols-rounded { font-size: 20px; }
.ai-next-icon .material-symbols-rounded { font-size: 23px; }
.creation-summary > span .material-symbols-rounded { font-size: 28px; }
.success-illustration .material-symbols-rounded { font-size: 38px; }

@media (max-width: 900px) {
  .mobile-menu-button { display: grid; place-items: center; padding: 0; }
  .mobile-menu-button .material-symbols-rounded { font-size: 22px; }
}

/* Sous-menu contextuel de la rubrique Projets. */
.nav-accordion { position: relative; }
.project-flyout {
  position: absolute;
  z-index: 100;
  top: -10px;
  left: calc(100% + 15px);
  display: flex;
  width: 244px;
  padding: 9px;
  border: 1px solid #e5e8f0;
  border-radius: 14px;
  flex-direction: column;
  gap: 3px;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 20px 55px rgba(2, 12, 30, .22), 0 4px 14px rgba(2, 12, 30, .08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-7px) scale(.985);
  transform-origin: left top;
  transition: opacity .16s ease, transform .16s ease, visibility 0s linear .18s;
}
.project-flyout::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 18px;
  height: 100%;
}
.project-flyout::after {
  content: '';
  position: absolute;
  top: 24px;
  left: -6px;
  width: 11px;
  height: 11px;
  border-bottom: 1px solid #e5e8f0;
  border-left: 1px solid #e5e8f0;
  background: #fff;
  transform: rotate(45deg);
}
.nav-accordion--flyout:hover > .project-flyout,
.nav-accordion--flyout:focus-within > .project-flyout {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0) scale(1);
  transition-delay: 0s;
}
.nav-accordion--flyout:hover > .nav-main-link,
.nav-accordion--flyout:focus-within > .nav-main-link {
  color: #fff;
  background: rgba(255,255,255,.07);
}
.project-flyout__item {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 47px;
  padding: 0 13px;
  grid-template-columns: 28px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  border-radius: 9px;
  color: #26324b;
  font-size: 13px;
  font-weight: 600;
  transition: color .15s ease, background .15s ease, transform .15s ease;
}
.project-flyout__item:hover,
.project-flyout__item:focus-visible {
  color: var(--primary);
  background: #f3f0ff;
  outline: none;
  transform: translateX(2px);
}
.project-flyout__item.is-active {
  color: #fff;
  background: linear-gradient(135deg, #5420f5, #4010dc);
  box-shadow: 0 7px 17px rgba(75, 24, 245, .2);
}
.project-flyout__icon {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  color: #536079;
}
.project-flyout__item:hover .project-flyout__icon,
.project-flyout__item:focus-visible .project-flyout__icon { color: var(--primary); }
.project-flyout__item.is-active .project-flyout__icon { color: #fff; }
.project-flyout__icon .material-symbols-rounded {
  font-size: 21px;
  font-variation-settings: 'FILL' 0, 'wght' 450, 'GRAD' 0, 'opsz' 22;
}
.project-flyout__item.is-active .material-symbols-rounded {
  font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 22;
}
.project-flyout__lock {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 7px;
  color: #8b93a6;
  background: #f0f1f5;
}
.project-flyout__lock .material-symbols-rounded { font-size: 14px; }
.project-flyout__item.is-active .project-flyout__lock { color: #fff; background: rgba(255,255,255,.18); }
.project-flyout__item.is-managed-locked:not(.is-active):hover .project-flyout__lock,
.project-flyout__item.is-managed-locked:not(.is-active):focus-visible .project-flyout__lock { color: var(--primary); background: #e9e3ff; }

@media (max-width: 900px) {
  .project-flyout { display: none; }
}

/* Gestion des tâches */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.task-board { min-width: 0; margin: -8px -10px 0; color: #27324a; }
.task-toolbar { display: flex; min-height: 66px; padding: 0 10px 12px; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid #e2e6ef; }
.task-toolbar__create, .task-toolbar__filters { display: flex; align-items: center; gap: 10px; }
.task-toolbar .button { min-height: 38px; padding: 0 15px; border-radius: 7px; font-size: 12px; box-shadow: 0 5px 12px rgba(77, 27, 238, .16); }
.task-toolbar .button:disabled { cursor: not-allowed; opacity: .45; box-shadow: none; }
.task-create-menu { position: relative; }
.task-create-menu > summary { display: inline-flex; min-width: 120px; align-items: center; justify-content: center; gap: 7px; cursor: pointer; list-style: none; }
.task-create-menu > summary::-webkit-details-marker { display: none; }
.task-create-menu > summary .material-symbols-rounded { font-size: 16px; }
.task-create-menu > summary .task-create-menu__chevron { font-size: 14px; }
.task-create-menu__chevron { margin-left: 3px; transition: transform .16s ease; }
.task-create-menu[open] .task-create-menu__chevron { transform: rotate(180deg); }
.task-create-menu__panel { position: absolute; z-index: 40; top: calc(100% + 8px); left: 0; width: 300px; padding: 7px; border: 1px solid #e1e5ed; border-radius: 12px; background: #fff; box-shadow: 0 18px 45px rgba(8, 22, 48, .18); }
.task-create-menu__panel::before { content: ''; position: absolute; bottom: 100%; left: 22px; border: 6px solid transparent; border-bottom-color: #fff; }
.task-create-menu__panel > button { display: grid; width: 100%; min-height: 62px; padding: 9px 10px; grid-template-columns: 39px 1fr; align-items: center; gap: 10px; border: 0; border-radius: 8px; color: #2f3a51; background: transparent; text-align: left; cursor: pointer; }
.task-create-menu__panel > button:hover, .task-create-menu__panel > button:focus-visible { color: #4f27e5; background: #f3f0ff; outline: none; }
.task-create-menu__panel > button:disabled { color: #9ba4b4; background: transparent; cursor: not-allowed; opacity: .6; }
.task-create-menu__icon { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 9px; color: #5630e8; background: #ede9ff; }
.task-create-menu__panel > button:disabled .task-create-menu__icon { color: #929cad; background: #f0f2f5; }
.task-create-menu__icon .material-symbols-rounded { font-size: 21px; }
.task-create-menu__panel > button > span:last-child { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.task-create-menu__panel strong { font-size: 12px; }
.task-create-menu__panel small { color: #7e899d; font-size: 10px; line-height: 1.3; }
.task-filter-control { display: flex; min-height: 38px; padding: 0 11px; align-items: center; gap: 8px; border: 1px solid #dfe3ec; border-radius: 7px; background: #fff; }
.task-filter-control .material-symbols-rounded { color: #64718a; font-size: 19px; }
.task-filter-control select, .task-filter-control input { min-width: 0; padding: 0; border: 0; outline: 0; color: #47536b; background: transparent; font: 500 12px var(--font-body); }
.task-filter-control select { width: 125px; }
.task-filter-control--search { width: 250px; }
.task-filter-control--search input { width: 100%; }
.task-table-scroll { width: 100%; overflow-x: auto; }
.task-table { min-width: 1050px; font-size: 12px; }
.task-table-head, .task-row { display: grid; grid-template-columns: minmax(350px, 1.75fr) minmax(135px, .72fr) 125px 118px 128px 112px; align-items: center; }
.task-table-head { min-height: 39px; padding: 0 8px; color: #7b8599; border-bottom: 1px solid #dfe3ec; font-size: 12px; font-weight: 600; }
.task-table-head > span { display: flex; align-items: center; gap: 4px; }
.task-table-head > span:not(:first-child) { padding-left: 12px; }
.task-table-head .material-symbols-rounded { font-size: 17px; }
.task-group-row, .task-subgroup-row { display: flex; min-height: 43px; padding: 0 8px; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #e1e5ed; }
.task-group-row { background: linear-gradient(90deg, #fbfcfe, #fff); }
.task-subgroup-row { min-height: 39px; margin-left: 26px; background: #fff; }
.task-hierarchy-title { display: flex; min-width: 0; align-items: center; gap: 8px; }
.task-hierarchy-title strong { overflow: hidden; color: #303b51; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.task-collapse { display: grid; width: 24px; height: 28px; padding: 0; place-items: center; border: 0; color: #4e5b73; background: transparent; cursor: pointer; }
.task-collapse .material-symbols-rounded { font-size: 20px; transition: transform .16s ease; }
.task-collapse[aria-expanded="false"] .material-symbols-rounded { transform: rotate(-90deg); }
.task-folder { display: inline-grid; place-items: center; color: var(--folder-color, #64718c); }
.task-folder .material-symbols-rounded { font-size: 21px; font-variation-settings: 'FILL' 0, 'wght' 420, 'GRAD' 0, 'opsz' 22; }
.task-folder--sub { color: #77849b; }
.task-count-badge { padding: 3px 8px; border: 1px solid #dce1ea; border-radius: 999px; color: #7b879b; background: #f9fafc; font-size: 10px; white-space: nowrap; }
.task-row-commands { display: flex; align-items: center; gap: 10px; }
.task-row-commands > button { display: inline-flex; padding: 4px 6px; align-items: center; gap: 4px; border: 0; color: #5530e9; background: transparent; font: 600 12px var(--font-body); cursor: pointer; }
.task-row-commands > button .material-symbols-rounded { font-size: 18px; }
.task-more { position: relative; }
.task-more summary { display: grid; width: 28px; height: 30px; place-items: center; color: #5b6880; cursor: pointer; list-style: none; }
.task-more summary::-webkit-details-marker { display: none; }
.task-more summary .material-symbols-rounded { font-size: 20px; }
.task-more > div { position: absolute; z-index: 15; top: calc(100% + 2px); right: 0; width: 205px; padding: 6px; border: 1px solid #e1e5ed; border-radius: 9px; background: #fff; box-shadow: 0 14px 35px rgba(9, 24, 52, .16); }
.task-more button { display: flex; width: 100%; padding: 9px; align-items: center; gap: 8px; border: 0; border-radius: 6px; color: #c23c52; background: transparent; font: 600 12px var(--font-body); cursor: pointer; }
.task-more button:hover { background: #fff0f3; }
.task-more button .material-symbols-rounded { font-size: 18px; }
.task-row { min-height: 38px; padding: 0 8px 0 46px; border-bottom: 1px solid #e7eaf0; background: #fff; transition: background .14s; }
.task-row[hidden], .task-group-block[hidden], .task-subgroup-block[hidden] { display: none; }
.task-row:hover { background: #fafbfe; }
.task-subgroup-block .task-row { padding-left: 72px; }
.task-cell { display: flex; min-width: 0; padding-left: 12px; align-items: center; }
.task-cell--title { padding-left: 0; gap: 8px; }
.task-title-text { overflow: hidden; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.task-title-text.is-complete { color: #8a94a6; text-decoration: line-through; }
.task-check-form { display: flex; }
.task-check { position: relative; display: grid; width: 17px; height: 17px; flex: 0 0 17px; place-items: center; cursor: pointer; }
.task-check input { position: absolute; opacity: 0; }
.task-check > span { display: grid; width: 15px; height: 15px; place-items: center; border: 1px solid #cfd6e1; border-radius: 4px; color: transparent; background: #fff; }
.task-check input:checked + span { color: #fff; border-color: #5730ed; background: #5730ed; }
.task-check .material-symbols-rounded { font-size: 13px; font-weight: 700; }
.task-meta-count { display: inline-flex; align-items: center; gap: 2px; color: #8792a6; font-size: 10px; }
.task-meta-count .material-symbols-rounded { font-size: 15px; }
.task-cell--assignee { gap: 7px; }
.task-avatar { display: grid; width: 23px; height: 23px; flex: 0 0 23px; place-items: center; border: 2px solid #fff; border-radius: 50%; color: #fff; background: linear-gradient(140deg, #6142db, #142a5a); box-shadow: 0 0 0 1px #dce1eb; font-size: 10px; font-weight: 700; }
.task-assignee-name { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.task-unassigned { color: #929cad; font-size: 12px; }
.task-cell--date { color: #69758a; font-size: 12px; }
.task-status { padding: 4px 8px; border-radius: 5px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.task-status--pending { color: #606d82; background: #edf0f4; }
.task-status--progress { color: #5031dd; background: #ebe8ff; }
.task-status--blocked { color: #d43f59; background: #ffe8ed; }
.task-status--done { color: #2f8b54; background: #def5e6; }
.task-priority { gap: 1px; color: #d6dbe4; }
.task-priority .material-symbols-rounded { font-size: 17px; font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 18; }
.task-priority .is-active { color: #f5b637; }
.task-actions { gap: 3px; }
.task-actions form { display: flex; }
.icon-action { display: grid; width: 29px; height: 29px; padding: 0; place-items: center; border: 0; border-radius: 6px; color: #68758c; background: transparent; cursor: pointer; }
.icon-action:hover { color: #4f28e7; background: #eeeaff; }
.icon-action--danger:hover { color: #c43c52; background: #fff0f3; }
.icon-action .material-symbols-rounded { font-size: 18px; }
[data-collapsible-content][hidden] { display: none; }
.task-inline-add { display: inline-flex; min-height: 34px; margin-left: 46px; padding: 0 10px; align-items: center; gap: 4px; border: 0; color: #5b36e8; background: transparent; font: 600 12px var(--font-body); cursor: pointer; }
.task-inline-add .material-symbols-rounded { font-size: 18px; }
.task-add-group-row { display: flex; width: calc(100% - 20px); min-height: 42px; margin: 10px; align-items: center; justify-content: center; gap: 7px; border: 1px dashed #bbb8e4; border-radius: 6px; color: #5530e9; background: #fdfcff; font: 600 12px var(--font-body); cursor: pointer; }
.task-add-group-row:hover { border-color: #6943ed; background: #f5f2ff; }
.task-add-group-row .material-symbols-rounded { font-size: 19px; }
.task-summary { display: inline-flex; min-height: 48px; margin: 0 10px; border: 1px solid #e1e5ed; border-radius: 7px; background: #fff; }
.task-summary > span { display: flex; min-width: 150px; padding: 0 18px; align-items: center; gap: 8px; color: #778297; font-size: 12px; }
.task-summary > span + span { border-left: 1px solid #e1e5ed; }
.task-summary .material-symbols-rounded { color: #748099; font-size: 19px; }
.task-summary strong { color: #28344d; font-size: 14px; }
.task-no-results { padding: 34px; color: #7d879a; text-align: center; }
.task-no-results .material-symbols-rounded { margin-right: 6px; vertical-align: -5px; }
.task-empty-state { display: flex; min-height: 390px; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.task-empty-state > .material-symbols-rounded { color: #a49ae3; font-size: 42px; }
.task-empty-state h2 { margin: 14px 0 6px; font: 800 20px var(--font-display); }
.task-empty-state p { margin: 0 0 20px; color: #778298; font-size: 12px; }
.task-empty-state__actions { display: flex; align-items: center; justify-content: center; gap: 10px; }
.task-ai-button { display: inline-flex; min-height: 38px; padding: 0 15px; align-items: center; gap: 7px; border: 0; border-radius: 7px; color: #fff; background: linear-gradient(135deg,#7139f4,#4718dc); box-shadow: 0 5px 13px rgba(75,29,211,.22); font: 700 12px var(--font-body); cursor: pointer; }
.task-ai-button:hover { color: #fff; box-shadow: 0 7px 17px rgba(75,29,211,.3); transform: translateY(-1px); }
.task-ai-button:focus-visible { outline: 3px solid rgba(91,43,235,.2); outline-offset: 2px; }
.task-ai-button:disabled { opacity: .68; cursor: wait; transform: none; }
.task-ai-button .material-symbols-rounded { font-size: 18px; }
.task-ai-button.is-loading .material-symbols-rounded { animation: framing-ai-spin 1s linear infinite; }
.task-empty-state .task-ai-status { display: none; max-width: 620px; margin: 18px 20px 0; padding: 10px 14px; border: 1px solid #e1dafb; border-radius: 8px; color: #5530d8; background: #f8f6ff; font-size: 12px; line-height: 1.5; }
.task-empty-state .task-ai-status:not(:empty) { display: block; }
.task-empty-state .task-ai-status.is-error { color: #b52f43; border-color: #f0d5da; background: #fff6f7; }
.task-migration-state { display: grid; max-width: 760px; margin: 50px auto; padding: 28px; grid-template-columns: 48px 1fr; gap: 14px; border: 1px solid #e0dbfb; border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.task-migration-state > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 11px; color: #5831e7; background: #eeeaff; }
.task-migration-state h2 { margin: 0 0 5px; font: 800 19px var(--font-display); }
.task-migration-state p { margin: 0; color: #6f7b91; font-size: 12px; line-height: 1.55; }
.task-migration-state code { grid-column: 2; padding: 11px; border-radius: 6px; color: #40307d; background: #f4f1ff; font-size: 12px; }

.task-dialog { width: min(510px, calc(100vw - 32px)); padding: 0; overflow: hidden; border: 0; border-radius: 15px; color: #28334b; background: #fff; box-shadow: 0 28px 80px rgba(6, 19, 43, .28); }
.task-dialog--wide { width: min(680px, calc(100vw - 32px)); }
.task-dialog::backdrop { background: rgba(5, 16, 36, .52); backdrop-filter: blur(3px); }
.task-dialog > form { display: flex; padding: 26px; flex-direction: column; gap: 18px; }
.task-dialog__head { display: grid; grid-template-columns: 42px 1fr 32px; align-items: start; gap: 12px; }
.task-dialog__head > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 10px; color: #5730ea; background: #ede9ff; }
.task-dialog__head > span .material-symbols-rounded { font-size: 23px; }
.task-dialog__head h2 { margin: 0 0 3px; font: 800 20px var(--font-display); }
.task-dialog__head p { margin: 0; color: #788398; font-size: 12px; }
.task-dialog__head > button { display: grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 0; border-radius: 7px; color: #6e798d; background: transparent; cursor: pointer; }
.task-dialog__head > button:hover { background: #f0f2f6; }
.task-dialog__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.task-dialog .field { display: flex; flex-direction: column; gap: 7px; }
.task-dialog .field > span { color: #4e5a71; font-size: 12px; font-weight: 700; }
.task-dialog input, .task-dialog select, .task-dialog textarea { width: 100%; border: 1px solid #dce1ea; border-radius: 8px; color: #2c3850; background: #fff; font: 500 12px var(--font-body); }
.task-dialog input, .task-dialog select { height: 42px; padding: 0 12px; }
.task-dialog textarea { min-height: 82px; padding: 11px 12px; resize: vertical; }
.task-dialog input:focus, .task-dialog select:focus, .task-dialog textarea:focus { border-color: #7251ed; outline: 3px solid #eeeaff; }
.task-dialog__actions { display: flex; padding-top: 18px; justify-content: flex-end; gap: 10px; border-top: 1px solid #e5e8ef; }
.task-dialog__actions .button { min-height: 40px; font-size: 12px; }

@media (max-width: 1180px) {
  .task-toolbar { align-items: stretch; flex-direction: column; }
  .task-toolbar__create, .task-toolbar__filters { flex-wrap: wrap; }
  .task-filter-control--search { flex: 1; }
}

@media (max-width: 680px) {
  .task-board { margin: 0; }
  .task-toolbar { padding-right: 0; padding-left: 0; }
  .task-toolbar__create, .task-create-menu, .task-create-menu > summary { width: 100%; }
  .task-create-menu__panel { width: min(300px, calc(100vw - 30px)); }
  .task-toolbar__filters { display: grid; grid-template-columns: 1fr; }
  .task-filter-control, .task-filter-control--search { width: 100%; }
  .task-filter-control select { flex: 1; width: auto; }
  .task-summary { display: grid; margin: 0; grid-template-columns: 1fr; }
  .task-summary > span { min-height: 42px; }
  .task-summary > span + span { border-top: 1px solid #e1e5ed; border-left: 0; }
  .task-dialog > form { padding: 21px; }
  .task-dialog__grid { grid-template-columns: 1fr; }
}

/* Roadmap produit */
.roadmap-page { min-width: 0; margin: -5px -8px 0; color: #263149; }
.roadmap-stats { display: grid; margin-bottom: 17px; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.roadmap-stats article { position: relative; display: grid; min-height: 144px; padding: 17px; grid-template-columns: 43px 1fr; gap: 11px; border: 1px solid #e1e5ed; border-radius: 11px; background: #fff; box-shadow: 0 4px 13px rgba(13, 31, 62, .035); }
.roadmap-stat-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 9px; color: #5424ec; background: #f0ecff; }
.roadmap-stat-icon .material-symbols-rounded { font-size: 25px; }
.roadmap-stats article > div { display: flex; flex-direction: column; }
.roadmap-stats small { color: #3e4960; font-size: 12px; font-weight: 700; }
.roadmap-stats strong { margin-top: 3px; color: #18233a; font: 800 24px var(--font-display); }
.roadmap-stats em { margin-top: 4px; color: #758096; font-size: 10px; font-style: normal; }
.roadmap-stats em.is-danger { color: #d43f55; }
.roadmap-stats em.is-warning { color: #db861f; }
.roadmap-stats article > i { position: absolute; right: 17px; bottom: 15px; left: 17px; display: block; height: 5px; overflow: hidden; border-radius: 5px; background: #eef0f4; }
.roadmap-stats article > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5f29f0, #4920dc); }
.roadmap-stats article > a, .roadmap-stats article > button { position: absolute; right: 17px; bottom: 13px; left: 17px; display: flex; padding: 0; align-items: center; gap: 5px; border: 0; color: #5630e9; background: transparent; font: 600 12px var(--font-body); cursor: pointer; }
.roadmap-stats article > a .material-symbols-rounded, .roadmap-stats article > button .material-symbols-rounded { font-size: 17px; }
.roadmap-workspace { min-width: 0; overflow: hidden; border: 1px solid #dfe3eb; border-radius: 11px; background: #fff; box-shadow: 0 4px 14px rgba(13, 31, 62, .035); }
.roadmap-workspace__head { display: flex; min-height: 70px; padding: 14px 17px; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e1e5ed; }
.roadmap-workspace__head h2 { margin: 0 0 3px; font: 800 17px var(--font-display); }
.roadmap-workspace__head p { margin: 0; color: #798499; font-size: 10px; }
.roadmap-controls { display: flex; align-items: center; gap: 9px; }
.roadmap-dependency-toggle { display: flex; margin-right: 5px; align-items: center; gap: 8px; color: #5d6980; font-size: 12px; font-weight: 600; cursor: pointer; }
.roadmap-dependency-toggle input { position: absolute; opacity: 0; }
.roadmap-dependency-toggle i { position: relative; width: 32px; height: 18px; border-radius: 20px; background: #cdd3de; transition: background .16s; }
.roadmap-dependency-toggle i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .16s; }
.roadmap-dependency-toggle input:checked + i { background: #5424ec; }
.roadmap-dependency-toggle input:checked + i::after { transform: translateX(14px); }
.roadmap-view-switch { display: flex; padding: 3px; border: 1px solid #dfe3eb; border-radius: 8px; background: #f8f9fc; }
.roadmap-view-switch button { display: flex; min-height: 32px; padding: 0 11px; align-items: center; gap: 5px; border: 0; border-radius: 6px; color: #5f6b82; background: transparent; font: 600 12px var(--font-body); cursor: pointer; }
.roadmap-view-switch button .material-symbols-rounded { font-size: 17px; }
.roadmap-view-switch button.is-active { color: #fff; background: #5424ec; box-shadow: 0 3px 9px rgba(84, 36, 236, .2); }
.roadmap-control-button { display: flex; min-height: 38px; padding: 0 12px; align-items: center; gap: 6px; border: 1px solid #dfe3eb; border-radius: 7px; color: #4e5a70; background: #fff; font: 600 12px var(--font-body); cursor: pointer; }
.roadmap-control-button .material-symbols-rounded { font-size: 18px; }
.roadmap-add-button { min-height: 38px; padding: 0 13px; font-size: 12px; }
.roadmap-ai-button { display: inline-flex; min-height: 38px; padding: 0 14px; align-items: center; gap: 7px; border: 0; border-radius: 7px; color: #fff; background: linear-gradient(135deg,#7139f4,#4718dc); box-shadow: 0 5px 13px rgba(75,29,211,.22); font: 700 12px var(--font-body); cursor: pointer; }
.roadmap-ai-button:hover { color: #fff; box-shadow: 0 7px 17px rgba(75,29,211,.3); transform: translateY(-1px); }
.roadmap-ai-button:focus-visible { outline: 3px solid rgba(91,43,235,.2); outline-offset: 2px; }
.roadmap-ai-button:disabled { opacity: .68; cursor: wait; transform: none; }
.roadmap-ai-button .material-symbols-rounded { font-size: 18px; }
.roadmap-ai-button.is-loading .material-symbols-rounded { animation: framing-ai-spin 1s linear infinite; }
.roadmap-empty-state__actions { display: flex; align-items: center; justify-content: center; gap: 10px; }
.roadmap-ai-status { display: none; margin: 0; padding: 10px 17px; color: #5530d8; border-bottom: 1px solid #e5e0f8; background: #f8f6ff; font-size: 12px; }
.roadmap-ai-status:not(:empty) { display: block; }
.roadmap-ai-status.is-error { color: #b52f43; border-color: #f0d5da; background: #fff6f7; }
.roadmap-panel { min-width: 0; }
.roadmap-panel[hidden] { display: none; }
.roadmap-panel[data-roadmap-panel="list"] { overflow-x: auto; }
.roadmap-flow { position: relative; display: grid; min-width: 960px; min-height: 125px; padding: 25px 25px 18px; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); align-items: end; }
.roadmap-flow__line { position: absolute; right: 27px; bottom: 27px; left: 27px; height: 2px; background: linear-gradient(90deg, #5424ec, #2b65ee 42%, #39a55c 70%, #627089); }
.roadmap-flow__line::before, .roadmap-flow__line::after { content: ''; position: absolute; top: -3px; width: 7px; height: 7px; border-top: 1px solid #5c6680; border-right: 1px solid #5c6680; }
.roadmap-flow__line::before { display: none; }
.roadmap-flow__line::after { right: 0; transform: rotate(45deg); }
.roadmap-flow__step { position: relative; z-index: 1; display: flex; min-width: 0; padding: 0 7px 22px; align-items: center; flex-direction: column; text-align: center; }
.roadmap-flow__step strong { overflow: hidden; width: 100%; color: var(--roadmap-color); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.roadmap-flow__step small { margin-top: 7px; color: #727e94; font-size: 10px; }
.roadmap-flow__step i { position: absolute; bottom: 4px; width: 12px; height: 12px; border: 3px solid #fff; border-radius: 50%; background: var(--roadmap-color); box-shadow: 0 0 0 1px color-mix(in srgb, var(--roadmap-color), #fff 45%); }
.roadmap-list { min-width: 1120px; border-top: 1px solid #e2e5ec; }
.roadmap-list.is-dependency-focus { animation: roadmapDependencyFocus 1s ease; }
.roadmap-list__head, .roadmap-list__row { display: grid; grid-template-columns: minmax(180px, 1.15fr) 165px 150px 112px minmax(145px, .9fr) 145px 76px; align-items: center; }
.roadmap-list__head { min-height: 42px; padding: 0 17px; color: #737f95; border-bottom: 1px solid #e0e4ec; font-size: 10px; font-weight: 600; }
.roadmap-list__row { min-height: 61px; padding: 0 17px; border-bottom: 1px solid #e6e9ef; color: #4c5870; font-size: 10px; }
.roadmap-list__row:hover { background: #fafbfe; }
.roadmap-list__row.is-dashboard-focus { position: relative; z-index: 1; animation: roadmapDashboardFocus 2.2s ease; }
.roadmap-name { display: flex; min-width: 0; align-items: center; gap: 10px; }
.roadmap-name > i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--roadmap-color); }
.roadmap-name > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.roadmap-name strong { overflow: hidden; color: #303b51; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.roadmap-name small { color: #8993a5; font-size: 10px; }
.roadmap-period { font-size: 12px; }
.roadmap-owner { display: flex; min-width: 0; align-items: center; gap: 7px; }
.roadmap-owner > span { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #68492c, #142744); font-size: 10px; font-weight: 700; }
.roadmap-owner > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.roadmap-owner strong { overflow: hidden; color: #364158; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.roadmap-owner small { color: #8a94a6; font-size: 10px; }
.roadmap-owner em { color: #929cad; font-size: 10px; font-style: normal; }
.roadmap-status { display: inline-flex; width: max-content; padding: 4px 7px; align-items: center; gap: 4px; border-radius: 5px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.roadmap-status .material-symbols-rounded { font-size: 15px; }
.roadmap-status--planned { color: #5b3ada; background: #eeeaff; }
.roadmap-status--progress { color: #2458d5; background: #e7efff; }
.roadmap-status--blocked { color: #cf3f56; background: #ffe8ed; }
.roadmap-status--done { color: #2f8a50; background: #def4e5; }
.roadmap-dependencies { display: flex; min-width: 0; align-items: center; gap: 5px; color: #66738a; }
.roadmap-dependencies .material-symbols-rounded { flex: 0 0 auto; color: #5732e5; font-size: 16px; }
.roadmap-dependencies span { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.roadmap-progress { display: flex; padding-right: 14px; align-items: center; gap: 9px; }
.roadmap-progress strong { width: 34px; color: #3a465d; font-size: 12px; }
.roadmap-progress > i { display: block; width: 82px; height: 5px; overflow: hidden; border-radius: 6px; background: #e9ecf1; }
.roadmap-progress > i b { display: block; height: 100%; border-radius: inherit; background: var(--roadmap-color); }
.roadmap-row-actions, .roadmap-timeline__actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.roadmap-row-actions form, .roadmap-timeline__actions form { display: flex; }
.roadmap-row-actions button, .roadmap-timeline__actions button { display: grid; width: 29px; height: 29px; padding: 0; place-items: center; border: 1px solid #dfe3eb; border-radius: 6px; color: #657188; background: #fff; cursor: pointer; }
.roadmap-row-actions button:hover, .roadmap-timeline__actions button:hover { color: #5424ec; border-color: #cfc5f7; background: #f3f0ff; }
.roadmap-row-actions form button:hover, .roadmap-timeline__actions form button:hover { color: #d13f55; border-color: #f1b9c3; background: #fff0f3; }
.roadmap-row-actions .material-symbols-rounded, .roadmap-timeline__actions .material-symbols-rounded { font-size: 17px; }
.roadmap-page.is-dependencies-hidden [data-roadmap-dependency-column], .roadmap-page.is-dependencies-hidden [data-roadmap-dependencies-layer] { visibility: hidden; }
.roadmap-empty-state { display: flex; min-height: 390px; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.roadmap-empty-state > .material-symbols-rounded { color: #8f78e7; font-size: 44px; }
.roadmap-empty-state h3 { margin: 12px 0 6px; font: 800 20px var(--font-display); }
.roadmap-empty-state p { margin: 0 0 20px; color: #748097; font-size: 12px; }

.roadmap-timeline-toolbar { display: flex; min-height: 51px; padding: 8px 14px; align-items: center; justify-content: flex-end; gap: 10px; border-bottom: 1px solid #e2e6ed; }
.roadmap-timeline-toolbar label, .roadmap-timeline-toolbar > span { display: flex; min-height: 35px; padding: 0 10px; align-items: center; gap: 6px; border: 1px solid #dfe3eb; border-radius: 7px; color: #59657c; background: #fff; font-size: 12px; font-weight: 600; }
.roadmap-timeline-toolbar select { border: 0; outline: 0; color: inherit; background: transparent; font: inherit; }
.roadmap-timeline-toolbar .material-symbols-rounded { font-size: 17px; }
.roadmap-timeline-scroll { width: 100%; overflow-x: auto; }
.roadmap-timeline { position: relative; min-width: 1320px; }
.roadmap-timeline__meta-head { display: grid; width: 520px; min-height: 43px; padding: 0 15px; grid-template-columns: 160px 100px 130px 100px; align-items: center; color: #6f7b91; border-right: 1px solid #dfe3eb; border-bottom: 1px solid #dfe3eb; font-size: 10px; font-weight: 600; }
.roadmap-timeline__months { position: absolute; top: 0; right: 76px; left: 520px; display: grid; height: 43px; grid-template-columns: repeat(var(--timeline-months), minmax(68px, 1fr)); border-bottom: 1px solid #dfe3eb; }
.roadmap-timeline__months span { display: grid; place-items: center; color: #566278; border-right: 1px solid #e5e8ee; font-size: 10px; font-weight: 600; }
.roadmap-timeline__row { display: grid; min-height: 61px; grid-template-columns: 520px minmax(724px, 1fr) 76px; border-bottom: 1px solid #e4e7ed; }
.roadmap-timeline__row[hidden] { display: none; }
.roadmap-timeline__row.is-dashboard-focus { animation: roadmapDashboardFocus 2.2s ease; }
.roadmap-timeline__meta { display: grid; padding: 0 15px; grid-template-columns: 160px 100px 130px 100px; align-items: center; border-right: 1px solid #dfe3eb; }
.roadmap-timeline__name { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.roadmap-timeline__name strong { overflow: hidden; color: #2f3a50; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.roadmap-timeline__name small { color: #8490a3; font-size: 10px; }
.roadmap-owner--compact > span { width: 25px; height: 25px; flex-basis: 25px; }
.roadmap-owner--compact > strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.roadmap-progress--compact { align-items: flex-start; flex-direction: column; gap: 5px; }
.roadmap-progress--compact > i { width: 78px; }
.roadmap-timeline__canvas { position: relative; min-width: 0; overflow: visible; background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc((100% / var(--timeline-months)) - 1px), #e7eaf0 calc((100% / var(--timeline-months)) - 1px), #e7eaf0 calc(100% / var(--timeline-months))); }
.roadmap-timeline__bar { position: absolute; z-index: 2; top: 15px; display: flex; height: 31px; min-width: 80px; padding: 0 8px 0 12px; align-items: center; justify-content: space-between; gap: 8px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--roadmap-color), #fff 60%); border-radius: 7px; color: var(--roadmap-color); background: color-mix(in srgb, var(--roadmap-color), #fff 88%); box-shadow: 0 2px 6px rgba(21, 38, 68, .08); font-size: 12px; font-weight: 700; white-space: nowrap; }
.roadmap-timeline__bar > span { overflow: hidden; text-overflow: ellipsis; }
.roadmap-timeline__bar > i { display: grid; width: 18px; height: 18px; flex: 0 0 18px; place-items: center; border-radius: 50%; color: #fff; background: var(--roadmap-color); font-style: normal; }
.roadmap-timeline__bar .material-symbols-rounded { font-size: 13px; }
.roadmap-timeline__dependencies-layer { position: absolute; z-index: 4; top: 43px; right: 76px; bottom: 0; left: 520px; overflow: visible; pointer-events: none; transition: opacity .16s ease; }
.roadmap-timeline__connector { position: absolute; inset: 0; color: #6a45e7; }
.roadmap-timeline__connector.is-blocked { color: #d98324; }
.roadmap-timeline__connector-line { position: absolute; display: block; border-radius: 2px; background: currentColor; box-shadow: 0 0 0 1px rgba(255,255,255,.72); }
.roadmap-timeline__connector-line--horizontal { height: 2px; }
.roadmap-timeline__connector-line--vertical { width: 2px; }
.roadmap-timeline__connector-dot { position: absolute; display: block; width: 7px; height: 7px; border: 2px solid currentColor; border-radius: 50%; background: #fff; transform: translate(-50%,-50%); }
.roadmap-timeline__connector-arrow { position: absolute; display: block; width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 7px solid currentColor; transform: translate(-100%,-50%); filter: drop-shadow(0 0 1px #fff); }
.roadmap-timeline__dependencies-layer.is-focus .roadmap-timeline__connector { animation: roadmapConnectorFocus .9s ease; }
.roadmap-today-segment { position: absolute; z-index: 1; top: 0; bottom: 0; width: 1px; border-left: 1px dashed #6636f0; }
.roadmap-today-segment b { position: absolute; top: calc(100% + 5px); left: 50%; padding: 4px 7px; border-radius: 5px; color: #fff; background: #5424ec; font-size: 10px; font-weight: 600; transform: translateX(-50%); }
.roadmap-timeline__actions { padding: 0 8px; }
.roadmap-timeline-add { display: flex; min-height: 42px; margin: 8px 14px 13px; padding: 0 8px; align-items: center; gap: 6px; border: 0; color: #5530e9; background: transparent; font: 600 12px var(--font-body); cursor: pointer; }
.roadmap-timeline-add .material-symbols-rounded { font-size: 18px; }
.roadmap-dependency-picker { margin: 0; padding: 14px; border: 1px solid #e0e4ec; border-radius: 9px; }
.roadmap-dependency-picker legend { padding: 0 6px; color: #4c5870; font-size: 12px; font-weight: 700; }
.roadmap-dependency-picker > p { margin: 0 0 10px; color: #7d879b; font-size: 10px; }
.roadmap-dependency-picker > div { display: grid; max-height: 145px; overflow-y: auto; grid-template-columns: repeat(2, 1fr); gap: 7px; }
.roadmap-dependency-picker label { cursor: pointer; }
.roadmap-dependency-picker input { position: absolute; opacity: 0; }
.roadmap-dependency-picker label span { display: flex; min-height: 35px; padding: 0 9px; align-items: center; gap: 6px; border: 1px solid #e0e4ec; border-radius: 7px; color: #59657b; font-size: 10px; }
.roadmap-dependency-picker input:checked + span { color: #5424ec; border-color: #8b71ed; background: #f1edff; }
.roadmap-dependency-picker label.is-self { display: none; }
.roadmap-dependency-picker .material-symbols-rounded { font-size: 16px; }
@keyframes roadmapDependencyFocus { 0%, 100% { box-shadow: inset 0 0 0 0 transparent; } 35% { box-shadow: inset 0 0 0 3px #cfc4fa; } }
@keyframes roadmapConnectorFocus { 0%, 100% { opacity: 1; } 45% { opacity: .28; } }

@media (max-width: 1350px) {
  .roadmap-stats { grid-template-columns: repeat(2, 1fr); }
  .roadmap-workspace__head { align-items: flex-start; flex-direction: column; }
  .roadmap-controls { width: 100%; flex-wrap: wrap; }
}

@media (max-width: 900px) {
  .roadmap-page { margin: 0; }
  .roadmap-workspace { overflow: visible; }
  .roadmap-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .roadmap-dependency-toggle { grid-column: 1 / -1; }
  .roadmap-view-switch { justify-content: stretch; }
  .roadmap-view-switch button { flex: 1; justify-content: center; }
  .roadmap-panel[data-roadmap-panel="list"] { overflow-x: auto; }
}

@media (max-width: 680px) {
  .roadmap-stats { grid-template-columns: 1fr; }
  .roadmap-stats article { min-height: 132px; }
  .roadmap-workspace__head { padding: 14px; }
  .roadmap-controls { grid-template-columns: 1fr; }
  .roadmap-dependency-toggle { grid-column: auto; }
  .roadmap-view-switch, .roadmap-control-button, .roadmap-add-button { width: 100%; }
  .roadmap-control-button, .roadmap-add-button { justify-content: center; }
  .roadmap-dependency-picker > div { grid-template-columns: 1fr; }
}

/* Signature de marque compacte. */
.brand small { letter-spacing: 1px; opacity: .82; }
.rail-brand small { font-size: 10px !important; letter-spacing: .45px; opacity: .76; }

/* Menu utilisateur déplacé dans la barre supérieure. */
.topbar-profile { position: relative; min-width: 150px; }
.topbar-profile.is-open,
.topbar-notifications.is-open { z-index: 2147483002; }
.topbar-profile__trigger { display: flex; width: 100%; min-height: 46px; padding: 5px 7px; align-items: center; gap: 9px; border: 0; border-radius: 9px; color: var(--ink); background: transparent; cursor: pointer; }
.topbar-profile__trigger:hover,
.topbar-profile.is-open .topbar-profile__trigger { background: #f4f3fa; }
.topbar-profile__trigger > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; text-align: left; }
.topbar-profile__trigger strong { font-size: 12px; }
.topbar-profile__trigger small { color: #65728c; font-size: 10px; }
.topbar-profile__trigger i { margin-left: auto; font-style: normal; transition: transform .16s ease; }
.topbar-profile.is-open .topbar-profile__trigger i { transform: rotate(180deg); }
.topbar-profile > .project-menu--user { z-index: 2147483003; top: calc(100% + 9px); right: 0; bottom: auto; left: auto; display: none; width: 270px; }
.topbar-profile.is-open > .project-menu--user { display: block; }
.project-menu--user .project-menu__head--user { display: grid; min-height: 60px; padding: 8px 9px 12px; grid-template-columns: 40px minmax(0,1fr); align-items: center; justify-content: normal; gap: 10px; }
.project-menu--user .project-menu__head--user > .user-avatar { width: 38px; height: 38px; border: 2px solid #eee9ff; color: #fff; background: linear-gradient(145deg,#7447ef,#4c1bc9); box-shadow: 0 4px 10px rgba(83,37,210,.18); font-size: 12px; }
.project-menu--user .project-menu__head--user > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.project-menu--user .project-menu__head--user strong { overflow: hidden; color: #26334a; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.project-menu--user .project-menu__head--user small { overflow: hidden; color: #7e899d; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

/* Centre de notifications Fr4ktal. */
.topbar-notifications { position: relative; }
.notification-button { border-radius: 50%; transition: color .16s ease, background .16s ease, box-shadow .16s ease; }
.notification-button > .material-symbols-rounded { display: grid; width: 28px; height: 28px; place-items: center; font-size: 28px !important; line-height: 1; font-variation-settings: 'FILL' 0, 'wght' 450, 'GRAD' 0, 'opsz' 28; }
.notification-button:hover,
.notification-button:focus-visible,
.topbar-notifications.is-open .notification-button { color: #5524e4; background: #f1edff; box-shadow: 0 0 0 1px #ddd4ff; outline: none; }
.notification-button .notification-badge { top: auto; right: -3px; bottom: 0; width: 17px; height: 17px; border: 2px solid #fff; color: #fff; background: #f0522f; box-shadow: 0 2px 6px rgba(212,67,37,.3); font-size: 10px; font-weight: 800; line-height: 1; }
.notification-button .notification-badge[hidden] { display: none; }
.topbar-planning { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border-radius:50%; color:var(--ink); text-decoration:none; transition:color .16s ease,background .16s ease,box-shadow .16s ease; }
.topbar-planning > .material-symbols-rounded { font-size:27px; font-variation-settings:'FILL' 0,'wght' 450,'GRAD' 0,'opsz' 28; }
.topbar-planning:hover,.topbar-planning:focus-visible,.topbar-planning.is-active { color:#5524e4; background:#f1edff; box-shadow:0 0 0 1px #ddd4ff; outline:none; }
.topbar-planning.is-active > .material-symbols-rounded { font-variation-settings:'FILL' 1,'wght' 500,'GRAD' 0,'opsz' 28; }
.notification-center { position: absolute; z-index: 2147483003; top: calc(100% + 15px); right: -18px; display: none; width: min(390px,calc(100vw - 28px)); overflow: hidden; border: 1px solid #e2def2; border-radius: 16px; background: #fff; box-shadow: 0 22px 55px rgba(26,19,65,.18),0 5px 14px rgba(37,25,82,.08); }
.notification-center::before { content: ''; position: absolute; top: -7px; right: 27px; width: 14px; height: 14px; border-top: 1px solid #e2def2; border-left: 1px solid #e2def2; background: #fff; transform: rotate(45deg); }
.topbar-notifications.is-open .notification-center { display: block; animation: notificationMenuIn .17s ease-out; }
.notification-center > header { position: relative; z-index: 1; display: flex; min-height: 60px; padding: 0 18px; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #eeeaf7; background: linear-gradient(100deg,#fff,#faf8ff); }
.notification-center > header h2 { margin: 0; color: #17233a; font: 800 17px var(--font-display); }
.notification-center > header button,
.notification-center > footer button { padding: 0; border: 0; color: #6a38e6; background: transparent; font-size: 11px; font-weight: 700; cursor: pointer; }
.notification-center > header button:hover,
.notification-center > footer button:hover { color: #4318bb; }
.notification-center__list { max-height: min(465px,calc(100vh - 190px)); padding: 7px 8px; overflow-y: auto; scrollbar-color: #c8bdf1 transparent; scrollbar-width: thin; }
.notification-item { position: relative; display: grid; min-height: 91px; padding: 12px 35px 12px 10px; grid-template-columns: 42px minmax(0,1fr); align-items: start; gap: 11px; border-radius: 11px; opacity: .72; transition: opacity .15s ease, background .15s ease, transform .16s ease; }
.notification-item + .notification-item { border-top: 1px solid #f0edf6; }
.notification-item:hover { opacity: 1; background: #faf9fd; }
.notification-item.is-unread { opacity: 1; background: #fbfaff; }
.notification-item.is-unread::after { content: ''; position: absolute; top: 17px; right: 13px; width: 6px; height: 6px; border-radius: 50%; background: #6a35e7; box-shadow: 0 0 0 3px #eee9ff; }
.notification-item.is-removing { opacity: 0; transform: translateX(18px); }
.notification-item__icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; }
.notification-item__icon .material-symbols-rounded { font-size: 20px; }
.notification-item__icon--violet { color: #6330e8; background: #efeaff; }
.notification-item__icon--blue { color: #2471d8; background: #eaf3ff; }
.notification-item__icon--orange { color: #e05c2c; background: #fff0e9; }
.notification-item__icon--green { color: #188861; background: #e8f7f1; }
.notification-item__content { display: flex; min-width: 0; padding: 0; border: 0; flex-direction: column; align-items: flex-start; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.notification-item__content strong { color: #26334a; font-size: 12px; font-weight: 750; line-height: 1.35; }
.notification-item__content p { margin: 3px 0 5px; color: #758196; font-size: 11px; line-height: 1.45; }
.notification-item__content small { color: #9a8db8; font-size: 10px; font-weight: 650; }
.notification-item__dismiss { position: absolute; right: 7px; bottom: 9px; display: grid; width: 25px; height: 25px; padding: 0; place-items: center; border: 0; border-radius: 7px; color: #a0a9b8; background: transparent; cursor: pointer; }
.notification-item__dismiss:hover { color: #e24b2c; background: #fff0ed; }
.notification-item__dismiss .material-symbols-rounded { font-size: 15px; }
.notification-center__empty { display: flex; min-height: 235px; padding: 25px; align-items: center; justify-content: center; flex-direction: column; color: #8390a4; text-align: center; }
.notification-center__empty[hidden] { display: none; }
.notification-center__empty > .material-symbols-rounded { margin-bottom: 10px; color: #8a68eb; font-size: 34px; }
.notification-center__empty strong { color: #334159; font-size: 13px; }
.notification-center__empty span { margin-top: 4px; font-size: 11px; }
.notification-center > footer { display: flex; min-height: 45px; padding: 0 18px; align-items: center; justify-content: center; border-top: 1px solid #eeeaf7; background: #fcfbff; }
.notification-center > footer button { display: inline-flex; align-items: center; gap: 6px; }
.notification-center > footer .material-symbols-rounded { font-size: 17px; }
@keyframes notificationMenuIn { from { opacity: 0; transform: translateY(-5px) scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) {
  .topbar-profile { min-width: 45px; }
  .topbar-profile__trigger { width: 45px; padding: 5px; }
  .topbar-profile__trigger > div,
  .topbar-profile__trigger > i { display: none; }
  .topbar-profile.is-open > .project-menu--user { display: block; }
  .notification-center { right: -65px; }
}

/* Nouveau logo transparent et signature parfaitement centrée. */
.brand > span:last-child { align-items: center; text-align: center; }
.brand-mark { border: 0; background: transparent; box-shadow: none; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.42); }
.brand-mark--small img { width: 100%; height: 100%; }
.rail-brand img { border: 0; background: transparent; box-shadow: none; transform: scale(1.42); }
.rail-brand strong,
.rail-brand small { width: 100%; text-align: center; }
.rail-brand small { display: block; margin-right: auto; margin-left: auto; line-height: 1.15; }

/* Gestion des serveurs VPS. */
.vps-page { display: flex; margin: -2px 0 0; flex-direction: column; gap: 14px; }
.vps-page-actions { display: flex; min-height: 38px; align-items: center; justify-content: flex-end; gap: 10px; }
.vps-page-actions form { display: flex; }
.button--danger-outline { color: #df334b; border-color: #f2a7b1; background: #fff; }
.button--danger-outline:hover:not(:disabled) { color: #bd2439; border-color: #e76c7d; background: #fff3f5; }
.vps-page-actions button:disabled { opacity: .46; cursor: not-allowed; }

.vps-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.vps-stat { position: relative; display: grid; min-height: 120px; padding: 16px 15px 12px; grid-template-columns: 42px 1fr; grid-template-rows: 1fr 24px; column-gap: 11px; overflow: hidden; border: 1px solid #e1e5ed; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(31, 43, 69, .035); }
.vps-stat__icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 9px; color: #5728ee; background: #f0ebff; }
.vps-stat__icon .material-symbols-rounded { font-size: 25px; }
.vps-stat > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.vps-stat small { color: #3e4960; font-size: 11px; font-weight: 700; }
.vps-stat strong { color: #18233a; font: 800 22px/1.05 var(--font-display); }
.vps-stat em { color: #69758b; font-size: 10px; font-style: normal; }
.vps-stat--red .vps-stat__icon { color: #e33a4c; background: #ffebee; }
.vps-stat--red em { color: #d83a4d; }
.vps-stat--green .vps-stat__icon { color: #259e59; background: #e7f7ed; }
.vps-sparkline { display: flex; height: 24px; grid-column: 1 / -1; align-items: flex-end; gap: 2px; }
.vps-sparkline i { display: block; height: var(--bar-height); min-height: 3px; flex: 1; border-radius: 4px 4px 1px 1px; background: #6331f3; transform: scaleY(1.45); transform-origin: bottom; }
.vps-stat--red .vps-sparkline i { background: #ef4759; }
.vps-stat--green .vps-sparkline i { background: #36ad68; }

.vps-table-card { overflow: hidden; border: 1px solid #dfe4ec; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(31, 43, 69, .03); }
.vps-filters { display: flex; min-height: 61px; padding: 10px 13px; align-items: flex-end; gap: 11px; border-bottom: 1px solid #e2e6ed; }
.vps-filters > label { display: flex; min-width: 105px; flex-direction: column; gap: 5px; color: #4c586e; font-size: 10px; font-weight: 700; }
.vps-filters select { width: 100%; min-height: 34px; padding: 0 28px 0 10px; border: 1px solid #dce2ea; border-radius: 7px; outline: 0; color: #536078; background: #fff; font: 500 11px var(--font-body); }
.vps-filters select:focus, .vps-search:focus-within { border-color: #8061ef; box-shadow: 0 0 0 3px rgba(91, 45, 235, .09); }
.vps-search { position: relative; display: flex !important; width: min(255px, 30%); min-width: 190px !important; height: 34px; padding: 0 10px; align-items: center; flex-direction: row !important; gap: 7px !important; border: 1px solid #dce2ea; border-radius: 7px; }
.vps-search .material-symbols-rounded { color: #718099; font-size: 18px; }
.vps-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: #2e3a51; background: transparent; font: 500 11px var(--font-body); }
.vps-search input::placeholder { color: #8a95a9; }
.vps-filter-button { display: inline-flex; min-height: 34px; margin-left: auto; padding: 0 12px; align-items: center; justify-content: center; gap: 6px; border: 1px solid #dce2ea; border-radius: 7px; color: #58647a; background: #fff; font: 600 11px var(--font-body); cursor: pointer; }
.vps-filter-button:hover { color: #5629e9; border-color: #c8bdf0; background: #f7f5ff; }
.vps-filter-button .material-symbols-rounded { font-size: 17px; }
.vps-table-scroll { width: 100%; overflow-x: auto; }
.vps-table { min-width: 1240px; }
.vps-table__head, .vps-table__row { display: grid; grid-template-columns: 34px minmax(145px, 1.35fr) 135px 112px 58px 67px 68px 115px 92px 122px 106px; align-items: center; column-gap: 9px; }
.vps-table__head { min-height: 39px; padding: 0 12px; color: #707c90; border-bottom: 1px solid #e3e7ed; background: #fcfcfd; font-size: 10px; font-weight: 600; }
.vps-table__head > span { display: flex; align-items: center; gap: 3px; }
.vps-table__head .material-symbols-rounded { color: #8b95a7; font-size: 14px; }
.vps-table__row { min-height: 57px; padding: 7px 12px; color: #4e5a70; border-bottom: 1px solid #e7eaf0; font-size: 11px; }
.vps-table__row:last-child { border-bottom: 0; }
.vps-table__row:hover { background: #faf9ff; }
.vps-table__row:has([data-vps-select]:checked) { background: #f5f2ff; box-shadow: inset 3px 0 #5d2fec; }
.vps-selector { display: grid; width: 22px; height: 28px; place-items: center; cursor: pointer; }
.vps-selector input { position: absolute; opacity: 0; }
.vps-selector span { width: 14px; height: 14px; border: 1px solid #ccd3df; border-radius: 3px; background: #fff; }
.vps-selector input:checked + span { border-color: #5b2eea; background: #5b2eea; box-shadow: inset 0 0 0 3px #fff; }
.vps-name, .vps-uptime { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.vps-name strong, .vps-uptime strong { overflow: hidden; color: #303b50; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.vps-name small, .vps-uptime small { color: #7c879a; font-size: 10px; }
.vps-provider { display: flex; min-width: 0; align-items: center; gap: 6px; overflow: hidden; color: #3d495f; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.vps-provider > span { display: grid; width: 21px; height: 21px; flex: 0 0 21px; place-items: center; color: #3186f6; }
.vps-provider .material-symbols-rounded { font-size: 20px; }
.vps-table__row code { color: #46536a; background: transparent; font: 500 10px var(--font-body); }
.vps-environment { display: inline-flex; width: max-content; max-width: 100%; padding: 4px 7px; align-items: center; border-radius: 5px; font-size: 10px; font-weight: 600; white-space: nowrap; }
.vps-environment--production { color: #269256; background: #e5f7eb; }
.vps-environment--staging { color: #5733d2; background: #eee9ff; }
.vps-environment--development { color: #2169b7; background: #e8f2ff; }
.vps-monitoring { display: grid; grid-template-columns: 8px 1fr; align-items: center; gap: 3px 6px; color: #32945a; }
.vps-monitoring > i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.vps-monitoring > span { font-size: 10px; font-weight: 600; }
.vps-monitoring > small { grid-column: 2; color: #d03c50; font-size: 10px; }
.vps-monitoring--degraded { color: #d88b1b; }
.vps-monitoring--offline { color: #da4054; }
.vps-monitoring--maintenance { color: #768296; }
.vps-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.vps-row-actions form { display: flex; }
.vps-row-actions button { display: grid; width: 29px; height: 29px; padding: 0; place-items: center; border: 1px solid #dfe4eb; border-radius: 6px; color: #5f6c82; background: #fff; cursor: pointer; }
.vps-row-actions button:hover { color: #5527e8; border-color: #cbbff2; background: #f5f2ff; }
.vps-row-actions form button { color: #df4053; border-color: #f0bdc4; }
.vps-row-actions form button:hover { color: #c42c40; border-color: #e98593; background: #fff2f4; }
.vps-row-actions .material-symbols-rounded { font-size: 17px; }
.vps-no-results { padding: 28px; color: #778398; text-align: center; font-size: 12px; }
.vps-no-results .material-symbols-rounded { margin-right: 6px; vertical-align: middle; }
.vps-table-footer { display: flex; min-height: 45px; padding: 7px 13px; align-items: center; justify-content: space-between; color: #69758a; border-top: 1px solid #e3e7ed; font-size: 10px; }
.vps-table-footer > div { display: flex; align-items: center; gap: 6px; }
.vps-table-footer button, .vps-table-footer strong { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #e0e4eb; border-radius: 5px; color: #7a8598; background: #fff; }
.vps-table-footer strong { color: #5728eb; border-color: #8d72ec; font-size: 11px; }
.vps-table-footer button:disabled { opacity: .5; }
.vps-table-footer .material-symbols-rounded { font-size: 17px; }
.vps-empty-state { display: flex; min-height: 310px; padding: 35px; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.vps-empty-state > .material-symbols-rounded { color: #7956ed; font-size: 46px; }
.vps-empty-state h2 { margin: 11px 0 5px; color: #263149; font: 800 19px var(--font-display); }
.vps-empty-state p { margin: 0 0 18px; color: #748096; font-size: 12px; }

.vps-dialog { max-width: 760px; }
.vps-monitoring-toggle { display: grid; min-height: 64px; margin: 14px 22px 0; padding: 10px 13px; grid-template-columns: 35px 1fr 39px; align-items: center; gap: 10px; border: 1px solid #dfe4ec; border-radius: 8px; cursor: pointer; }
.vps-monitoring-toggle > input { position: absolute; opacity: 0; }
.vps-monitoring-toggle > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 8px; color: #5c30e9; background: #eee9ff; }
.vps-monitoring-toggle > span .material-symbols-rounded { font-size: 22px; }
.vps-monitoring-toggle > div { display: flex; flex-direction: column; gap: 3px; }
.vps-monitoring-toggle strong { color: #344056; font-size: 12px; }
.vps-monitoring-toggle small { color: #7b8699; font-size: 10px; }
.vps-monitoring-toggle > i { position: relative; width: 37px; height: 21px; border-radius: 22px; background: #c9cfda; transition: background .16s ease; }
.vps-monitoring-toggle > i::after { position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(20, 31, 53, .22); content: ''; transition: transform .16s ease; }
.vps-monitoring-toggle > input:checked ~ i { background: #5d2dec; }
.vps-monitoring-toggle > input:checked ~ i::after { transform: translateX(16px); }

@media (max-width: 1350px) {
  .vps-stats { grid-template-columns: repeat(2, 1fr); }
  .vps-filters { flex-wrap: wrap; }
  .vps-filter-button { margin-left: 0; }
}
@media (max-width: 900px) {
  .vps-page { margin: 0; }
  .vps-page-actions { align-items: stretch; flex-wrap: wrap; justify-content: flex-start; }
  .vps-page-actions .button { flex: 1; justify-content: center; white-space: nowrap; }
  .vps-page-actions form { flex: 1; }
  .vps-page-actions form .button { width: 100%; }
  .vps-filters > label, .vps-search { width: calc(50% - 6px); min-width: 0 !important; }
}
@media (max-width: 620px) {
  .vps-stats { grid-template-columns: 1fr; }
  .vps-filters > label, .vps-search, .vps-filter-button { width: 100%; }
  .vps-dialog .task-dialog__grid { grid-template-columns: 1fr; }
}

/* Galerie de présentations. */
.presentations-page { display: flex; margin: -2px 0 0; flex-direction: column; gap: 17px; }
.presentation-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.presentation-stat { position: relative; display: grid; min-height: 124px; padding: 16px 15px 13px; grid-template-columns: 42px minmax(0, 1fr) 24px; grid-template-rows: minmax(66px, 1fr) 22px; column-gap: 11px; overflow: hidden; border: 1px solid #e0e5ed; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(31, 43, 69, .035); }
.presentation-stat__icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 9px; color: #5425ef; background: #eee9ff; }
.presentation-stat__icon .material-symbols-rounded { font-size: 25px; }
.presentation-stat > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.presentation-stat small { overflow: hidden; color: #27334a; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.presentation-stat strong { color: #172238; font: 800 23px/1 var(--font-display); }
.presentation-stat em { color: #69758b; font-size: 11px; font-style: normal; }
.presentation-more { display: grid; width: 24px; height: 28px; padding: 0; place-items: start center; border: 0; color: #334057; background: transparent; cursor: pointer; }
.presentation-more:hover { color: #5628ec; }
.presentation-more .material-symbols-rounded { font-size: 19px; }
.presentation-stat__progress { display: block; height: 6px; margin-right: 14px; grid-column: 1 / -1; align-self: center; overflow: hidden; border-radius: 7px; background: #eef0f4; }
.presentation-stat__progress b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5e29ed, #3d18ea); }
.presentation-stat > a { display: inline-flex; width: max-content; grid-column: 1 / -1; align-items: center; gap: 7px; color: #4f22e8; font-size: 11px; font-weight: 700; text-decoration: none; }
.presentation-stat > a:hover { color: #3010b8; }
.presentation-stat > a .material-symbols-rounded { font-size: 16px; }

.presentation-gallery { overflow: hidden; border: 1px solid #dfe4eb; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(31, 43, 69, .03); }
.presentation-gallery__head { display: flex; min-height: 61px; padding: 11px 14px; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #e3e7ed; }
.presentation-gallery__head > div:first-child { display: flex; align-items: baseline; gap: 9px; }
.presentation-gallery__head h2 { margin: 0; color: #202c43; font: 800 16px var(--font-display); }
.presentation-gallery__head > div:first-child > span { color: #8490a3; font-size: 11px; }
.presentation-gallery__controls { display: flex; align-items: center; gap: 10px; }
.presentation-create-button { min-height: 35px; padding: 0 13px; white-space: nowrap; font-size: 11px; }
.presentation-ai-create-button { min-height: 35px; padding: 0 13px; border: 1px solid #cfc2fa; color: #5727e9; background: linear-gradient(135deg,#f7f4ff,#eee8ff); box-shadow: 0 5px 13px rgba(80,39,213,.1); white-space: nowrap; font-size: 11px; }
.presentation-ai-create-button:hover { color: #fff; border-color: #5b2deb; background: linear-gradient(135deg,#7244f2,#4c1dda); box-shadow: 0 8px 18px rgba(80,39,213,.22); }
.presentation-ai-create-button .material-symbols-rounded { font-size: 18px; }
.presentation-gallery__controls select { min-width: 155px; height: 35px; padding: 0 31px 0 10px; border: 1px solid #dfe4eb; border-radius: 7px; outline: 0; color: #566278; background: #fff; font: 600 11px var(--font-body); }
.presentation-gallery__controls select:focus { border-color: #8265ec; box-shadow: 0 0 0 3px rgba(89, 43, 235, .08); }
.presentation-view-switch { display: flex; height: 35px; padding: 3px; gap: 2px; border: 1px solid #dfe4eb; border-radius: 7px; }
.presentation-view-switch button { display: grid; width: 28px; padding: 0; place-items: center; border: 0; border-radius: 5px; color: #69768b; background: transparent; cursor: pointer; }
.presentation-view-switch button:hover, .presentation-view-switch button.is-active { color: #5222e9; background: #eee9ff; }
.presentation-view-switch .material-symbols-rounded { font-size: 18px; }
.presentation-grid { display: grid; padding: 12px; grid-template-columns: repeat(4, minmax(190px, 1fr)); gap: 11px; }
.presentation-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid #e1e5ec; border-radius: 8px; background: #fff; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.presentation-card:hover { border-color: #c8baf7; box-shadow: 0 8px 22px rgba(65, 39, 151, .1); transform: translateY(-2px); }
.presentation-card.is-featured { border-color: #6d3ef2; box-shadow: 0 0 0 1px #6d3ef2; }
.presentation-cover { position: relative; min-height: 158px; padding: 17px 14px; overflow: visible; color: #271756; background: linear-gradient(135deg, #faf9ff, #f0edfb); }
.presentation-cover::before { position: absolute; inset: 0; background: radial-gradient(circle at 80% 10%, rgba(108, 64, 239, .11), transparent 38%), linear-gradient(115deg, transparent 55%, rgba(255, 255, 255, .7)); content: ''; }
.presentation-cover--pitch { background: linear-gradient(135deg, #fbfaff, #f3f0fb); }
.presentation-cover--product { background: linear-gradient(135deg, #fbfaff, #f0effb); }
.presentation-cover--strategy { background: linear-gradient(135deg, #faf9ff, #f4f1fb); }
.presentation-project-pill { position: absolute; z-index: 3; top: 12px; left: 13px; padding: 4px 8px; border: 1px solid #cfc2fb; border-radius: 6px; color: #592ddd; background: rgba(255,255,255,.82); font-size: 10px; font-weight: 750; }
.presentation-card-menu { position: absolute; z-index: 8; top: 8px; right: 8px; }
.presentation-card-menu > summary { display: grid; width: 29px; height: 31px; place-items: center; border-radius: 7px; color: #26334b; background: rgba(255,255,255,.72); cursor: pointer; list-style: none; }
.presentation-card-menu > summary::-webkit-details-marker { display: none; }
.presentation-card-menu > summary:hover { color: #5528e8; background: #fff; }
.presentation-card-menu > summary .material-symbols-rounded { font-size: 20px; }
.presentation-card-menu > div { position: absolute; top: calc(100% + 4px); right: 0; width: 148px; padding: 6px; border: 1px solid #dfe3ec; border-radius: 9px; background: #fff; box-shadow: 0 15px 35px rgba(15,26,52,.18); }
.presentation-card-menu form { margin: 0; }
.presentation-card-menu button, .presentation-card-menu > div > a { display: flex; width: 100%; min-height: 34px; padding: 0 8px; align-items: center; gap: 8px; border: 0; border-radius: 6px; color: #455269; background: transparent; font: 600 11px var(--font-body); cursor: pointer; }
.presentation-card-menu button:hover, .presentation-card-menu > div > a:hover { color: #5426e8; background: #f3f0ff; }
.presentation-card-menu button.is-danger { color: #d7374b; }
.presentation-card-menu button.is-danger:hover { background: #fff0f2; }
.presentation-card-menu button .material-symbols-rounded, .presentation-card-menu > div > a .material-symbols-rounded { font-size: 17px; }
.presentation-cover__copy { position: relative; z-index: 2; display: flex; width: 62%; height: 100%; min-height: 122px; padding-top: 42px; flex-direction: column; }
.presentation-cover__copy small { margin-bottom: 13px; color: #5c32dd; font-size: 10px; font-weight: 700; }
.presentation-cover__copy strong { color: #221936; font: 800 13px/1.18 var(--font-display); }
.presentation-cover__copy em { margin-top: 4px; color: #4e3fd0; font-size: 10px; font-style: normal; font-weight: 700; line-height: 1.25; }
.presentation-cover--investor .presentation-cover__copy em { color: #6d7180; font-weight: 500; }
.presentation-cover__copy span { margin-top: auto; color: #777f91; font-size: 10px; }
.presentation-cover__visual { position: absolute; z-index: 1; right: 10px; bottom: 15px; width: 38%; height: 88px; }
.presentation-cover__visual > span, .presentation-cover__visual > i { position: absolute; display: grid; place-items: center; border: 1px solid rgba(96, 52, 220, .11); color: #5b2ae9; background: rgba(255, 255, 255, .86); box-shadow: 0 8px 18px rgba(73, 44, 157, .11); }
.presentation-cover__visual > span { top: 0; right: 10px; width: 48px; height: 48px; border-radius: 50%; }
.presentation-cover__visual > i { right: 0; bottom: 0; width: 73px; height: 51px; border-radius: 7px; color: #fff; background: linear-gradient(145deg, #7643f3, #3d18ca); font-style: normal; transform: rotate(-2deg); }
.presentation-cover__visual > i::after { position: absolute; right: 8px; bottom: 8px; left: 8px; height: 18px; border-bottom: 2px solid rgba(255, 255, 255, .72); border-left: 2px solid rgba(255, 255, 255, .72); content: ''; transform: skewY(-15deg); }
.presentation-cover--product .presentation-cover__visual > i { width: 64px; height: 69px; color: #6131df; background: rgba(255, 255, 255, .94); transform: rotate(5deg); }
.presentation-cover--strategy .presentation-cover__visual > span { top: 8px; right: 2px; width: 76px; height: 76px; color: #5b2ae9; }
.presentation-cover--strategy .presentation-cover__visual > i { display: none; }
.presentation-cover__visual .material-symbols-rounded { font-size: 27px; }
.presentation-cover__visual > i .material-symbols-rounded { z-index: 2; font-size: 28px; }
.presentation-cover--strategy .presentation-cover__visual .material-symbols-rounded { font-size: 47px; }
.presentation-card__body { display: flex; min-height: 137px; padding: 12px 11px 10px; flex-direction: column; }
.presentation-card__body h3 { margin: 0 0 7px; overflow: hidden; color: #2a354b; font: 800 13px var(--font-display); text-overflow: ellipsis; white-space: nowrap; }
.presentation-card__body p { display: flex; margin: 0; align-items: center; gap: 6px; color: #667287; font-size: 11px; white-space: nowrap; }
.presentation-card__body p i { width: 3px; height: 3px; border-radius: 50%; background: #657188; }
.presentation-owner { display: flex; margin-top: auto; align-items: center; gap: 7px; }
.presentation-owner > span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #795235, #102542); font-size: 10px; font-weight: 700; }
.presentation-owner strong { color: #465168; font-size: 11px; }
.presentation-view-button { display:grid; width: 100%; min-height: 34px; margin-top: 9px; place-items:center; border: 1px solid #8f70ed; border-radius: 6px; color: #5425e8; background: #fff; font: 700 12px var(--font-body); cursor: pointer; }
.presentation-view-button:hover { color: #fff; background: #5829ea; }
.presentation-card__actions { display: grid; min-height: 47px; padding: 7px 9px; grid-template-columns: repeat(4, 1fr); gap: 6px; border-top: 1px solid #e5e8ee; }
.presentation-card__actions button { display: grid; min-width: 0; padding: 0; place-items: center; border: 1px solid #dfe4eb; border-radius: 6px; color: #4c5970; background: #fff; cursor: pointer; }
.presentation-card__actions button:hover { color: #5327e6; border-color: #cbbef2; background: #f6f3ff; }
.presentation-card__actions button.is-danger { color: #e33a4d; border-color: #f0bdc4; }
.presentation-card__actions button.is-danger:hover { color: #c52c40; border-color: #e88391; background: #fff2f4; }
.presentation-card__actions .material-symbols-rounded { font-size: 18px; }
.presentation-gallery__all { display: inline-flex; margin: 1px 14px 13px; align-items: center; gap: 8px; color: #4f22e8; font-size: 10px; font-weight: 700; text-decoration: none; }
.presentation-gallery__all:hover { color: #3010b8; }
.presentation-gallery__all .material-symbols-rounded { font-size: 17px; }
.presentation-no-results { display: grid; min-height: 260px; grid-column: 1 / -1; place-items: center; align-content: center; color: #788397; text-align: center; }
.presentation-no-results[hidden] { display: none; }
.presentation-no-results > .material-symbols-rounded { margin-bottom: 18px; color: #876cf0; font-size: 39px; }
.presentation-no-results h3 { margin: 0; color: #344057; font: 800 16px var(--font-display); }
.presentation-no-results p { margin: 9px 0 0; font-size: 11px; }
.presentation-no-results .button { margin-top: 22px; }
.presentation-no-results__actions { display: flex; justify-content: center; gap: 9px; }
.presentation-grid.is-list { grid-template-columns: 1fr; }
.presentation-grid.is-list .presentation-card { display: grid; min-height: 104px; grid-template-columns: 180px minmax(0, 1fr); }
.presentation-grid.is-list .presentation-cover { min-height: 104px; padding: 11px; }
.presentation-grid.is-list .presentation-cover__copy { min-height: 82px; }
.presentation-grid.is-list .presentation-cover__copy { padding-top: 25px; }
.presentation-grid.is-list .presentation-cover__copy small { margin-bottom: 5px; }
.presentation-grid.is-list .presentation-cover__copy em, .presentation-grid.is-list .presentation-cover__copy span, .presentation-grid.is-list .presentation-cover__visual { display: none; }
.presentation-grid.is-list .presentation-card__body { min-height: 104px; padding: 15px; }
.presentation-grid.is-list .presentation-view-button { width: 150px; margin-top: auto; align-self: flex-end; }
.presentation-template-dialog { width: min(1230px, calc(100vw - 40px)); max-height: min(760px, calc(100vh - 40px)); padding: 0; overflow: hidden; border: 0; border-radius: 22px; color: #19253c; background: #fff; box-shadow: 0 30px 90px rgba(7, 14, 35, .3); }
.presentation-template-dialog::backdrop { background: rgba(19, 23, 45, .52); backdrop-filter: blur(3px); }
.presentation-template-dialog__shell { display: flex; max-height: min(760px, calc(100vh - 40px)); padding: 26px 32px 20px; overflow: hidden; flex-direction: column; }
.presentation-template-dialog__head { display: grid; grid-template-columns: minmax(0, 1fr) 40px; align-items: start; gap: 22px; }
.presentation-template-dialog__head h2 { margin: 0; color: #18243c; font: 800 25px/1.15 var(--font-display); }
.presentation-template-dialog__head p { margin: 5px 0 0; color: #69768d; font-size: 13px; }
.presentation-template-dialog__head > button { display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 1px solid #e2e6ef; border-radius: 11px; color: #26334b; background: #f8f9fc; cursor: pointer; }
.presentation-template-dialog__head > button:hover { color: #5528e8; border-color: #cfc3f7; background: #f2efff; }
.presentation-template-search { display: grid; height: 44px; margin-top: 19px; padding: 0 12px; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: center; gap: 7px; border: 1px solid #dfe4ee; border-radius: 11px; background: #fbfcfe; }
.presentation-template-search:focus-within { border-color: #876cf0; box-shadow: 0 0 0 3px rgba(91, 43, 235, .08); }
.presentation-template-search > .material-symbols-rounded { color: #78859a; font-size: 20px; }
.presentation-template-search input { height: 100%; min-width: 0; padding: 0; border: 0; outline: 0; color: #26324a; background: transparent; font: 500 12px var(--font-body); }
.presentation-template-search input::placeholder { color: #8e99ac; }
.presentation-template-search kbd { padding: 4px 9px; border: 1px solid #e3e7ef; border-radius: 8px; color: #637087; background: #fff; box-shadow: none; font: 600 10px var(--font-body); }
.presentation-template-grid { display: grid; min-height: 0; margin-top: 15px; padding: 1px; overflow-y: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; scrollbar-width: thin; scrollbar-color: #d6d0eb transparent; }
.presentation-template-option { position: relative; display: grid; min-height: 108px; padding: 16px 17px 15px 13px; grid-template-columns: 49px minmax(0, 1fr) 22px; align-items: start; gap: 11px; border: 1px solid #dfe4ed; border-radius: 15px; background: #fff; cursor: pointer; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.presentation-template-option:hover { border-color: #b8a5f6; box-shadow: 0 8px 22px rgba(69, 38, 163, .08); transform: translateY(-1px); }
.presentation-template-option.is-selected { border: 2px solid #5b27f3; padding: 15px 16px 14px 12px; background: #f9f7ff; box-shadow: 0 0 0 2px rgba(91, 39, 243, .04); }
.presentation-template-option__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 12px; color: #6030ee; background: #eee9ff; }
.presentation-template-option__icon .material-symbols-rounded { font-size: 29px; font-variation-settings: 'FILL' 0, 'wght' 420, 'GRAD' 0, 'opsz' 30; }
.presentation-template-option__copy { display: flex; min-width: 0; padding-top: 2px; flex-direction: column; gap: 7px; }
.presentation-template-option__copy strong { color: #1d2940; font: 800 13px/1.25 var(--font-display); }
.presentation-template-option__copy small { color: #68768e; font-size: 11px; line-height: 1.42; }
.presentation-template-option__arrow { align-self: center; color: #7b879a; }
.presentation-template-option__arrow .material-symbols-rounded { font-size: 20px; }
.presentation-template-option__check { position: absolute; top: 8px; right: 8px; display: none; color: #5b27ef; }
.presentation-template-option__check .material-symbols-rounded { font-size: 19px; }
.presentation-template-option.is-selected .presentation-template-option__check { display: block; }
.presentation-template-option.is-selected .presentation-template-option__arrow { color: #5b27ef; }
.presentation-template-option[hidden] { display: none; }
.presentation-template-empty { min-height: 150px; grid-column: 1 / -1; place-items: center; align-content: center; color: #7b8798; text-align: center; }
.presentation-template-empty[hidden] { display: none; }
.presentation-template-empty:not([hidden]) { display: grid; }
.presentation-template-empty > .material-symbols-rounded { color: #7a5de8; font-size: 34px; }
.presentation-template-empty strong { margin-top: 7px; color: #344057; font-size: 14px; }.presentation-template-empty span { margin-top: 3px; font-size: 11px; }
.presentation-template-dialog__foot { display: flex; min-height: 62px; margin-top: 17px; padding-top: 14px; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #e5e8ef; }
.presentation-template-dialog__foot > div { display: flex; gap: 9px; }
.presentation-template-dialog__foot .button { min-height: 40px; padding: 0 17px; font-size: 12px; }
.presentation-template-all { display: inline-flex; padding: 0; align-items: center; gap: 8px; border: 0; color: #5829ed; background: transparent; font: 700 12px var(--font-body); cursor: pointer; }
.presentation-template-all:hover { color: #3514bf; }.presentation-template-all .material-symbols-rounded { font-size: 18px; }
.presentation-ai-dialog { width: min(760px, calc(100vw - 32px)); max-height: min(780px, calc(100vh - 32px)); padding: 0; overflow: hidden; border: 0; border-radius: 20px; color: #19253c; background: #fff; box-shadow: 0 34px 100px rgba(12,18,42,.34); }
.presentation-ai-dialog::backdrop { background: rgba(14,18,38,.58); backdrop-filter: blur(4px); }
.presentation-ai-dialog > form { max-height: min(780px, calc(100vh - 32px)); padding: 0; overflow-y: auto; }
.presentation-ai-dialog__head { display: grid; padding: 24px 25px 18px; grid-template-columns: 52px minmax(0,1fr) 38px; align-items: start; gap: 14px; border-bottom: 1px solid #e9e5f6; background: radial-gradient(circle at 90% 0,rgba(112,67,241,.13),transparent 34%),linear-gradient(125deg,#fff,#faf8ff); }
.presentation-ai-dialog__head > span { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg,#7b4af4,#4b1ed6); box-shadow: 0 10px 24px rgba(82,38,211,.24); }
.presentation-ai-dialog__head > span .material-symbols-rounded { font-size: 27px; font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 28; }
.presentation-ai-dialog__head small { color: #6840df; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.presentation-ai-dialog__head h2 { margin: 4px 0 5px; color: #15213a; font: 800 23px/1.15 var(--font-display); }
.presentation-ai-dialog__head p { max-width: 580px; margin: 0; color: #69758a; font-size: 12px; line-height: 1.5; }
.presentation-ai-dialog__head > button { display: grid; width: 36px; height: 36px; padding: 0; place-items: center; border: 1px solid #e2e5ed; border-radius: 10px; color: #657188; background: #fff; cursor: pointer; }
.presentation-ai-dialog__head > button:hover { color: #5425e8; border-color: #cfc3f7; background: #f5f2ff; }
.presentation-ai-dialog__context { display: grid; min-height: 65px; margin: 18px 25px 0; padding: 11px 13px; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px solid #ddd6fa; border-radius: 12px; background: #f8f6ff; }
.presentation-ai-dialog__context > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; color: #5a2de5; background: #ebe5ff; }
.presentation-ai-dialog__context > span .material-symbols-rounded { font-size: 21px; }
.presentation-ai-dialog__context p { display: flex; margin: 0; flex-direction: column; gap: 3px; }
.presentation-ai-dialog__context strong { color: #2b3650; font-size: 12px; }
.presentation-ai-dialog__context small { color: #758096; font-size: 10px; }
.presentation-ai-dialog__context em { padding: 5px 8px; border-radius: 999px; color: #5729df; background: #ebe5ff; font-size: 10px; font-style: normal; font-weight: 800; white-space: nowrap; }
.presentation-ai-dialog__grid { display: grid; padding: 18px 25px; grid-template-columns: 1fr 1fr; gap: 15px; }
.presentation-ai-dialog__grid .field { margin: 0; }
.presentation-ai-dialog__grid .field > span { color: #354159; font-size: 11px; }
.presentation-ai-dialog__grid .field select,.presentation-ai-dialog__grid .field input,.presentation-ai-dialog__grid .field textarea { font-size: 12px; }
.presentation-ai-dialog__grid .field small { margin-top: 5px; color: #8791a3; font-size: 10px; line-height: 1.4; }
.presentation-ai-dialog__objective { grid-column: 1/-1; }
.presentation-ai-dialog__objective > span { display: flex; justify-content: space-between; }
.presentation-ai-dialog__objective > span em { color: #8c95a5; font-size: 10px; font-style: normal; font-weight: 500; }
.presentation-ai-dialog__status { min-height: 60px; margin: 0 25px 18px; padding: 11px 13px; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 10px; border: 1px solid #d7cdfb; border-radius: 11px; color: #4f25da; background: linear-gradient(100deg,#f2eeff,#faf8ff); }
.presentation-ai-dialog__status:not([hidden]) { display: grid; }
.presentation-ai-dialog__status > span { font-size: 25px; animation: framing-ai-spin 1.1s linear infinite; }
.presentation-ai-dialog__status > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.presentation-ai-dialog__status strong { color: #3c286f; font-size: 12px; }
.presentation-ai-dialog__status small { color: #75658e; font-size: 10px; }
.presentation-ai-dialog footer { display: flex; min-height: 70px; padding: 14px 25px; align-items: center; justify-content: flex-end; gap: 10px; border-top: 1px solid #e6e8ee; background: #fbfbfd; }
.presentation-ai-dialog footer .button { min-height: 40px; }
.presentation-ai-dialog footer .button.is-loading .material-symbols-rounded { animation: framing-ai-spin 1s linear infinite; }
.presentation-dialog { max-width: 620px; }
.presentation-preview-dialog { width: min(560px, calc(100vw - 28px)); padding: 0; overflow: hidden; border: 1px solid #d9dfea; border-radius: 14px; background: #fff; box-shadow: 0 28px 75px rgba(19, 25, 50, .25); }
.presentation-preview-dialog::backdrop { background: rgba(13, 20, 39, .58); backdrop-filter: blur(3px); }
.presentation-preview-dialog__head { display: grid; padding: 18px 19px 14px; grid-template-columns: 42px minmax(0, 1fr) 34px; align-items: center; gap: 11px; }
.presentation-preview-dialog__head > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 10px; color: #5829e9; background: #eee9ff; }
.presentation-preview-dialog__head small { color: #775ae8; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.presentation-preview-dialog__head h2 { margin: 3px 0 0; color: #1c2840; font: 800 20px var(--font-display); }
.presentation-preview-dialog__head button { display: grid; width: 34px; height: 34px; padding: 0; place-items: center; border: 0; border-radius: 7px; color: #69768a; background: transparent; cursor: pointer; }
.presentation-preview-dialog__head button:hover { color: #4f24df; background: #f2effd; }
.presentation-preview-sheet { position: relative; display: grid; height: 235px; margin: 0 19px; place-items: center; overflow: hidden; border: 1px solid #ddd5fa; border-radius: 10px; color: #fff; background: radial-gradient(circle at 78% 16%, rgba(255,255,255,.35), transparent 24%), linear-gradient(145deg, #7950f4, #4217d2); }
.presentation-preview-sheet > span { display: grid; width: 62px; height: 62px; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(255,255,255,.18); box-shadow: 0 12px 30px rgba(32,13,112,.28); }
.presentation-preview-sheet > span .material-symbols-rounded { font-size: 34px; }
.presentation-preview-sheet > div { position: absolute; right: 28px; bottom: 23px; display: flex; width: 115px; height: 66px; padding: 12px; align-items: flex-end; gap: 7px; border: 1px solid rgba(255,255,255,.34); border-radius: 9px; background: rgba(255,255,255,.16); }
.presentation-preview-sheet > div i { width: 25%; border-radius: 3px 3px 0 0; background: rgba(255,255,255,.83); }
.presentation-preview-sheet > div i:nth-child(1) { height: 43%; }.presentation-preview-sheet > div i:nth-child(2) { height: 78%; }.presentation-preview-sheet > div i:nth-child(3) { height: 100%; }
.presentation-preview-sheet > strong { position: absolute; bottom: 25px; left: 28px; font: 800 18px var(--font-display); }
.presentation-preview-dialog__description { min-height: 39px; margin: 14px 19px 7px; color: #606c81; font-size: 12px; line-height: 1.5; }
.presentation-preview-dialog__meta { display: flex; margin: 0 19px; gap: 18px; color: #58657a; font-size: 11px; }
.presentation-preview-dialog__meta span { display: inline-flex; align-items: center; gap: 6px; }.presentation-preview-dialog__meta .material-symbols-rounded { color: #6335e8; font-size: 17px; }
.presentation-preview-dialog .task-dialog__actions { padding: 15px 19px 18px; }

@media (max-width: 1050px) {
  .presentation-stats { grid-template-columns: repeat(2, 1fr); }
  .presentation-grid { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
  .presentation-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .presentations-page { margin: 0; }
  .presentation-gallery__head { align-items: flex-start; flex-direction: column; }
  .presentation-gallery__controls { width: 100%; flex-wrap: wrap; }
  .presentation-gallery__controls label { flex: 1; }
  .presentation-gallery__controls select { width: 100%; }
  .presentation-grid.is-list .presentation-card { grid-template-columns: 130px minmax(0, 1fr); }
}
@media (max-width: 620px) {
  .presentation-stats, .presentation-grid { grid-template-columns: 1fr; }
  .presentation-gallery__controls label, .presentation-view-switch { width: 100%; flex: auto; }
  .presentation-view-switch button { flex: 1; }
  .presentation-grid.is-list .presentation-card { display: flex; }
  .presentation-grid.is-list .presentation-cover { min-height: 116px; }
  .presentation-grid.is-list .presentation-cover__copy { min-height: 90px; }
  .presentation-dialog .task-dialog__grid { grid-template-columns: 1fr; }
  .presentation-template-dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); border-radius: 16px; }
  .presentation-template-dialog__shell { max-height: calc(100vh - 20px); padding: 20px 16px 14px; }
  .presentation-template-dialog__head h2 { font-size: 20px; }
  .presentation-template-grid { grid-template-columns: 1fr; }
  .presentation-template-dialog__foot { align-items: stretch; flex-direction: column; }
  .presentation-template-dialog__foot > div { display: grid; grid-template-columns: 1fr 1fr; }
  .presentation-template-dialog__foot .button { justify-content: center; }
  .presentation-ai-dialog { width: calc(100vw - 18px); max-height: calc(100vh - 18px); border-radius: 15px; }
  .presentation-ai-dialog > form { max-height: calc(100vh - 18px); }
  .presentation-ai-dialog__head { padding: 18px 16px 15px; grid-template-columns: 44px minmax(0,1fr) 34px; gap: 10px; }
  .presentation-ai-dialog__head > span { width: 42px; height: 42px; }
  .presentation-ai-dialog__head h2 { font-size: 18px; }
  .presentation-ai-dialog__context { margin: 14px 16px 0; }
  .presentation-ai-dialog__context em { display: none; }
  .presentation-ai-dialog__grid { padding: 15px 16px; grid-template-columns: 1fr; }
  .presentation-ai-dialog__objective { grid-column: auto; }
  .presentation-ai-dialog__status { margin: 0 16px 15px; }
  .presentation-ai-dialog footer { padding: 12px 16px; }
}

/* Assistant Fr4ktal AI flottant. */
.ai-chat { position: fixed; z-index: 2147483640; right: 24px; bottom: 22px; display: flex; align-items: flex-end; flex-direction: column; pointer-events: none; isolation: isolate; }
.ai-chat__launcher { position: relative; display: grid; width: 60px; height: 60px; padding: 0; place-items: center; overflow: visible; border: 1px solid rgba(255, 255, 255, .4); border-radius: 50%; color: #fff; background: linear-gradient(145deg, #7d43ff, #4312dd 62%, #3010b9); box-shadow: 0 12px 30px rgba(66, 26, 205, .34), inset 0 1px 0 rgba(255, 255, 255, .32); cursor: pointer; pointer-events: auto; transition: transform .18s ease, box-shadow .18s ease; }
.ai-chat__launcher::before { position: absolute; inset: -5px; z-index: -1; border: 1px solid rgba(99, 48, 239, .22); border-radius: 50%; content: ''; animation: aiLauncherPulse 2.8s ease-out infinite; }
.ai-chat__launcher:hover { box-shadow: 0 16px 36px rgba(66, 26, 205, .43), inset 0 1px 0 rgba(255, 255, 255, .35); transform: translateY(-2px) scale(1.025); }
.ai-chat__launcher:focus-visible { outline: 3px solid rgba(91, 45, 235, .25); outline-offset: 4px; }
.ai-chat__launcher .material-symbols-rounded { font-size: 29px; font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 28; transition: transform .2s ease; }
.ai-chat.is-open .ai-chat__launcher .material-symbols-rounded { transform: rotate(18deg) scale(.92); }
.ai-chat__launcher > span:last-child { position: absolute; right: 70px; width: max-content; padding: 7px 10px; border: 1px solid #e2e5ec; border-radius: 7px; color: #3d4860; background: #fff; box-shadow: 0 8px 22px rgba(20, 31, 57, .13); font-size: 10px; font-weight: 700; opacity: 0; pointer-events: none; transform: translateX(5px); transition: opacity .16s ease, transform .16s ease; }
.ai-chat__launcher:hover > span:last-child { opacity: 1; transform: translateX(0); }
.ai-chat.is-open .ai-chat__launcher > span:last-child { display: none; }
.ai-chat__panel { display: grid; width: min(400px, calc(100vw - 32px)); height: min(590px, calc(100vh - 112px)); margin-bottom: 14px; grid-template-rows: 67px minmax(0, 1fr) auto; overflow: hidden; border: 1px solid rgba(213, 217, 229, .92); border-radius: 17px; background: #fff; box-shadow: 0 24px 70px rgba(15, 23, 49, .22), 0 8px 22px rgba(46, 24, 116, .11); opacity: 0; pointer-events: none; transform: translateY(16px) scale(.96); transform-origin: bottom right; transition: opacity .2s ease, transform .2s ease; }
.ai-chat.is-open .ai-chat__panel { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.ai-chat__head { display: grid; padding: 10px 11px 10px 13px; grid-template-columns: 40px minmax(0, 1fr) 34px 34px 34px; align-items: center; gap: 7px; color: #fff; background: linear-gradient(120deg, #180b42, #29106c 56%, #4e20ce); }
.ai-chat__avatar { display: grid; width: 39px; height: 39px; place-items: center; border: 1px solid rgba(255, 255, 255, .28); border-radius: 11px; background: rgba(255, 255, 255, .13); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .17); }
.ai-chat__avatar .material-symbols-rounded { font-size: 23px; }
.ai-chat__head > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.ai-chat__head strong { font: 800 13px var(--font-display); }
.ai-chat__head small { display: flex; min-width: 0; align-items: center; gap: 5px; overflow: hidden; color: rgba(255, 255, 255, .72); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.ai-chat__head small i { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #44d983; box-shadow: 0 0 0 3px rgba(68, 217, 131, .13); }
.ai-chat__head button { display: grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 0; border-radius: 7px; color: rgba(255, 255, 255, .76); background: transparent; cursor: pointer; }
.ai-chat__head button:hover { color: #fff; background: rgba(255, 255, 255, .13); }
.ai-chat__head button:disabled { opacity: .42; cursor: wait; }
.ai-chat__head button .material-symbols-rounded { font-size: 19px; }
.ai-chat__workspace { display: grid; min-width: 0; min-height: 0; grid-template-columns: minmax(0, 1fr); overflow: hidden; }
.ai-chat__messages { display: flex; min-width: 0; min-height: 0; padding: 16px 13px 12px; overflow-y: auto; flex-direction: column; gap: 12px; background: linear-gradient(180deg, #fbfaff, #f7f8fc 38%, #fafbfc); scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: #d4cfeb transparent; }
.ai-chat__message { display: flex; max-width: 90%; align-items: flex-start; gap: 7px; animation: aiMessageIn .18s ease both; }
.ai-chat__message > span { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 8px; color: #5828e8; background: #eae4ff; }
.ai-chat__message > span .material-symbols-rounded { font-size: 17px; }
.ai-chat__message > :is(.ai-chat__message-content,p) { margin: 0; padding: 9px 11px; color: #3c4860; border: 1px solid #e0e3eb; border-radius: 4px 12px 12px 12px; background: #fff; box-shadow: 0 3px 10px rgba(29, 40, 66, .04); font-size: 12px; line-height: 1.48; white-space: pre-wrap; overflow-wrap: anywhere; }
.ai-chat__message > :is(.ai-chat__message-content,p) strong { color: #27145e; }
.ai-chat__message-content { min-width: 0; }
.ai-chat__message--assistant .ai-chat__message-content { white-space: normal; }
.ai-chat__message-content > :first-child { margin-top: 0; }
.ai-chat__message-content > :last-child { margin-bottom: 0; }
.ai-chat__message-content h2,.ai-chat__message-content h3,.ai-chat__message-content h4 { margin: 16px 0 7px; color: #241450; font-family: var(--font-display); font-weight: 800; line-height: 1.25; }
.ai-chat__message-content h2 { padding-bottom: 8px; border-bottom: 1px solid #e3def3; font-size: 16px; }.ai-chat__message-content h3 { font-size: 14px; }.ai-chat__message-content h4 { font-size: 13px; }
.ai-chat__message-content p { margin: 7px 0; }
.ai-chat__message-content > p:first-child { color: #465169; font-weight: 520; }
.ai-chat__message-content ul,.ai-chat__message-content ol { margin: 7px 0; padding-left: 21px; }
.ai-chat__message-content li { margin: 4px 0; padding-left: 2px; }
.ai-chat__message-content li::marker { color: #6033df; font-weight: 750; }
.ai-chat__message-content li > ul,.ai-chat__message-content li > ol { margin: 6px 0 5px; padding: 5px 0 5px 22px; border-left: 2px solid #ddd5fa; color: #626d81; }
.ai-chat__message-content li > strong:first-child { color: #3f218d; }
.ai-chat__markdown-section-heading { display: flex; min-height: 39px; margin: 14px 0 6px !important; padding: 7px 10px 7px 8px; align-items: center; gap: 9px; border: 1px solid #e2dcf7; border-radius: 9px; background: linear-gradient(105deg,#f4f0ff,#fbfaff); }
.ai-chat__markdown-section-number { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: 7px; color: #fff; background: linear-gradient(145deg,#7342f0,#4b20d2); box-shadow: 0 4px 9px rgba(79,35,205,.18); font: 800 11px var(--font-body); }
.ai-chat__markdown-section-heading + ul,.ai-chat__markdown-section-heading + ol { margin-top: 5px; padding: 7px 10px 7px 29px; border: 1px solid #ece9f4; border-radius: 8px; background: #fcfbfe; }
.ai-chat__markdown-label-heading { margin-top: 17px !important; padding: 7px 9px; border-left: 3px solid #6032e4; border-radius: 0 7px 7px 0; color: #40208d !important; background: #f5f2ff; }
.ai-chat__message-content a { color: #5425df; font-weight: 650; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.ai-chat__message-content a:hover { color: #3512b7; }
.ai-chat__message-content code { padding: 2px 5px; border: 1px solid #ded8f2; border-radius: 5px; color: #4b25b8; background: #f2effc; font: 600 .9em/1.45 ui-monospace,SFMono-Regular,Consolas,monospace; }
.ai-chat__message-content pre { margin: 9px 0; padding: 11px 12px; overflow-x: auto; border: 1px solid #dddfea; border-radius: 8px; color: #e9e5ff; background: #211943; scrollbar-width: thin; }
.ai-chat__message-content pre code { padding: 0; border: 0; color: inherit; background: transparent; font-weight: 500; white-space: pre; }
.ai-chat__message-content blockquote { margin: 9px 0; padding: 8px 11px; border-left: 3px solid #7652e4; border-radius: 0 7px 7px 0; color: #5f687b; background: #f5f2ff; }
.ai-chat__message-content hr { height: 1px; margin: 12px 0; border: 0; background: #e3e0ec; }
.ai-chat__message-content table { display: block; width: 100%; margin: 9px 0; overflow-x: auto; border-collapse: collapse; font-size: 11px; white-space: nowrap; }
.ai-chat__message-content th,.ai-chat__message-content td { padding: 7px 9px; border: 1px solid #e0e2eb; text-align: left; }
.ai-chat__message-content th { color: #382073; background: #f3f0fd; font-weight: 750; }
.ai-chat__message-content del { color: #8790a0; }
.ai-chat__message--user { max-width: 84%; margin-left: auto; justify-content: flex-end; }
.ai-chat__message--user > :is(.ai-chat__message-content,p) { color: #fff; border-color: #5425df; border-radius: 12px 4px 12px 12px; background: linear-gradient(145deg, #6331ee, #4920ce); box-shadow: 0 5px 14px rgba(78, 35, 205, .18); }
.ai-chat__message--error > :is(.ai-chat__message-content,p) { color: #b52d42; border-color: #f0bdc5; background: #fff3f5; }
.ai-chat__typing p { display: flex; min-width: 54px; min-height: 39px; align-items: center; justify-content: center; gap: 4px; }
.ai-chat__typing i { width: 6px; height: 6px; border-radius: 50%; background: #8267d9; animation: aiTyping 1s ease-in-out infinite; }
.ai-chat__typing i:nth-child(2) { animation-delay: .14s; }
.ai-chat__typing i:nth-child(3) { animation-delay: .28s; }
.ai-chat__suggestions { display: flex; padding-left: 34px; flex-wrap: wrap; gap: 6px; }
.ai-chat__suggestions button { display: inline-flex; min-height: 31px; padding: 0 9px; align-items: center; gap: 5px; border: 1px solid #dcd6f4; border-radius: 18px; color: #5138a5; background: #fff; font: 600 10px var(--font-body); cursor: pointer; }
.ai-chat__suggestions button:hover { color: #4319cc; border-color: #a995ec; background: #f1edff; }
.ai-chat__suggestions button:disabled { opacity: .48; cursor: wait; }
.ai-chat__suggestions .material-symbols-rounded { font-size: 15px; }
.ai-chat__library { display: none; min-width: 0; min-height: 0; overflow: hidden; border-right: 1px solid #e1e4ec; background: linear-gradient(180deg, #faf9fd, #f4f3f8); }
.ai-chat__library > header { display: grid; min-height: 68px; padding: 13px 15px; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; border-bottom: 1px solid #e1e4ec; background: rgba(255,255,255,.78); }
.ai-chat__library > header > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: #5c2be3; background: #ece7ff; }
.ai-chat__library > header > span .material-symbols-rounded { font-size: 19px; }
.ai-chat__library > header > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.ai-chat__library > header strong { color: #1c2740; font: 800 13px var(--font-display); }
.ai-chat__library > header small { color: #7a8598; font-size: 10px; }
.ai-chat__library-search { display: grid; height: 38px; margin: 12px 12px 8px; padding: 0 10px; grid-template-columns: 20px minmax(0,1fr); align-items: center; gap: 6px; border: 1px solid #dfe2ea; border-radius: 9px; background: #fff; }
.ai-chat__library-search:focus-within { border-color: #aa98ea; box-shadow: 0 0 0 3px rgba(91,43,235,.07); }
.ai-chat__library-search .material-symbols-rounded { color: #7b8699; font-size: 18px; }
.ai-chat__library-search input { min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; color: #344057; background: transparent; font: 500 11px var(--font-body); }
.ai-chat__library-search input::placeholder { color: #929bad; }
.ai-chat__library-groups { height: calc(100% - 126px); padding: 2px 12px 18px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #cfc9e5 transparent; }
.ai-chat__library-group { margin-top: 7px; overflow: hidden; border: 1px solid #e0e2ea; border-radius: 10px; background: rgba(255,255,255,.9); }
.ai-chat__library-group[hidden] { display: none; }
.ai-chat__library-group > summary { display: grid; min-height: 43px; padding: 0 10px; grid-template-columns: 25px minmax(0,1fr) auto 20px; align-items: center; gap: 6px; color: #344057; cursor: pointer; list-style: none; }
.ai-chat__library-group > summary::-webkit-details-marker { display: none; }
.ai-chat__library-group > summary:hover { color: #5424df; background: #faf8ff; }
.ai-chat__library-group[open] > summary { color: #5424df; border-bottom: 1px solid #ebe8f4; background: #f7f4ff; }
.ai-chat__library-group > summary > .material-symbols-rounded:first-child { color: #6b43dd; font-size: 18px; }
.ai-chat__library-group > summary > .material-symbols-rounded:last-child { color: #8791a3; font-size: 18px; transition: transform .16s ease; }
.ai-chat__library-group[open] > summary > .material-symbols-rounded:last-child { transform: rotate(180deg); }
.ai-chat__library-group > summary strong { font-size: 11px; font-weight: 750; }
.ai-chat__library-group > summary small { display: grid; min-width: 21px; height: 20px; padding: 0 5px; place-items: center; border-radius: 10px; color: #7355cf; background: #eee9ff; font-size: 9px; font-weight: 750; }
.ai-chat__library-group > div { display: flex; padding: 10px; flex-wrap: wrap; gap: 6px; }
.ai-chat__library-group > div button { display: inline-flex; min-height: 31px; padding: 6px 9px; align-items: center; border: 1px solid #dcd6f4; border-radius: 16px; color: #5138a5; background: #fff; font: 600 10px/1.35 var(--font-body); text-align: left; cursor: pointer; transition: color .15s ease,border-color .15s ease,background-color .15s ease,transform .15s ease; }
.ai-chat__library-group > div button:hover { color: #4319cc; border-color: #a995ec; background: #f1edff; transform: translateY(-1px); }
.ai-chat__library-group > div button:disabled { opacity: .48; cursor: wait; transform: none; }
.ai-chat__library-group > div button[hidden] { display: none; }
.ai-chat__library-empty { margin: 24px 12px; color: #7e889a; font-size: 11px; line-height: 1.5; text-align: center; }
.ai-chat__library-empty[hidden] { display: none; }
.ai-chat__history { display: none; min-width: 0; min-height: 0; overflow: hidden; border-left: 1px solid #e1e4ec; background: linear-gradient(180deg, #f8f7fc, #f2f3f8); }
.ai-chat__history > header { display: grid; min-height: 68px; padding: 13px 16px; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; border-bottom: 1px solid #e1e4ec; background: rgba(255,255,255,.72); }
.ai-chat__history > header > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: #5c2be3; background: #ece7ff; }
.ai-chat__history > header > span .material-symbols-rounded { font-size: 19px; }
.ai-chat__history > header > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.ai-chat__history > header strong { color: #1c2740; font: 800 13px var(--font-display); }
.ai-chat__history > header small { color: #7a8598; font-size: 10px; }
.ai-chat__history-list { position: relative; display: flex; height: calc(100% - 68px); padding: 15px 12px 18px 28px; overflow-y: auto; flex-direction: column; gap: 8px; scrollbar-width: thin; scrollbar-color: #cfc9e5 transparent; }
.ai-chat__history-list::before { position: absolute; top: 19px; bottom: 20px; left: 17px; width: 1px; background: linear-gradient(#bdb3e5,#ddd9ed); content: ''; }
.ai-chat__history-item { position: relative; display: flex; min-height: 72px; padding: 10px 11px; border: 1px solid #e0e2ea; border-radius: 10px; flex-direction: column; gap: 5px; color: #374258; background: rgba(255,255,255,.88); box-shadow: 0 3px 10px rgba(26,35,58,.035); text-align: left; cursor: pointer; transition: border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.ai-chat__history-item::before { position: absolute; top: 17px; left: -16px; width: 7px; height: 7px; border: 2px solid #f5f4f9; border-radius: 50%; background: #7a58dc; box-shadow: 0 0 0 1px #b4a6df; content: ''; }
.ai-chat__history-item:hover,.ai-chat__history-item.is-active { border-color: #a894ea; box-shadow: 0 7px 18px rgba(75,46,157,.1); transform: translateX(-2px); }
.ai-chat__history-item.is-active::before { background: #5424ec; box-shadow: 0 0 0 3px rgba(84,36,236,.15); }
.ai-chat__history-item > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #7c8799; font-size: 9px; }
.ai-chat__history-item > span strong { color: #5a33cd; font-size: 9px; text-transform: uppercase; letter-spacing: .35px; }
.ai-chat__history-item > p { display: -webkit-box; margin: 0; overflow: hidden; color: #303b52; font-size: 11px; font-weight: 650; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ai-chat__history-empty { display: none; height: calc(100% - 68px); margin: 0; padding: 25px; align-items: center; justify-content: center; flex-direction: column; gap: 9px; color: #8992a3; font-size: 11px; text-align: center; }
.ai-chat__history-empty .material-symbols-rounded { color: #a79bcf; font-size: 27px; }
.ai-chat__history-list:empty { display: none; }
.ai-chat__history-list:empty + .ai-chat__history-empty { display: flex; }
.ai-chat__composer { display: grid; padding: 10px 11px 9px; grid-template-columns: minmax(0, 1fr) 39px; gap: 7px; border-top: 1px solid #e1e5ec; background: #fff; }
.ai-chat__composer label { display: flex; min-height: 41px; padding: 8px 10px; align-items: center; border: 1px solid #dce1e9; border-radius: 10px; background: #fafbfc; }
.ai-chat__composer label:focus-within { border-color: #dfe3ea; background: #fff; box-shadow: none; }
.ai-chat__composer textarea { width: 100%; max-height: 105px; padding: 0; resize: none; overflow-y: auto; border: 0; outline: 0; color: #2d394f; background: transparent; font: 500 12px/1.4 var(--font-body); }
.app-page .ai-chat__composer textarea:focus-visible { outline: none; }
.ai-chat__composer textarea::placeholder { color: #8792a5; }
.ai-chat__composer textarea:disabled { color: #8b95a6; cursor: wait; }
.ai-chat.is-busy .ai-chat__composer label { border-color: #ddd9ed; background: #f3f2f7; }
.ai-chat.is-busy .ai-chat__composer > small { color: #6548bd; font-weight: 700; }
.ai-chat__composer > button { display: grid; width: 39px; height: 39px; padding: 0; place-items: center; align-self: end; border: 0; border-radius: 10px; color: #fff; background: linear-gradient(145deg, #6936f0, #481bcd); box-shadow: 0 5px 13px rgba(77, 32, 208, .22); cursor: pointer; }
.ai-chat__composer > button:hover { background: linear-gradient(145deg, #5b29e4, #3e14bc); }
.ai-chat__composer > button:disabled { opacity: .5; cursor: wait; }
.ai-chat__composer > button .material-symbols-rounded { font-size: 20px; }
.ai-chat__composer > small { grid-column: 1 / -1; color: #8b95a6; font-size: 10px; text-align: center; }
.ai-chat.is-fullscreen { inset: 0; z-index: 2147483646; width: 100vw; height: 100dvh; align-items: stretch; background: rgba(12,17,31,.32); pointer-events: auto; }
.ai-chat.is-fullscreen .ai-chat__panel { width: 100vw; height: 100dvh; margin: 0; border: 0; border-radius: 0; box-shadow: none; transform-origin: center; }
.ai-chat.is-fullscreen .ai-chat__workspace { grid-template-columns: minmax(280px,320px) minmax(0,1fr) minmax(260px,300px); }
.ai-chat.is-fullscreen .ai-chat__library { display: block; }
.ai-chat.is-fullscreen .ai-chat__history { display: block; }
.ai-chat.is-fullscreen .ai-chat__launcher { display: none; }
.ai-chat.is-fullscreen .ai-chat__messages { padding: 28px max(24px,calc((100% - 880px) / 2)); gap: 17px; }
.ai-chat.is-fullscreen .ai-chat__message { width: min(100%,880px); max-width: 880px; }
.ai-chat.is-fullscreen .ai-chat__message--user { width: auto; max-width: min(76%,760px); }
.ai-chat.is-fullscreen .ai-chat__message > :is(.ai-chat__message-content,p) { padding: 13px 15px; font-size: 14px; line-height: 1.62; }
.ai-chat.is-fullscreen .ai-chat__composer { padding: 13px max(24px,calc((100% - 560px) / 2)); }
.ai-chat.is-fullscreen .ai-chat__composer textarea { font-size: 13px; }
.ai-chat-focus { animation: aiChatFocus 1.2s ease both; }
body.ai-chat-fullscreen-open { overflow: hidden; }
@keyframes aiChatFocus { 0%,100% { filter: none; } 25%,70% { filter: drop-shadow(0 0 9px rgba(84,36,236,.22)); } }
@keyframes aiLauncherPulse { 0%, 55% { opacity: .8; transform: scale(1); } 100% { opacity: 0; transform: scale(1.28); } }
@keyframes aiMessageIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes aiTyping { 0%, 60%, 100% { opacity: .36; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }

@media (prefers-reduced-motion: reduce) {
  .ai-chat__launcher::before, .ai-chat__message, .ai-chat__typing i { animation: none; }
  .ai-chat__launcher, .ai-chat__panel { transition: none; }
}
@media (max-width: 1000px) {
  .ai-chat.is-fullscreen .ai-chat__workspace { grid-template-columns: minmax(260px,300px) minmax(0,1fr); }
  .ai-chat.is-fullscreen .ai-chat__history { display: none; }
}
@media (max-width: 620px) {
  .ai-chat { right: 12px; bottom: 12px; }
  .ai-chat__panel { width: calc(100vw - 24px); height: min(620px, calc(100dvh - 86px)); margin-bottom: 9px; border-radius: 15px; }
  .ai-chat__launcher { width: 54px; height: 54px; }
  .ai-chat__launcher > span:last-child { display: none; }
  .ai-chat__composer > small { display: none; }
  .ai-chat.is-fullscreen { right: 0; bottom: 0; }
  .ai-chat.is-fullscreen .ai-chat__workspace { grid-template-columns: minmax(0,1fr); }
  .ai-chat.is-fullscreen .ai-chat__history { display: none; }
  .ai-chat.is-fullscreen .ai-chat__library { display: none; }
  .ai-chat.is-fullscreen .ai-chat__messages { padding: 18px 14px; }
  .ai-chat.is-fullscreen .ai-chat__composer { padding: 10px 11px 9px; }
}

/* Gestion documentaire. */
.documents-page { display: flex; margin: -6px 0 0; flex-direction: column; gap: 15px; }
.document-actions-bar { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.document-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.document-stat { position: relative; display: grid; min-height: 108px; padding: 16px 15px 13px; grid-template-columns: 43px minmax(0, 1fr) 22px; gap: 10px; overflow: hidden; border: 1px solid #e0e5ed; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(31, 43, 69, .035); }
.document-stat > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 9px; color: #5626ee; background: #f0ecff; }
.document-stat > span .material-symbols-rounded { font-size: 25px; }
.document-stat > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.document-stat small { color: #27334a; font-size: 11px; font-weight: 700; }
.document-stat strong { color: #172238; font: 800 23px/1 var(--font-display); }
.document-stat em { overflow: hidden; color: #69758b; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.document-stat > button { display: grid; width: 22px; height: 26px; padding: 0; place-items: start center; border: 0; color: #334057; background: transparent; cursor: pointer; }
.document-stat > button:hover { color: #5628ec; }
.document-stat > button .material-symbols-rounded { font-size: 19px; }
.document-stat > i { position: absolute; right: 15px; bottom: 12px; left: 15px; height: 5px; overflow: hidden; border-radius: 6px; background: #eef0f4; }
.document-stat > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5f29ed, #3d18ea); }

.document-workspace { display: grid; min-height: 525px; grid-template-columns: minmax(0, 1fr) 304px; align-items: stretch; gap: 14px; }
.document-manager, .document-activity { overflow: hidden; border: 1px solid #dfe4eb; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(31, 43, 69, .03); }
.document-manager { min-width: 0; }
.document-manager__head { display: flex; min-height: 43px; padding: 11px 15px 7px; align-items: center; gap: 9px; }
.document-manager__head h2, .document-activity__head h2 { margin: 0; color: #202c43; font: 800 14px var(--font-display); }
.document-manager__head span { color: #8490a3; font-size: 10px; }
.document-filters { display: flex; min-height: 51px; padding: 7px 15px 10px; align-items: flex-end; gap: 10px; border-bottom: 1px solid #e4e7ed; }
.document-filters > label:not(.document-search) { display: flex; min-width: 125px; flex-direction: column; gap: 4px; }
.document-filters > label > span { color: #6b778c; font-size: 10px; font-weight: 600; }
.document-filters select { min-width: 0; height: 32px; padding: 0 27px 0 9px; border: 1px solid #dce2ea; border-radius: 6px; outline: 0; color: #4f5b71; background: #fff; font: 600 10px var(--font-body); }
.document-filters select:focus, .document-search:focus-within { border-color: #8061ef; box-shadow: 0 0 0 3px rgba(91, 45, 235, .08); }
.document-filters > button { display: inline-flex; min-height: 32px; padding: 0 10px; align-items: center; gap: 5px; border: 1px solid #dce2ea; border-radius: 6px; color: #657187; background: #fff; font: 600 10px var(--font-body); cursor: pointer; }
.document-filters > button:hover { color: #5427e8; border-color: #c8bcf1; background: #f7f5ff; }
.document-filters > button .material-symbols-rounded { font-size: 16px; }
.document-search { display: flex; width: min(270px, 34%); min-width: 205px; height: 34px; margin-left: auto; padding: 0 9px; align-items: center; gap: 7px; border: 1px solid #dce2ea; border-radius: 7px; }
.document-search > .material-symbols-rounded { color: #66758e; font-size: 19px; }
.document-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: #334057; background: transparent; font: 500 10px var(--font-body); }
.document-search input::placeholder { color: #8893a6; }
.document-search kbd { color: #8893a6; font: 600 10px var(--font-body); }
.document-table-scroll { width: 100%; overflow-x: auto; }
.document-table { min-width: 1080px; }
.document-table__head, .document-table__row { display: grid; grid-template-columns: 29px minmax(160px, 1.65fr) 68px 108px 61px 58px 88px 91px 93px 90px; align-items: center; column-gap: 7px; }
.document-table__head { min-height: 39px; padding: 0 12px; color: #6f7b90; border-bottom: 1px solid #e3e7ed; background: #fcfcfd; font-size: 10px; font-weight: 600; }
.document-table__head > span { display: flex; align-items: center; gap: 2px; }
.document-table__head .material-symbols-rounded { font-size: 13px; }
.document-table__row { min-height: 52px; padding: 6px 12px; color: #4d596f; border-bottom: 1px solid #e7eaf0; font-size: 10px; }
.document-table__row:hover { background: #faf9ff; }
.document-table__row:has([data-document-select]:checked) { background: #f5f2ff; box-shadow: inset 3px 0 #5d2fec; }
.document-check { position: relative; display: grid; width: 20px; height: 28px; place-items: center; cursor: pointer; }
.document-check input { position: absolute; opacity: 0; }
.document-check i { width: 13px; height: 13px; border: 1px solid #cbd2de; border-radius: 3px; background: #fff; }
.document-check input:checked + i { border-color: #5a2be9; background: #5a2be9; box-shadow: inset 0 0 0 3px #fff; }
.document-name { display: flex; min-width: 0; align-items: center; gap: 8px; }
.document-name strong { overflow: hidden; color: #303b50; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.document-file-icon { display: grid; width: 18px; height: 22px; flex: 0 0 18px; place-items: center; color: #6a778e; }
.document-file-icon .material-symbols-rounded { font-size: 18px; }
.document-file-icon--folder { color: #e8a426; }
.document-file-icon--pdf { color: #ef334e; }
.document-file-icon--docx { color: #2776ef; }
.document-file-icon--xlsx { color: #28a65e; }
.document-file-icon--pptx { color: #ed7133; }
.document-file-icon--zip { color: #77849a; }
.document-file-icon--image { color: #bd4bb5; }
.document-type { display: inline-flex; width: max-content; max-width: 100%; padding: 3px 6px; overflow: hidden; border-radius: 4px; color: #526078; background: #eef1f5; font-size: 10px; font-style: normal; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.document-type--folder { color: #5a28e8; background: #eee9ff; }
.document-type--pdf { color: #d73449; background: #fff0f2; }
.document-type--docx { color: #206bda; background: #eaf2ff; }
.document-type--xlsx { color: #258e50; background: #e8f7ed; }
.document-type--pptx { color: #db682e; background: #fff0e8; }
.document-owner { display: flex; min-width: 0; align-items: center; gap: 6px; }
.document-owner > span, .document-activity__avatar { display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #8c5e3b, #192a43); font-weight: 700; }
.document-owner > span { width: 21px; height: 21px; font-size: 10px; }
.document-owner strong { overflow: hidden; color: #3d495f; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.document-tag { display: inline-flex; width: max-content; max-width: 100%; padding: 3px 6px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--tag-color) 22%, white); border-radius: 4px; color: var(--tag-color); background: color-mix(in srgb, var(--tag-color) 9%, white); font-size: 10px; font-style: normal; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.document-permission { display: flex; align-items: center; gap: 5px; overflow: hidden; white-space: nowrap; }
.document-permission .material-symbols-rounded { color: #56657c; font-size: 15px; }
.document-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.document-row-actions form { display: flex; }
.document-row-actions button, .document-row-actions a { display: grid; width: 25px; height: 25px; padding: 0; place-items: center; border: 1px solid #dfe4eb; border-radius: 5px; color: #5d6a80; background: #fff; cursor: pointer; text-decoration: none; }
.document-row-actions button:hover, .document-row-actions a:hover { color: #5527e8; border-color: #cbbff2; background: #f5f2ff; }
.document-row-actions form button { color: #df4053; border-color: #f0bdc4; }
.document-row-actions form button:hover { color: #c42c40; border-color: #e98593; background: #fff2f4; }
.document-row-actions .material-symbols-rounded { font-size: 15px; }
.document-no-results { padding: 30px; color: #778398; text-align: center; font-size: 11px; }
.document-table__footer { display: grid; min-height: 46px; padding: 7px 14px; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; color: #6a768b; border-top: 1px solid #e3e7ed; font-size: 10px; }
.document-table__footer > div { display: flex; align-items: center; gap: 5px; }
.document-table__footer button, .document-table__footer strong { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid #e0e4eb; border-radius: 5px; color: #7a8598; background: #fff; }
.document-table__footer strong { color: #5728eb; border-color: #8d72ec; font-size: 10px; }
.document-table__footer .material-symbols-rounded { font-size: 16px; }
.document-table__footer > label { justify-self: end; }
.document-table__footer select { height: 29px; padding: 0 24px 0 8px; border: 1px solid #dfe4eb; border-radius: 6px; color: #566278; background: #fff; font: 600 10px var(--font-body); }
.document-empty-state { display: flex; min-height: 360px; padding: 35px; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.document-empty-state > .material-symbols-rounded { color: #7a56ed; font-size: 48px; }
.document-empty-state h3 { margin: 10px 0 5px; color: #2b374d; font: 800 18px var(--font-display); }
.document-empty-state p { margin: 0 0 17px; color: #748096; font-size: 11px; }

.document-activity { display: flex; min-width: 0; flex-direction: column; }
.document-activity__head { display: flex; min-height: 47px; padding: 12px 14px; align-items: center; justify-content: space-between; gap: 8px; border-bottom: 1px solid #e5e8ed; }
.document-activity__head button { display: inline-flex; padding: 0; align-items: center; gap: 4px; border: 0; color: #5224e8; background: transparent; font: 700 10px var(--font-body); cursor: pointer; }
.document-activity__head button .material-symbols-rounded { font-size: 14px; }
.document-activity__list { padding: 0 12px; }
.document-activity__list article { display: grid; min-height: 79px; padding: 12px 0; grid-template-columns: 27px minmax(0, 1fr); gap: 9px; border-bottom: 1px solid #e7eaf0; }
.document-activity__avatar { width: 26px; height: 26px; font-size: 10px; }
.document-activity__list article > div { position: relative; display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.document-activity__list p { margin: 0; overflow: hidden; color: #566278; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.document-activity__list p strong { color: #29354a; font-size: 10px; }
.document-activity__list article > div > span { display: flex; min-width: 0; align-items: center; gap: 5px; overflow: hidden; color: #4f5d73; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.document-mini-icon { display: grid; width: 15px; height: 15px; flex: 0 0 15px; place-items: center; color: #65738a; font-style: normal; }
.document-mini-icon .material-symbols-rounded { font-size: 14px; }
.document-mini-icon--folder { color: #e8a426; }
.document-mini-icon--pdf { color: #ef334e; }
.document-mini-icon--docx { color: #2776ef; }
.document-mini-icon--xlsx { color: #28a65e; }
.document-mini-icon--pptx { color: #ed7133; }
.document-activity__list em { overflow: hidden; color: #6b778d; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.document-activity__list time { align-self: flex-end; color: #7a869a; font-size: 10px; }
.document-activity__empty { display: grid; min-height: 330px; place-items: center; align-content: center; color: #7c879a; text-align: center; }
.document-activity__empty .material-symbols-rounded { color: #8a70ed; font-size: 35px; }
.document-activity__empty p { margin: 5px 0; font-size: 10px; }
.document-history-button { display: inline-flex; min-height: 32px; margin: auto 12px 11px; align-items: center; justify-content: center; gap: 6px; border: 1px solid #dfe4eb; border-radius: 6px; color: #566278; background: #fff; font: 600 10px var(--font-body); cursor: pointer; }
.document-history-button:hover { color: #5426e8; border-color: #c8baf3; background: #f7f5ff; }
.document-history-button .material-symbols-rounded { font-size: 14px; }

.document-dialog { max-width: 630px; }
.document-dropzone { display: flex; min-height: 130px; margin: 17px 22px 0; padding: 18px; align-items: center; justify-content: center; flex-direction: column; border: 1px dashed #bdb3df; border-radius: 9px; color: #657187; background: #faf9ff; cursor: pointer; }
.document-dropzone:hover, .document-dropzone:focus-within { border-color: #6a3bea; background: #f5f2ff; }
.document-dropzone input { position: absolute; opacity: 0; }
.document-dropzone > span { color: #6232e9; }
.document-dropzone > span .material-symbols-rounded { font-size: 34px; }
.document-dropzone strong { margin-top: 5px; color: #3a465b; font-size: 12px; }
.document-dropzone small { margin-top: 3px; font-size: 10px; }

@media (max-width: 1450px) {
  .document-workspace { grid-template-columns: minmax(0, 1fr) 270px; }
  .document-filters { flex-wrap: wrap; }
  .document-search { width: 240px; }
}
@media (max-width: 1200px) {
  .document-stats { grid-template-columns: repeat(2, 1fr); }
  .document-workspace { grid-template-columns: 1fr; }
  .document-activity { min-height: 310px; }
  .document-activity__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 18px; }
}
@media (max-width: 900px) {
  .documents-page { margin: 0; }
  .document-filters > label:not(.document-search) { width: calc(50% - 5px); }
  .document-filters > button { width: calc(50% - 5px); justify-content: center; }
  .document-search { width: calc(50% - 5px); min-width: 0; margin-left: 0; }
}
@media (max-width: 620px) {
  .document-actions-bar { align-items: stretch; flex-direction: column-reverse; }
  .document-actions-bar .button { justify-content: center; }
  .document-stats { grid-template-columns: 1fr; }
  .document-filters > label:not(.document-search), .document-filters > button, .document-search { width: 100%; }
  .document-activity__list { grid-template-columns: 1fr; }
  .document-table__footer { grid-template-columns: 1fr auto; }
  .document-table__footer > div { grid-column: 2; grid-row: 1; }
  .document-table__footer > label { display: none; }
  .document-dialog .task-dialog__grid { grid-template-columns: 1fr; }
}

/* Gestion de l'équipe. */
.team-page { display: flex; margin: -5px 0 0; flex-direction: column; gap: 20px; }
.team-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.team-stat { display: grid; min-height: 151px; padding: 16px 15px 13px; grid-template-columns: 45px minmax(0, 1fr); gap: 11px; border: 1px solid #dfe4ec; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(31, 43, 69, .035); }
.team-stat > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 9px; color: #5625ef; background: #f0ecff; }
.team-stat > span .material-symbols-rounded { font-size: 27px; }
.team-stat > div { display: flex; min-width: 0; flex-direction: column; }
.team-stat small { color: #263249; font-size: 11px; font-weight: 700; }
.team-stat strong { margin: 4px 0 11px; color: #152038; font: 800 25px/1 var(--font-display); }
.team-stat em { overflow: hidden; color: #6a768c; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.team-stat em.is-positive { color: #32a451; }
.team-stat button { display: inline-flex; width: max-content; max-width: 100%; margin-top: auto; padding: 0; align-items: center; gap: 7px; border: 0; color: #4f20e8; background: transparent; font: 700 10px var(--font-body); cursor: pointer; }
.team-stat button:hover { color: #3210b9; }
.team-stat button .material-symbols-rounded { font-size: 16px; }
.team-card { overflow: hidden; border: 1px solid #dfe4eb; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(31, 43, 69, .035); }
.team-card__head { display: flex; min-height: 61px; padding: 10px 14px; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #e2e6ed; }
.team-card__head > div:first-child { display: flex; align-items: center; gap: 9px; }
.team-card__head h2 { margin: 0; color: #202c43; font: 800 14px var(--font-display); }
.team-card__head > div:first-child > span { display: grid; min-width: 22px; height: 22px; padding: 0 7px; place-items: center; border-radius: 15px; color: #4b576b; background: #eff1f5; font-size: 10px; font-weight: 700; }
.team-card__actions { display: flex; align-items: center; gap: 8px; }
.team-card__actions .button { min-height: 36px; padding: 0 13px; font-size: 10px; text-decoration: none; }
.team-card__actions .material-symbols-rounded { font-size: 18px; }
.team-table-scroll { width: 100%; overflow-x: auto; }
.team-table { min-width: 920px; }
.team-table__head, .team-table__row { display: grid; grid-template-columns: minmax(190px, 1.35fr) 125px minmax(205px, 1.35fr) 135px 125px 30px; align-items: center; column-gap: 14px; }
.team-table__head { min-height: 38px; padding: 0 15px; color: #6c788d; border-bottom: 1px solid #e3e7ed; background: #fcfcfd; font-size: 10px; font-weight: 600; }
.team-table__row { min-height: 68px; padding: 7px 15px; color: #4f5b71; border-bottom: 1px solid #e7eaf0; font-size: 10px; }
.team-table__row:last-child { border-bottom: 0; }
.team-table__row:hover { background: #faf9ff; }
.team-table__row--pending { background: linear-gradient(90deg, rgba(255, 249, 235, .72), rgba(255, 255, 255, 0) 54%); }
.team-table__row--pending:hover { background: #fffaf0; }
.team-member { display: flex; min-width: 0; align-items: center; gap: 9px; }
.team-avatar { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 2px solid #fff; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #8c5d3a, #182942); box-shadow: 0 0 0 1px #dfe4eb; font-size: 10px; font-weight: 700; }
.team-avatar--pending { color: #906015; background: #fff6de; box-shadow: 0 0 0 1px #e8c987; }
.team-member > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.team-member strong { overflow: hidden; color: #27334a; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.team-member strong em { display: inline-flex; margin-left: 4px; padding: 2px 4px; border-radius: 4px; color: #6334e8; background: #eee9ff; font-size: 10px; font-style: normal; }
.team-member small { overflow: hidden; color: #6d7990; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.team-member-meta { display: flex; min-width: 0; align-items: center; gap: 5px; }
.team-member-meta i { overflow: hidden; color: #7c8799; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.team-member-meta em { display: inline-flex; flex: 0 0 auto; padding: 2px 5px; border-radius: 4px; color: #a56b12; background: #fff4d9; font-size: 10px; font-style: normal; font-weight: 700; }
.team-member-meta em .material-symbols-rounded { margin-right: 3px; font-size: 12px; }
.team-role-badge { display: inline-flex; width: max-content; max-width: 100%; padding: 5px 8px; overflow: hidden; border-radius: 5px; color: var(--role-color); background: color-mix(in srgb, var(--role-color) 10%, white); font-size: 10px; font-style: normal; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.team-permissions { display: flex; min-width: 0; align-items: flex-start; gap: 7px; }
.team-permissions > span { display: grid; width: 17px; height: 18px; flex: 0 0 17px; place-items: center; color: #596981; }
.team-permissions .material-symbols-rounded { font-size: 16px; }
.team-permissions p { display: -webkit-box; margin: 0; overflow: hidden; color: #536077; font-size: 10px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.team-availability { display: flex; max-width: 105px; flex-direction: column; gap: 6px; }
.team-availability > span { display: flex; align-items: center; gap: 7px; }
.team-availability > span i { width: 7px; height: 7px; border-radius: 50%; background: #4bc86d; }
.team-availability strong { color: #38455a; font-size: 10px; }
.team-availability > em { height: 4px; overflow: hidden; border-radius: 5px; background: #eef0f3; }
.team-availability > em b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #43bd64, #6ed584); }
.team-last-activity { display: flex; align-items: center; gap: 7px; color: #68758b; font-size: 10px; }
.team-last-activity i { width: 7px; height: 7px; border-radius: 50%; background: #c5cbd5; }
.team-last-activity.is-recent i { background: #53c873; }
.team-pending-state { display: flex; align-items: center; gap: 7px; color: #9b6813; }
.team-pending-state > span { display: grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border-radius: 50%; background: #fff1c8; }
.team-pending-state .material-symbols-rounded { font-size: 15px; }
.team-pending-state > div { display: flex; flex-direction: column; gap: 1px; }
.team-pending-state strong { color: #86580e; font-size: 10px; }
.team-pending-state small { color: #a87a31; font-size: 9px; }
.team-invitation-date { display: flex; align-items: flex-start; gap: 7px; color: #68758b; font-size: 10px; line-height: 1.25; }
.team-invitation-date > i { width: 7px; height: 7px; margin-top: 3px; flex: 0 0 7px; border-radius: 50%; background: #e3a631; }
.team-invitation-date > span { display: flex; flex-direction: column; gap: 2px; }
.team-invitation-date small { color: #9a6b22; font-size: 9px; }
.team-invitation-cancel { display: grid; place-items: center; }
.team-invitation-cancel button { display: grid; width: 29px; height: 29px; padding: 0; place-items: center; border: 1px solid transparent; border-radius: 6px; color: #9b6a1a; background: transparent; cursor: pointer; }
.team-invitation-cancel button:hover { border-color: #efc1c7; color: #d83d51; background: #fff1f3; }
.team-invitation-cancel .material-symbols-rounded { font-size: 18px; }
.team-row-menu { display: grid; width: 29px; height: 29px; padding: 0; place-items: center; border: 0; border-radius: 6px; color: #53627a; background: transparent; cursor: pointer; }
.team-row-menu:hover { color: #5426e8; background: #f0ecff; }
.team-row-menu .material-symbols-rounded { font-size: 19px; }
.team-row-menu.is-highlighted { color: #fff; background: #5a2bea; box-shadow: 0 0 0 4px rgba(90, 43, 234, .12); }
.team-empty-state { display: flex; min-height: 340px; padding: 35px; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.team-empty-state > .material-symbols-rounded { color: #7955eb; font-size: 46px; }
.team-empty-state h3 { margin: 10px 0 5px; color: #2b374d; font: 800 18px var(--font-display); }
.team-empty-state p { margin: 0 0 17px; color: #748096; font-size: 11px; }

.team-dialog { max-width: 650px; }
.team-member-create-dialog { max-width: 760px; }
.team-role-dialog { max-width: 720px; }
.team-role-list { max-height: 235px; margin: 15px 22px 0; overflow-y: auto; border: 1px solid #e0e4eb; border-radius: 8px; }
.team-role-list article { display: grid; min-height: 54px; padding: 8px 11px; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 9px; border-bottom: 1px solid #e6e9ee; }
.team-role-list article:last-child { border-bottom: 0; }
.team-role-list article > i { width: 7px; height: 32px; border-radius: 5px; background: var(--role-color); }
.team-role-list article > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.team-role-list strong { color: #303c51; font-size: 10px; }
.team-role-list small { overflow: hidden; color: #758096; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.team-role-list article > span { color: #68758a; font-size: 10px; }
.team-new-role { margin: 15px 22px 0; padding: 0; border: 0; }
.team-new-role legend { margin-bottom: 2px; color: #3b475c; font-size: 10px; font-weight: 700; }
.team-new-role .task-dialog__grid { padding: 10px 0 0; }
.team-new-role input[type="color"] { width: 100%; padding: 4px; cursor: pointer; }
.team-invitation-list { min-height: 120px; max-height: 360px; margin: 15px 22px 0; overflow-y: auto; border: 1px solid #e0e4eb; border-radius: 8px; }
.team-invitation-list article { display: grid; min-height: 66px; padding: 9px 11px; grid-template-columns: 34px minmax(0, 1fr) 30px; align-items: center; gap: 9px; border-bottom: 1px solid #e6e9ee; }
.team-invitation-list article:last-child { border-bottom: 0; }
.team-invitation-list article > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #8052e4, #4720b6); font-size: 10px; font-weight: 700; }
.team-invitation-list article > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.team-invitation-list strong { color: #303c51; font-size: 10px; }
.team-invitation-list small { overflow: hidden; color: #69758b; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.team-invitation-list em { color: #9a6b22; font-size: 10px; font-style: normal; }
.team-invitation-list form button { display: grid; width: 28px; height: 28px; padding: 0; place-items: center; border: 1px solid #efc1c7; border-radius: 6px; color: #dc4053; background: #fff; cursor: pointer; }
.team-invitation-list form button:hover { background: #fff1f3; }
.team-invitation-list form .material-symbols-rounded { font-size: 16px; }
.team-invitation-empty { display: grid; min-height: 140px; place-items: center; align-content: center; color: #748096; }
.team-invitation-empty .material-symbols-rounded { color: #7957e9; font-size: 34px; }
.team-invitation-empty p { margin: 5px 0 0; font-size: 10px; }
.team-invitation-toggle { display: grid; min-height: 64px; margin: 14px 22px 0; padding: 10px 13px; grid-template-columns: 35px minmax(0, 1fr) 39px; align-items: center; gap: 10px; border: 1px solid #dfe4ec; border-radius: 8px; cursor: pointer; }
.team-invitation-toggle > input { position: absolute; opacity: 0; }
.team-invitation-toggle > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 8px; color: #5c30e9; background: #eee9ff; }
.team-invitation-toggle > span .material-symbols-rounded { font-size: 21px; }
.team-invitation-toggle > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.team-invitation-toggle strong { color: #344056; font-size: 10px; }
.team-invitation-toggle small { color: #7b8699; font-size: 10px; line-height: 1.35; }
.team-invitation-toggle > i { position: relative; width: 37px; height: 21px; border-radius: 22px; background: #c9cfda; transition: background .16s; }
.team-invitation-toggle > i::after { position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(20, 31, 53, .22); content: ''; transition: transform .16s; }
.team-invitation-toggle > input:checked ~ i { background: #5d2dec; }
.team-invitation-toggle > input:checked ~ i::after { transform: translateX(16px); }
.team-card.is-load-focus .team-availability { animation: team-load-pulse .85s ease; }
@keyframes team-load-pulse { 50% { transform: scale(1.08); filter: saturate(1.35); } }

@media (max-width: 1300px) {
  .team-stats { grid-template-columns: repeat(2, 1fr); }
  .team-card__head { align-items: flex-start; flex-direction: column; }
  .team-card__actions { width: 100%; flex-wrap: wrap; }
  .team-card__actions .button { flex: 1; justify-content: center; white-space: nowrap; }
}
@media (max-width: 700px) {
  .team-page { margin: 0; }
  .team-stats { grid-template-columns: 1fr; }
  .team-stat { min-height: 138px; }
  .team-card__actions { flex-direction: column; }
  .team-card__actions .button { width: 100%; flex: auto; }
  .team-dialog .task-dialog__grid { grid-template-columns: 1fr; }
  .team-dialog .task-dialog__actions { flex-wrap: wrap; }
  .team-dialog .task-dialog__actions .button { flex: 1; justify-content: center; white-space: nowrap; }
}

/* Logos personnalisés des projets. */
.project-avatar > img,
.rail-project > span > img { display: block; width: 100%; height: 100%; padding: 4px; border-radius: inherit; object-fit: contain; box-sizing: border-box; background: #fff; }
.project-avatar--huge > img { padding: 7px; }
.project-avatar--large > img, .project-avatar--preview > img { padding: 5px; }
.project-logo-field { position: relative; display: grid; min-height: 66px; padding: 11px 13px; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 11px; border: 1px dashed #c9c2df; border-radius: 9px; color: #566278; background: #faf9ff; cursor: pointer; transition: border-color .16s, background .16s; }
.project-logo-field:hover, .project-logo-field:focus-within { border-color: #7045e7; background: #f5f2ff; }
.project-logo-field > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.project-logo-field > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 8px; color: #5c2dea; background: #ebe5ff; }
.project-logo-field > span .material-symbols-rounded { font-size: 22px; }
.project-logo-field > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.project-logo-field strong { color: #354157; font-size: 11px; }
.project-logo-field small { color: #778298; font-size: 10px; }
.project-logo-field em { max-width: 170px; padding: 6px 9px; overflow: hidden; border: 1px solid #d9dfe8; border-radius: 6px; color: #57647a; background: #fff; font-size: 10px; font-style: normal; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.project-logo-remove { display: flex; width: max-content; max-width: 100%; align-items: center; gap: 8px; color: #68758b; font-size: 10px; cursor: pointer; }
.project-logo-remove input { position: absolute; opacity: 0; }
.project-logo-remove i { width: 15px; height: 15px; flex: 0 0 15px; border: 1px solid #c7ced9; border-radius: 4px; background: #fff; }
.project-logo-remove input:checked + i { border-color: #d83c50; background: #d83c50; box-shadow: inset 0 0 0 3px #fff; }
.wizard-form .project-logo-field { width: min(460px, 100%); margin: -14px 0 22px; }
.edit-form .project-logo-field { width: 100%; }

@media (max-width: 560px) {
  .project-logo-field { grid-template-columns: 38px minmax(0, 1fr); }
  .project-logo-field em { max-width: none; grid-column: 1 / -1; text-align: center; }
}

/* Fiche entreprise. */
.company-page { display: flex; margin: -3px 0 0; flex-direction: column; gap: 0; }
.company-hero { position: relative; display: grid; min-height: 168px; padding: 24px 30px; overflow: hidden; grid-template-columns: 92px minmax(300px, 1.3fr) minmax(360px, 1fr) 90px; align-items: center; gap: 20px; border-radius: 11px; color: #fff; background: radial-gradient(circle at 79% 42%, rgba(122, 63, 255, .82), transparent 29%), linear-gradient(110deg, #071532 0%, #10245b 34%, #3515d3 67%, #bd7cf0 100%); box-shadow: 0 12px 30px rgba(37, 26, 112, .17); }
.company-hero::after { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 45%, rgba(255,255,255,.08)); content: ''; }
.company-hero__logo { position: relative; z-index: 1; display: grid; width: 86px; height: 86px; overflow: hidden; place-items: center; border: 2px solid rgba(255,255,255,.25); border-radius: 15px; color: #fff; background: rgba(4, 17, 43, .76); box-shadow: inset 0 0 30px rgba(255,255,255,.03); font: 700 31px var(--font-display); }
.company-hero__logo img, .company-quick-preview__logo img, [data-company-logo-thumbnail] img { display: block; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.company-hero__identity { position: relative; z-index: 1; min-width: 0; padding-right: 25px; border-right: 1px solid rgba(255,255,255,.16); }
.company-hero__identity > div { display: flex; align-items: center; gap: 11px; }
.company-hero__identity h2 { margin: 0; overflow: hidden; font: 800 24px/1.15 var(--font-display); letter-spacing: -.5px; text-overflow: ellipsis; white-space: nowrap; }
.company-hero__identity > div > span { padding: 4px 8px; border-radius: 5px; color: #fff; background: rgba(255,255,255,.17); font-size: 11px; font-weight: 700; }
.company-hero__identity > p { max-width: 650px; margin: 11px 0 13px; color: rgba(255,255,255,.9); font-size: 12px; line-height: 1.55; }
.company-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.company-hero__chips > span { display: inline-flex; min-height: 25px; padding: 3px 10px; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; color: rgba(255,255,255,.9); background: rgba(8,19,50,.18); font-size: 10px; }
.company-hero__chips .material-symbols-rounded { font-size: 14px; }
.company-hero__facts { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 19px 28px; }
.company-hero__facts > div { display: grid; min-width: 0; grid-template-columns: 24px minmax(0,1fr); gap: 8px; }
.company-hero__facts > div > span { color: #fff; }
.company-hero__facts .material-symbols-rounded { font-size: 20px; }
.company-hero__facts p { display: flex; min-width: 0; margin: 0; flex-direction: column; gap: 4px; }
.company-hero__facts small { color: rgba(255,255,255,.75); font-size: 10px; }
.company-hero__facts strong, .company-hero__facts a { overflow: hidden; color: #fff; font-size: 12px; font-weight: 700; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.company-hero__facts a:hover { text-decoration: underline; }
.company-hero__mark { position: relative; z-index: 1; width: 72px; height: 72px; justify-self: center; opacity: .62; object-fit: contain; filter: grayscale(1) brightness(0) invert(1) drop-shadow(0 13px 10px rgba(255,255,255,.38)); }
.company-tabs { display: flex; min-height: 54px; margin-top: 24px; padding: 0 18px; overflow-x: auto; overflow-y: hidden; align-items: stretch; gap: 7px; border: 1px solid #dde2eb; border-radius: 10px; background: #fff; box-shadow: 0 3px 10px rgba(23,35,61,.035); }
.company-tabs :is(a,button) { position: relative; display: inline-flex; padding: 0 13px; align-items: center; gap: 8px; border: 0; color: #354058; background: transparent; font: 600 12px var(--font-body); text-decoration: none; white-space: nowrap; cursor: pointer; }
.company-tabs :is(a,button)::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; border-radius: 3px 3px 0 0; background: transparent; content: ''; }
.company-tabs :is(a,button):hover { color: #4d21e8; }
.company-tabs :is(a,button).is-active { min-height: 38px; margin: 7px 0; align-self: center; border-radius: 7px; color: #fff; background: linear-gradient(135deg,#652cf1,#4b18e5); box-shadow: 0 5px 12px rgba(79,28,224,.22); font-weight: 700; }
.company-tabs :is(a,button).is-active:hover { color: #fff; background: linear-gradient(135deg,#6b34f3,#5220e7); }
.company-tabs :is(a,button).is-active::after { display: none; }
.company-tabs .material-symbols-rounded { font-size: 18px; }
.company-layout { display: grid; padding-top: 14px; grid-template-columns: minmax(0, 2.25fr) minmax(300px, .98fr); align-items: start; gap: 16px; }
.company-tab-panel--members { padding-top: 14px; }
.company-tab-panel--members .team-page { margin: 0; }
.company-form-card, .company-side-card { border: 1px solid #dde2ea; border-radius: 10px; background: #fff; box-shadow: 0 2px 7px rgba(23, 35, 61, .025); }
.company-form-card { overflow: hidden; }
.company-form-card fieldset { margin: 0; padding: 22px 20px 20px; border: 0; border-bottom: 1px solid #e8ebf0; }
.company-form-card legend { width: 100%; margin: 0; padding: 12px 0 15px; color: #1f2a3d; font-size: 12px; font-weight: 750; }
.company-form-card legend b { margin-right: 4px; }
.company-field-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px 18px; }
.company-form-card .field { gap: 6px; color: #4d5a71; font-size: 10px; font-weight: 650; }
.company-form-card .field > span:first-child { min-height: 13px; }
.company-form-card .field em { float: none; color: #ef4258; font-weight: 700; }
.company-form-card .field small { font-size: 10px; }
.company-form-card .field input, .company-form-card .field select { height: 38px; padding: 0 11px; border-radius: 6px; font-size: 11px; }
.company-field-grid--address { grid-template-columns: repeat(3, minmax(0,1fr)); }
.company-span-2 { grid-column: span 2; }
.company-field-grid--legal { grid-template-columns: repeat(4, minmax(0,1fr)); }
.company-description-field { grid-column: 1 / -1; }
.company-description-field textarea { min-height: 72px; padding: 10px 12px; border-radius: 0 0 6px 6px; border-top: 0; font-size: 11px; resize: vertical; }
.company-description-field > small { margin-top: -25px; padding-right: 11px; align-self: flex-end; pointer-events: none; }
.company-editor-toolbar { display: flex; height: 33px; padding: 0 10px; align-items: center; gap: 13px; border: 1px solid #d9deea; border-radius: 6px 6px 0 0; color: #67728a; background: #fff; }
.company-editor-toolbar i { min-width: 88px; padding-right: 13px; border-right: 1px solid #e3e6eb; color: #4e5a70; font-size: 10px; font-style: normal; }
.company-editor-toolbar .material-symbols-rounded { font-size: 16px; }
.company-money-input { position: relative; display: block; }
.company-money-input input { padding-right: 35px !important; }
.company-money-input i { position: absolute; top: 50%; right: 12px; color: #536076; font-size: 12px; font-style: normal; transform: translateY(-50%); }
.company-form-actions { display: flex; min-height: 67px; padding: 13px 20px; align-items: center; justify-content: space-between; gap: 18px; background: #fafbfc; }
.company-form-actions > span { display: flex; align-items: center; gap: 7px; color: #758096; font-size: 10px; }
.company-form-actions > span .material-symbols-rounded { font-size: 17px; }
.company-form-actions .button { min-height: 39px; }
.company-sidebar { display: flex; flex-direction: column; gap: 15px; }
.company-side-card { padding: 18px; }
.company-side-card h3 { margin: 0 0 5px; color: #253047; font: 750 13px var(--font-display); }
.company-side-card > p { margin: 0 0 14px; color: #7a8598; font-size: 10px; }
.company-logo-dropzone { position: relative; display: flex; min-height: 116px; padding: 15px; align-items: center; justify-content: center; flex-direction: column; gap: 7px; border: 1px dashed #cdd4df; border-radius: 8px; color: #5022e8; background: #fcfcff; text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.company-logo-dropzone:hover, .company-logo-dropzone:focus-within { border-color: #6a41ed; background: #f8f6ff; }
.company-logo-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.company-logo-dropzone > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: #eeeaff; }
.company-logo-dropzone .material-symbols-rounded { font-size: 20px; }
.company-logo-dropzone strong { font-size: 11px; }
.company-logo-dropzone small { color: #7b8599; font-size: 10px; }
.company-logo-file { display: grid; min-height: 59px; margin-top: 13px; padding: 8px; grid-template-columns: 40px minmax(0,1fr) 34px; align-items: center; gap: 9px; border: 1px solid #e0e4eb; border-radius: 8px; }
.company-logo-file.is-empty { opacity: .72; }
.company-logo-file > span { display: grid; width: 40px; height: 40px; overflow: hidden; place-items: center; border-radius: 7px; color: #fff; background: #08152d; font-size: 13px; font-weight: 800; }
.company-logo-file > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.company-logo-file strong, .company-logo-file small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.company-logo-file strong { color: #354056; font-size: 10px; }
.company-logo-file small { color: #8a94a5; font-size: 10px; }
.company-logo-file button { display: grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 1px solid #e0e4eb; border-radius: 7px; color: #66738a; background: #fff; cursor: pointer; }
.company-logo-file button:hover:not(:disabled) { border-color: #f1b8c0; color: #dc344b; background: #fff6f7; }
.company-logo-file button:disabled { opacity: .35; cursor: default; }
.company-logo-file button .material-symbols-rounded { font-size: 17px; }
.company-quick-preview { display: grid; min-height: 160px; padding: 15px; grid-template-columns: 66px minmax(0,1fr); align-items: start; gap: 14px; border: 1px solid #e2e6ec; border-radius: 8px; background: #fff; }
.company-quick-preview__logo { display: grid; width: 66px; height: 66px; overflow: hidden; place-items: center; border-radius: 9px; color: #fff; background: linear-gradient(145deg,#0a1e45,#030b1b); font: 700 23px var(--font-display); }
.company-quick-preview h4 { margin: 7px 0 8px; color: #172239; font: 800 16px var(--font-display); }
.company-quick-preview h4 small { display: inline-flex; margin-left: 4px; padding: 3px 5px; border-radius: 4px; color: #5929e8; background: #eee9ff; font-size: 10px; vertical-align: middle; }
.company-quick-preview > div > p { display: flex; margin: 0 0 7px; align-items: center; gap: 7px; color: #69758a; font-size: 10px; }
.company-quick-preview > div > p i { width: 3px; height: 3px; border-radius: 50%; background: #8791a2; }
.company-quick-preview > div > a { color: #59667f; font-size: 10px; }
.company-quick-preview footer { display: flex; padding-top: 2px; grid-column: 1 / -1; flex-wrap: wrap; gap: 7px; }
.company-quick-preview footer > span { display: inline-flex; min-height: 24px; padding: 3px 8px; align-items: center; gap: 5px; border: 1px solid #e1e5eb; border-radius: 13px; color: #5f6c82; font-size: 10px; }
.company-quick-preview footer > span:last-child { flex-basis: 100%; border: 0; }
.company-quick-preview footer b { font-weight: 600; }
.company-quick-preview footer .material-symbols-rounded { font-size: 14px; }

/* Carnet de contacts / mini CRM. */
.company-hero--contacts { grid-template-columns: 92px minmax(360px,1.15fr) minmax(480px,1.25fr) 90px; }
.company-hero--contacts .company-hero__facts { grid-template-columns: repeat(4,minmax(90px,1fr)); gap: 12px; }
.company-hero--contacts .company-hero__facts > div { grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 9px; }
.company-hero--contacts .company-hero__facts > div > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 8px; background: rgba(255,255,255,.12); }
.company-hero--contacts .company-hero__facts p { gap: 1px; }
.company-hero--contacts .company-hero__facts strong { font: 800 20px/1 var(--font-display); }
.company-hero--contacts .company-hero__facts small { color: #fff; font-size: 9px; font-weight: 650; }
.company-hero__contact-mark { position: relative; z-index: 1; display: grid; width: 78px; height: 78px; place-items: center; justify-self: center; color: rgba(255,255,255,.82); filter: drop-shadow(0 13px 8px rgba(255,255,255,.35)); }
.company-hero__contact-mark .material-symbols-rounded { font-size: 67px; }
.company-contacts { margin-top: 14px; padding: 14px 10px 10px; border: 1px solid #dfe3eb; border-radius: 10px; background: rgba(255,255,255,.78); box-shadow: 0 3px 10px rgba(23,35,61,.035); }
.company-contact-toolbar { display: grid; padding-bottom: 14px; grid-template-columns: minmax(190px,1fr) 102px minmax(500px,auto) auto; align-items: center; gap: 10px; }
.company-contact-search, .company-contact-status-filter { display: flex; height: 38px; padding: 0 11px; align-items: center; gap: 8px; border: 1px solid #dfe3eb; border-radius: 7px; color: #748097; background: #fff; }
.company-contact-search .material-symbols-rounded, .company-contact-status-filter .material-symbols-rounded { font-size: 18px; }
.company-contact-search input { min-width: 0; width: 100%; border: 0; outline: 0; color: #2c3850; background: transparent; font: 500 10px var(--font-body); }
.company-contact-status-filter { position: relative; padding-right: 7px; font-size: 10px; font-weight: 650; }
.company-contact-status-filter select { position: absolute; inset: 0; border: 0; opacity: 0; cursor: pointer; }
.company-contact-category-filters { display: flex; min-width: 0; justify-content: flex-end; }
.company-contact-category-filters button { min-height: 32px; padding: 0 12px; border: 1px solid #e4e7ed; border-right: 0; color: #667188; background: #f8f9fb; font: 600 9px var(--font-body); white-space: nowrap; cursor: pointer; }
.company-contact-category-filters button:first-child { border-radius: 6px 0 0 6px; }
.company-contact-category-filters button:last-child { border-right: 1px solid #e4e7ed; border-radius: 0 6px 6px 0; }
.company-contact-category-filters button.is-active { position: relative; color: #5424ec; border-color: #d6cdf9; background: #f0edff; }
.company-contact-add { min-height: 38px; padding: 0 14px; font-size: 10px; white-space: nowrap; }
.company-contact-groups { display: flex; flex-direction: column; gap: 8px; }
.company-contact-group { overflow: hidden; border: 1px solid #e0e4eb; border-radius: 8px; background: #fff; }
.company-contact-group[hidden] { display: none; }
.company-contact-group summary { display: flex; min-height: 35px; padding: 0 11px; align-items: center; gap: 7px; color: #263149; background: #fbfbfc; font-size: 10px; cursor: pointer; list-style: none; }
.company-contact-group summary::-webkit-details-marker { display: none; }
.company-contact-group summary > .material-symbols-rounded { color: #77839a; font-size: 17px; transition: transform .15s ease; }
.company-contact-group:not([open]) summary > .material-symbols-rounded { transform: rotate(-90deg); }
.company-contact-group__icon { display: grid; width: 20px; height: 20px; place-items: center; color: #53617a; }
.company-contact-group__icon .material-symbols-rounded { font-size: 16px; }
.company-contact-table { overflow-x: auto; border-top: 1px solid #e6e9ef; }
.company-contact-row { display: grid; min-width: 920px; min-height: 42px; padding: 0 13px; grid-template-columns: minmax(185px,1.15fr) minmax(150px,.95fr) minmax(170px,1.1fr) 135px 120px 78px; align-items: center; gap: 12px; border-top: 1px solid #eef0f4; color: #42506a; font-size: 9px; }
.company-contact-row:first-child { border-top: 0; }
.company-contact-row[hidden] { display: none; }
.company-contact-row--head { min-height: 30px; color: #748097; background: #fdfdfe; font-size: 8px; font-weight: 700; }
.company-contact-row--head span:last-child { text-align: center; }
.company-contact-name { display: flex; min-width: 0; align-items: center; gap: 9px; }
.company-contact-name > span { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#6e4931,#162846); font-size: 8px; font-weight: 800; }
.company-contact-name > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.company-contact-name strong, .company-contact-name small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.company-contact-name strong { color: #263149; font-size: 9px; }
.company-contact-name small { color: #8a94a6; font-size: 8px; }
.company-contact-status { display: inline-flex; min-height: 20px; padding: 2px 9px; align-items: center; border-radius: 12px; font-size: 8px; font-style: normal; font-weight: 700; }
.company-contact-status--active { color: #25834d; background: #e6f5eb; }
.company-contact-status--follow-up { color: #d97712; background: #fff0df; }
.company-contact-status--new { color: #2464d8; background: #e8f0ff; }
.company-contact-status--waiting { color: #6332dc; background: #eee9ff; }
.company-contact-actions { display: flex; justify-content: center; gap: 5px; }
.company-contact-actions :is(a,button) { display: grid; width: 28px; height: 25px; padding: 0; place-items: center; border: 1px solid #e0e4eb; border-radius: 5px; color: #61708a; background: #fff; cursor: pointer; }
.company-contact-actions :is(a,button):hover { color: #5424ec; border-color: #cec4f6; background: #f7f5ff; }
.company-contact-actions button:disabled { opacity: .35; cursor: default; }
.company-contact-actions .material-symbols-rounded { font-size: 15px; }
.company-contact-group__empty, .company-contact-no-results { margin: 0; padding: 19px; color: #8a94a6; font-size: 10px; text-align: center; }
.company-contact-no-results { border: 1px dashed #dce1e9; border-radius: 8px; }
.company-contact-dialog { width: min(720px,calc(100vw - 30px)); }
.company-contact-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.company-contact-form-span { grid-column: 1 / -1; }
.company-contact-dialog .field input, .company-contact-dialog .field select { height: 42px; }
.company-contact-dialog .field textarea { min-height: 88px; }
.company-contact-dialog__actions > span { flex: 1; }
.company-contact-delete { color: #c5354b; border-color: #efc2ca; background: #fff5f6; }
.company-contact-delete:hover { color: #fff; background: #c5354b; }
.company-contact-migration { margin-top: 14px; }

/* Préparation et suivi du financement. */
.company-funding { display: flex; padding-top: 14px; flex-direction: column; gap: 12px; }
.funding-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.funding-kpis article { display: grid; min-height: 86px; padding: 15px; border: 1px solid #dfe3eb; border-radius: 9px; grid-template-columns: 45px minmax(0,1fr); align-items: center; gap: 12px; background: #fff; }
.funding-kpis article > span { display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid #ded6ff; border-radius: 10px; color: #5424ec; background: #f4f1ff; }
.funding-kpis article > span .material-symbols-rounded { font-size: 25px; }
.funding-kpis article div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.funding-kpis small { color: #65718a; font-size: 9px; }.funding-kpis strong { overflow: hidden; color: #243047; font: 800 17px var(--font-display); text-overflow: ellipsis; white-space: nowrap; }.funding-kpis em { color: #8390a4; font-size: 9px; font-style: normal; }
.funding-primary-grid { display: grid; grid-template-columns: minmax(370px,.78fr) minmax(620px,1.3fr); gap: 12px; }
.funding-secondary-grid { display: grid; grid-template-columns: 1.05fr 1.05fr .95fr; gap: 12px; }
.funding-card { min-width: 0; overflow: hidden; border: 1px solid #dfe3eb; border-radius: 9px; background: #fff; }
.funding-card > header { display: flex; min-height: 42px; padding: 0 15px; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #e7eaf0; }
.funding-card > header h3 { margin: 0; color: #202b42; font: 800 12px var(--font-display); }
.funding-card > header button, .funding-card > header a { display: inline-flex; min-height: 28px; padding: 0 10px; align-items: center; gap: 5px; border: 1px solid #dfe3eb; border-radius: 5px; color: #4f5c74; background: #fff; font: 650 9px var(--font-body); cursor: pointer; }
.funding-card > header button:hover { color: #5424ec; border-color: #cec4f6; }.funding-card > header .material-symbols-rounded { font-size: 14px; }
.funding-type-row, .funding-structure dl > div, .funding-thesis { display: grid; min-height: 35px; padding: 7px 15px; grid-template-columns: 165px minmax(0,1fr); align-items: center; gap: 10px; border-bottom: 1px solid #eceef2; }
.funding-type-row > span, .funding-structure dt, .funding-thesis > span, .funding-mix > span { color: #526078; font-size: 9px; font-weight: 650; }
.funding-type-row > div { display: flex; flex-wrap: wrap; gap: 5px; }.funding-type-row em { padding: 4px 8px; border: 1px solid #dfe3eb; border-radius: 4px; color: #526078; font-size: 8px; font-style: normal; }.funding-type-row em.is-active { color: #fff; border-color: #5424ec; background: #5424ec; }
.funding-structure dl { margin: 0; }.funding-structure dt small { font-weight: 400; }.funding-structure dd { margin: 0; color: #2c3850; font-size: 10px; font-weight: 700; }
.funding-mix { padding: 10px 15px; border-bottom: 1px solid #eceef2; }.funding-mix > i { display: block; height: 7px; margin-top: 7px; overflow: hidden; border-radius: 5px; background: #4bb79b; }.funding-mix > i b { display: block; height: 100%; background: #5424ec; }.funding-mix > div { display: flex; margin-top: 5px; justify-content: space-between; color: #45536b; }.funding-mix strong { font-size: 9px; }.funding-mix small { font-weight: 400; }
.funding-thesis { min-height: 61px; border-bottom: 0; }.funding-thesis p { margin: 0; color: #68758b; font-size: 9px; line-height: 1.45; }
.funding-target-table { overflow-x: auto; }.funding-target-row { display: grid; min-width: 850px; min-height: 38px; padding: 0 13px; grid-template-columns: 135px 90px 105px 110px 110px 98px 110px 25px; align-items: center; gap: 7px; border-top: 1px solid #edf0f4; color: #4d5a72; font-size: 8px; }.funding-target-row--head { min-height: 31px; border-top: 0; color: #758198; font-weight: 700; }.funding-target-row > strong { display: flex; min-width: 0; align-items: center; gap: 7px; overflow: hidden; color: #273249; text-overflow: ellipsis; white-space: nowrap; }.funding-target-row > strong i { display: grid; width: 23px; height: 23px; flex: 0 0 23px; place-items: center; border-radius: 5px; color: #fff; background: #111c36; font-size: 7px; font-style: normal; }.funding-target-row > button { display: grid; width: 25px; height: 25px; padding: 0; place-items: center; border: 0; color: #526078; background: transparent; cursor: pointer; }.funding-target-row > button .material-symbols-rounded { font-size: 16px; }
.funding-nature, .funding-target-status { display: inline-flex; padding: 3px 7px; border-radius: 9px; font-size: 7px; font-style: normal; font-weight: 700; }.funding-nature--investor { color: #5630dc; background: #eee9ff; }.funding-nature--individual { color: #278152; background: #e5f5eb; }.funding-target-status--contact { color: #647087; background: #f0f2f5; }.funding-target-status--discussion { color: #2768dc; background: #e8f1ff; }.funding-target-status--follow-up { color: #d47412; background: #fff0df; }.funding-target-status--interested { color: #278152; background: #e5f5eb; }.funding-empty { margin: 0; padding: 40px; color: #8993a5; font-size: 10px; text-align: center; }
.funding-deliverable-head, .funding-deliverables > div:not(.funding-deliverable-head) { display: grid; min-height: 29px; padding: 0 14px; grid-template-columns: 1.2fr .7fr 1fr .7fr; align-items: center; gap: 8px; border-top: 1px solid #eef0f4; color: #506078; font-size: 8px; }.funding-deliverable-head { border-top: 0; color: #758198; font-weight: 700; }.funding-deliverables > div strong { color: #344159; font-size: 8px; }.funding-deliverables > div em { width: fit-content; padding: 3px 6px; border-radius: 7px; color: #68758a; background: #f0f2f5; font-size: 7px; font-style: normal; }.funding-deliverables > div em.is-progress { color: #5424ec; background: #eee9ff; }.funding-deliverables > div button { display: inline-flex; padding: 0; align-items: center; gap: 3px; border: 0; color: #5424ec; background: transparent; font-size: 7px; cursor: pointer; }.funding-deliverables .material-symbols-rounded { font-size: 12px; }
.funding-allocation { padding-bottom: 10px; }.funding-allocation-bar { display: flex; height: 16px; margin: 20px 18px 15px; overflow: hidden; gap: 2px; border-radius: 5px; }.funding-allocation-bar i:nth-child(1){background:#5424ec}.funding-allocation-bar i:nth-child(2){background:#3472e8}.funding-allocation-bar i:nth-child(3){background:#43ae96}.funding-allocation-bar i:nth-child(4){background:#ed7d28}.funding-allocation-bar i:nth-child(5){background:#e9ad28}.funding-allocation-legend { display: grid; padding: 0 18px; grid-template-columns: repeat(5,1fr); gap: 8px; }.funding-allocation-legend span { display: grid; grid-template-columns: 7px 1fr; gap: 3px 5px; color: #536078; font-size: 8px; }.funding-allocation-legend span > i { width: 7px; height: 7px; border-radius: 50%; background:#5424ec}.funding-allocation-legend span:nth-child(2)>i{background:#3472e8}.funding-allocation-legend span:nth-child(3)>i{background:#43ae96}.funding-allocation-legend span:nth-child(4)>i{background:#ed7d28}.funding-allocation-legend span:nth-child(5)>i{background:#e9ad28}.funding-allocation-legend strong { grid-column: 2; color: #263149; }.funding-allocation footer { display: flex; margin: 24px 18px 0; padding-top: 9px; align-items: center; justify-content: space-between; border-top: 1px solid #edf0f4; color: #8993a5; font-size: 8px; }.funding-allocation footer button { display: inline-flex; align-items:center; gap:4px; border:1px solid #dfe3eb; border-radius:5px; background:#fff; color:#4f5c74; font-size:8px; }
.funding-approach { padding-bottom: 7px; }.funding-approach ol { margin: 7px 14px 5px; padding: 0; list-style: none; }.funding-approach li { position: relative; display: grid; min-height: 26px; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 6px; color: #39465d; font-size: 8px; }.funding-approach li::before { position:absolute; top:18px; bottom:-8px; left:9px; width:1px; background:#cfd5df; content:''; }.funding-approach li:last-child::before { display:none; }.funding-approach li > i { z-index:1; display:grid; width:17px; height:17px; place-items:center; border:1px solid #71809a; border-radius:50%; background:#fff; font-size:7px; font-style:normal; }.funding-approach li.is-done > i { color:#fff; border-color:#42ad8c; background:#42ad8c; }.funding-approach li em { padding:3px 7px; border-radius:8px; color:#268052; background:#e5f5eb; font-size:7px; font-style:normal; }.funding-approach time { color:#71809a; }.funding-approach > a { display:block; margin:0 14px; padding-top:6px; border-top:1px solid #edf0f4; color:#4f5c74; font-size:8px; text-align:right; }
.funding-cta { display:grid; min-height:84px; padding:14px 28px; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:18px; border:1px solid #6c45ed; border-radius:9px; background:linear-gradient(110deg,#f5f1ff,#c8b9ff 55%,#6334e9); }.funding-cta > span { display:grid; width:48px; height:48px; place-items:center; border-radius:50%; color:#5424ec; background:#eee9ff; }.funding-cta h3 { margin:0 0 5px; font:800 15px var(--font-display); }.funding-cta p { margin:0; color:#5e6a82; font-size:9px; }.funding-cta button { display:inline-flex; min-height:42px; padding:0 20px; align-items:center; gap:18px; border:0; border-radius:5px; color:#fff; background:#4010dc; font:700 10px var(--font-body); cursor:pointer; }
.funding-target-actions > span { flex:1; }.company-funding-migration { margin-top:14px; }

@media (max-width: 1250px) { .funding-primary-grid { grid-template-columns:1fr; }.funding-secondary-grid { grid-template-columns:repeat(2,1fr); }.funding-approach { grid-column:1 / -1; }.funding-kpis { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 720px) { .funding-kpis,.funding-secondary-grid { grid-template-columns:1fr; }.funding-approach { grid-column:auto; }.funding-primary-grid { display:block; }.funding-primary-grid > * + * { margin-top:12px; }.funding-type-row,.funding-structure dl > div,.funding-thesis { grid-template-columns:1fr; }.funding-cta { grid-template-columns:45px 1fr; padding:15px; }.funding-cta button { grid-column:1 / -1; justify-content:center; }.funding-dialog .task-dialog__grid { grid-template-columns:1fr; } }

@media (max-width: 1250px) {
  .company-hero { grid-template-columns: 80px minmax(240px,1fr) minmax(320px,1fr); }
  .company-hero__logo { width: 76px; height: 76px; }
  .company-hero__mark { display: none; }
  .company-layout { grid-template-columns: minmax(0,1.8fr) minmax(280px,.9fr); }
  .company-field-grid--legal { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-hero--contacts { grid-template-columns: 80px minmax(280px,1fr) minmax(430px,1.2fr); }
  .company-hero__contact-mark { display: none; }
  .company-contact-toolbar { grid-template-columns: minmax(190px,1fr) 102px auto; }
  .company-contact-category-filters { grid-column: 1 / 3; grid-row: 2; justify-content: flex-start; }
  .company-contact-add { grid-column: 3; grid-row: 1 / 3; }
}
@media (max-width: 980px) {
  .company-hero { grid-template-columns: 80px minmax(0,1fr); }
  .company-hero__identity { border-right: 0; }
  .company-hero__facts { grid-column: 1 / -1; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.14); grid-template-columns: repeat(4,minmax(0,1fr)); }
  .company-layout { grid-template-columns: 1fr; }
  .company-sidebar { grid-row: 1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-hero--contacts { grid-template-columns: 80px minmax(0,1fr); }
  .company-contact-toolbar { grid-template-columns: minmax(0,1fr) 102px; }
  .company-contact-category-filters { grid-column: 1 / -1; overflow-x: auto; }
  .company-contact-add { grid-column: 1 / -1; grid-row: 3; justify-content: center; }
}
@media (max-width: 720px) {
  .company-hero { padding: 20px; grid-template-columns: 65px minmax(0,1fr); }
  .company-hero__logo { width: 62px; height: 62px; border-radius: 11px; font-size: 23px; }
  .company-hero__identity { padding-right: 0; }
  .company-hero__identity h2 { font-size: 20px; }
  .company-hero__facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-sidebar { grid-template-columns: 1fr; }
  .company-field-grid, .company-field-grid--address, .company-field-grid--legal { grid-template-columns: 1fr; }
  .company-span-2 { grid-column: auto; }
  .company-form-actions { align-items: stretch; flex-direction: column; }
  .company-form-actions .button { justify-content: center; }
  .company-tabs { margin-top: 18px; padding-right: 10px; padding-left: 10px; }
  .company-contacts { padding-right: 7px; padding-left: 7px; }
  .company-contact-form-grid { grid-template-columns: 1fr; }
  .company-contact-form-span { grid-column: auto; }
  .company-contact-dialog__actions { display: flex; flex-wrap: wrap; }
  .company-contact-dialog__actions > span { display: none; }
}
@media (max-width: 470px) {
  .company-hero { grid-template-columns: 1fr; }
  .company-hero__identity > div { align-items: flex-start; flex-direction: column; }
  .company-hero__facts { grid-template-columns: 1fr; }
  .company-tabs :is(a,button) { padding: 0 9px; }
  .company-form-card fieldset, .company-side-card { padding-right: 14px; padding-left: 14px; }
}

/* Module Cadrage. */
.framing-page { display: flex; flex-direction: column; gap: 14px; }
.framing-page__actions { display: flex; min-height: 38px; align-items: center; justify-content: flex-end; }
.framing-page__actions .button { min-height: 38px; padding: 0 17px; border-radius: 6px; box-shadow: 0 6px 15px rgba(83,35,224,.17); font-size: 11px; }
.framing-page__actions .material-symbols-rounded { font-size: 17px; }
.framing-journey { padding: 17px 18px 15px; border: 1px solid #dce1e9; border-radius: 9px; background: #fff; box-shadow: 0 3px 11px rgba(24,37,68,.035); }
.framing-journey > header { display: flex; align-items: flex-end; gap: 13px; }
.framing-journey > header > div { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.framing-journey h2 { margin: 0; color: #202c44; font: 800 13px var(--font-display); }
.framing-journey header p { margin: 0; color: #536078; font-size: 10px; }
.framing-journey header p strong { color: #303d55; }
.framing-journey > header > b { padding: 5px 8px; border-radius: 5px; color: #463a66; background: #f0edf8; font-size: 10px; }
.framing-journey__bar { margin: -10px 6px 0 205px; }
.framing-journey__bar > i { position: relative; display: block; height: 8px; overflow: hidden; border-radius: 9px; background: #eff0f6; }
.framing-journey__bar > i b { display: block; width: var(--framing-progress); height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6630ed,#4e1ddd); transition: width .35s ease; }
.framing-journey__bar > i::before { position: absolute; z-index: 2; top: 1px; left: max(3px,calc(var(--framing-progress) - 6px)); width: 6px; height: 6px; border-radius: 50%; background: #5928e7; box-shadow: 0 0 0 3px rgba(89,40,231,.1); content: ''; }
.framing-journey__hint { margin: 9px 0 14px; color: #778298; font-size: 10px; }
.framing-journey ol { position: relative; display: grid; margin: 0; padding: 0; grid-template-columns: repeat(5,1fr); list-style: none; }
.framing-journey ol::before { position: absolute; top: 9px; right: 18px; left: 18px; border-top: 1px dashed #c8ceda; content: ''; }
.framing-journey li { position: relative; z-index: 1; display: flex; align-items: flex-start; flex-direction: column; gap: 7px; color: #7a8699; }
.framing-journey li:nth-child(n+2):not(:last-child) { align-items: center; }.framing-journey li:last-child { align-items: flex-end; }
.framing-journey li > span { display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid #c5ccda; border-radius: 50%; color: #a0a8b6; background: #fff; }
.framing-journey li > span .material-symbols-rounded { font-size: 12px; }
.framing-journey li small { color: inherit; font-size: 10px; white-space: nowrap; }
.framing-journey li.is-reached { color: #5930df; }.framing-journey li.is-reached > span { color: #5b2bea; border-color: #6940eb; box-shadow: 0 0 0 4px #f0ecff; }.framing-journey li.is-current small { font-weight: 750; }.framing-journey li:last-child > span { border: 0; border-radius: 6px; color: #5726e6; background: #f0ecff; }
.framing-category-list { display: flex; flex-direction: column; gap: 20px; }
.framing-category { display: flex; flex-direction: column; gap: 10px; }
.framing-category > header { display: grid; min-height: 50px; padding: 0 3px; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 10px; }
.framing-category > header > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 8px; color: #5c2ce7; background: #eeeaff; }
.framing-category > header > span .material-symbols-rounded { font-size: 20px; }
.framing-category > header h2 { margin: 0 0 3px; color: #1d2941; font: 800 14px var(--font-display); }
.framing-category > header p { margin: 0; color: #748097; font-size: 10px; }
.framing-category > header em { padding: 5px 8px; border-radius: 10px; color: #5f6c82; background: #eef0f4; font-size: 10px; font-style: normal; font-weight: 700; }
.framing-category--analysis > header > span { color: #1971dd; background: #eaf2ff; }.framing-category--modeling > header > span { color: #c96f0b; background: #fff2e2; }.framing-category--validation > header > span { color: #299055; background: #e8f7ed; }.framing-category--custom > header > span { color: #b13470; background: #fceaf3; }
.framing-overview { display: grid; min-height: 205px; padding: 28px 30px; grid-template-columns: minmax(0,1fr) 180px; grid-template-rows: auto 1fr; column-gap: 30px; border: 1px solid #ddd6fb; border-radius: 12px; background: radial-gradient(circle at 88% 22%, rgba(104,65,235,.08), transparent 28%), linear-gradient(110deg,#f1edff 0%,#faf9ff 61%,#fff 100%); }
.framing-overview__heading { display: flex; align-items: center; gap: 19px; }
.framing-overview__heading > span { display: grid; width: 67px; height: 67px; flex: 0 0 67px; place-items: center; border: 1px solid #dfd7fd; border-radius: 10px; color: #6536ec; background: #fff; box-shadow: 0 3px 11px rgba(72,45,152,.05); }
.framing-overview__heading > span .material-symbols-rounded { font-size: 32px; }
.framing-overview__heading h2 { margin: 0 0 6px; color: #162138; font: 800 18px/1.2 var(--font-display); letter-spacing: -.3px; }
.framing-overview__heading p { margin: 0; color: #647087; font-size: 12px; }
.framing-overview__stats { display: grid; margin: 19px 0 0 86px; grid-template-columns: repeat(4,minmax(100px,1fr)); align-items: center; }
.framing-overview__stats > div { display: flex; min-height: 64px; padding: 0 26px; justify-content: center; flex-direction: column; gap: 8px; border-right: 1px solid #dddfea; }
.framing-overview__stats > div:first-child { padding-left: 0; }
.framing-overview__stats > div:last-child { border-right: 0; }
.framing-overview__stats strong { color: #121d34; font: 800 23px/1 var(--font-display); }
.framing-overview__stats span { display: flex; align-items: center; gap: 8px; color: #46536b; font-size: 10px; }
.framing-overview__stats i { width: 7px; height: 7px; border-radius: 50%; background: #8d98ad; }
.framing-overview__stats i.is-progress { background: #4e7df1; }
.framing-overview__stats i.is-completed { background: #45b95f; }
.framing-completion { display: flex; grid-column: 2; grid-row: 1 / 3; align-items: center; justify-content: center; flex-direction: column; gap: 10px; }
.framing-completion > span { position: relative; display: grid; width: 96px; height: 96px; place-items: center; border-radius: 50%; background: conic-gradient(#6335ec calc(var(--completion) * 1%), #e9e4fa 0); }
.framing-completion > span::after { position: absolute; inset: 9px; border-radius: 50%; background: #faf9ff; content: ''; }
.framing-completion b { position: relative; z-index: 1; color: #162038; font: 800 18px var(--font-display); }
.framing-completion small { color: #48546b; font-size: 10px; }
.framing-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.framing-card { display: flex; min-width: 0; min-height: 184px; padding: 18px 18px 0; overflow: hidden; border: 1px solid #dde2e9; border-radius: 9px; flex-direction: column; background: #fff; box-shadow: 0 2px 7px rgba(29,39,60,.025); transition: transform .16s, border-color .16s, box-shadow .16s; }
.framing-card:hover { border-color: #c9bef8; transform: translateY(-2px); box-shadow: 0 9px 24px rgba(43,32,93,.08); }
.framing-card__head { display: grid; min-width: 0; grid-template-columns: 52px minmax(0,1fr); align-items: start; gap: 16px; }
.framing-card__icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 9px; color: #6435e9; background: #f0ebff; }
.framing-card__icon .material-symbols-rounded { font-size: 29px; }
.framing-card__icon--orange { color: #ef960f; background: #fff3e2; }
.framing-card__icon--green { color: #2eae5c; background: #e8f8ed; }
.framing-card__icon--blue { color: #2868ec; background: #eaf0ff; }
.framing-card__icon--pink { color: #e53179; background: #fceaf2; }
.framing-card__icon--cyan { color: #1cadb3; background: #e5f8f8; }
.framing-card__head h3 { margin: 3px 0 7px; color: #182338; font: 750 13px/1.25 var(--font-display); }
.framing-card__head p { display: -webkit-box; margin: 0; overflow: hidden; color: #69758a; font-size: 10px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.framing-status { align-self: flex-start; margin-top: auto; margin-bottom: 7px; padding: 4px 8px; border-radius: 5px; font-size: 10px; font-weight: 700; }
.framing-status--in-progress { color: #4f2ee5; background: #ece9ff; }
.framing-status--completed { color: #278846; background: #e5f6e9; }
.framing-status--pending { color: #536176; border: 1px solid #dfe3e9; background: #f8f9fb; }
.framing-card > button { display: flex; width: 100%; min-height: 39px; padding: 0 4px; align-items: center; gap: 10px; border: 0; color: #582ae8; background: transparent; font: 700 10px var(--font-body); cursor: pointer; }
.framing-card > button:hover { color: #582ae8; }
.framing-card > button .material-symbols-rounded { font-size: 17px; transition: transform .16s; }
.framing-card > button:hover .material-symbols-rounded { transform: translateX(3px); }
.framing-add-card { display: grid; min-height: 84px; padding: 16px 20px; grid-column: span 2; grid-template-columns: 43px minmax(0,1fr) 24px; align-items: center; gap: 15px; border: 1px solid #dce1e9; border-radius: 10px; color: #202d44; background: #fff; text-align: left; cursor: pointer; }
.framing-add-card:hover { border-color: #9d87ed; background: #fbfaff; }
.framing-add-card > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 9px; color: #6132e8; background: #f0ecff; }
.framing-add-card > span .material-symbols-rounded { font-size: 25px; }
.framing-add-card > div { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.framing-add-card strong { font-size: 11px; }
.framing-add-card small { color: #6d788c; font-size: 10px; }
.framing-add-card > .material-symbols-rounded { justify-self: end; color: #56637a; font-size: 20px; }
.framing-dialog { max-width: 720px; }
.framing-dialog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.framing-dialog .company-span-2 { grid-column: 1 / -1; }
.framing-dialog .task-dialog__actions > span { flex: 1; }
.framing-progress-field { display: grid; min-height: 49px; grid-template-columns: minmax(0,1fr) 42px; align-items: center; gap: 10px; }
.framing-progress-field input { height: auto !important; padding: 0 !important; accent-color: #5d2ee9; cursor: pointer; }
.framing-progress-field b { color: #4c5870; font-size: 11px; text-align: right; }
.framing-structured-dialog { width: min(920px,calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); padding: 0; overflow: hidden; border: 0; border-radius: 13px; color: #19243c; background: #fff; box-shadow: 0 28px 80px rgba(15,24,47,.25); }
.framing-structured-dialog::backdrop { background: rgba(18,30,56,.45); backdrop-filter: blur(3px); }
.framing-structured-dialog > form { display: flex; max-height: calc(100vh - 32px); flex-direction: column; }
.framing-structured-dialog > form > header { display: grid; min-height: 92px; padding: 22px 28px 16px; grid-template-columns: 54px minmax(0,1fr) 35px; align-items: center; gap: 17px; }
.framing-structured-dialog > form > header h2 { margin: 0 0 5px; color: #101a34; font: 800 22px/1.15 var(--font-display); }
.framing-structured-dialog > form > header p { margin: 0; color: #65728a; font-size: 12px; }
.framing-structured-dialog > form > header > button { display: grid; width: 34px; height: 34px; padding: 0; place-items: center; border: 0; border-radius: 7px; color: #34415a; background: transparent; cursor: pointer; }
.framing-structured-dialog > form > header > button:hover { background: #f2f3f7; }
.framing-structured-body { display: flex; padding: 8px 28px 18px; overflow-y: auto; flex-direction: column; gap: 18px; }
.framing-structured-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.framing-form-field { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.framing-form-field > strong { color: #202b43; font-size: 12px; }
.framing-form-field > small { min-height: 16px; color: #748097; font-size: 10px; }
.framing-form-field--ai > label { width: max-content; color: #202b43; font-size: 12px; cursor: pointer; }
.framing-ai-button { position: absolute; z-index: 2; top: 7px; right: 7px; display: grid; width: 28px; height: 28px; padding: 0; place-items: center; border: 0; border-radius: 7px; color: #fff; background: linear-gradient(145deg,#6d39f3,#4011d8); box-shadow: 0 3px 8px rgba(75,29,211,.25); cursor: pointer; transition: box-shadow .16s,transform .16s; }
.framing-ai-button:hover { box-shadow: 0 5px 12px rgba(75,29,211,.34); transform: translateY(-1px); }
.framing-ai-button:focus-visible { outline: 3px solid rgba(91,43,235,.18); outline-offset: 2px; }
.framing-ai-button:disabled { opacity: .65; cursor: wait; transform: none; }
.framing-ai-button .material-symbols-rounded { font-size: 16px; }
.framing-ai-button.is-loading .material-symbols-rounded { animation: framing-ai-spin 1s linear infinite; }
.framing-ai-status { min-height: 17px; margin: 1px 0 0; color: #6d7890; font-size: 11px; line-height: 1.45; }
.framing-ai-status:empty { display: none; }
.framing-ai-status.is-success { color: #258247; }
.framing-ai-status.is-error { color: #c6384b; }
@keyframes framing-ai-spin { to { transform: rotate(360deg); } }
.framing-control { position: relative; display: block; }
.framing-form-field input,.framing-form-field textarea,.framing-form-field select { width: 100%; min-height: 40px; padding: 10px 11px; border: 1px solid #d9dee8; border-radius: 7px; color: #29364d; background: #fff; font: 11px/1.45 var(--font-body); outline: 0; resize: vertical; }
.framing-form-field textarea { min-height: 88px; padding-bottom: 24px; }
.framing-form-field--ai input,.framing-form-field--ai textarea { padding-right: 45px; }
.framing-form-field--ai .framing-control > em { right: 44px; }
.framing-form-field input:focus,.framing-form-field textarea:focus,.framing-form-field select:focus { border-color: #7957ef; box-shadow: 0 0 0 3px rgba(91,43,235,.09); }
.framing-control > em { position: absolute; right: 10px; bottom: 7px; color: #7d889b; font-size: 10px; font-style: normal; }
.framing-form-field--list { padding: 13px; border: 1px solid #dde2ea; border-radius: 9px; }
.framing-list { display: flex; flex-direction: column; gap: 8px; }.framing-list > span { display: grid; grid-template-columns: minmax(0,1fr) 30px; gap: 5px; }.framing-list > span input { min-height: 38px; }.framing-list > span button { border: 0; color:#718096;background:transparent;cursor:pointer; }.framing-list > button,.framing-section-title button { display:inline-flex;width:max-content;padding:6px 8px;align-items:center;gap:5px;border:0;color:#5528e8;background:transparent;font-size:10px;font-weight:700;cursor:pointer; }.framing-list .material-symbols-rounded,.framing-section-title .material-symbols-rounded { font-size:17px; }
.framing-items { display:flex;flex-direction:column;gap:8px; }.framing-section-title { display:flex;align-items:center;justify-content:space-between;gap:12px; }.framing-section-title h3 { margin:0;color:#202b43;font:750 13px var(--font-display); }.framing-item-row { display:grid;padding:7px 9px;grid-template-columns:repeat(var(--item-columns,6),minmax(100px,1fr)) 28px;align-items:end;gap:8px;border:1px solid #dce1e9;border-radius:7px;background:#fff; }.framing-items[data-framing-items="source"] .framing-item-row { --item-columns:4; }.framing-items[data-framing-items="milestone"] .framing-item-row { --item-columns:4; }.framing-items[data-framing-items="action"] .framing-item-row { --item-columns:5; }.framing-items[data-framing-items="kpi"] .framing-item-row { --item-columns:5; }.framing-item-row.is-template { display:none; }.framing-item-row label { display:flex;min-width:0;flex-direction:column;gap:4px; }.framing-item-row label > span { color:#606d84;font-size:10px;font-weight:650; }.framing-item-row input { width:100%;height:35px;padding:0 8px;border:1px solid #e0e4eb;border-radius:5px;color:#344159;font:10px var(--font-body); }.framing-item-row > button { display:grid;width:28px;height:35px;padding:0;place-items:center;border:0;color:#738096;background:transparent;cursor:pointer; }.framing-item-row > button:hover { color:#df4052; }.framing-item-row > button .material-symbols-rounded { font-size:17px; }
.framing-tip { display:flex;min-height:45px;padding:10px 13px;align-items:center;gap:10px;border:1px solid #cfc3fb;border-radius:7px;color:#61577f;background:#f8f5ff;font-size:10px;line-height:1.5; }.framing-tip > .material-symbols-rounded { color:#5928e8;font-size:21px; }.framing-tip strong { color:#4324a6; }
.framing-structured-dialog > form > footer { display:flex;min-height:72px;padding:13px 28px;align-items:center;gap:10px;border-top:1px solid #e8eaf0;background:#fff; }.framing-structured-dialog > form > footer > span { flex:1; }
.framing-slide-order { padding:14px;border:1px solid #e0e3eb;border-radius:8px; }.framing-slide-order h3 { margin:0 0 11px;font:750 12px var(--font-display); }.framing-slide-order > div { display:grid;grid-template-columns:repeat(8,1fr);gap:8px; }.framing-slide-order span { display:flex;align-items:center;flex-direction:column;gap:6px;text-align:center; }.framing-slide-order b { display:grid;width:29px;height:29px;place-items:center;border-radius:50%;color:#5528e8;background:#eee9ff;font-size:11px; }.framing-slide-order small { color:#5c6980;font-size:10px; }
.framing-structured-dialog--business-model-canvas { width:min(1050px,calc(100vw - 32px)); }.framing-structured-grid--business-model-canvas { grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid #d9deea;border-radius:9px;overflow:hidden; }.framing-structured-grid--business-model-canvas .framing-form-field { min-height:210px;padding:13px;border-right:1px solid #d9deea;border-bottom:1px solid #d9deea; }.framing-structured-grid--business-model-canvas .framing-form-field textarea { flex:1;min-height:125px;border:0;background:#fafbfc; }.framing-structured-grid--business-model-canvas .framing-form-field:nth-child(8),.framing-structured-grid--business-model-canvas .framing-form-field:nth-child(9) { grid-column:span 2; }.framing-structured-grid--business-model-canvas .framing-form-field:nth-child(9) { grid-column:span 3; }
.framing-structured-grid--swot { grid-template-columns:repeat(2,minmax(0,1fr)); }.framing-structured-grid--swot .framing-form-field:nth-last-child(-n+2) { grid-column:span 1; }
@media(max-width:900px){.framing-structured-grid{grid-template-columns:1fr}.framing-item-row{overflow-x:auto;grid-template-columns:repeat(var(--item-columns,6),140px) 28px}.framing-structured-grid--business-model-canvas{grid-template-columns:1fr}.framing-structured-grid--business-model-canvas .framing-form-field:nth-child(n){grid-column:auto}.framing-slide-order>div{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.framing-structured-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.framing-structured-dialog>form{max-height:calc(100vh - 16px)}.framing-structured-dialog>form>header,.framing-structured-body,.framing-structured-dialog>form>footer{padding-right:16px;padding-left:16px}.framing-structured-dialog>form>footer{flex-wrap:wrap}.framing-structured-dialog>form>footer>span{display:none}}

@media (max-width: 1280px) {
  .framing-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .framing-overview__stats { margin-left: 0; }
}
@media (max-width: 1020px) {
  .framing-overview { grid-template-columns: minmax(0,1fr) 140px; }
  .framing-overview__stats { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 12px; }
  .framing-overview__stats > div:nth-child(2) { border-right: 0; }
  .framing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .framing-journey__bar { margin-left: 160px; }
}
@media (max-width: 690px) {
  .framing-overview { padding: 21px; grid-template-columns: 1fr; grid-template-rows: auto; gap: 19px; }
  .framing-overview__heading > span { width: 54px; height: 54px; flex-basis: 54px; }
  .framing-overview__stats { grid-column: 1; grid-row: 2; margin: 0; }
  .framing-completion { grid-column: 1; grid-row: 3; padding-top: 17px; border-top: 1px solid #e1ddf0; }
  .framing-grid { grid-template-columns: 1fr; }
  .framing-journey__bar { margin: 10px 0 0; }
  .framing-journey__hint { margin-top: 8px; }
  .framing-journey ol { grid-template-columns: 1fr; gap: 8px; }
  .framing-journey ol::before { top: 9px; bottom: 9px; left: 9px; width: 1px; border-top: 0; border-left: 1px dashed #c8ceda; }
  .framing-journey li:nth-child(n) { display: grid; grid-template-columns: 19px 1fr; align-items: center; justify-items: start; }
  .framing-category > header { grid-template-columns: 35px minmax(0,1fr); }.framing-category > header em { display: none; }
  .framing-add-card { grid-column: auto; }
  .framing-dialog__grid { grid-template-columns: 1fr; }
  .framing-dialog .company-span-2 { grid-column: auto; }
  .framing-dialog .task-dialog__actions { flex-wrap: wrap; }
  .framing-dialog .task-dialog__actions > span { display: none; }
}

/* Dashboard builder */
.workspace-ready__head { display: block; max-width: 680px; margin: 0 auto 24px; text-align: center; }
.workspace-ready__head h3 { margin: 0; font: 800 15px var(--font-display); }
.workspace-ready__head p { margin: 5px 0 0; color: #75819a; font-size: 10px; }
.dashboard-action-strip { display: grid; margin: -2px 0 28px; grid-template-columns: .92fr 1.08fr 1.18fr; gap: 14px; }
.dashboard-action-card { position: relative; min-width: 0; min-height: 105px; padding: 18px; overflow: hidden; border: 1px solid rgba(255,255,255,.24); border-radius: 13px; color: #fff; background: linear-gradient(135deg,#3715b9,#5630eb); box-shadow: 0 10px 24px rgba(60,29,179,.18); }
.dashboard-action-card::after { position: absolute; right: -45px; bottom: -82px; width: 230px; height: 175px; border: 1px solid rgba(255,255,255,.09); border-radius: 48% 52% 0 0; box-shadow: -28px -18px 0 rgba(255,255,255,.035),-58px -35px 0 rgba(255,255,255,.025); transform: rotate(-18deg); content: ''; pointer-events: none; }
.dashboard-action-card--roadmap { background: linear-gradient(125deg,#3621c3,#5633ee 62%,#5d41ec); }
.dashboard-action-card--revenue { background: linear-gradient(120deg,#4218bd,#7b24e9 58%,#d750d5); }
.dashboard-action-card__icon { position: relative; z-index: 1; display: grid; width: 43px; height: 43px; place-items: center; border: 2px solid rgba(203,186,255,.7); border-radius: 50%; color: #fff; background: rgba(28,9,107,.2); box-shadow: inset 0 0 20px rgba(255,255,255,.06); }
.dashboard-action-card__icon .material-symbols-rounded { font-size: 24px; }
.dashboard-action-card__content { position: absolute; z-index: 1; inset: 17px 17px 14px 74px; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.dashboard-action-card__label { display: flex; max-width: 100%; align-items: center; gap: 5px; font: 750 14px/1.25 var(--font-display); }
.dashboard-action-card__label i { display: inline-flex; font-style: normal; cursor: help; }
.dashboard-action-card__label i .material-symbols-rounded { font-size: 16px; }
.dashboard-action-card__label--link { color: inherit; text-decoration: none; }
.dashboard-action-card__label--link > .material-symbols-rounded { margin-left: 2px; font-size: 15px; transition: transform .16s ease; }
.dashboard-action-card__label--link:hover > .material-symbols-rounded { transform: translateX(3px); }
.dashboard-action-card__score { position: absolute; top: 50%; right: 0; display: flex; align-items: baseline; color: #fff; font: 500 21px var(--font-display); transform: translateY(-50%); }
.dashboard-action-card__score b { font-size: 46px; line-height: .9; letter-spacing: -1.8px; }
.dashboard-action-card__score small { font-size: 19px; font-weight: 500; }
.dashboard-action-card__content > p { max-width: 260px; margin: 5px 0 0; color: rgba(255,255,255,.8); font-size: 10px; line-height: 1.4; }
.dashboard-action-card__content > a:not(.dashboard-action-card__button):not(.dashboard-action-card__label):not(.dashboard-action-card__booking) { display: inline-flex; margin-top: auto; align-items: center; gap: 5px; color: #fff; font-size: 11px; font-weight: 700; }
.dashboard-action-card__content > a:not(.dashboard-action-card__booking) .material-symbols-rounded { font-size: 16px; transition: transform .16s ease; }
.dashboard-action-card__content > a:not(.dashboard-action-card__booking):hover .material-symbols-rounded { transform: translateX(3px); }
.dashboard-action-card__booking { position: absolute; right: 0; bottom: 8px; display: inline-flex; min-height: 36px; padding: 0 12px; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(255,255,255,.72); border-radius: 8px; color: #4d24d4; background: #fff; font-size: 11px; font-weight: 800; text-decoration: none; box-shadow: 0 7px 16px rgba(35,12,105,.2); transition: transform .16s ease,box-shadow .16s ease; }
.dashboard-action-card__booking .material-symbols-rounded { font-size: 17px; }
.dashboard-action-card__booking:hover { transform: translateY(-1px); box-shadow: 0 10px 20px rgba(35,12,105,.26); }
.dashboard-action-card--traction .dashboard-action-card__content > p { max-width: calc(100% - 145px); }
.dashboard-action-card__revenue-progress { display: flex; width: calc(100% - 124px); margin-top: 18px; align-items: center; gap: 9px; }
.dashboard-action-card__revenue-progress > i { display: block; height: 8px; flex: 1; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.2); }
.dashboard-action-card__revenue-progress > i b { display: block; height: 100%; border-radius: inherit; background: #fff; box-shadow: 0 0 11px rgba(255,255,255,.45); }
.dashboard-action-card__revenue-progress > span { font-size: 10px; font-weight: 750; white-space: nowrap; }
.dashboard-action-card__button { position: absolute; right: 0; bottom: 10px; display: inline-flex; min-width: 106px; min-height: 40px; padding: 0 14px; align-items: center; justify-content: space-between; gap: 16px; border-radius: 8px; color: #5421dc; background: #fff; font-size: 11px; font-weight: 800; box-shadow: 0 7px 16px rgba(41,13,115,.18); }
.dashboard-action-card--revenue .dashboard-action-card__content > p { margin-top: 8px; }

/* Success path */
.success-path { --success-violet:#5526e8; --success-green:#29a66a; position: relative; width: min(1220px,100%); margin: 0 auto; padding: 2px 4px 28px; }
.success-path::before { position: absolute; z-index: -1; inset: 112px -20px 0; border-radius: 20px; background-color: #fafbfe; background-image: linear-gradient(rgba(102,85,157,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(102,85,157,.055) 1px,transparent 1px); background-size: 24px 24px; content: ''; }
.success-path__intro { display: flex; margin-bottom: 18px; align-items: flex-end; justify-content: space-between; gap: 24px; }
.success-path__intro h2 { margin: 6px 0 7px; color: #17223b; font: 800 26px/1.15 var(--font-display); letter-spacing: -.55px; }
.success-path__intro p { max-width: 760px; margin: 0; color: #68758b; font-size: 12px; line-height: 1.55; }
.success-path__summary { display: grid; min-height: 102px; padding: 17px 19px; grid-template-columns: 1.15fr repeat(3,1fr); border: 1px solid #e0e3ec; border-radius: 13px; background: rgba(255,255,255,.95); box-shadow: 0 9px 25px rgba(20,31,58,.07); }
.success-path__summary article { display: grid; min-width: 0; padding: 2px 18px; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 11px; border-left: 1px solid #e7e9ef; }
.success-path__summary article:first-child { padding-left: 0; border-left: 0; }
.success-path__summary article > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #5a28e9; background: #f0ecff; box-shadow: 0 4px 12px rgba(62,32,166,.09); }
.success-path__summary article:nth-child(2) > span { color: #168954; background: #e8f7ef; }
.success-path__summary article > span .material-symbols-rounded { font-size: 22px; }
.success-path__summary article > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.success-path__summary small { color: #5f6d84; font-size: 10px; }
.success-path__summary strong { color: #15213a; font: 800 21px/1 var(--font-display); }
.success-path__summary strong em { color: #7f899a; font-size: 13px; font-style: normal; font-weight: 600; }
.success-path__summary p { margin: 1px 0 0; color: #8992a1; font-size: 10px; }
.success-summary-item--progress i { display: block; height: 6px; margin-top: 5px; overflow: hidden; border-radius: 4px; background: #e9e8f1; }
.success-summary-item--progress i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#5421ed,#6839f2); }
.success-path__focus { display: grid; min-height: 92px; margin: 18px 36px 25px; padding: 15px 17px; grid-template-columns: 42px minmax(0,1fr) auto auto; align-items: center; gap: 14px; border: 1px solid #d8d1f6; border-radius: 12px; color: #2d3850; background: linear-gradient(115deg,rgba(255,255,255,.97),rgba(246,243,255,.97)); box-shadow: 0 8px 21px rgba(55,36,130,.07); }
.success-path__focus > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(135deg,#5521ec,#754bed); }
.success-path__focus > div:nth-child(2) small { color: #6b3ae0; font-size: 10px; font-weight: 800; letter-spacing: .45px; }
.success-path__focus h3 { margin: 3px 0; font: 800 14px var(--font-display); }
.success-path__focus p { margin: 0; color: #69758a; font-size: 10px; }
.success-path__focus-progress { display: flex; min-width: 110px; flex-direction: column; gap: 3px; text-align: right; }
.success-path__focus-progress strong { color: #5424e8; font: 800 19px var(--font-display); }
.success-path__focus-progress span { color: #7c8798; font-size: 10px; }
.success-path__flow { --success-card-height:248px; --success-row-gap:58px; position: relative; display: grid; margin: 0; padding: 0 36px; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(2,var(--success-card-height)); gap: var(--success-row-gap) 60px; list-style: none; counter-reset: success-stage; }
.success-path__connector { position: absolute; z-index: 0; display: block; border-color: #7651ed; pointer-events: none; }
.success-path__connector--top { top: calc(var(--success-card-height) / 2); right: 36px; left: 17%; border-top: 2px dashed #7651ed; }
.success-path__connector--right-turn { top: calc(var(--success-card-height) / 2); right: 18px; width: 18px; height: calc((var(--success-card-height) + var(--success-row-gap)) / 2); border-top: 2px dashed #7651ed; border-right: 2px dashed #7651ed; border-bottom: 2px dashed #7651ed; border-radius: 0 32px 32px 0; }
.success-path__connector--return { top: calc(var(--success-card-height) + var(--success-row-gap) / 2); right: 36px; left: 36px; border-top: 2px dashed #7651ed; }
.success-path__connector--left-turn { top: calc(var(--success-card-height) + var(--success-row-gap) / 2); left: 18px; width: 18px; height: calc((var(--success-card-height) + var(--success-row-gap)) / 2); border-top: 2px dashed #7651ed; border-bottom: 2px dashed #7651ed; border-left: 2px dashed #7651ed; border-radius: 32px 0 0 32px; }
.success-path__connector--bottom { right: 17%; bottom: calc(var(--success-card-height) / 2); left: 36px; border-top: 2px dashed #7651ed; }
.success-path__flow > li { position: relative; z-index: 1; min-width: 0; }
.success-path__flow > li:nth-child(n+4) { z-index: 2; }
.success-stage > article { display: flex; height: var(--success-card-height); padding: 16px; border: 1px solid #dfe3eb; border-radius: 12px; flex-direction: column; background: rgba(255,255,255,.98); box-shadow: 0 8px 22px rgba(23,34,65,.075); transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.success-stage > article:hover { border-color: #b8a8ee; transform: translateY(-2px); box-shadow: 0 13px 28px rgba(45,31,111,.11); }
.success-stage--active > article { border-color: #8568ee; box-shadow: 0 10px 28px rgba(81,44,206,.15),inset 0 0 0 1px #eee9ff; }
.success-stage--done > article { border-color: #cfe5d8; }
.success-stage header { display: grid; grid-template-columns: 31px 29px minmax(0,1fr) auto; align-items: center; gap: 7px; }
.success-stage__number { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#4e16e9,#6735f2); box-shadow: 0 4px 9px rgba(76,30,211,.25); font-size: 12px; font-weight: 800; }
.success-stage__icon { display: grid; width: 29px; height: 29px; place-items: center; color: #303d56; }
.success-stage__icon .material-symbols-rounded { font-size: 21px; }
.success-stage header h3 { margin: 0; color: #1d2940; font: 800 13px var(--font-display); }
.success-stage header small { display: block; margin-top: 2px; color: #8992a2; font-size: 10px; }
.success-stage__state { display: grid; min-width: 27px; min-height: 27px; padding: 0 7px; place-items: center; border: 1px solid #d3d8e3; border-radius: 14px; color: #7d8799; font-size: 9px; font-weight: 750; white-space: nowrap; }
.success-stage--done .success-stage__state { min-width: 27px; padding: 0; color: #fff; border-color: #35a86e; background: #35a86e; }
.success-stage--active .success-stage__state { color: #5524e6; border-color: #c8baf8; background: #f0ecff; }
.success-stage > article > p { min-height: 43px; margin: 13px 0 10px; color: #68758a; font-size: 10px; line-height: 1.45; }
.success-stage__bar { height: 5px; overflow: hidden; border-radius: 4px; background: #ececf2; }
.success-stage__bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#5a25ea,#7850ef); }
.success-stage--done .success-stage__bar i { background: #35a86e; }
.success-stage__criteria { display: grid; width: 100%; min-height: 35px; margin-top: auto; padding: 0; grid-template-columns: 1fr auto 18px; align-items: center; border: 0; color: #46536a; background: transparent; font: 700 10px var(--font-body); text-align: left; cursor: pointer; }
.success-stage__criteria strong { color: #5d2be8; font-size: 10px; }
.success-stage__criteria .material-symbols-rounded { color: #5d2be8; font-size: 15px; transition: transform .16s ease; }
.success-stage__criteria:hover .material-symbols-rounded { transform: translate(1px,-1px); }
.success-stage footer { display: flex; min-height: 31px; margin-top: 0; padding-top: 10px; align-items: center; justify-content: space-between; gap: 9px; border-top: 1px solid #eceef2; }
.success-stage footer > span { color: #7e8899; font-size: 9px; }
.success-stage footer a { display: inline-flex; align-items: center; gap: 4px; color: #5525e6; font-size: 10px; font-weight: 800; white-space: nowrap; }
.success-stage footer a .material-symbols-rounded { font-size: 14px; }
.success-criteria-dialog { width: min(600px,calc(100vw - 28px)); max-height: min(720px,calc(100vh - 30px)); padding: 0; overflow: hidden auto; border: 0; border-radius: 16px; color: #222e45; background: #fff; box-shadow: 0 30px 85px rgba(13,20,48,.32); }
.success-criteria-dialog::backdrop { background: rgba(9,16,38,.54); backdrop-filter: blur(5px); }
.success-criteria-dialog > header { display: grid; padding: 21px 22px 18px; grid-template-columns: 45px minmax(0,1fr) 34px; align-items: start; gap: 12px; border-bottom: 1px solid #e6e8ef; background: linear-gradient(115deg,#fbfaff,#f5f2ff); }
.success-criteria-dialog > header > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(135deg,#5120e7,#7449ef); box-shadow: 0 7px 15px rgba(77,35,207,.2); }
.success-criteria-dialog > header small { color: #6840df; font-size: 10px; font-weight: 800; letter-spacing: .5px; }
.success-criteria-dialog > header h2 { margin: 3px 0 5px; font: 800 19px var(--font-display); }
.success-criteria-dialog > header p { margin: 0; color: #6d788d; font-size: 11px; line-height: 1.45; }
.success-criteria-dialog > header button { display: grid; width: 34px; height: 34px; padding: 0; place-items: center; border: 1px solid #dedfea; border-radius: 9px; color: #617087; background: #fff; cursor: pointer; }
.success-criteria-dialog__progress { padding: 17px 22px 8px; }
.success-criteria-dialog__progress > div { display: flex; margin-bottom: 8px; align-items: center; justify-content: space-between; gap: 12px; font-size: 11px; }
.success-criteria-dialog__progress strong { color: #5525e8; }
.success-criteria-dialog__progress i { display: block; height: 7px; overflow: hidden; border-radius: 5px; background: #ececf3; }
.success-criteria-dialog__progress i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#5524ea,#7952ef); }
.success-criteria-dialog > ul { display: flex; margin: 0; padding: 10px 22px 18px; flex-direction: column; gap: 8px; list-style: none; }
.success-criteria-dialog > ul li { display: grid; min-height: 58px; padding: 10px 12px; grid-template-columns: 21px minmax(0,1fr); align-items: center; gap: 9px; border: 1px solid #e5e7ed; border-radius: 9px; color: #717d91; background: #fafbfc; }
.success-criteria-dialog > ul li > .material-symbols-rounded { color: #9ca5b3; font-size: 19px; }
.success-criteria-dialog > ul li > span { display: flex; flex-direction: column; gap: 3px; }
.success-criteria-dialog > ul li strong { color: #37445b; font-size: 11px; }
.success-criteria-dialog > ul li small { color: #7e899b; font-size: 10px; }
.success-criteria-dialog > ul li.is-valid { border-color: #cde9da; background: #f2faf6; }
.success-criteria-dialog > ul li.is-valid > .material-symbols-rounded,.success-criteria-dialog > ul li.is-valid strong { color: #25895a; }
.success-criteria-dialog > footer { display: flex; padding: 15px 22px 19px; align-items: center; justify-content: flex-end; gap: 9px; border-top: 1px solid #e7e9ef; }
.success-path__method { display: grid; min-height: 75px; margin: 25px 36px 0; padding: 13px 16px; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 12px; border: 1px solid #ded8f5; border-radius: 11px; background: linear-gradient(100deg,#f4f0ff,#fff); }
.success-path__method > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 9px; color: #6030e8; background: #e9e2ff; }
.success-path__method h3 { margin: 0 0 3px; font: 800 12px var(--font-display); }
.success-path__method p { margin: 0; color: #6c788c; font-size: 10px; line-height: 1.45; }
.success-path__method a { display: inline-flex; align-items: center; gap: 5px; color: #5726e6; font-size: 10px; font-weight: 750; white-space: nowrap; }

.dashboard-template-dialog { width: min(940px,calc(100vw - 32px)); padding: 0; overflow: hidden; border: 0; border-radius: 18px; color: var(--ink); background: #fff; box-shadow: 0 30px 90px rgba(7,16,42,.3); }
.dashboard-template-dialog::backdrop { background: rgba(3,12,31,.62); backdrop-filter: blur(4px); }
.dashboard-template-dialog__head { display: flex; padding: 28px 30px 22px; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e7eaf1; }
.dashboard-template-dialog__head h2 { margin: 4px 0 7px; font: 800 22px var(--font-display); }
.dashboard-template-dialog__head p { margin: 0; color: #69758c; font-size: 12px; }
.dashboard-template-dialog__head > button { display: grid; width: 36px; height: 36px; padding: 0; flex: 0 0 36px; place-items: center; border: 1px solid #e1e5ed; border-radius: 9px; color: #536078; background: #fff; cursor: pointer; }
.dashboard-template-grid { display: grid; padding: 24px 30px 30px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; background: #f8f9fc; }
.dashboard-template-card { display: flex; min-width: 0; min-height: 280px; padding: 22px; flex-direction: column; align-items: flex-start; border: 1px solid #e0e4ed; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(18,31,65,.04); }
.dashboard-template-card > span { display: grid; width: 45px; height: 45px; margin-bottom: 17px; place-items: center; border-radius: 11px; color: #5a26ee; background: #eeeaff; }
.dashboard-template-card > span .material-symbols-rounded { font-size: 25px; }
.dashboard-template-card h3 { margin: 0 0 8px; font: 800 14px var(--font-display); }
.dashboard-template-card p { margin: 0 0 14px; color: #69758c; font-size: 11px; line-height: 1.55; }
.dashboard-template-card small { margin-top: auto; margin-bottom: 16px; color: #7d8799; font-size: 10px; }
.dashboard-template-card .button { width: 100%; justify-content: center; }

.dashboard-toolbar { display: flex; margin-bottom: 18px; padding: 3px 0 4px; align-items: center; justify-content: space-between; gap: 24px; }
.dashboard-toolbar--view { margin-top: -22px; padding-top: 0; }
.dashboard-toolbar__heading { min-width: 0; }
.dashboard-toolbar h2 { margin: 4px 0 5px; font: 800 20px var(--font-display); }
.dashboard-toolbar p { margin: 0; color: #68758c; font-size: 11px; }
.dashboard-toolbar--editing { margin: -2px -4px 18px; padding: 14px 17px; border: 1px solid #dcd6fb; border-radius: 11px; background: linear-gradient(100deg,#f8f6ff,#fff); }
.dashboard-toolbar__actions { display: flex; gap: 9px; }
.dashboard-edit-button { width: 34px; min-width: 34px; height: 34px; min-height: 34px; padding: 0; justify-content: center; border-radius: 8px; }
.dashboard-edit-button .material-symbols-rounded { font-size: 17px; }
.dashboard-builder { position: relative; }
.dashboard-builder.is-editing { display: grid; grid-template-columns: 235px minmax(0,1fr); align-items: start; gap: 18px; }
.dashboard-grid { display: grid; min-width: 0; grid-template-columns: repeat(4,minmax(0,1fr)); grid-auto-flow: row dense; align-items: stretch; gap: 14px; }
.dashboard-grid--editing { min-height: 420px; padding: 13px; border: 1px dashed #a99ae7; border-radius: 13px; background-color: #faf9ff; background-image: radial-gradient(#c9c0ee 1px,transparent 1px); background-size: 14px 14px; }
.dashboard-grid--editing.is-dragging-over { border-color: #5b2bec; background-color: #f5f2ff; }
.dashboard-grid__empty { display: grid; min-height: 220px; grid-column: 1 / -1; place-items: center; border: 1px dashed #b8acdF; border-radius: 10px; color: #6f628f; background: rgba(255,255,255,.72); font-size: 12px; }
.dashboard-widget { position: relative; min-width: 0; overflow: hidden; grid-column: span var(--widget-span); border: 1px solid #e0e4ec; border-radius: 11px; background: #fff; box-shadow: 0 5px 16px rgba(16,27,57,.045); transition: border-color .15s,box-shadow .15s,opacity .15s,transform .15s; }
.dashboard-widget.is-editable { padding-top: 34px; border-color: #d8d1f2; }
.dashboard-widget.is-editable:hover { border-color: #9e89ed; box-shadow: 0 9px 24px rgba(70,45,165,.12); }
.dashboard-widget.is-dragging { opacity: .32; transform: scale(.985); }
.dashboard-widget__body { height: 100%; min-height: 145px; }
.dashboard-widget__editbar { position: absolute; z-index: 4; top: 0; right: 0; left: 0; display: flex; height: 34px; padding: 0 7px; align-items: center; gap: 7px; border-bottom: 1px dashed #d8d0f5; color: #756b91; background: #faf9ff; font-size: 10px; }
.dashboard-drag-handle,.dashboard-widget__remove { display: grid; width: 27px; height: 27px; padding: 0; place-items: center; border: 0; border-radius: 6px; color: #6b5b99; background: transparent; cursor: grab; }
.dashboard-drag-handle:active { cursor: grabbing; }
.dashboard-drag-handle:hover { color: #4e21dd; background: #eee9ff; }
.dashboard-drag-handle .material-symbols-rounded,.dashboard-widget__remove .material-symbols-rounded { font-size: 17px; }
.dashboard-widget__remove { margin-left: auto; color: #8a6670; cursor: pointer; }
.dashboard-widget__remove:hover { color: #cf334d; background: #fff0f2; }
.dashboard-span-options { display: flex; gap: 2px; }
.dashboard-span-options button { width: 22px; height: 22px; padding: 0; border: 1px solid #ded9ef; border-radius: 5px; color: #746b8e; background: #fff; font-size: 10px; cursor: pointer; }
.dashboard-span-options button:hover,.dashboard-span-options button.is-active { border-color: #6434eb; color: #fff; background: #6434eb; }
.dashboard-drop-placeholder { display: flex; min-height: 145px; grid-column: span var(--widget-span); align-items: center; justify-content: center; flex-direction: column; gap: 6px; border: 2px dashed #6332ed; border-radius: 11px; color: #5d2be5; background: rgba(239,235,255,.82); box-shadow: inset 0 0 0 4px rgba(255,255,255,.7); }
.dashboard-drop-placeholder .material-symbols-rounded { font-size: 24px; }
.dashboard-drop-placeholder strong { font-size: 10px; }
.dashboard-save-status { min-height: 18px; margin: 8px 0 0; grid-column: 2; color: #625483; font-size: 10px; text-align: right; }
.dashboard-save-status.is-error { color: #cf334d; }

.dashboard-widget-library { position: sticky; top: 18px; padding: 15px; border: 1px solid #e0e4ec; border-radius: 12px; background: #fff; box-shadow: 0 7px 18px rgba(16,28,58,.05); }
.dashboard-widget-library > div:first-child { display: flex; align-items: center; gap: 8px; }
.dashboard-widget-library > div:first-child > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 7px; color: #5b2be8; background: #eeeaff; }
.dashboard-widget-library h3 { margin: 0; font: 800 15px var(--font-display); }
.dashboard-widget-library > p { margin: 9px 0 13px; color: #758096; font-size: 12px; line-height: 1.45; }
.dashboard-widget-library__list { display: flex; max-height: calc(100vh - 330px); overflow-y: auto; flex-direction: column; gap: 13px; }
.dashboard-widget-library__category { overflow: hidden; border: 1px solid #e4e6ed; border-radius: 9px; background: #fff; }
.dashboard-widget-library__category:not(:has(button:not([hidden]))) { display: none; }
.dashboard-widget-library__category summary { display: grid; min-height: 43px; padding: 9px 10px; grid-template-columns: 22px minmax(0,1fr) auto 18px; align-items: center; gap: 5px; color: #5d687c; background: #fbfbfd; cursor: pointer; list-style: none; user-select: none; }
.dashboard-widget-library__category summary::-webkit-details-marker { display: none; }
.dashboard-widget-library__category summary:focus-visible { outline: 2px solid #6840e7; outline-offset: -2px; }
.dashboard-widget-library__category summary > span:first-child { color: #6840e7; }
.dashboard-widget-library__category summary > strong { font: 800 10px/1.25 var(--font-display); text-transform: uppercase; letter-spacing: .55px; }
.dashboard-widget-library__category summary > small { display: grid; min-width: 20px; height: 20px; padding: 0 5px; place-items: center; border-radius: 10px; color: #6840e7; background: #eeeaff; font-size: 10px; font-weight: 800; }
.dashboard-widget-library__category summary > .material-symbols-rounded:last-child { font-size: 18px; transition: transform .18s ease; }
.dashboard-widget-library__category[open] summary { color: #3d2c79; background: #f7f4ff; }
.dashboard-widget-library__category[open] summary > .material-symbols-rounded:last-child { transform: rotate(180deg); }
.dashboard-widget-library__category-items { display: flex; padding: 7px; flex-direction: column; gap: 6px; border-top: 1px solid #ececf2; }
.dashboard-widget-library__list button { display: grid; min-height: 62px; padding: 9px 8px; grid-template-columns: 30px minmax(0,1fr) 17px; align-items: center; gap: 8px; border: 1px solid #e6e8ee; border-radius: 8px; color: #29354c; background: #fff; text-align: left; cursor: pointer; }
.dashboard-widget-library__list button:hover { border-color: #a995ef; background: #faf8ff; }
.dashboard-widget-library__list button > span:first-child { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 7px; color: #6233e9; background: #f0ecff; }
.dashboard-widget-library__list button > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.dashboard-widget-library__list strong { font-size: 11px; line-height: 1.25; }
.dashboard-widget-library__list small { color: #7b8597; font-size: 10px; line-height: 1.3; }
.dashboard-widget-library__list .material-symbols-rounded { font-size: 16px; }
.dashboard-widget-library__tip { display: flex; margin-top: 12px; align-items: center; gap: 5px; color: #81779c; font-size: 10px; line-height: 1.4; }

.dashboard-widget__header { display: flex; min-height: 43px; padding: 13px 14px 9px; align-items: center; justify-content: space-between; gap: 12px; }
.dashboard-widget__header h3 { margin: 0; color: #202b42; font: 800 14px/1.25 var(--font-display); letter-spacing: -.15px; }
.dashboard-widget__header a { display: inline-flex; align-items: center; gap: 4px; color: #5523e8; font-size: 10px; font-weight: 650; white-space: nowrap; }
.dashboard-widget__header a .material-symbols-rounded { font-size: 14px; }
.dashboard-widget__empty { display: grid; min-height: 92px; margin: 0; place-items: center; color: #8a93a3; font-size: 10px; }
.dashboard-widget__empty--action { grid-column: 1 / -1; align-content: center; gap: 10px; }
.dashboard-widget__empty--action a { display: inline-flex; padding: 8px 12px; align-items: center; gap: 5px; border-radius: 7px; color: #fff; background: #5424ec; font-weight: 700; box-shadow: 0 5px 14px rgba(84,36,236,.2); }
.dashboard-widget__empty--action a .material-symbols-rounded { font-size: 15px; }
.dashboard-kpi { display: grid; min-height: 145px; padding: 17px; grid-template-columns: 43px minmax(0,1fr); align-content: start; gap: 10px 12px; }
.dashboard-kpi__icon { display: grid; width: 43px; height: 43px; grid-row: 1 / span 2; place-items: center; border-radius: 11px; }
.dashboard-kpi__icon--violet { color: #5c23f0; background: #eee9ff; }
.dashboard-kpi__icon--blue { color: #1265e9; background: #e9f2ff; }
.dashboard-kpi__icon--green { color: #168a56; background: #e6f6ed; }
.dashboard-kpi__icon--orange { color: #d36a0b; background: #fff0df; }
.dashboard-kpi__icon .material-symbols-rounded { font-size: 25px; }
.dashboard-kpi > div { display: flex; min-width: 0; flex-direction: column; }
.dashboard-kpi small { color: #202b42; font: 800 13px/1.25 var(--font-display); letter-spacing: -.1px; }
.dashboard-kpi strong { margin-top: 4px; font: 800 22px var(--font-display); }
.dashboard-kpi strong.is-success { color: #08a35c; font-size: 20px; }.dashboard-kpi strong.is-warning { color: #e57b18; font-size: 18px; }
.dashboard-kpi p { min-height: 15px; margin: 3px 0 0; color: #64718a; font-size: 10px; }.dashboard-kpi p.is-danger { color: #e3263e; }
.dashboard-kpi a { display: inline-flex; margin-top: auto; padding-top: 10px; align-items: center; gap: 4px; color: #5523e8; font-size: 10px; font-weight: 650; }
.dashboard-kpi a .material-symbols-rounded { font-size: 14px; }
.dashboard-kpi > i { height: 6px; margin-top: 5px; grid-column: 1 / -1; overflow: hidden; border-radius: 4px; background: #f0f1f5; }
.dashboard-kpi > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#5d20fa,#602cf0); }
.dashboard-kpi > i b.dashboard-kpi__bar--blue { background: linear-gradient(90deg,#2577e8,#56a4f2); }
.dashboard-kpi > i b.dashboard-kpi__bar--green { background: linear-gradient(90deg,#178f58,#50bd7d); }
.dashboard-kpi > i b.dashboard-kpi__bar--orange { background: linear-gradient(90deg,#e47b16,#f0ad43); }
.dashboard-clock { display: grid; min-height: 145px; padding: 17px; grid-template-columns: 43px minmax(0,1fr); align-content: start; gap: 10px 12px; }
.dashboard-clock__icon { display: grid; width: 43px; height: 43px; grid-row: 1 / span 2; place-items: center; border-radius: 11px; color: #5c23f0; background: #eee9ff; }
.dashboard-clock__icon .material-symbols-rounded { font-size: 25px; }
.dashboard-clock > div { display: flex; flex-direction: column; }
.dashboard-clock small { color: #202b42; font: 800 13px/1.25 var(--font-display); }
.dashboard-clock strong { margin-top: 3px; color: #202b42; font: 800 25px/1 var(--font-display); letter-spacing: -.5px; }
.dashboard-clock p { margin: 5px 0 0; color: #657289; font-size: 11px; text-transform: capitalize; }
.dashboard-clock > em { display: inline-flex; width: fit-content; margin-top: 10px; padding: 6px 9px; grid-column: 1 / -1; align-items: center; gap: 4px; border-radius: 7px; color: #5424e5; background: #f1edff; font-size: 10px; font-style: normal; font-weight: 700; }
.dashboard-community-news { display: grid; min-height: 115px; margin: 0 13px 13px; grid-template-columns: minmax(115px,.8fr) minmax(0,1.5fr) 24px; overflow: hidden; align-items: center; gap: 13px; border: 1px solid #e5e1f1; border-radius: 10px; color: #202b42; background: linear-gradient(120deg,#fbfaff,#f5f2ff); }
.dashboard-community-news__visual { align-self: stretch; min-height: 112px; background: linear-gradient(135deg,rgba(32,15,74,.05),rgba(96,43,230,.2)),var(--community-news-image) center/cover no-repeat; }
.dashboard-community-news > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.dashboard-community-news small { color: #6d39df; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .35px; }
.dashboard-community-news strong { font: 800 13px/1.3 var(--font-display); }
.dashboard-community-news em { color: #69768c; font-size: 10px; font-style: normal; }
.dashboard-community-news > .material-symbols-rounded { color: #6130eb; font-size: 19px; transition: transform .16s ease; }
.dashboard-community-news:hover > .material-symbols-rounded { transform: translateX(2px); }
.dashboard-milestones { min-height: 130px; overflow-x: auto; padding: 1px 14px 11px; }
.dashboard-roadmap-flow { position: relative; display: grid; min-width: var(--milestone-min-width); min-height: 118px; grid-template-columns: repeat(var(--milestone-count), minmax(145px,1fr)); }
.dashboard-roadmap-flow__line { position: absolute; z-index: 0; top: 59px; right: 19px; left: 19px; height: 2px; background: linear-gradient(90deg,#5424ec,#2b65ee 42%,#39a55c 70%,#627089); }
.dashboard-roadmap-flow__line::after { content: ''; position: absolute; top: -3px; right: 0; width: 7px; height: 7px; border-top: 1px solid #5c6680; border-right: 1px solid #5c6680; transform: rotate(45deg); }
.dashboard-roadmap-step { position: relative; z-index: 1; display: grid; min-width: 0; padding: 0 8px; grid-template-rows: 50px 20px 45px; place-items: center; color: inherit; text-align: center; transition: transform .16s ease; }
.dashboard-roadmap-step:hover { transform: translateY(-1px); }
.dashboard-roadmap-step:focus-visible { border-radius: 7px; outline: 2px solid #6840ed; outline-offset: -1px; }
.dashboard-roadmap-step__summary { display: flex; min-width: 0; width: 100%; align-self: end; flex-direction: column; gap: 5px; }
.dashboard-roadmap-step__summary strong { overflow: hidden; width: 100%; color: var(--milestone-color); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-roadmap-step__summary small { overflow: hidden; color: #727e94; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-roadmap-step > i { display: block; width: 12px; height: 12px; border: 3px solid #fff; border-radius: 50%; background: var(--milestone-color); box-shadow: 0 0 0 1px color-mix(in srgb,var(--milestone-color),#fff 40%); }
.dashboard-roadmap-step__meta { display: flex; padding-top: 3px; flex-direction: column; gap: 4px; }
.dashboard-roadmap-step__meta small { color: #68758b; font-size: 10px; font-weight: 600; }
.dashboard-roadmap-step__meta small.is-late { color: #c52c3d; }
.dashboard-roadmap-step__meta em { color: var(--milestone-color); font-size: 10px; font-style: normal; font-weight: 700; }

@keyframes roadmapDashboardFocus {
  0%, 100% { background: transparent; box-shadow: inset 0 0 0 0 rgba(84,36,236,0); }
  18%, 78% { background: #f1edff; box-shadow: inset 4px 0 0 #5424ec; }
}
.dashboard-task-columns { display: grid; min-height: 218px; padding: 0 10px 11px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.dashboard-task-columns > section { min-width: 0; padding: 8px; border-radius: 8px; background: #fafbfc; }
.dashboard-task-columns section > header { display: flex; min-height: 23px; align-items: center; gap: 6px; }
.dashboard-task-columns section > header strong { font-size: 10px; }.dashboard-task-columns section > header span { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; color: #56637a; background: #e9edf3; font-size: 10px; }
.dashboard-task-columns section > a { position: relative; display: flex; min-height: 46px; margin-top: 5px; padding: 7px; flex-direction: column; gap: 5px; border: 1px solid #e1e5eb; border-radius: 6px; background: #fff; box-shadow: 0 2px 5px rgba(20,30,55,.03); }
.dashboard-task-columns section > a > span { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-task-columns section > a small { width: fit-content; padding: 2px 4px; border-radius: 3px; color: #236dd5; background: #e8f2ff; font-size: 10px; }
.dashboard-task-columns section > a small.task-priority--high { color: #d35b0d; background: #fff0df; }
.dashboard-task-columns section > a em { position: absolute; right: 6px; bottom: 6px; color: #d7334c; font-size: 10px; font-style: normal; }
.dashboard-task-columns section > p { margin: 15px 0; color: #929aa8; font-size: 10px; text-align: center; }
.dashboard-activity-list { padding: 0 13px 9px; }
.dashboard-activity-list > div { display: grid; min-height: 43px; padding: 6px 0; grid-template-columns: 29px minmax(0,1fr) auto; align-items: center; gap: 7px; border-top: 1px solid #eef0f4; }
.activity-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #5d2aeb; background: #eeeaff; }.activity-icon--document { color: #1d8d5a; background: #e5f6ed; }.activity-icon--member { color: #e47a12; background: #fff0df; }.activity-icon--alert { color: #d83850; background: #ffeaed; }
.activity-icon .material-symbols-rounded { font-size: 15px; }
.dashboard-activity-list p { display: flex; min-width: 0; margin: 0; flex-direction: column; gap: 3px; }
.dashboard-activity-list strong,.dashboard-activity-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.dashboard-activity-list strong { font-size: 10px; }.dashboard-activity-list small { color: #788398; font-size: 10px; }
.dashboard-activity-list time { color: #69758a; font-size: 10px; white-space: nowrap; }
.dashboard-vps-table { padding: 0 12px 11px; }
.dashboard-vps-table__head,.dashboard-vps-table > div:not(.dashboard-vps-table__head) { display: grid; min-height: 37px; padding: 5px 3px; grid-template-columns: 1.25fr 1fr .65fr .75fr; align-items: center; gap: 8px; border-top: 1px solid #eceef2; font-size: 10px; }
.dashboard-vps-table__head { min-height: 25px; color: #788398; border-top: 0; }
.dashboard-vps-table strong { display: flex; min-width: 0; flex-direction: column; gap: 2px; font-size: 10px; }.dashboard-vps-table strong small { color: #7d8798; font-size: 10px; font-weight: 400; }
.dashboard-vps-table span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vps-state { display: flex; align-items: center; gap: 4px; color: #158250; font-size: 10px; font-style: normal; }.vps-state::before { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; content: ''; }.vps-state--offline { color: #d43b52; }.vps-state--degraded,.vps-state--maintenance { color: #dd7715; }
.dashboard-monitoring-legend { display: flex; padding: 1px 15px 3px; gap: 17px; color: #69768c; font-size: 10px; }.dashboard-monitoring-legend span { display: flex; align-items: center; gap: 5px; }.dashboard-monitoring-legend i { width: 6px; height: 6px; border-radius: 50%; background: #6727f5; }.dashboard-monitoring-legend span:nth-child(2) i { background: #1874e8; }.dashboard-monitoring-legend span:nth-child(3) i { background: #16a35d; }
.dashboard-monitoring-chart { display: block; width: calc(100% - 28px); height: 105px; margin: 2px 14px 5px; overflow: visible; }.dashboard-monitoring-chart line { stroke: #e8ebf0; stroke-width: .5; stroke-dasharray: 2 2; }.dashboard-monitoring-chart polyline { fill: none; stroke: #6727f5; stroke-width: 1.5; vector-effect: non-scaling-stroke; }.dashboard-monitoring-chart polyline.memory { stroke: #1874e8; }.dashboard-monitoring-chart polyline.disk { stroke: #16a35d; }
.dashboard-monitoring-values { display: grid; padding: 0 14px 12px; grid-template-columns: repeat(3,1fr); gap: 7px; }.dashboard-monitoring-values span { display: flex; min-height: 48px; align-items: center; justify-content: center; flex-direction: column; gap: 4px; border: 1px solid #e5e8ee; border-radius: 6px; color: #69758a; font-size: 10px; }.dashboard-monitoring-values strong { color: #5626e9; font-size: 13px; }.dashboard-monitoring-values span:nth-child(2) strong { color: #1874e8; }.dashboard-monitoring-values span:nth-child(3) strong { color: #159b58; }

@media (max-width: 1180px) {
  .success-path__summary { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 16px; }
  .success-path__summary article:nth-child(3) { padding-left: 0; border-left: 0; }
  .success-path__flow { padding: 0 20px; gap: var(--success-row-gap) 24px; }
  .success-path__connector--top,.success-path__connector--return { right: 20px; }
  .success-path__connector--right-turn { right: 9px; width: 11px; }
  .success-path__connector--return,.success-path__connector--bottom { left: 20px; }
  .success-path__connector--left-turn { left: 9px; width: 11px; }
  .dashboard-action-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-action-card--revenue { grid-column: 1 / -1; }
  .dashboard-builder.is-editing { grid-template-columns: 1fr; }
  .dashboard-widget-library { position: static; }
  .dashboard-widget-library__list { display: grid; max-height: none; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
  .dashboard-save-status { grid-column: 1; }
}
@media (max-width: 900px) {
  .success-path__intro { align-items: stretch; flex-direction: column; }
  .success-path__intro .button { width: fit-content; }
  .success-path__focus { margin-inline: 0; grid-template-columns: 42px minmax(0,1fr) auto; }
  .success-path__focus .button { grid-column: 2 / -1; justify-self: start; }
  .success-path__flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .success-path__connector { display: none; }
  .success-path__method { margin-inline: 0; }
  .dashboard-action-strip { grid-template-columns: 1fr; }
  .dashboard-action-card--revenue { grid-column: auto; }
  .dashboard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-widget[data-widget-span="3"],.dashboard-widget[data-widget-span="4"],.dashboard-drop-placeholder[style*="--widget-span: 3"],.dashboard-drop-placeholder[style*="--widget-span: 4"] { grid-column: span 2; }
  .dashboard-template-grid { grid-template-columns: 1fr; }
  .dashboard-template-card { min-height: 220px; }
}
@media (max-width: 650px) {
  .success-path__summary { grid-template-columns: 1fr; }
  .success-path__summary article { padding: 12px 0; border-top: 1px solid #e7e9ef; border-left: 0; }
  .success-path__summary article:first-child { border-top: 0; }
  .success-path__focus { grid-template-columns: 38px minmax(0,1fr); margin-block: 14px 20px; }
  .success-path__focus-progress { min-width: 0; grid-column: 2; text-align: left; }
  .success-path__focus .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .success-path__flow { padding: 0; grid-template-columns: 1fr; grid-template-rows: none; gap: 12px; }
  .success-stage > article { min-height: 245px; height: auto; }
  .success-criteria-dialog > header { padding: 18px; grid-template-columns: 40px minmax(0,1fr) 32px; }
  .success-criteria-dialog > header > span { width: 40px; height: 40px; }
  .success-criteria-dialog__progress,.success-criteria-dialog > ul { padding-right: 18px; padding-left: 18px; }
  .success-criteria-dialog > footer { padding: 14px 18px 18px; align-items: stretch; flex-direction: column-reverse; }
  .success-criteria-dialog > footer .button { width: 100%; justify-content: center; }
  .success-path__method { grid-template-columns: 38px minmax(0,1fr); }
  .success-path__method a { grid-column: 2; white-space: normal; }
  .dashboard-action-strip { margin-bottom: 20px; gap: 10px; }
  .dashboard-action-card { min-height: 105px; padding: 15px; }
  .dashboard-action-card__content { inset: 15px 15px 13px 68px; }
  .dashboard-action-card__label { font-size: 12px; }
  .dashboard-action-card__score b { font-size: 40px; }
  .dashboard-action-card__score small { font-size: 16px; }
  .workspace-ready__head { align-items: stretch; flex-direction: column; text-align: center; }
  .workspace-ready__head .button { width: 100%; justify-content: center; }
  .dashboard-toolbar--view { margin-top: -10px; align-items: center; }
  .dashboard-toolbar--editing { align-items: stretch; flex-direction: column; }
  .dashboard-toolbar--editing > .button,.dashboard-toolbar__actions,.dashboard-toolbar__actions .button { width: 100%; justify-content: center; }
  .dashboard-toolbar__actions { flex-direction: column; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-widget,.dashboard-widget[data-widget-span],.dashboard-drop-placeholder { grid-column: span 1 !important; }
  .dashboard-widget-library__list { grid-template-columns: 1fr; }
  .dashboard-community-news { grid-template-columns: 85px minmax(0,1fr) 20px; }
  .dashboard-template-dialog__head { padding: 22px 20px 18px; }
  .dashboard-template-grid { padding: 18px 20px 22px; }
  .dashboard-roadmap-flow { grid-template-columns: repeat(var(--milestone-count),minmax(140px,1fr)); }
  .dashboard-task-columns { grid-template-columns: 1fr; }
  .dashboard-vps-table__head,.dashboard-vps-table > div:not(.dashboard-vps-table__head) { grid-template-columns: 1.2fr .8fr .7fr; }
  .dashboard-vps-table__head span:nth-child(2),.dashboard-vps-table > div > span:nth-child(2) { display: none; }
}

/* Subscription pricing */
.subscription-pricing { --pricing-violet: #5b2de6; --pricing-blue: #397daf; --pricing-green: #329164; display: flex; width: min(1180px,100%); margin: 0 auto; flex-direction: column; gap: 28px; color: #202d42; }
.subscription-pricing__hero { display: flex; padding: 10px 20px 0; align-items: center; flex-direction: column; text-align: center; }
.subscription-pricing__hero h2 { max-width: 700px; margin: 0 0 10px; font: 800 clamp(27px,3.2vw,42px)/1.08 var(--font-display); letter-spacing: -1.35px; }
.subscription-pricing__hero > p { max-width: 710px; margin: 0; color: #68768b; font-size: 12px; line-height: 1.65; }
.subscription-pricing__hero > small { margin-top: 10px; color: #8a95a7; font-size: 10px; }
.subscription-pricing__billing { display: flex; margin-top: 21px; padding: 4px; align-items: center; gap: 3px; border: 1px solid #dedee8; border-radius: 10px; background: #fff; box-shadow: 0 5px 15px rgba(25,35,53,.04); }
.subscription-pricing__billing button { min-width: 82px; height: 34px; padding: 0 13px; border: 0; border-radius: 7px; color: #667389; background: transparent; font: 700 12px var(--font-body); cursor: pointer; }
.subscription-pricing__billing button.is-active { color: #fff; background: linear-gradient(120deg,#4f20df,#6b3bed); box-shadow: 0 5px 13px rgba(91,45,230,.22); }
.subscription-pricing__billing > span { display: flex; height: 32px; padding: 0 10px; align-items: center; gap: 5px; border-radius: 7px; color: #26724d; background: #eaf7ef; font-size: 10px; font-weight: 750; }
.subscription-pricing__billing > span .material-symbols-rounded { font-size: 14px; }
.subscription-pricing__plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 16px; }
.subscription-plan { --plan-accent: var(--pricing-blue); --plan-soft: #e8f3f8; position: relative; display: flex; min-width: 0; min-height: 610px; padding: 23px; border: 1px solid #dce2e9; border-radius: 18px; flex-direction: column; background: rgba(255,255,255,.94); box-shadow: 0 12px 32px rgba(24,38,60,.045); transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.subscription-plan:hover { border-color: color-mix(in srgb,var(--plan-accent) 45%,#dce2e9); transform: translateY(-3px); box-shadow: 0 18px 38px rgba(24,38,60,.08); }
.subscription-plan--team { --plan-accent: var(--pricing-violet); --plan-soft: #eeeaff; }
.subscription-plan--managed { --plan-accent: var(--pricing-green); --plan-soft: #e8f5ee; }
.subscription-plan.is-popular { border-color: #b5a6ef; background: linear-gradient(155deg,#fff 50%,#fbfaff); box-shadow: 0 14px 34px rgba(82,46,179,.1); }
.subscription-plan__badge { position: absolute; top: -14px; left: 50%; display: flex; height: 28px; padding: 0 12px; align-items: center; gap: 5px; border-radius: 14px; color: #fff; background: linear-gradient(120deg,#4f20df,#7550ed); box-shadow: 0 7px 14px rgba(82,39,207,.22); font-size: 10px; font-weight: 800; transform: translateX(-50%); white-space: nowrap; }
.subscription-plan__badge .material-symbols-rounded { font-size: 13px; }
.subscription-plan > header { display: flex; align-items: center; gap: 10px; }
.subscription-plan__icon { display: grid; width: 43px; height: 43px; flex: 0 0 43px; place-items: center; border-radius: 11px; color: var(--plan-accent); background: var(--plan-soft); }
.subscription-plan__icon .material-symbols-rounded { font-size: 23px; }
.subscription-plan > header > strong { color: #6d798b; font-size: 10px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.subscription-plan > h3 { margin: 18px 0 7px; font: 800 24px var(--font-display); letter-spacing: -.6px; }
.subscription-plan > p { min-height: 53px; margin: 0; color: #718095; font-size: 12px; line-height: 1.55; }
.subscription-plan__price { display: flex; min-height: 92px; padding: 18px 0 13px; align-content: flex-start; align-items: baseline; flex-wrap: wrap; border-bottom: 1px solid #e6e9ef; }
.subscription-plan__price > strong { color: #1f2b3d; font: 800 29px var(--font-display); letter-spacing: -.7px; }
.subscription-plan__price > span { margin-left: 5px; color: #748095; font-size: 12px; }
.subscription-plan__price > small { flex-basis: 100%; margin-top: 5px; color: #7d899c; font-size: 10px; }
.subscription-plan__price > em { flex-basis: 100%; margin-top: 6px; color: var(--plan-accent); font-size: 10px; font-style: normal; font-weight: 700; }
.subscription-plan__commitment { display: grid; min-height: 52px; margin: 13px 0 0; padding: 9px 11px; grid-template-columns: 29px minmax(0,1fr); align-items: center; gap: 9px; border: 1px solid #b9ddc9; border-radius: 9px; color: #357a57; background: #f1faf5; }
.subscription-plan__commitment > .material-symbols-rounded { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 7px; color: #fff; background: var(--plan-accent); font-size: 17px; }
.subscription-plan__commitment > span { display: flex; flex-direction: column; gap: 2px; }
.subscription-plan__commitment strong { font-size: 10px; }
.subscription-plan__commitment small { font-size: 12px; font-weight: 800; }
.subscription-plan__audience { display: grid; min-height: 59px; margin: 13px 0 1px; padding: 10px; grid-template-columns: 27px minmax(0,1fr); align-items: center; gap: 8px; border-radius: 9px; color: #526078; background: var(--plan-soft); }
.subscription-plan__audience > span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 7px; color: var(--plan-accent); background: rgba(255,255,255,.75); }
.subscription-plan__audience > span .material-symbols-rounded { font-size: 16px; }
.subscription-plan__audience div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.subscription-plan__audience strong { color: #38465d; font-size: 10px; }
.subscription-plan__audience small { overflow: hidden; color: #718095; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.subscription-plan > ul { display: flex; margin: 15px 0 20px; padding: 0; flex-direction: column; gap: 9px; list-style: none; }
.subscription-plan > ul li { display: flex; align-items: flex-start; gap: 7px; color: #59677d; font-size: 12px; line-height: 1.35; }
.subscription-plan > ul .material-symbols-rounded { display: grid; width: 17px; height: 17px; flex: 0 0 17px; place-items: center; border-radius: 50%; color: var(--plan-accent); background: var(--plan-soft); font-size: 12px; font-weight: 800; }
.subscription-plan__cta { display: flex; min-height: 45px; margin-top: auto; padding: 0 10px 0 15px; align-items: center; justify-content: space-between; border: 1px solid color-mix(in srgb,var(--plan-accent) 32%,#dce2e9); border-radius: 11px; color: var(--plan-accent); background: var(--plan-soft); font-size: 12px; font-weight: 800; text-decoration: none; }
.subscription-plan__cta .material-symbols-rounded { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: #fff; background: var(--plan-accent); font-size: 16px; transition: transform .16s ease; }
.subscription-plan__cta:hover .material-symbols-rounded { transform: translateX(2px); }
.subscription-plan.is-popular .subscription-plan__cta { border-color: transparent; color: #fff; background: linear-gradient(110deg,#5522e6,#7246ee); box-shadow: 0 7px 17px rgba(89,38,222,.2); }
.subscription-pricing__reassurance { display: grid; padding: 17px 20px; grid-template-columns: repeat(3,1fr); gap: 18px; border: 1px solid #e7e7e3; border-radius: 16px; background: linear-gradient(110deg,#f1f8f5,#f7f8f5 48%,#faf6eb); }
.subscription-pricing__reassurance > div { display: flex; align-items: center; gap: 10px; }
.subscription-pricing__reassurance > div > span { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 10px; color: #4d3bd0; background: rgba(255,255,255,.8); }
.subscription-pricing__reassurance .material-symbols-rounded { font-size: 19px; }
.subscription-pricing__reassurance p { display: flex; margin: 0; flex-direction: column; gap: 3px; }
.subscription-pricing__reassurance strong { font-size: 12px; }
.subscription-pricing__reassurance small { color: #788496; font-size: 10px; }
.subscription-comparison { scroll-margin-top: 20px; overflow: hidden; border: 1px solid #dde2e9; border-radius: 15px; background: #fff; box-shadow: 0 10px 30px rgba(25,37,58,.045); }
.subscription-comparison > header { display: flex; padding: 22px 24px 19px; align-items: flex-end; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e7eaf0; background: linear-gradient(120deg,#fff,#faf9ff); }
.subscription-comparison > header h2 { margin: 5px 0 4px; font: 800 20px var(--font-display); }
.subscription-comparison > header p { margin: 0; color: #718095; font-size: 12px; }
.subscription-comparison > header > a { display: flex; align-items: center; gap: 5px; color: var(--pricing-violet); font-size: 12px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.subscription-comparison > header > a .material-symbols-rounded { font-size: 16px; }
.subscription-comparison__scroll { overflow-x: auto; }
.subscription-comparison table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: fixed; }
.subscription-comparison th,.subscription-comparison td { height: 45px; padding: 9px 14px; border-bottom: 1px solid #edf0f4; color: #5c6980; font-size: 10px; line-height: 1.35; text-align: center; }
.subscription-comparison th:first-child { width: 37%; color: #344158; text-align: left; }
.subscription-comparison thead th { height: 55px; color: #253149; background: #fff; font-size: 12px; font-weight: 800; }
.subscription-comparison thead th:not(:first-child) { border-left: 1px solid #f0f1f5; }
.subscription-comparison thead th span { display: inline-grid; width: 26px; height: 26px; margin-right: 6px; place-items: center; border-radius: 7px; color: var(--pricing-violet); background: #eeeaff; vertical-align: middle; }
.subscription-comparison thead th span .material-symbols-rounded { font-size: 15px; }
.subscription-comparison__group th { height: 35px; padding-top: 11px; padding-bottom: 8px; color: #5b2de6 !important; background: #f8f6ff; font-size: 10px; font-weight: 850; letter-spacing: .45px; text-transform: uppercase; }
.subscription-comparison tbody tr:not(.subscription-comparison__group) th { font-size: 11px; }
.subscription-pricing__check { display: inline-grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; color: #2e9963; background: #e9f7ef; }
.subscription-pricing__check .material-symbols-rounded { font-size: 14px; font-weight: 800; }
.subscription-pricing__dash { color: #b3bbc7; }
.subscription-pricing__enterprise { scroll-margin-top: 20px; display: grid; padding: 21px 24px; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 16px; border: 1px solid #cfc5f3; border-radius: 14px; background: linear-gradient(115deg,#f7f4ff,#fff 60%,#f2f8ff); }
.subscription-pricing__enterprise > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(135deg,#744cf0,#4b20d8); box-shadow: 0 8px 18px rgba(81,42,194,.18); }
.subscription-pricing__enterprise > span .material-symbols-rounded { font-size: 25px; }
.subscription-pricing__enterprise small { color: #6740df; font-size: 10px; font-weight: 850; letter-spacing: .5px; text-transform: uppercase; }
.subscription-pricing__enterprise h2 { margin: 4px 0; font: 800 16px var(--font-display); }
.subscription-pricing__enterprise p { margin: 0; color: #718095; font-size: 12px; }
.subscription-pricing__enterprise .button { min-width: 160px; justify-content: center; font-size: 12px; }
.subscription-pricing__legal { margin: -10px 0 2px; color: #8a95a7; font-size: 10px; line-height: 1.5; text-align: center; }
@media (max-width: 1040px) {
  .subscription-pricing__plans { grid-template-columns: 1fr; }
  .subscription-plan { min-height: 0; }
  .subscription-plan > p { min-height: 0; }
  .subscription-plan__audience small { white-space: normal; }
}
@media (max-width: 720px) {
  .subscription-pricing { gap: 22px; }
  .subscription-pricing__hero { padding-right: 0; padding-left: 0; }
  .subscription-pricing__hero h2 { font-size: 28px; }
  .subscription-pricing__billing { flex-wrap: wrap; justify-content: center; }
  .subscription-pricing__billing > span { flex-basis: 100%; justify-content: center; }
  .subscription-pricing__reassurance { grid-template-columns: 1fr; }
  .subscription-comparison > header { align-items: flex-start; flex-direction: column; }
  .subscription-pricing__enterprise { grid-template-columns: 44px minmax(0,1fr); }
  .subscription-pricing__enterprise > span { width: 44px; height: 44px; }
  .subscription-pricing__enterprise .button { grid-column: 1 / -1; }
}

/* Données — Utilisateurs importés. */
.analytics-users-page { display: flex; min-width: 0; flex-direction: column; gap: 16px; color: #253149; }
.analytics-users-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.analytics-users-heading > div:first-child { max-width: 680px; }
.analytics-users-heading > div:first-child > span { color: #5b2de6; font-size: 10px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
.analytics-users-heading h2 { margin: 5px 0; font: 800 22px var(--font-display); letter-spacing: -.45px; }
.analytics-users-heading p { margin: 0; color: #718095; font-size: 11px; line-height: 1.55; }
.analytics-users-heading > div:last-child { display: flex; flex-shrink: 0; gap: 8px; }
.analytics-users-heading .button { min-height: 39px; justify-content: center; font-size: 10px; }
.analytics-users-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.analytics-users-kpis article { display: grid; min-height: 100px; padding: 17px; grid-template-columns: 40px minmax(0,1fr); align-items: start; gap: 11px; border: 1px solid #e0e4eb; border-radius: 11px; background: #fff; box-shadow: 0 4px 13px rgba(20,32,52,.035); }
.analytics-users-kpi-icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 10px; }
.analytics-users-kpi-icon .material-symbols-rounded { font-size: 22px; }
.analytics-users-kpi-icon--violet { color: #5b2de6; background: #eeeaff; }.analytics-users-kpi-icon--green { color: #2e9862; background: #e8f6ee; }.analytics-users-kpi-icon--blue { color: #2d71d7; background: #e8f1ff; }.analytics-users-kpi-icon--orange { color: #d47a21; background: #fff1df; }
.analytics-users-kpis article > div { display: flex; min-width: 0; flex-direction: column; }
.analytics-users-kpis small { color: #57647a; font-size: 10px; font-weight: 700; }
.analytics-users-kpis strong { margin: 4px 0 2px; color: #172139; font: 800 23px var(--font-display); }
.analytics-users-kpis em { color: #8190a3; font-size: 10px; font-style: normal; }
.analytics-users-context { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(350px,.65fr); gap: 12px; }
.analytics-users-import-state,.analytics-users-quality { min-height: 116px; padding: 16px 18px; border: 1px solid #dfe3eb; border-radius: 11px; background: #fff; }
.analytics-users-import-state { display: grid; grid-template-columns: 39px minmax(0,1fr) auto; align-items: center; gap: 12px; }
.analytics-users-import-state > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 10px; color: #2f9662; background: #e9f7ef; }
.analytics-users-import-state > span .material-symbols-rounded { font-size: 22px; }
.analytics-users-import-state > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.analytics-users-import-state small,.analytics-users-quality small { color: #6e3ee6; font-size: 10px; font-weight: 800; }
.analytics-users-import-state strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.analytics-users-import-state p { margin: 0; color: #788499; font-size: 10px; }
.analytics-users-import-state > a { display: flex; align-items: center; gap: 5px; color: #5930dc; font-size: 10px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.analytics-users-import-state > a .material-symbols-rounded { font-size: 16px; }
.analytics-users-quality header { display: flex; margin-bottom: 10px; align-items: center; justify-content: space-between; }
.analytics-users-quality header > div { display: flex; flex-direction: column; gap: 2px; }
.analytics-users-quality header strong { font-size: 11px; }
.analytics-users-quality header > span { color: #2e9662; font: 800 17px var(--font-display); }
.analytics-users-quality > div { display: flex; flex-direction: column; gap: 6px; }
.analytics-users-quality label { display: grid; grid-template-columns: 78px minmax(0,1fr) 32px; align-items: center; gap: 8px; color: #6d798d; font-size: 10px; }
.analytics-users-quality label i { height: 5px; overflow: hidden; border-radius: 6px; background: #edf0f4; }
.analytics-users-quality label i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6b41e7,#35a368); }
.analytics-users-quality label strong { color: #46536a; font-size: 10px; text-align: right; }
.analytics-users-directory { overflow: hidden; border: 1px solid #dfe3eb; border-radius: 12px; background: #fff; box-shadow: 0 5px 17px rgba(20,32,52,.035); }
.analytics-users-directory > header { display: flex; min-height: 58px; padding: 12px 16px; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5e8ee; }
.analytics-users-directory > header > div { display: flex; align-items: center; gap: 9px; }
.analytics-users-directory > header h3 { margin: 0; font: 800 14px var(--font-display); }
.analytics-users-directory > header > div span { padding: 3px 7px; border-radius: 10px; color: #5b2de6; background: #eeeaff; font-size: 10px; font-weight: 700; }
.analytics-users-directory > header nav { display: flex; gap: 8px; }
.analytics-users-directory > header nav a { display: flex; align-items: center; gap: 5px; color: #5b2de6; font-size: 10px; font-weight: 700; text-decoration: none; }
.analytics-users-directory > header nav .material-symbols-rounded { font-size: 16px; }
.analytics-users-filters { display: grid; padding: 12px 16px; grid-template-columns: minmax(210px,1.35fr) repeat(6,minmax(95px,.65fr)) auto 34px; align-items: end; gap: 8px; border-bottom: 1px solid #e7eaf0; background: #fbfbfd; }
.analytics-users-filters > label:not(.analytics-users-search) { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.analytics-users-filters > label > span { color: #647188; font-size: 10px; font-weight: 700; }
.analytics-users-filters select,.analytics-users-search { height: 36px; border: 1px solid #dce1e9; border-radius: 7px; color: #435068; background: #fff; font: 500 10px var(--font-body); }
.analytics-users-filters select { width: 100%; padding: 0 8px; }
.analytics-users-search { display: flex; padding: 0 10px; align-items: center; gap: 7px; }
.analytics-users-search .material-symbols-rounded { color: #758297; font-size: 18px; }
.analytics-users-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: #344158; background: transparent; font: 500 10px var(--font-body); }
.analytics-users-filters .button { min-height: 36px; padding: 0 11px; justify-content: center; font-size: 10px; }
.analytics-users-filter-reset { display: grid; width: 34px; height: 36px; place-items: center; border: 1px solid #dce1e9; border-radius: 7px; color: #667389; background: #fff; }
.analytics-users-filter-reset .material-symbols-rounded { font-size: 18px; }
.analytics-users-table-scroll { overflow-x: auto; }
.analytics-users-table { min-width: 1120px; }
.analytics-users-table__head,.analytics-users-table__row { display: grid; grid-template-columns: minmax(220px,1.35fr) 80px 140px 125px 135px 120px 95px 34px; align-items: center; gap: 10px; }
.analytics-users-table__head { min-height: 40px; padding: 0 14px; color: #778297; border-bottom: 1px solid #e2e6ed; background: #fcfcfd; font-size: 10px; font-weight: 650; }
.analytics-users-table__row { min-height: 70px; padding: 8px 14px; border-bottom: 1px solid #e8ebf0; color: #526078; font-size: 10px; transition: background .15s; }
.analytics-users-table__row:hover { background: #fcfbff; }
.analytics-users-identity { display: grid; min-width: 0; grid-template-columns: 35px minmax(0,1fr); align-items: center; gap: 9px; }
.analytics-users-identity > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#6e45e6,#203b6b); font-size: 10px; font-weight: 800; }
.analytics-users-identity > div,.analytics-users-plan,.analytics-users-source,.analytics-users-value,.analytics-users-date { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.analytics-users-identity strong,.analytics-users-plan strong,.analytics-users-source strong,.analytics-users-value strong,.analytics-users-date strong { overflow: hidden; color: #334057; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.analytics-users-identity small,.analytics-users-plan small,.analytics-users-source small,.analytics-users-value small,.analytics-users-date small { overflow: hidden; color: #7e899d; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.analytics-users-identity em { overflow: hidden; color: #9aa3b2; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.analytics-users-status { display: inline-flex; width: max-content; padding: 4px 7px; align-items: center; gap: 5px; border-radius: 9px; font-size: 10px; font-weight: 700; }
.analytics-users-status i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.analytics-users-status--active { color: #2e8c5b; background: #eaf7ef; }.analytics-users-status--trial { color: #bd741f; background: #fff3e2; }.analytics-users-status--churned { color: #c34a5c; background: #fff0f2; }
.analytics-users-activity { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.analytics-users-activity > span { color: #526078; font-size: 10px; }.analytics-users-activity > span strong { color: #2f3c54; }
.analytics-users-activity > i { width: 90px; height: 4px; overflow: hidden; border-radius: 6px; background: #edf0f4; }.analytics-users-activity > i b { display: block; height: 100%; border-radius: inherit; background: #4aa86d; }
.analytics-users-activity small { color: #8994a6; font-size: 10px; }
.analytics-users-open { display: grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 1px solid #dce1e9; border-radius: 7px; color: #5a2ee2; background: #fff; cursor: pointer; }
.analytics-users-open .material-symbols-rounded { font-size: 17px; }
.analytics-users-empty { display: flex; min-height: 250px; padding: 30px; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.analytics-users-empty > .material-symbols-rounded { color: #8d70e9; font-size: 43px; }
.analytics-users-empty h3 { margin: 10px 0 5px; font: 800 16px var(--font-display); }.analytics-users-empty p { margin: 0 0 17px; color: #7a8699; font-size: 10px; }
.analytics-users-pagination { display: flex; min-height: 49px; padding: 8px 14px; align-items: center; justify-content: space-between; color: #748095; border-top: 1px solid #e2e6ed; font-size: 10px; }
.analytics-users-pagination > div { display: flex; gap: 4px; }.analytics-users-pagination > div a { display: grid; min-width: 29px; height: 29px; padding: 0 7px; place-items: center; border: 1px solid #dce1e9; border-radius: 6px; color: #526078; text-decoration: none; }.analytics-users-pagination > div a.is-active { border-color: #6f48e7; color: #fff; background: #6336e6; }.analytics-users-pagination > div a.is-disabled { pointer-events: none; opacity: .35; }
.analytics-users-pagination form label { display: flex; align-items: center; gap: 6px; }.analytics-users-pagination select { height: 30px; border: 1px solid #dce1e9; border-radius: 6px; color: #526078; background: #fff; font: 10px var(--font-body); }
.analytics-user-dialog { width: min(850px,calc(100% - 30px)); max-height: min(780px,calc(100vh - 30px)); padding: 0; overflow: hidden; border: 0; border-radius: 15px; color: #2c3950; background: #fff; box-shadow: 0 30px 80px rgba(8,18,38,.28); }
.analytics-user-dialog::backdrop { background: rgba(8,18,38,.54); backdrop-filter: blur(2px); }
.analytics-user-dialog > header { display: grid; min-height: 82px; padding: 16px 20px; grid-template-columns: 43px minmax(0,1fr) 34px; align-items: center; gap: 12px; border-bottom: 1px solid #e5e8ee; background: linear-gradient(120deg,#fff,#faf8ff); }
.analytics-user-dialog > header > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 10px; color: #5b2de6; background: #eeeaff; }.analytics-user-dialog > header > span .material-symbols-rounded { font-size: 23px; }
.analytics-user-dialog > header small { color: #6b3ce5; font-size: 10px; font-weight: 800; text-transform: uppercase; }.analytics-user-dialog > header h2 { margin: 2px 0; font: 800 17px var(--font-display); }.analytics-user-dialog > header p { margin: 0; color: #7b8699; font-size: 10px; }
.analytics-user-dialog > header button { display: grid; width: 33px; height: 33px; padding: 0; place-items: center; border: 1px solid #dce1e9; border-radius: 8px; color: #677389; background: #fff; cursor: pointer; }
.analytics-user-dialog__body { display: grid; max-height: calc(min(780px,100vh - 30px) - 82px); padding: 18px 20px 22px; overflow-y: auto; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.analytics-user-dialog__body section { padding: 15px; border: 1px solid #e0e4eb; border-radius: 10px; }.analytics-user-dialog__body h3 { margin: 0 0 12px; font: 800 12px var(--font-display); }
.analytics-user-dialog__body dl { display: grid; margin: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }.analytics-user-dialog__body dl div { min-width: 0; }.analytics-user-dialog__body dt { margin-bottom: 3px; color: #8590a2; font-size: 10px; }.analytics-user-dialog__body dd { margin: 0; overflow-wrap: anywhere; color: #3d4a61; font-size: 10px; font-weight: 650; }
.analytics-user-dialog__attributes { grid-column: 1 / -1; }.analytics-user-dialog__attributes > div { display: flex; flex-wrap: wrap; gap: 7px; }.analytics-user-dialog__attributes > div span { padding: 6px 8px; border-radius: 6px; color: #5c4a9f; background: #f1eeff; font-size: 10px; }.analytics-user-dialog__attributes > div em { color: #8a95a7; font-size: 10px; font-style: normal; }
.analytics-user-create-dialog { width: min(720px,calc(100vw - 30px)); max-height: calc(100vh - 24px); overflow-x: hidden; overflow-y: auto; }
.analytics-user-create-dialog .task-field--full { grid-column: 1 / -1; }
.analytics-user-create-dialog .field > span small { color: #8994a6; font-size: 12px; font-weight: 500; }
.analytics-user-create-dialog .field > small { color: #7b8799; font-size: 12px; line-height: 1.4; }
.analytics-user-money-field { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
.analytics-user-money-field input { border-radius: 8px 0 0 8px; }
.analytics-user-money-field b { display: flex; height: 42px; padding: 0 13px; align-items: center; border: 1px solid #dce1ea; border-left: 0; border-radius: 0 8px 8px 0; color: #5d687c; background: #f8f9fc; font-size: 12px; font-weight: 650; }
.analytics-user-create-note { display: flex; margin: 0 22px 4px; padding: 12px 13px; align-items: flex-start; gap: 10px; border: 1px solid #ddd6fb; border-radius: 9px; background: #faf8ff; }
.analytics-user-create-note > .material-symbols-rounded { margin-top: 1px; color: #6134e5; font-size: 20px; }
.analytics-user-create-note p { display: flex; margin: 0; flex-direction: column; gap: 2px; color: #707c90; font-size: 12px; line-height: 1.4; }
.analytics-user-create-note strong { color: #344158; font-size: 12px; }
@media (max-width: 1180px) {
  .analytics-users-kpis { grid-template-columns: repeat(2,1fr); }
  .analytics-users-context { grid-template-columns: 1fr; }
  .analytics-users-filters { grid-template-columns: repeat(3,minmax(120px,1fr)); }
  .analytics-users-search { grid-column: span 2; }
}
@media (max-width: 720px) {
  .analytics-users-heading { align-items: stretch; flex-direction: column; }.analytics-users-heading > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .analytics-users-kpis,.analytics-users-filters,.analytics-user-dialog__body { grid-template-columns: 1fr; }.analytics-users-search { grid-column: auto; }.analytics-users-filter-reset { width: 100%; }
  .analytics-users-import-state { grid-template-columns: 39px minmax(0,1fr); }.analytics-users-import-state > a { grid-column: 2; }
  .analytics-users-directory > header { align-items: flex-start; flex-direction: column; gap: 9px; }.analytics-users-directory > header nav { flex-wrap: wrap; }
  .analytics-users-pagination { align-items: stretch; flex-direction: column; gap: 10px; }.analytics-user-dialog__attributes { grid-column: auto; }
  .analytics-user-create-dialog .task-field--full { grid-column: auto; }
}

/* Analyse — Revenus. */
.revenue-page { display: flex; min-width: 0; flex-direction: column; gap: 16px; }
.revenue-overview { display: grid; grid-template-columns: minmax(280px,1.35fr) minmax(150px,.72fr) minmax(270px,1.22fr) minmax(160px,.72fr); gap: 12px; }
.revenue-card, .revenue-panel { min-width: 0; border: 1px solid #e0e4eb; border-radius: 11px; background: #fff; box-shadow: 0 2px 8px rgba(22,32,55,.025); }
.revenue-card { min-height: 152px; padding: 20px; }
.revenue-card h3, .revenue-panel h3 { margin: 0; color: #172139; font: 750 12px/1.3 var(--font-display); }
.revenue-card--hero { color: #fff; border: 0; background: radial-gradient(circle at 85% 22%,rgba(87,209,195,.55),transparent 42%), linear-gradient(120deg,#315477 0%,#3378a6 58%,#45ad9f 100%); box-shadow: 0 11px 25px rgba(39,95,119,.14); }
.revenue-card__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-transform: uppercase; font-size: 10px; font-weight: 750; letter-spacing: .2px; }
.revenue-card__heading em { display: flex; padding: 5px 8px; align-items: center; gap: 4px; border-radius: 12px; color: #e6fffb; background: rgba(255,255,255,.13); font-size: 10px; font-style: normal; font-weight: 600; text-transform: none; }
.revenue-card__heading .material-symbols-rounded { color: #aef0d9; font-size: 10px; }
.revenue-card--hero > strong { display: block; margin: 13px 0 7px; font: 800 33px/1 var(--font-display); }
.revenue-card--hero > p { margin: 0; color: rgba(255,255,255,.85); font-size: 10px; }
.revenue-card--hero footer { display: flex; margin-top: 20px; gap: 8px; }
.revenue-card--hero footer span { padding: 5px 9px; border-radius: 12px; background: rgba(255,255,255,.1); font-size: 10px; }
.revenue-card--current { display: flex; align-items: flex-start; flex-direction: column; }
.revenue-card__icon { display: grid; width: 34px; height: 34px; margin-bottom: 16px; place-items: center; border-radius: 8px; color: #36a870; background: #eaf7f0; }
.revenue-card__icon .material-symbols-rounded { font-size: 19px; }
.revenue-card--current small { color: #617088; font-size: 10px; font-weight: 650; }
.revenue-card--current strong, .revenue-card--arr > strong { margin: 5px 0; color: #101b35; font: 800 25px/1.2 var(--font-display); }
.revenue-card--current p { margin: auto 0 0; color: #65728a; font-size: 10px; }
.revenue-card--current p i { display: inline-block; width: 10px; height: 2px; margin-right: 3px; vertical-align: middle; background: #3e7cae; }
.revenue-card--forecast h3, .revenue-card--arr h3 { text-transform: uppercase; font-size: 10px; }
.revenue-card--forecast > div { display: grid; height: calc(100% - 25px); grid-template-columns: repeat(3,1fr); align-items: center; }
.revenue-card--forecast span { display: flex; min-width: 0; min-height: 70px; padding: 8px 15px; justify-content: center; flex-direction: column; gap: 7px; border-right: 1px solid #edf0f4; }
.revenue-card--forecast span:first-child { padding-left: 0; }
.revenue-card--forecast span:last-child { border-right: 0; }
.revenue-card--forecast small { color: #50617b; font-size: 10px; font-weight: 700; }
.revenue-card--forecast strong { color: #111c35; font: 800 18px var(--font-display); }
.revenue-card--forecast em { color: #718096; font-size: 10px; font-style: normal; }
.revenue-card--arr { display: flex; flex-direction: column; }
.revenue-card--arr > strong { margin-top: 24px; }
.revenue-card--arr > p { margin: 0; color: #69758a; font-size: 10px; }
.revenue-card--arr > small { display: flex; margin-top: auto; align-items: center; gap: 3px; color: #36a56b; font-size: 10px; }
.revenue-card--arr > small .material-symbols-rounded { font-size: 12px; }
.revenue-main-grid { display: grid; grid-template-columns: minmax(330px,.95fr) minmax(520px,1.55fr); gap: 12px; }
.revenue-panel { overflow: hidden; }
.revenue-panel > header { display: flex; min-height: 52px; padding: 15px 18px 8px; align-items: flex-start; justify-content: space-between; gap: 12px; }
.revenue-panel > header p { margin: 3px 0 0; color: #788397; font-size: 10px; }
.revenue-panel > header a, .revenue-panel > header > span { padding: 6px 9px; border: 1px solid #e5e8ed; border-radius: 6px; color: #283750; background: #fff; font-size: 10px; font-weight: 650; text-decoration: none; white-space: nowrap; }
.revenue-panel > header > span { display: flex; align-items: center; gap: 4px; }
.revenue-panel > header > span .material-symbols-rounded { font-size: 13px; }
.revenue-chart__period { position: relative; display: flex; min-width: 132px; height: 34px; flex: 0 0 auto; align-items: center; border: 1px solid #dfe3eb; border-radius: 8px; color: #283750; background: #fff; }
.revenue-chart__period select { width: 100%; height: 100%; padding: 0 30px 0 11px; border: 0; outline: 0; appearance: none; color: inherit; background: transparent; font-size: 11px; font-weight: 700; cursor: pointer; }
.revenue-chart__period > .material-symbols-rounded { position: absolute; right: 8px; font-size: 16px; pointer-events: none; }
.revenue-chart__period:focus-within { border-color: #856cf0; box-shadow: 0 0 0 3px #f0edff; }
.revenue-plans__body { display: grid; min-height: 190px; padding: 8px 18px 18px; grid-template-columns: minmax(120px,.8fr) minmax(150px,1.2fr); align-items: center; gap: 18px; }
.revenue-donut { position: relative; width: min(145px,100%); aspect-ratio: 1; justify-self: center; border-radius: 50%; background: var(--donut-background); }
.revenue-donut::after { position: absolute; inset: 22px; border-radius: 50%; background: #fff; content: ''; }
.revenue-donut span { position: absolute; z-index: 1; inset: 22px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 3px; color: #1b2942; }
.revenue-donut strong { font: 800 19px var(--font-display); }
.revenue-donut small { color: #7a8799; font-size: 10px; }
.revenue-plan-list { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.revenue-plan-list > div { display: grid; min-height: 38px; padding: 5px 9px; grid-template-columns: 7px minmax(0,1fr) auto; align-items: center; gap: 8px; border-radius: 6px; background: #f7f8fa; }
.revenue-plan-list i, .revenue-chart footer i { width: 7px; height: 7px; border-radius: 50%; background: var(--plan-color); }
.revenue-plan-list span { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.revenue-plan-list strong, .revenue-plan-list b { color: #26344c; font-size: 10px; }
.revenue-plan-list small { overflow: hidden; color: #788498; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.revenue-plan-list footer { display: flex; margin-top: 4px; padding: 8px 4px 0 19px; justify-content: space-between; border-top: 1px solid #eceff3; color: #28364e; font-size: 10px; }
.revenue-chart { display: flex; min-height: 265px; flex-direction: column; }
.revenue-chart__plot { display: grid; min-height: 155px; padding: 3px 18px 0; grid-template-columns: 30px minmax(0,1fr); }
.revenue-chart__plot[hidden] { display: none; }
.revenue-chart__axis { display: flex; padding: 0 5px 18px 0; justify-content: space-between; flex-direction: column; color: #748197; font-size: 10px; text-align: right; }
.revenue-chart__months { display: grid; min-width: 0; grid-template-columns: repeat(12,minmax(20px,1fr)); gap: 3px; border-bottom: 1px solid #e7eaf0; background: repeating-linear-gradient(to bottom,#e8ebf0 0,#e8ebf0 1px,transparent 1px,transparent 50%); }
.revenue-chart__month { display: flex; min-width: 0; justify-content: flex-end; flex-direction: column; }
.revenue-chart__bars { display: flex; height: 124px; align-items: flex-end; justify-content: center; gap: 1px; }
.revenue-chart__bars i { display: block; width: min(5px,28%); height: var(--bar-height); min-height: 2px; border-radius: 3px 3px 0 0; background: var(--bar-color); }
.revenue-chart__month > small { display: block; height: 20px; padding-top: 5px; overflow: hidden; color: #778397; font-size: 10px; text-align: center; white-space: nowrap; }
.revenue-chart footer { display: flex; min-height: 38px; padding: 10px 49px; align-items: center; gap: 18px; }
.revenue-chart footer span { display: flex; align-items: center; gap: 5px; color: #536078; font-size: 10px; }
.revenue-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: stretch; }
.revenue-detail-grid .revenue-panel { min-height: 205px; }
.revenue-acquisition dl, .revenue-kpis dl, .revenue-assumptions dl { margin: 0; padding: 2px 14px 10px; }
.revenue-acquisition dl > div { display: flex; min-height: 42px; padding: 7px 9px; align-items: center; justify-content: space-between; border-radius: 6px; background: #eef3f8; }
.revenue-acquisition dl > div + div { margin-top: 5px; }
.revenue-acquisition dl > div:nth-child(2) { background: #f2f0fa; }
.revenue-acquisition dl > div:nth-child(3) { background: #eaf6f0; }
.revenue-acquisition dt { display: flex; color: #40506a; flex-direction: column; font-size: 10px; font-weight: 650; }
.revenue-acquisition dt small { margin-top: 2px; color: #748196; font-size: 10px; font-weight: 400; }
.revenue-acquisition dd { margin: 0; color: #1d2a42; font: 750 14px var(--font-display); }
.revenue-positive { margin: 0 14px 12px; color: #35a36a; font-size: 10px; }
.revenue-kpis dl > div, .revenue-assumptions dl > div { display: flex; min-height: 31px; padding: 6px 3px; align-items: center; justify-content: space-between; border-bottom: 1px solid #edf0f4; }
.revenue-kpis dt, .revenue-assumptions dt { display: flex; min-width: 0; align-items: center; gap: 5px; color: #526078; font-size: 10px; }
.revenue-kpis dt > .material-symbols-rounded, .revenue-assumptions dt > .material-symbols-rounded { color: #60718e; font-size: 13px; }
.revenue-kpis dt small { color: #7c8799; font-size: 10px; }
.revenue-kpis dt i { display: inline-grid; width: 14px; height: 14px; place-items: center; border: 1px solid #748198; border-radius: 50%; font-size: 10px; font-style: normal; cursor: help; }
.revenue-kpis dd, .revenue-assumptions dd { margin: 0; color: #26344d; font-size: 10px; font-weight: 750; text-align: right; }
.revenue-panel__footer-link { display: block; margin: 0 14px 12px; padding: 7px; border: 1px solid #e7eaf0; border-radius: 5px; color: #4c5a70; font-size: 10px; text-align: center; text-decoration: none; }
.revenue-simulation-bar { display: grid; min-height: 86px; padding: 14px 17px; grid-template-columns: 46px minmax(260px,1fr) auto auto; align-items: center; gap: 15px; border: 1px solid #d8cdfb; border-radius: 11px; background: linear-gradient(105deg,#fbf9ff 0%,#fff 48%,#f2edff 100%); box-shadow: 0 7px 20px rgba(59,37,137,.06); }
.revenue-simulation-bar__icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(145deg,#6b37ef,#4918d5); box-shadow: 0 7px 16px rgba(78,31,205,.22); }
.revenue-simulation-bar__icon .material-symbols-rounded { font-size: 24px; }
.revenue-simulation-bar__copy { display: flex; min-width: 0; flex-direction: column; }
.revenue-simulation-bar__copy small { color: #6534e7; font-size: 10px; font-weight: 800; letter-spacing: .65px; text-transform: uppercase; }
.revenue-simulation-bar__copy h3 { margin: 3px 0 2px; color: #172139; font: 800 14px var(--font-display); }
.revenue-simulation-bar__copy p { margin: 0; color: #6d788d; font-size: 10px; }
.revenue-simulation-bar__meta { display: flex; align-items: center; gap: 8px; }
.revenue-simulation-bar__meta > span { display: inline-flex; min-height: 29px; padding: 0 9px; flex: 0 0 auto; align-items: center; gap: 5px; border: 1px solid #e0daf5; border-radius: 7px; color: #554873; background: rgba(255,255,255,.8); font-size: 10px; font-weight: 650; white-space: nowrap; }
.revenue-simulation-bar__meta > span > .material-symbols-rounded { width: 16px; flex: 0 0 16px; color: #6334df; font-size: 15px; text-align: center; }
.revenue-simulation-bar__meta > span > b { font: inherit; }
.revenue-simulation-bar > .button { min-height: 38px; justify-content: center; white-space: nowrap; }
.revenue-simulation-base { display: grid; min-height: 54px; padding: 9px 10px; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 9px; border: 1px solid #d9d1f8; border-radius: 7px; background: #f7f4ff; }
.revenue-simulation-base > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 7px; color: #5528e8; background: #eae4ff; }
.revenue-simulation-base > span .material-symbols-rounded { font-size: 18px; }
.revenue-simulation-base > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.revenue-simulation-base strong { color: #352166; font-size: 10px; }
.revenue-simulation-base small { color: #6e6687; font-size: 10px; line-height: 1.35; }
.revenue-migration-state { display: flex; min-height: 210px; padding: 30px; align-items: center; justify-content: center; gap: 18px; border: 1px solid #ddd6fb; border-radius: 12px; background: #fbfaff; }
.revenue-migration-state > span { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 10px; color: #5b2deb; background: #eee9ff; }
.revenue-migration-state h2 { margin: 0 0 6px; color: #19243b; font: 750 16px var(--font-display); }
.revenue-migration-state p { margin: 0; color: #68758b; font-size: 11px; }

@media (max-width: 1260px) {
  .revenue-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .revenue-simulation-bar { grid-template-columns: 46px minmax(260px,1fr) auto; }
  .revenue-simulation-bar__meta { grid-column: 2 / 3; grid-row: 2; }
  .revenue-simulation-bar > .button { grid-column: 3; grid-row: 1 / 3; }
}
@media (max-width: 980px) {
  .revenue-main-grid { grid-template-columns: 1fr; }
  .revenue-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .revenue-simulation-bar { grid-template-columns: 46px minmax(0,1fr); }
  .revenue-simulation-bar__meta,.revenue-simulation-bar > .button { grid-column: 2; grid-row: auto; }
  .revenue-simulation-bar > .button { width: fit-content; }
}
@media (max-width: 680px) {
  .revenue-overview, .revenue-detail-grid { grid-template-columns: 1fr; }
  .revenue-simulation-bar { padding: 14px; grid-template-columns: 40px minmax(0,1fr); gap: 11px; }
  .revenue-simulation-bar__icon { width: 40px; height: 40px; }
  .revenue-simulation-bar__meta { flex-wrap: wrap; }
  .revenue-simulation-bar > .button { width: 100%; }
  .revenue-plans__body { grid-template-columns: 1fr; }
  .revenue-chart { overflow-x: auto; }
  .revenue-chart > header, .revenue-chart__plot, .revenue-chart > footer { min-width: 620px; }
  .revenue-card--forecast span { padding-right: 9px; padding-left: 9px; }
}

/* Projet — Monétisation. */
.monetization-page { display: flex; min-width: 0; flex-direction: column; gap: 20px; }
.monetization-tabs { display: flex; min-height: 50px; margin-top: -6px; align-items: center; gap: 10px; border-bottom: 1px solid #e1e5ec; }
.monetization-tabs > a { align-self: stretch; display: flex; padding: 0 14px; align-items: center; border-bottom: 2px solid transparent; color: #536078; font-size: 12px; font-weight: 650; text-decoration: none; }
.monetization-tabs > a.is-active { border-color: #5b2bea; color: #4f23df; }
.monetization-tabs > .button { min-height: 35px; margin: 0 0 9px auto; align-self: flex-end; }
.monetization-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.monetization-section-head h2 { display: flex; margin: 0 0 5px; align-items: center; gap: 7px; color: #18233a; font: 750 15px var(--font-display); }
.monetization-section-head h2 > span { display: inline-grid; width: 14px; height: 14px; place-items: center; border: 1px solid #718098; border-radius: 50%; color: #64728a; font: 700 10px var(--font-body); cursor: help; }
.monetization-section-head p { margin: 0; color: #748096; font-size: 12px; }
.billing-switch { display: flex; min-height: 34px; padding: 3px; align-items: center; border: 1px solid #dfe3eb; border-radius: 8px; background: #fff; }
.billing-switch button { height: 29px; padding: 0 14px; border: 0; border-radius: 5px; color: #4a5870; background: transparent; font: 650 12px var(--font-body); cursor: pointer; }
.billing-switch button.is-active { color: #4d20df; background: #f0ecff; }
.billing-switch em { margin: 0 8px; padding: 5px 9px; border-radius: 9px; color: #31915c; background: #e9f7ee; font-size: 11px; font-style: normal; font-weight: 700; }
.billing-switch > span { display: inline-grid; width: 16px; height: 16px; margin-right: 5px; place-items: center; border: 1px solid #76839a; border-radius: 50%; color: #65738b; font-size: 10px; cursor: help; }
.monetization-plans { display: grid; grid-template-columns: repeat(5,minmax(180px,1fr)); gap: 14px; }
.pricing-card { position: relative; display: flex; min-width: 0; min-height: 395px; padding: 18px; border: 1px solid #dfe3ea; border-radius: 10px; flex-direction: column; color: #1b263e; background: #fff; text-align: left; }
.pricing-card.is-popular { border-color: #aa94fa; box-shadow: 0 8px 24px rgba(91,43,234,.08); }
.pricing-card__popular { position: absolute; top: -16px; left: 50%; display: flex; height: 28px; padding: 0 10px; align-items: center; gap: 4px; border: 1px solid #b9a6fb; border-radius: 6px; color: #5426df; background: #fff; font-size: 11px; font-weight: 750; transform: translateX(-50%); white-space: nowrap; }
.pricing-card__popular .material-symbols-rounded { color: #32a05f; font-size: 12px; }
.pricing-card > header { display: grid; grid-template-columns: 42px minmax(0,1fr) 22px; align-items: start; gap: 11px; }
.pricing-card > header > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 9px; color: var(--plan-color); background: color-mix(in srgb,var(--plan-color) 10%,white); }
.pricing-card > header > span .material-symbols-rounded { font-size: 23px; }
.pricing-card h3 { margin: 5px 0 5px; font: 800 15px var(--font-display); }
.pricing-card header p { margin: 0; overflow: hidden; color: #66738a; font-size: 11px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.pricing-card details { position: relative; }
.pricing-card summary { display: grid; width: 24px; height: 30px; place-items: center; list-style: none; cursor: pointer; }
.pricing-card summary::-webkit-details-marker { display: none; }
.pricing-card summary .material-symbols-rounded { font-size: 20px; }
.pricing-card details > div { position: absolute; z-index: 5; top: 30px; right: 0; width: 120px; padding: 5px; border: 1px solid #e0e4eb; border-radius: 7px; background: #fff; box-shadow: 0 10px 28px rgba(20,31,52,.13); }
.pricing-card details button { display: flex; width: 100%; min-height: 32px; padding: 0 7px; align-items: center; gap: 6px; border: 0; border-radius: 4px; color: #3d4b63; background: transparent; font: 11px var(--font-body); cursor: pointer; }
.pricing-card details button:hover { background: #f4f2ff; }
.pricing-card details button .material-symbols-rounded { font-size: 14px; }
.pricing-card__price { display: flex; min-height: 86px; padding-top: 20px; align-content: flex-start; align-items: baseline; flex-wrap: wrap; }
.pricing-card__price strong { color: #111c35; font: 800 25px var(--font-display); }
.pricing-card__price > span { margin-left: 5px; color: #5f6d84; font-size: 11px; }
.pricing-card__price small { flex-basis: 100%; margin-top: 7px; color: #65738b; font-size: 11px; }
.pricing-card__customize { min-height: 36px; border: 1px solid #dce1e9; border-radius: 5px; color: #2d3b54; background: #fff; font: 700 12px var(--font-body); cursor: pointer; }
.pricing-card.is-popular .pricing-card__customize { border-color: #5823ef; color: #fff; background: linear-gradient(105deg,#4a13f1,#6128ed); }
.pricing-card ul { display: flex; margin: 17px 0 0; padding: 0; flex-direction: column; gap: 11px; list-style: none; }
.pricing-card li { display: flex; align-items: flex-start; gap: 8px; color: #536179; font-size: 11px; line-height: 1.4; }
.pricing-card li .material-symbols-rounded { color: #3567a3; font-size: 13px; }
.pricing-card--add { align-items: center; justify-content: center; border-style: dashed; border-color: #bcaafa; color: #5321e6; background: linear-gradient(145deg,#fff,#fdfcff); cursor: pointer; }
.pricing-card--add:hover { border-color: #6734ed; background: #fbf9ff; }
.pricing-card--add > span { display: grid; width: 54px; height: 54px; margin-bottom: 16px; place-items: center; border-radius: 50%; background: #f0ecff; }
.pricing-card--add > span .material-symbols-rounded { font-size: 29px; }
.pricing-card--add strong { font-size: 12px; }
.pricing-card--add small { margin-top: 8px; color: #637089; font-size: 11px; }
.monetization-addons { display: flex; flex-direction: column; gap: 14px; }
.addon-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.addon-card { min-width: 0; overflow: hidden; border: 1px solid #dfe3ea; border-radius: 10px; background: #fff; }
.addon-card > header { display: flex; min-height: 42px; padding: 9px 13px; align-items: center; gap: 9px; border-bottom: 1px solid #eceff3; }
.addon-card > header > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 6px; color: #5828e7; background: #eeeaff; }
.addon-card > header > span .material-symbols-rounded { font-size: 15px; }
.addon-card h3 { margin: 0; color: #1f2c44; font: 750 12px var(--font-display); }
.addon-card h3 small { color: #66738a; font-size: 10px; font-weight: 450; }
.addon-card__items { padding: 0 13px; }
.addon-row { display: grid; min-height: 55px; grid-template-columns: 30px minmax(100px,1fr) minmax(150px,.95fr) 22px; align-items: center; gap: 8px; border-bottom: 1px solid #eceff3; }
.addon-row > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; color: var(--addon-color); background: color-mix(in srgb,var(--addon-color) 9%,white); }
.addon-row > span .material-symbols-rounded { font-size: 16px; }
.addon-row > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.addon-row > div strong { overflow: hidden; color: #25334b; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.addon-row > div small { overflow: hidden; color: #758196; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.addon-row dl { display: grid; margin: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.addon-row dl div { min-width: 0; }
.addon-row dt { color: #78859a; font-size: 10px; }
.addon-row dd { margin: 4px 0 0; overflow: hidden; color: #334159; font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.addon-row form button { display: grid; width: 22px; height: 25px; padding: 0; place-items: center; border: 0; color: #68758a; background: transparent; cursor: pointer; }
.addon-row form button .material-symbols-rounded { font-size: 16px; }
.addon-card__add { display: flex; min-height: 36px; margin: 9px 13px 12px; padding: 0 11px; align-items: center; gap: 7px; border: 1px solid #e0e4eb; border-radius: 5px; color: #4a5870; background: #fff; font: 11px var(--font-body); cursor: pointer; }
.addon-card__add:hover { color: #5423e5; border-color: #bdadf5; }
.addon-card__add .material-symbols-rounded { font-size: 14px; }
.addon-empty { margin: 18px 0; color: #7a8699; font-size: 11px; }
.monetization-revenue-link { display: grid; min-height: 64px; padding: 12px 16px; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 12px; border: 1px solid #cfc1fa; border-radius: 9px; background: linear-gradient(105deg,#f8f5ff,#fff); }
.monetization-revenue-link > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 7px; color: #fff; background: #9b7df4; }
.monetization-revenue-link strong { color: #27344d; font-size: 12px; }
.monetization-revenue-link p { margin: 4px 0 0; color: #69768b; font-size: 11px; }
.monetization-revenue-link a { display: flex; min-height: 34px; padding: 0 13px; align-items: center; justify-content: center; gap: 18px; border: 1px solid #e0e4ea; border-radius: 5px; color: #3d4b62; background: #fff; font-size: 11px; font-weight: 650; text-decoration: none; }
.monetization-revenue-link a .material-symbols-rounded { font-size: 14px; }
.monetization-dialog { max-width: 720px; }
.monetization-dialog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.monetization-dialog .company-span-2 { grid-column: 1 / -1; }
.monetization-checkbox { display: flex; min-height: 48px; align-items: center; gap: 9px; color: #4f5d74; font-size: 11px; cursor: pointer; }
.monetization-checkbox > input { width: 16px !important; height: 16px !important; flex: 0 0 16px; accent-color: #5b2deb; }
.monetization-checkbox > span { display: flex; flex-direction: column; gap: 3px; }
.monetization-checkbox strong { color: #303e56; font-size: 12px; }
.monetization-checkbox small { color: #7b8698; font-size: 10px; }
.monetization-rules-layout { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(260px,.7fr); align-items: start; gap: 18px; }
.monetization-rules-form, .monetization-rules-summary { border: 1px solid #dfe3ea; border-radius: 11px; background: #fff; }
.monetization-rules-form > header { display: flex; padding: 22px; align-items: center; gap: 13px; border-bottom: 1px solid #e7eaf0; }
.monetization-rules-form > header > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 9px; color: #5b2deb; background: #eeeaff; }
.monetization-rules-form h2 { margin: 0 0 4px; color: #1d2941; font: 800 15px var(--font-display); }
.monetization-rules-form header p { margin: 0; color: #718096; font-size: 11px; }
.monetization-rule-grid { display: grid; padding: 22px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.monetization-rule-grid > label:not(.monetization-checkbox) { display: flex; flex-direction: column; gap: 7px; color: #4f5c73; font-size: 12px; font-weight: 700; }
.monetization-rule-grid input, .monetization-rule-grid select { width: 100%; height: 42px; padding: 0 11px; border: 1px solid #dce1e9; border-radius: 7px; color: #2d3b53; background: #fff; font: 11px var(--font-body); }
.monetization-input-suffix { position: relative; display: block; }
.monetization-input-suffix input { padding-right: 48px; }
.monetization-input-suffix b { position: absolute; top: 0; right: 12px; display: flex; height: 40px; align-items: center; color: #758096; font-size: 10px; }
.monetization-rules-form > footer { display: flex; padding: 16px 22px; justify-content: flex-end; gap: 10px; border-top: 1px solid #e7eaf0; }
.monetization-rules-summary { padding: 24px; text-align: center; }
.monetization-rules-summary > span { display: grid; width: 52px; height: 52px; margin: 0 auto 15px; place-items: center; border-radius: 12px; color: #5b2deb; background: #eeeaff; }
.monetization-rules-summary h3 { margin: 0; color: #202d44; font: 800 14px var(--font-display); }
.monetization-rules-summary p { margin: 14px 0; color: #68758b; font-size: 11px; line-height: 1.6; }
.monetization-rules-summary > strong { display: block; color: #4f22df; font: 800 23px var(--font-display); }
.monetization-rules-summary > small { color: #758196; font-size: 10px; }
.monetization-rules-summary hr { margin: 20px 0; border: 0; border-top: 1px solid #e7eaf0; }
.monetization-hypotheses, .monetization-rules-table-section { display: flex; flex-direction: column; gap: 14px; }
.hypothesis-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px 18px; }
.hypothesis-card { position: relative; display: grid; min-width: 0; min-height: 116px; padding: 18px 44px 16px 16px; grid-template-columns: 46px minmax(0,1fr); align-items: start; gap: 14px; border: 1px solid #dfe3ea; border-radius: 10px; background: #fff; }
.hypothesis-card > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 10px; color: var(--hypothesis-color); background: color-mix(in srgb,var(--hypothesis-color) 9%,white); }
.hypothesis-card > span .material-symbols-rounded { font-size: 25px; }
.hypothesis-card > div { min-width: 0; }
.hypothesis-card h3 { margin: 1px 0 14px; overflow: hidden; color: #1e2a43; font: 750 12px var(--font-display); text-overflow: ellipsis; white-space: nowrap; }
.hypothesis-card strong { display: flex; align-items: baseline; gap: 4px; color: #15213a; font: 800 18px var(--font-display); }
.hypothesis-card strong small { color: #647189; font: 500 11px var(--font-body); }
.hypothesis-card p { grid-column: 1 / -1; margin: 12px 0 0; color: #6e7b90; font-size: 11px; line-height: 1.45; }
.hypothesis-card > i { position: absolute; top: 16px; right: 16px; display: grid; width: 16px; height: 16px; place-items: center; border: 1px solid #68768e; border-radius: 50%; color: #596880; font: 700 10px var(--font-body); cursor: help; }
.hypothesis-card > form { position: absolute; top: 10px; right: 10px; }
.hypothesis-card > form button { display: grid; width: 25px; height: 25px; padding: 0; place-items: center; border: 0; border-radius: 6px; color: #7a8699; background: transparent; cursor: pointer; }
.hypothesis-card > form button:hover { color: #d6415a; background: #fff0f2; }
.hypothesis-card > form .material-symbols-rounded { font-size: 15px; }
.monetization-rules-table-wrap { overflow: hidden; border: 1px solid #dfe3ea; border-radius: 10px; background: #fff; }
.monetization-rules-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.monetization-rules-table th { height: 38px; padding: 0 16px; color: #69768b; background: #fbfcfd; font-size: 12px; font-weight: 650; text-align: left; }
.monetization-rules-table th:nth-child(1) { width: 17%; }
.monetization-rules-table th:nth-child(2) { width: 26%; }
.monetization-rules-table th:nth-child(3) { width: 14%; }
.monetization-rules-table th:nth-child(4) { width: 14%; }
.monetization-rules-table th:nth-child(5) { width: 16%; }
.monetization-rules-table th:nth-child(6) { width: 13%; }
.monetization-rules-table td { height: 46px; padding: 6px 16px; border-top: 1px solid #e8ebf0; overflow: hidden; color: #637087; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.monetization-rules-table td:first-child { display: flex; align-items: center; gap: 10px; color: #223049; }
.monetization-rules-table td:first-child > span { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: 6px; color: #5a2ae7; background: #f0ecff; }
.monetization-rules-table td:first-child .material-symbols-rounded { font-size: 14px; }
.monetization-rules-table td strong { color: #26344d; font-size: 12px; }
.monetization-rules-table td:last-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.monetization-rules-table td:last-child > button { min-width: 66px; height: 30px; padding: 0 10px; border: 1px solid #dfe3ea; border-radius: 5px; color: #2f3d55; background: #fff; font: 11px var(--font-body); cursor: pointer; }
.monetization-rules-table td:last-child > button:hover { border-color: #a995f0; color: #5424e3; }
.monetization-rules-table td:last-child > .material-symbols-rounded { color: #516078; font-size: 17px; }
.monetization-revenue-link--info > span { background: linear-gradient(145deg,#9b7df4,#774ae8); }
.monetization-rule-dialog { max-width: 480px; }
.monetization-rule-dialog > form > .field { display: flex; flex-direction: column; gap: 7px; }
.monetization-plan-editor { width: min(1120px,calc(100vw - 28px)); max-width: none; max-height: calc(100vh - 28px); }
.monetization-plan-editor > form { max-height: calc(100vh - 28px); padding: 0; gap: 0; }
.plan-editor-head { display: grid; min-height: 74px; padding: 18px 22px 12px; grid-template-columns: 42px minmax(0,1fr) 32px; align-items: center; gap: 12px; }
.plan-editor-head > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 9px; color: #39a269; background: #e8f5ed; }
.plan-editor-head > span .material-symbols-rounded { font-size: 24px; }
.plan-editor-head h2 { margin: 0; color: #1e2941; font: 800 19px var(--font-display); }
.plan-editor-head > button { display: grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 0; color: #6f7b90; background: transparent; cursor: pointer; }
.plan-editor-tabs { display: flex; min-height: 42px; padding: 0 22px; align-items: stretch; gap: 6px; border-bottom: 1px solid #e5e8ee; }
.plan-editor-tabs button { display: flex; padding: 0 15px; align-items: center; gap: 7px; border: 0; border-bottom: 2px solid transparent; color: #617087; background: transparent; font: 650 12px var(--font-body); cursor: pointer; }
.plan-editor-tabs button.is-active { border-color: #5c2bea; color: #5122df; }
.plan-editor-tabs .material-symbols-rounded { font-size: 15px; }
.plan-editor-body { display: grid; max-height: calc(100vh - 215px); padding: 20px 22px; overflow-y: auto; grid-template-columns: minmax(220px,.86fr) minmax(320px,1.2fr) minmax(220px,.88fr); align-items: start; gap: 16px; background: #fcfcfd; }
.plan-editor-column { display: flex; min-width: 0; flex-direction: column; gap: 16px; }
.plan-editor-panel { min-width: 0; padding: 18px; border: 1px solid #dfe3e9; border-radius: 9px; background: #fff; }
.plan-editor-panel h3 { margin: 0 0 18px; color: #243149; font: 750 12px var(--font-display); }
.plan-editor-panel .field { margin-top: 14px; }
.plan-editor-panel .field:first-of-type { margin-top: 0; }
.plan-editor-panel .field > span, .plan-editor-label { color: #59667c; font-size: 12px; font-weight: 700; }
.plan-editor-panel textarea { line-height: 1.5; }
.plan-editor-icon-row { display: grid; grid-template-columns: minmax(0,1fr) 72px; gap: 10px; }
.plan-editor-color input[type="color"] { padding: 5px; cursor: pointer; }
.pricing-model-options { display: grid; margin-top: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.pricing-model-options label { cursor: pointer; }
.pricing-model-options input { position: absolute; opacity: 0; pointer-events: none; }
.pricing-model-options label > span { display: grid; min-height: 57px; padding: 10px; grid-template-columns: 24px minmax(0,1fr); grid-template-rows: auto auto; align-items: center; gap: 2px 8px; border: 1px solid #dfe3ea; border-radius: 7px; color: #657289; }
.pricing-model-options input:checked + span { border-color: #6938ee; color: #5324e1; background: #faf8ff; box-shadow: inset 0 0 0 1px #d8cbfc; }
.pricing-model-options .material-symbols-rounded { grid-row: 1 / 3; font-size: 19px; }
.pricing-model-options strong { color: #2c3951; font-size: 12px; }
.pricing-model-options small { font-size: 11px; }
.plan-editor-prices { display: grid; margin-top: 17px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.plan-editor-prices .field { margin: 0; }
.plan-editor-prices .field > span:last-child { position: relative; display: block; }
.plan-editor-prices input { padding-right: 64px; }
.plan-editor-prices b { position: absolute; top: 0; right: 9px; display: flex; height: 42px; align-items: center; color: #738095; font-size: 10px; }
.plan-editor-saving { display: flex; margin: 13px 0 16px; align-items: center; gap: 8px; color: #69768a; font-size: 10px; }
.plan-editor-saving em { padding: 5px 7px; border-radius: 6px; color: #35945f; background: #e8f6ed; font-style: normal; font-weight: 700; }
.plan-switch { display: flex; margin-top: 14px; align-items: center; gap: 9px; cursor: pointer; }
.plan-switch > input { position: absolute; opacity: 0; pointer-events: none; }
.plan-switch > i { position: relative; width: 27px; height: 15px; flex: 0 0 27px; border-radius: 8px; background: #c9d0db; transition: background .16s; }
.plan-switch > i::after { position: absolute; top: 2px; left: 2px; width: 11px; height: 11px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); content: ''; transition: transform .16s; }
.plan-switch > input:checked + i { background: #49aa74; }
.plan-switch > input:checked + i::after { transform: translateX(12px); }
.plan-switch > span { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.plan-switch strong { color: #3b4860; font-size: 12px; }
.plan-switch small { color: #7a8699; font-size: 10px; line-height: 1.35; }
.plan-switch--contact { padding: 10px; border: 1px solid #e0d8fa; border-radius: 7px; background: #fbfaff; }
.plan-editor-trial-days { max-width: 120px; }
.plan-editor-trial-days select:disabled { opacity: .55; background: #f1f3f6; }
.plan-editor-panel > p { margin: 10px 0 0; color: #768297; font-size: 10px; line-height: 1.5; }
.plan-editor-summary { min-height: 350px; }
.plan-editor-summary > span { display: grid; width: 46px; height: 46px; margin-bottom: 18px; place-items: center; border-radius: 10px; color: #35a169; background: #e8f5ed; }
.plan-editor-summary h4 { margin: 0 0 9px; color: #223049; font: 800 14px var(--font-display); }
.plan-editor-summary > strong { display: block; color: #17233c; font: 800 22px var(--font-display); }
.plan-editor-summary > small { display: block; margin-top: 7px; color: #66738a; font-size: 10px; }
.plan-editor-summary > em { display: inline-block; margin-top: 14px; padding: 5px 8px; border-radius: 6px; color: #36945f; background: #e8f6ed; font-size: 10px; font-style: normal; font-weight: 700; }
.plan-editor-summary ul { display: flex; margin: 20px 0 0; padding: 0; flex-direction: column; gap: 10px; list-style: none; }
.plan-editor-summary li { display: flex; align-items: flex-start; gap: 7px; color: #526078; font-size: 10px; }
.plan-editor-summary li .material-symbols-rounded { color: #39a269; font-size: 13px; }
.plan-editor-features { grid-column: 1 / 3; }
.plan-editor-features .field { margin: 0; }
.plan-editor-display { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(200px,.8fr) 150px minmax(260px,1fr); align-items: end; gap: 18px; }
.plan-editor-display h3 { grid-column: 1 / -1; margin-bottom: 0; }
.plan-editor-display .field { margin: 0; }
.plan-editor-display .field small { display: block; margin-top: 4px; color: #7d889b; font-size: 10px; text-align: right; }
.plan-editor-actions { display: flex; min-height: 68px; padding: 13px 22px; align-items: center; gap: 10px; border-top: 1px solid #e4e8ee; background: #fff; }
.plan-editor-actions > span { flex: 1; }
.plan-editor-actions .button { min-height: 38px; }

@media (max-width: 1420px) {
  .monetization-plans { grid-template-columns: repeat(3,minmax(200px,1fr)); }
  .addon-columns { grid-template-columns: 1fr; }
  .hypothesis-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .monetization-plans { grid-template-columns: repeat(2,minmax(200px,1fr)); }
  .monetization-rules-layout { grid-template-columns: 1fr; }
  .plan-editor-body { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plan-editor-summary { grid-column: 1 / -1; min-height: auto; }
  .plan-editor-features { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .monetization-tabs { flex-wrap: wrap; }
  .monetization-tabs > .button { width: 100%; margin: 0 0 10px; justify-content: center; }
  .monetization-section-head { align-items: stretch; flex-direction: column; }
  .billing-switch { align-self: stretch; flex-wrap: wrap; }
  .monetization-plans { grid-template-columns: 1fr; }
  .pricing-card { min-height: 350px; }
  .addon-row { grid-template-columns: 30px minmax(0,1fr) 22px; padding: 9px 0; }
  .addon-row dl { grid-column: 2; }
  .addon-row form { grid-column: 3; grid-row: 1 / 3; }
  .monetization-revenue-link { grid-template-columns: 34px minmax(0,1fr); }
  .monetization-revenue-link a { grid-column: 1 / -1; }
  .monetization-dialog__grid, .monetization-rule-grid { grid-template-columns: 1fr; }
  .monetization-dialog .company-span-2 { grid-column: auto; }
  .hypothesis-grid { grid-template-columns: 1fr; }
  .monetization-rules-table-wrap { overflow-x: auto; }
  .monetization-rules-table { min-width: 850px; }
  .plan-editor-body { grid-template-columns: 1fr; }
  .plan-editor-summary, .plan-editor-features, .plan-editor-display { grid-column: 1; }
  .plan-editor-display { grid-template-columns: 1fr; }
  .plan-editor-display h3 { grid-column: 1; }
  .plan-editor-tabs { overflow-x: auto; }
  .plan-editor-tabs button { white-space: nowrap; }
  .plan-editor-actions { flex-wrap: wrap; }
  .plan-editor-actions > span { display: none; }
  .plan-editor-actions .button { flex: 1; justify-content: center; }
}

/* Normalisation finale des actions principales, fidèle au bouton compact de référence. */
.button.button--primary { min-height: 36px; padding: 0 16px; gap: 8px; border-color: #4d16ea; border-radius: 6px; font-size: 12px; line-height: 1; letter-spacing: -.05px; }
.button.button--primary > .material-symbols-rounded { font-size: 17px; font-weight: 500; }
.button.button--primary:hover { transform: translateY(-1px); }
.button.button--primary:active { transform: translateY(0); box-shadow: 0 3px 8px rgba(72, 20, 229, .22); }
.button.button--primary:focus-visible { outline: 3px solid rgba(92, 42, 245, .2); outline-offset: 2px; }
.button.button--primary:disabled, .button.button--primary[aria-disabled="true"] { opacity: .52; transform: none; box-shadow: none; cursor: not-allowed; }
.button.button--primary.button--small { min-height: 34px; padding: 0 14px; font-size: 11px; }
.button.button--primary.button--large { min-height: 42px; padding: 0 20px; border-radius: 7px; font-size: 12px; }
.button.button--primary.button--full { min-height: 42px; font-size: 12px; }

/* Les trois actions de l’éditeur de dashboard partagent la typographie du bouton Enregistrer. */
.dashboard-toolbar__actions .button { font-family: var(--font-body); font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: -.05px; }
.dashboard-toolbar__actions .button > .material-symbols-rounded { font-size: 17px; font-weight: 500; }

@media (max-width: 650px) {
  .app-title-block { gap: 8px; }
  .app-title-icon { width: 34px; height: 34px; flex-basis: 34px; border-radius: 8px; }
  .app-title-icon .material-symbols-rounded { font-size: 20px; }
}

/* Trame légère du menu principal, inspirée du panneau de connexion. */
.app-sidebar {
  background:
    radial-gradient(circle, rgba(255,255,255,.055) 1px, transparent 1.35px) 0 0 / 24px 24px,
    radial-gradient(circle at 82% 76%, rgba(39, 83, 139, .42) 0, rgba(15, 45, 82, .18) 34%, transparent 62%),
    linear-gradient(150deg, #06152c 0%, #081d38 52%, #0b2949 100%);
}

/* Résultats de simulation des revenus. */
.revenue-growth-rule { display: grid; min-height: 44px; padding: 7px 9px; grid-template-columns: 27px minmax(0,1fr); align-items: center; gap: 8px; border: 1px solid #ddd7f5; border-radius: 6px; background: #f8f6ff; }
.revenue-growth-rule > span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 6px; color: #5b2de6; background: #eae5ff; }
.revenue-growth-rule > span .material-symbols-rounded { font-size: 17px; }
.revenue-growth-rule > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.revenue-growth-rule strong { color: #36435b; font-size: 10px; }
.revenue-growth-rule small { color: #707c91; font-size: 10px; line-height: 1.35; }
.revenue-organic-toggle { display: flex !important; min-height: 58px; padding: 9px 11px; align-items: center; justify-content: space-between; flex-direction: row !important; gap: 14px; border: 1px solid #d9d2f4; border-radius: 8px; background: linear-gradient(110deg,#faf8ff,#fff); cursor: pointer; }
.revenue-organic-toggle > span { display: flex; min-width: 0; align-items: center; gap: 9px; }
.revenue-organic-toggle > span > .material-symbols-rounded { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; border-radius: 8px; color: #fff; background: linear-gradient(145deg,#6840ec,#4c1ed3); font-size: 18px; }
.revenue-organic-toggle > span > span { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.revenue-organic-toggle strong { color: #303c54; font-size: 11px; }
.revenue-organic-toggle small { color: #738096; font-size: 9px; font-weight: 500; line-height: 1.35; }
.revenue-simulation-config .revenue-organic-toggle > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.revenue-organic-toggle > i { position: relative; width: 39px; height: 22px; flex: 0 0 39px; border-radius: 12px; background: #c7ceda; box-shadow: inset 0 0 0 1px rgba(48,59,82,.08); transition: background .18s; }
.revenue-organic-toggle > i::after { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px rgba(23,32,52,.25); content: ''; transition: transform .18s; }
.revenue-organic-toggle > input:checked + i { background: #5b2de6; }
.revenue-organic-toggle > input:checked + i::after { transform: translateX(17px); }
.revenue-organic-toggle:has(input:focus-visible) { outline: 3px solid #ded5ff; outline-offset: 2px; }
.revenue-simulation-config form.is-organic-disabled [data-revenue-organic-copy] { opacity: .48; filter: grayscale(.35); }
.revenue-organic-migration { display: flex; margin: -4px 0 0; align-items: center; gap: 6px; color: #8a641e; font-size: 9px; }
.revenue-organic-migration .material-symbols-rounded { font-size: 15px; }
.revenue-organic-migration code { padding: 2px 4px; border-radius: 4px; background: #fff3cf; }
.revenue-simulation-dialog { width: min(1180px,calc(100vw - 34px)); max-width: none; max-height: calc(100vh - 34px); padding: 0; overflow: hidden; border: 0; border-radius: 13px; background: #fff; box-shadow: 0 28px 80px rgba(13,22,43,.28); }
.revenue-simulation-dialog::backdrop { background: rgba(12,20,38,.58); backdrop-filter: blur(3px); }
.revenue-simulation-dialog__shell { position: relative; max-height: calc(100vh - 34px); padding: 18px; overflow: auto; }
.revenue-simulation-dialog__close { position: sticky; z-index: 3; top: 0; display: grid; width: 34px; height: 34px; margin: 0 0 -34px auto; place-items: center; border: 1px solid #dfe3eb; border-radius: 8px; color: #536078; background: rgba(255,255,255,.96); box-shadow: 0 3px 10px rgba(20,30,52,.08); cursor: pointer; }
.revenue-simulation-dialog__close .material-symbols-rounded { font-size: 19px; }
.revenue-simulation-config { padding: 3px 3px 18px; }
.revenue-simulation-config > header { display: grid; min-height: 62px; padding: 0 46px 15px 0; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 11px; border-bottom: 1px solid #e7e9ef; }
.revenue-simulation-config > header > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 9px; color: #fff; background: linear-gradient(145deg,#6833ed,#4715ce); box-shadow: 0 6px 14px rgba(79,35,205,.2); }
.revenue-simulation-config > header > span .material-symbols-rounded { font-size: 22px; }
.revenue-simulation-config > header small { color: #5a2be3; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.revenue-simulation-config > header h2 { margin: 2px 0; color: #19243a; font: 800 18px var(--font-display); }
.revenue-simulation-config > header p { margin: 0; color: #748096; font-size: 10px; }
.revenue-simulation-config > form { display: grid; padding-top: 15px; gap: 12px; }
.revenue-simulation-config label { display: flex; color: #526078; flex-direction: column; gap: 5px; font-size: 10px; font-weight: 700; }
.revenue-simulation-config :is(select,input) { width: 100%; height: 36px; padding: 0 10px; border: 1px solid #dce1e9; border-radius: 6px; color: #27354c; background: #fff; font: 10px var(--font-body); }
.revenue-simulation-config__selectors { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.revenue-simulation-config__context { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.revenue-simulation-config__context > * { min-height: 72px; }
.revenue-simulation-config .revenue-marketing-builder { padding: 13px; }
.revenue-simulation-config .revenue-marketing-action { grid-template-columns: minmax(180px,1fr) 80px 120px 110px minmax(105px,.7fr) 32px; }
.revenue-simulation-config .revenue-marketing-action__name { grid-column: auto; }
.revenue-live-preview { margin-top: 2px; padding: 18px; border: 1px solid #d9d1f5; border-radius: 10px; background: linear-gradient(135deg,#fbfaff,#fff 52%); box-shadow: 0 8px 24px rgba(50,35,104,.06); }
.revenue-live-preview > header { display: flex; margin-bottom: 15px; align-items: center; justify-content: space-between; gap: 18px; }
.revenue-live-preview > header > div { display: flex; min-width: 0; align-items: center; gap: 11px; }
.revenue-live-preview > header > div > span { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 8px; color: #fff; background: linear-gradient(145deg,#6632ed,#4315cc); box-shadow: 0 6px 14px rgba(80,37,210,.22); }
.revenue-live-preview > header small { color: #5a2be3; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.revenue-live-preview > header h2 { margin: 2px 0; color: #19243a; font: 800 17px var(--font-display); }
.revenue-live-preview > header p { margin: 0; color: #748096; font-size: 10px; }
.revenue-live-preview > header > em { display: inline-flex; min-height: 29px; padding: 0 9px; align-items: center; gap: 5px; border: 1px solid #d8dfeb; border-radius: 15px; color: #5f6d82; background: #fff; font-size: 10px; font-style: normal; font-weight: 700; white-space: nowrap; }
.revenue-live-preview > header > em.is-ready { color: #238653; border-color: #cce7d7; background: #f2fbf6; }
.revenue-live-preview > header > em.is-error { color: #be3448; border-color: #efccd2; background: #fff6f7; }
.revenue-live-preview > header > em .material-symbols-rounded { font-size: 15px; }
.revenue-live-preview.is-loading { opacity: .72; }
.revenue-live-preview [data-revenue-live-plans]:empty::before,.revenue-live-preview [data-revenue-live-timeline]:empty::before { display: block; padding: 22px; color: #8994a6; font-size: 10px; text-align: center; content: 'Calcul en cours…'; }
.revenue-simulation-history { margin-top: 14px; border: 1px solid #e2e5eb; border-radius: 9px; background: #fff; }
.revenue-simulation-history > summary { display: flex; min-height: 43px; padding: 0 14px; align-items: center; gap: 7px; color: #536078; font-size: 10px; font-weight: 750; cursor: pointer; list-style: none; }
.revenue-simulation-history > summary::-webkit-details-marker { display: none; }
.revenue-simulation-history > summary .material-symbols-rounded { color: #6235df; font-size: 17px; }
.revenue-simulation-dialog .revenue-simulation-results { margin: 0; padding-top: 20px; border-right: 0; border-bottom: 0; border-left: 0; box-shadow: none; }
.revenue-simulation-results { margin-top: 16px; padding: 18px; border: 1px solid #ddd7f4; border-radius: 8px; background: linear-gradient(135deg,#fbfaff 0%,#fff 46%); box-shadow: 0 8px 24px rgba(50,35,104,.06); }
.revenue-simulation-results > header { display: flex; margin-bottom: 15px; align-items: center; justify-content: space-between; gap: 18px; }
.revenue-simulation-results > header > div { display: flex; min-width: 0; align-items: center; gap: 11px; }
.revenue-simulation-results > header > div > span { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 8px; color: #fff; background: linear-gradient(145deg,#6632ed,#4315cc); box-shadow: 0 6px 14px rgba(80,37,210,.22); }
.revenue-simulation-results > header > div > span .material-symbols-rounded { font-size: 22px; }
.revenue-simulation-results > header small { color: #5a2be3; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.revenue-simulation-results > header h2 { margin: 2px 0; color: #19243a; font: 800 17px var(--font-display); }
.revenue-simulation-results > header p { margin: 0; color: #748096; font-size: 10px; }
.revenue-simulation-results > header > em { display: inline-flex; padding: 6px 9px; align-items: center; gap: 5px; border: 1px solid #d7dfea; border-radius: 14px; color: #435169; background: #fff; font-size: 10px; font-style: normal; font-weight: 650; white-space: nowrap; }
.revenue-simulation-results > header > em .material-symbols-rounded { color: #2da660; font-size: 15px; }
.revenue-projection-kpis { display: grid; margin-bottom: 15px; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.revenue-projection-kpis article { position: relative; display: grid; min-height: 72px; padding: 12px 12px 10px 43px; align-content: center; gap: 4px; border: 1px solid #e1e5eb; border-radius: 7px; background: #fff; }
.revenue-projection-kpis article > span { position: absolute; top: 13px; left: 12px; display: grid; width: 25px; height: 25px; place-items: center; border-radius: 6px; color: #5c2ce6; background: #eeeaff; }
.revenue-projection-kpis article > span .material-symbols-rounded { font-size: 16px; }
.revenue-projection-kpis small { color: #758096; font-size: 10px; }
.revenue-projection-kpis small b { color: #536078; font-size: 10px; }
.revenue-projection-kpis strong { color: #1e2b43; font: 800 16px var(--font-display); }
.revenue-projection-kpis em { position: absolute; right: 10px; bottom: 10px; color: #299158; font-size: 10px; font-style: normal; font-weight: 700; }
.revenue-projection-kpi--arr,.revenue-projection-kpi--arr-next { border-color: #d8cff7 !important; background: linear-gradient(145deg,#fff,#f8f5ff) !important; }
.revenue-projection-kpi--arr-next > span { color: #fff !important; background: linear-gradient(145deg,#6632ed,#4a18d7) !important; }
.revenue-projection-curve { min-width: 0; margin-bottom: 12px; padding: 14px; border: 1px solid #e1e5eb; border-radius: 7px; background: #fff; }
.revenue-projection-curve__canvas { position: relative; width: 100%; height: 275px; }
.revenue-projection-curve canvas { display: block; width: 100%; height: 100%; }
.revenue-projection-curve canvas:focus-visible { outline: 3px solid #dcd2ff; outline-offset: 3px; border-radius: 5px; }
.revenue-curve-tooltip { position: absolute; z-index: 8; width: min(330px,calc(100% - 16px)); padding: 11px; border: 1px solid #d9d3ef; border-radius: 10px; color: #253149; background: rgba(255,255,255,.98); box-shadow: 0 15px 38px rgba(29,25,67,.2); backdrop-filter: blur(8px); pointer-events: none; }
.revenue-curve-tooltip[hidden] { display: none; }
.revenue-curve-tooltip > header { display: flex; padding-bottom: 8px; align-items: start; justify-content: space-between; gap: 10px; border-bottom: 1px solid #eceaf3; }
.revenue-curve-tooltip > header > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.revenue-curve-tooltip > header small { color: #6740e8; font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.revenue-curve-tooltip > header strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.revenue-curve-tooltip > header button { display: grid; width: 24px; height: 24px; padding: 0; flex: 0 0 24px; place-items: center; border: 0; border-radius: 6px; color: #69758a; background: #f4f5f8; cursor: pointer; }
.revenue-curve-tooltip > header button .material-symbols-rounded { font-size: 15px; }
.revenue-curve-tooltip__plans { display: grid; max-height: 165px; padding: 6px 0; overflow-y: auto; }
.revenue-curve-tooltip__plans article { display: grid; min-height: 31px; padding: 4px 2px; grid-template-columns: minmax(90px,1fr) auto minmax(58px,auto); align-items: center; gap: 8px; }
.revenue-curve-tooltip__plans article > span:first-child { display: flex; min-width: 0; align-items: center; gap: 6px; }
.revenue-curve-tooltip__plans article i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--plan-color); box-shadow: 0 0 0 3px color-mix(in srgb,var(--plan-color) 12%,white); }
.revenue-curve-tooltip__plans article strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.revenue-curve-tooltip__plans article > span:nth-child(2) { color: #7c8799; font-size: 9px; white-space: nowrap; }
.revenue-curve-tooltip__plans article em { color: #4e28d8; font-size: 10px; font-style: normal; font-weight: 750; text-align: right; white-space: nowrap; }
.revenue-curve-tooltip > footer { display: grid; min-height: 37px; padding: 8px 2px 0; grid-template-columns: minmax(70px,1fr) auto minmax(62px,auto); align-items: center; gap: 8px; border-top: 1px solid #e5e1f4; }
.revenue-curve-tooltip > footer > span:first-child { font-size: 10px; font-weight: 800; }
.revenue-curve-tooltip > footer > span:nth-child(2) { color: #69758a; font-size: 9px; }
.revenue-curve-tooltip > footer strong { color: #4d22dc; font-size: 12px; text-align: right; }
.revenue-projection-layout { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(320px,.82fr); gap: 12px; }
.revenue-projected-plans, .revenue-projection-timeline { min-width: 0; padding: 14px; border: 1px solid #e1e5eb; border-radius: 7px; background: #fff; }
.revenue-projection-title h3 { margin: 0 0 3px; color: #26334b; font: 750 12px var(--font-display); }
.revenue-projection-title p { margin: 0 0 12px; color: #778297; font-size: 10px; }
.revenue-projected-plans > div:last-child { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.revenue-projected-plans article { padding: 10px; border: 1px solid #e4e7ec; border-radius: 6px; background: #fff; }
.revenue-projected-plans article.is-featured { border-color: color-mix(in srgb,var(--plan-color) 55%,#ddd); background: color-mix(in srgb,var(--plan-color) 5%,#fff); box-shadow: inset 3px 0 0 var(--plan-color); }
.revenue-projected-plans article > header { display: flex; min-height: 20px; align-items: center; gap: 7px; }
.revenue-projected-plans article > header > i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--plan-color); }
.revenue-projected-plans article > header strong { overflow: hidden; color: #2a374e; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.revenue-projected-plans article > header em { display: inline-flex; margin-left: auto; padding: 3px 5px; align-items: center; gap: 3px; border-radius: 4px; color: #5a2ce1; background: #ebe7ff; font-size: 10px; font-style: normal; font-weight: 700; white-space: nowrap; }
.revenue-projected-plans article > header em .material-symbols-rounded { font-size: 12px; }
.revenue-projected-plans article > div { display: grid; margin-top: 9px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.revenue-projected-plans article > div > span { display: flex; min-width: 0; padding-left: 7px; border-left: 1px solid #e7e9ee; flex-direction: column; gap: 2px; }
.revenue-projected-plans article > div > span:first-child { padding-left: 0; border-left: 0; }
.revenue-projected-plans article b { overflow: hidden; color: #27354d; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.revenue-projected-plans article small { color: #8490a2; font-size: 10px; }
.revenue-projected-plans article > footer { height: 3px; margin-top: 9px; overflow: hidden; border-radius: 4px; background: #edf0f4; }
.revenue-projected-plans article > footer i { display: block; height: 100%; border-radius: inherit; background: var(--plan-color); }
.revenue-projection-timeline > div:nth-child(2) { display: flex; flex-direction: column; gap: 11px; }
.revenue-projection-timeline article { display: grid; grid-template-columns: minmax(138px,1.25fr) minmax(70px,1fr) 70px; align-items: center; gap: 9px; }
.revenue-projection-timeline article > span { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.revenue-projection-timeline article strong { color: #354259; font-size: 10px; }
.revenue-projection-timeline article small { overflow: hidden; color: #7b8799; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.revenue-projection-timeline article > i { height: 5px; overflow: hidden; border-radius: 5px; background: #ebeef3; }
.revenue-projection-timeline article > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#7250ed,#4e20dc); }
.revenue-projection-timeline article > em { color: #344158; font-size: 10px; font-style: normal; font-weight: 700; text-align: right; white-space: nowrap; }
.revenue-projection-timeline > footer { display: flex; margin-top: 14px; padding: 9px; align-items: flex-start; gap: 7px; border-radius: 6px; color: #68758b; background: #f6f7fa; font-size: 10px; line-height: 1.45; }
.revenue-projection-timeline > footer .material-symbols-rounded { flex: 0 0 auto; color: #6740df; font-size: 15px; }
@media (max-width: 1100px) {
  .revenue-simulation-config__context { grid-template-columns: 1fr 1fr; }
  .revenue-simulation-config__context .revenue-simulation-base { grid-column: 1 / -1; }
  .revenue-simulation-config .revenue-marketing-action { grid-template-columns: minmax(160px,1fr) 75px 105px 95px; }
  .revenue-simulation-config .revenue-marketing-action output { grid-column: 1 / -2; }
  .revenue-projection-layout { grid-template-columns: 1fr; }
  .revenue-projection-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 740px) {
  .revenue-simulation-dialog { width: calc(100vw - 18px); max-height: calc(100vh - 18px); }
  .revenue-simulation-dialog__shell { max-height: calc(100vh - 18px); padding: 10px; }
  .revenue-simulation-config { padding: 3px 3px 13px; }
  .revenue-simulation-config__selectors,.revenue-simulation-config__context { grid-template-columns: 1fr; }
  .revenue-simulation-config__context .revenue-simulation-base { grid-column: auto; }
  .revenue-simulation-config .revenue-marketing-action { grid-template-columns: minmax(0,1fr) 76px; }
  .revenue-simulation-config .revenue-marketing-action__name { grid-column: 1 / -1; }
  .revenue-simulation-config .revenue-marketing-action output { grid-column: auto; }
  .revenue-live-preview { padding: 13px 9px; }
  .revenue-live-preview > header { align-items: flex-start; flex-direction: column; }
  .revenue-simulation-dialog .revenue-simulation-results { padding: 14px 10px 10px; }
  .revenue-simulation-results > header { align-items: flex-start; flex-direction: column; }
  .revenue-projection-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .revenue-projection-curve__canvas { height: 235px; }
  .revenue-projected-plans > div:last-child { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .revenue-projection-kpis { grid-template-columns: 1fr; }
  .revenue-projection-timeline article { grid-template-columns: 82px minmax(60px,1fr); }
  .revenue-projection-timeline article > em { grid-column: 2; text-align: left; }
}

/* Analyse — Cohortes. */
.cohort-page { display: flex; min-width: 0; flex-direction: column; gap: 14px; color: #27334a; }
.cohort-page__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.cohort-page__heading h2 { margin: 0 0 5px; color: #172139; font: 800 20px var(--font-display); }
.cohort-page__heading p { margin: 0; color: #758197; font-size: 11px; }
.cohort-page__heading > span { display: inline-flex; min-height: 31px; padding: 0 10px; align-items: center; gap: 5px; border-radius: 16px; color: #572be0; background: #eeeaff; font-size: 10px; font-weight: 700; white-space: nowrap; }
.cohort-page__heading > span .material-symbols-rounded { font-size: 16px; }
.cohort-filters { display: grid; padding: 14px; grid-template-columns: repeat(5,minmax(130px,1fr)); gap: 10px; border: 1px solid #dfe3eb; border-radius: 10px; background: #fff; box-shadow: 0 3px 12px rgba(20,32,58,.035); }
.cohort-filters label { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.cohort-filters label > span { color: #69758b; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .25px; }
.cohort-filters select { width: 100%; height: 35px; padding: 0 27px 0 9px; border: 1px solid #dfe3eb; border-radius: 7px; outline: 0; color: #344158; background: #fafbfc; font: 600 10px var(--font-body); }
.cohort-filters select:focus { border-color: #876cf0; box-shadow: 0 0 0 3px rgba(91,45,230,.1); }
.cohort-filters__actions { display: flex; align-items: flex-end; gap: 7px; }
.cohort-filters__actions .button { min-height: 35px; flex: 1; justify-content: center; font-size: 10px; }
.cohort-filters__actions > a { display: grid; width: 35px; height: 35px; flex: 0 0 35px; place-items: center; border: 1px solid #dfe3eb; border-radius: 7px; color: #667288; background: #fff; text-decoration: none; }
.cohort-filters__actions > a .material-symbols-rounded { font-size: 18px; }
.cohort-definition { display: grid; min-height: 64px; padding: 12px 14px; grid-template-columns: 40px minmax(0,1fr); align-items: center; gap: 10px; border: 1px solid #ded8f5; border-radius: 10px; background: linear-gradient(100deg,#faf7ff,#f3fbff); }
.cohort-definition > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(145deg,#6753b8,#4e8aae); box-shadow: 0 5px 12px rgba(77,74,158,.18); }
.cohort-definition > span .material-symbols-rounded { font-size: 20px; }
.cohort-definition strong { color: #465168; font-size: 10px; }
.cohort-definition p { margin: 3px 0 0; color: #7a8699; font-size: 10px; line-height: 1.4; }
.cohort-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.cohort-summary article { display: grid; min-height: 80px; padding: 12px; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; border: 1px solid #e0e4eb; border-radius: 9px; background: #fff; }
.cohort-summary article > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 8px; color: #5c2de6; background: #eeeaff; }
.cohort-summary article > span .material-symbols-rounded { font-size: 18px; }
.cohort-summary article > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.cohort-summary small { color: #788397; font-size: 9px; }
.cohort-summary strong { overflow: hidden; color: #1e2a42; font: 800 16px var(--font-display); text-overflow: ellipsis; white-space: nowrap; }
.cohort-summary em { overflow: hidden; color: #748096; font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.cohort-matrix-scroll { min-width: 0; padding-bottom: 3px; overflow-x: auto; }
.cohort-matrix { min-width: calc(225px + var(--cohort-periods) * 82px); }
.cohort-matrix__row { display: grid; min-height: 59px; margin-bottom: 4px; grid-template-columns: 145px 72px repeat(var(--cohort-periods),minmax(78px,1fr)); gap: 4px; }
.cohort-matrix__head { min-height: 36px; }
.cohort-matrix__head > span { display: grid; min-width: 0; padding: 0 8px; place-items: center; border-radius: 7px; color: #6d788c; background: #f0edf8; font-size: 9px; font-weight: 750; }
.cohort-matrix__head > span:first-child { position: sticky; z-index: 4; left: 0; justify-items: start; color: #5d687e; background: #fff; }
.cohort-matrix__head > span:nth-child(2) { position: sticky; z-index: 4; left: 149px; background: #f0edf8; }
.cohort-matrix__label { position: sticky; z-index: 3; left: 0; display: flex; min-width: 0; padding: 0 10px; justify-content: center; flex-direction: column; gap: 2px; border-right: 1px solid #eef0f4; border-radius: 7px; background: #fff; }
.cohort-matrix__label strong { overflow: hidden; color: #344057; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.cohort-matrix__label small { color: #929baa; font-size: 9px; }
.cohort-matrix__size { position: sticky; z-index: 3; left: 149px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 2px; border: 1px solid #dfe3e9; border-radius: 8px; background: #fff; box-shadow: 4px 0 7px rgba(22,35,59,.025); }
.cohort-matrix__size strong { color: #334056; font: 800 13px var(--font-display); }
.cohort-matrix__size small { color: #8c96a6; font-size: 8px; }
.cohort-cell { display: flex; min-width: 0; align-items: center; justify-content: center; flex-direction: column; gap: 3px; border-radius: 8px; color: #463c5e; background: color-mix(in srgb,#5b37a3 var(--retention),#f1eff6); }
.cohort-cell strong { font: 800 11px var(--font-display); }
.cohort-cell small { color: currentColor; font-size: 8px; opacity: .68; }
.cohort-cell.is-strong { color: #fff; text-shadow: 0 1px 1px rgba(42,24,82,.2); }
.cohort-cell--future { background: repeating-linear-gradient(135deg,#fafbfc 0,#fafbfc 6px,#f2f4f6 6px,#f2f4f6 10px); }
.cohort-legend { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #7b8799; font-size: 9px; }
.cohort-legend > div { display: flex; align-items: center; gap: 7px; }
.cohort-legend i { display: block; width: 112px; height: 7px; border-radius: 7px; background: linear-gradient(90deg,#f1eff6,#5b37a3); }
.cohort-empty-state { display: flex; min-height: 330px; align-items: center; justify-content: center; flex-direction: column; border: 1px dashed #d9deea; border-radius: 10px; background: #fbfcfe; text-align: center; }
.cohort-empty-state > .material-symbols-rounded { color: #8b73e8; font-size: 38px; }
.cohort-empty-state h3 { margin: 10px 0 5px; color: #28354c; font: 800 17px var(--font-display); }
.cohort-empty-state p { margin: 0 0 16px; color: #7b879a; font-size: 10px; }
@media (max-width: 1250px) {
  .cohort-filters { grid-template-columns: repeat(3,minmax(140px,1fr)); }
  .cohort-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .cohort-page__heading { flex-direction: column; gap: 10px; }
  .cohort-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cohort-definition { align-items: flex-start; }
}
@media (max-width: 480px) {
  .cohort-filters, .cohort-summary { grid-template-columns: 1fr; }
  .cohort-filters__actions { align-items: center; }
}

/* Analyse — Comportements utilisateurs. */
.behavior-page { display: flex; min-width: 0; flex-direction: column; gap: 16px; color: #27344b; }
.behavior-page__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; }
.behavior-page__head > div > span, .behavior-panel header span, .behavior-users > header > div > span { color: #5b2de6; font-size: 10px; font-weight: 800; letter-spacing: 1.1px; text-transform: uppercase; }
.behavior-page__head h2 { margin: 6px 0 5px; color: #172139; font: 800 20px var(--font-display); letter-spacing: -.3px; }
.behavior-page__head p { margin: 0; color: #748096; font-size: 11px; line-height: 1.5; }
.behavior-page__actions { display: flex; align-items: center; gap: 10px; }
.behavior-page__actions > button { min-height: 35px; padding: 0 13px; border-radius: 7px; font-size: 10px; white-space: nowrap; }
.behavior-page__actions > button .material-symbols-rounded { font-size: 16px; }
.behavior-page__head form label { display: flex; align-items: center; gap: 9px; color: #68758b; font-size: 10px; font-weight: 700; }
.behavior-page__head select { height: 35px; padding: 0 30px 0 10px; border: 1px solid #dce1e9; border-radius: 7px; color: #344158; background: #fff; font: 650 10px var(--font-body); }
.behavior-profile-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.behavior-profile-controls > section { display: flex; min-width: 0; min-height: 143px; padding: 15px; border: 1px solid #dfe3ea; border-radius: 11px; flex-direction: column; gap: 11px; background: #fff; box-shadow: 0 4px 14px rgba(20,32,58,.035); }
.behavior-profile-controls section > header { display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: center; gap: 9px; }
.behavior-profile-controls section > header > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 8px; color: #5a2ce6; background: #eeeaff; }
.behavior-profile-controls section > header > span .material-symbols-rounded { font-size: 18px; }
.behavior-profile-controls h3 { margin: 0 0 2px; color: #344158; font-size: 11px; }
.behavior-profile-controls header p { margin: 0; color: #7a8699; font-size: 10px; line-height: 1.4; }
.behavior-profile-select { display: grid; height: 37px; grid-template-columns: 31px minmax(0,1fr) auto; align-items: center; border: 1px solid #dce1e8; border-radius: 8px; overflow: hidden; background: #fafbfc; }
.behavior-profile-select > .material-symbols-rounded { justify-self: center; color: #8290a3; font-size: 17px; }
.behavior-profile-select select { width: 100%; height: 35px; min-width: 0; border: 0; outline: 0; color: #455269; background: transparent; font: 500 10px var(--font-body); }
.behavior-profile-select button { align-self: stretch; padding: 0 12px; border: 0; color: #fff; background: #5b2de6; font-size: 10px; font-weight: 700; cursor: pointer; }
.behavior-profile-select:not(:has(button)) { grid-template-columns: 31px minmax(0,1fr); }
.behavior-profile-chips { display: flex; min-height: 27px; align-items: center; flex-wrap: wrap; gap: 6px; }
.behavior-profile-chips > small { color: #8a95a6; font-size: 10px; }
.behavior-profile-chips form { margin: 0; }
.behavior-profile-chips button { display: flex; min-height: 28px; padding: 2px 7px 2px 3px; align-items: center; gap: 5px; border: 1px solid #dfe4e9; border-radius: 15px; color: #4d5a70; background: #f8fafb; font-size: 10px; cursor: pointer; }
.behavior-profile-chips button > span:first-child { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: #fff; background: #6950c7; font-size: 10px; font-weight: 800; }
.behavior-profile-chips button .material-symbols-rounded { color: #8793a4; font-size: 14px; }
.behavior-profile-state { display: flex; min-height: 27px; margin: 0; align-items: center; gap: 5px; color: #7a8698; font-size: 10px; }
.behavior-profile-state a { margin-left: auto; color: #5b2de6; font-weight: 700; }
.behavior-sovereign { padding: 17px; border: 1px solid #d8dced; border-radius: 14px; background: linear-gradient(110deg,#f1fbfc,#f7f4ff); }
.behavior-sovereign > header { margin-bottom: 13px; }
.behavior-sovereign > header > span { display: flex; align-items: center; gap: 5px; color: #4a82a8; font-size: 10px; font-weight: 800; letter-spacing: 1.1px; text-transform: uppercase; }
.behavior-sovereign > header .material-symbols-rounded { font-size: 15px; }
.behavior-sovereign > header h2 { margin: 7px 0 0; color: #1d2941; font: 800 17px var(--font-display); }
.behavior-sovereign > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.behavior-sovereign-card { display: grid; min-height: 142px; padding: 15px; grid-template-columns: 36px minmax(0,1fr); align-content: start; gap: 1px 9px; border: 1px solid #e0e4ea; border-radius: 11px; background: #fff; }
.behavior-sovereign-card > span { display: grid; width: 35px; height: 35px; grid-row: span 2; place-items: center; border-radius: 9px; color: var(--behavior-accent); background: var(--behavior-soft); }
.behavior-sovereign-card > span .material-symbols-rounded { font-size: 20px; }
.behavior-sovereign-card small { color: #7b8799; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.behavior-sovereign-card h3 { margin: 3px 0 0; color: #303e56; font-size: 11px; }
.behavior-sovereign-card > strong { margin-top: 8px; grid-column: 1 / -1; color: var(--behavior-accent); font: 800 25px var(--font-display); }
.behavior-sovereign-card p { margin: 3px 0 0; grid-column: 1 / -1; color: #798598; font-size: 10px; line-height: 1.45; }
.behavior-sovereign-card--blue { --behavior-accent:#367596; --behavior-soft:#e6f3f7; }
.behavior-sovereign-card--green { --behavior-accent:#40816c; --behavior-soft:#e5f4ed; }
.behavior-sovereign-card--pink { --behavior-accent:#ce6889; --behavior-soft:#fae9e5; }
.behavior-kpis { display: grid; grid-template-columns: repeat(7,minmax(105px,1fr)); gap: 10px; }
.behavior-kpis article { display: grid; min-width: 0; min-height: 98px; padding: 11px; grid-template-columns: 32px minmax(0,1fr); align-items: center; gap: 8px; border: 1px solid #e0e4ea; border-radius: 10px; background: #fff; }
.behavior-kpi-icon { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; color: var(--behavior-color); background: var(--behavior-bg); }
.behavior-kpi-icon .material-symbols-rounded { font-size: 18px; }
.behavior-kpi-icon--blue { --behavior-color:#397c9d; --behavior-bg:#e5f3f7; }.behavior-kpi-icon--orange { --behavior-color:#a47128; --behavior-bg:#fff0c9; }.behavior-kpi-icon--pink { --behavior-color:#cf6888; --behavior-bg:#fae7e4; }.behavior-kpi-icon--green { --behavior-color:#40816b; --behavior-bg:#e4f3ec; }.behavior-kpi-icon--violet { --behavior-color:#7050bd; --behavior-bg:#eee9fa; }
.behavior-kpis article > div { display: flex; min-width: 0; flex-direction: column; gap: 1px; }
.behavior-kpis small { min-height: 25px; color: #748196; font-size: 10px; font-weight: 700; line-height: 1.25; }
.behavior-kpis strong { overflow: hidden; color: #202d44; font: 800 18px var(--font-display); text-overflow: ellipsis; white-space: nowrap; }
.behavior-kpis p { margin: 0; color: #8490a1; font-size: 10px; line-height: 1.3; }
.behavior-charts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.behavior-panel { min-width: 0; border: 1px solid #dfe3ea; border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,32,58,.03); }
.behavior-panel > header { display: flex; min-height: 66px; padding: 15px 17px; align-items: center; justify-content: space-between; gap: 12px; }
.behavior-panel header h3, .behavior-users > header h3 { margin: 5px 0 0; color: #1e2a42; font: 800 15px var(--font-display); }
.behavior-panel header em { color: #8290a2; font-size: 10px; font-style: normal; }
.behavior-column-chart { position: relative; display: grid; height: 205px; padding: 14px 16px 22px 32px; grid-template-columns: repeat(var(--behavior-columns),minmax(4px,1fr)); align-items: end; gap: 3px; background: repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),#e9ecf0 25%); }
.behavior-column-chart::before { position: absolute; top: 14px; bottom: 22px; left: 31px; width: 1px; background: #dfe3e8; content: ''; }
.behavior-column-chart > div { display: flex; height: 100%; min-width: 0; align-items: center; justify-content: flex-end; flex-direction: column; }
.behavior-column-chart i { display: block; width: min(100%,12px); height: var(--behavior-height); min-height: 2px; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg,#7045e9,#9678f0); }
.behavior-column-chart small { position: absolute; bottom: 5px; color: #8792a3; font-size: 10px; white-space: nowrap; }
.behavior-column-chart--week { --behavior-columns:7; gap: 18px; }
.behavior-column-chart--week i { width: min(100%,27px); background: linear-gradient(180deg,#d586aa,#e4a4bd); }
.behavior-column-chart--hours { --behavior-columns:24; gap: 4px; }
.behavior-column-chart--hours i { background: linear-gradient(180deg,#6ab591,#9acbb2); }
.behavior-pages-list { display: flex; min-height: 205px; padding: 12px 17px 18px; justify-content: center; flex-direction: column; gap: 9px; }
.behavior-pages-list > div { display: grid; grid-template-columns: minmax(90px,145px) minmax(0,1fr) 32px; align-items: center; gap: 10px; }
.behavior-pages-list strong { overflow: hidden; color: #3a475d; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.behavior-pages-list i { height: 7px; overflow: hidden; border-radius: 6px; background: #e3eef3; }
.behavior-pages-list b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#4f2ad9,#72b7c4); }
.behavior-pages-list span { color: #416f91; font-size: 10px; font-weight: 800; text-align: right; }
.behavior-panel-empty { display: flex; min-height: 205px; align-items: center; justify-content: center; flex-direction: column; gap: 7px; color: #8994a5; font-size: 10px; }
.behavior-panel-empty .material-symbols-rounded { color: #9176e8; font-size: 28px; }
.behavior-panel-empty p { margin: 0; }
.behavior-users { overflow: hidden; }
.behavior-users > header { display: flex; min-height: 82px; padding: 16px 18px; align-items: center; justify-content: space-between; border-bottom: 1px solid #e7eaef; }
.behavior-users > header h3 { margin-top: 5px; font-size: 17px; }
.behavior-users > header p { margin: 3px 0 0; color: #7a8699; font-size: 10px; }
.behavior-users > header > button { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #dfe4e9; border-radius: 8px; color: #647188; background: #fff; cursor: pointer; }
.behavior-users > header > button .material-symbols-rounded { font-size: 17px; }
.behavior-users-scroll { max-height: 390px; overflow: auto; }
.behavior-users table { width: 100%; min-width: 920px; border-collapse: collapse; }
.behavior-users th { position: sticky; z-index: 2; top: 0; height: 36px; padding: 0 13px; color: #718095; background: #f6f8fa; font-size: 10px; font-weight: 750; text-align: left; }
.behavior-users td { height: 49px; padding: 7px 13px; border-top: 1px solid #eaedf1; color: #657187; font-size: 10px; white-space: nowrap; }
.behavior-users td:first-child { display: flex; justify-content: center; flex-direction: column; gap: 2px; }
.behavior-users td strong { color: #303e56; font-size: 10px; }
.behavior-users td small { color: #8a95a5; font-size: 10px; }
.behavior-users.is-expanded { position: fixed; z-index: 100; inset: 18px; border-radius: 14px; box-shadow: 0 28px 90px rgba(14,24,45,.25); }
.behavior-users.is-expanded .behavior-users-scroll { max-height: calc(100vh - 120px); }
.behavior-users.is-expanded > header > button .material-symbols-rounded { font-size: 0; }
.behavior-users.is-expanded > header > button .material-symbols-rounded::after { font-size: 17px; content: 'close_fullscreen'; }

@media (max-width: 1250px) {
  .behavior-kpis { grid-template-columns: repeat(4,minmax(130px,1fr)); }
}
@media (max-width: 900px) {
  .behavior-profile-controls, .behavior-charts { grid-template-columns: 1fr; }
  .behavior-sovereign > div { grid-template-columns: 1fr; }
  .behavior-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .behavior-page__head { align-items: stretch; flex-direction: column; }
  .behavior-page__actions { align-items: stretch; flex-direction: column; }
  .behavior-page__actions > button { width: 100%; justify-content: center; }
  .behavior-page__head form label, .behavior-page__head select { width: 100%; }
  .behavior-kpis { grid-template-columns: 1fr; }
  .behavior-column-chart--hours { gap: 2px; }
  .behavior-profile-state { align-items: flex-start; flex-direction: column; }
  .behavior-profile-state a { margin-left: 0; }
  .behavior-users.is-expanded { inset: 8px; }
}

/* Entreprise — Structuration juridique et capitalistique. */
.company-hero--structure .company-hero__facts strong { font: 800 18px/1.1 var(--font-display); }
.company-structure { padding-top: 14px; color: #2b3850; }
.company-structure__columns { display: grid; grid-template-columns: minmax(420px,.85fr) minmax(620px,1.2fr); align-items: start; gap: 14px; }
.company-structure__left, .company-structure__right { display: flex; min-width: 0; flex-direction: column; gap: 14px; }
.structure-card { min-width: 0; overflow: hidden; border: 1px solid #dfe3ea; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgba(20,32,58,.03); }
.structure-card > header { display: flex; min-height: 52px; padding: 13px 16px; align-items: center; justify-content: space-between; gap: 12px; }
.structure-card > header > div { min-width: 0; }
.structure-card > header > div:first-child { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: baseline; gap: 5px; }
.structure-card > header > div:first-child > small { grid-column: 1 / -1; margin-top: 1px; color: #758196; font-size: 10px; }
.structure-card > header h3 { margin: 0; color: #1c2840; font: 800 14px var(--font-display); }
.structure-card > header > div > span, .structure-legal > header > span { color: #4f24df; font: 800 14px var(--font-display); }
.structure-secondary-action { display: inline-flex; min-height: 32px; padding: 0 10px; align-items: center; gap: 6px; border: 1px solid #dce1e8; border-radius: 7px; color: #4a5870; background: #fff; font: 700 10px var(--font-body); cursor: pointer; white-space: nowrap; }
.structure-secondary-action:hover, .structure-icon-action:hover { border-color: #aa96ef; color: #5525e4; background: #faf8ff; }
.structure-secondary-action .material-symbols-rounded { font-size: 16px; }
.structure-icon-action { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #dce1e8; border-radius: 7px; color: #5a667b; background: #fff; cursor: pointer; }
.structure-icon-action .material-symbols-rounded { font-size: 17px; }
.structure-founders__table, .structure-debts__table, .structure-equity__table { border-top: 1px solid #e8ebf0; }
.structure-founders__head, .structure-founders__row { display: grid; min-width: 540px; grid-template-columns: minmax(155px,1.3fr) minmax(105px,.9fr) 80px 68px 30px; align-items: center; }
.structure-founders__head, .structure-debts__head, .structure-equity__head { min-height: 32px; color: #758196; background: #f7f8fa; font-size: 10px; font-weight: 700; }
.structure-founders__head > *, .structure-founders__row > * { padding: 0 11px; }
.structure-founders__row { min-height: 43px; border-top: 1px solid #e9ecf0; color: #536078; font-size: 10px; }
.structure-founders__row > div, .structure-debts__row > div { display: flex; min-width: 0; align-items: center; gap: 8px; }
.structure-founders__row i, .structure-debts__row i { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 50%; color: #fff; background: var(--shareholder-color); font-size: 10px; font-style: normal; font-weight: 800; }
.structure-founders__row strong, .structure-debts__row strong { overflow: hidden; color: #28364e; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.structure-founders__row em { width: max-content; padding: 3px 7px; border-radius: 10px; color: #7a8699; background: #f0f2f5; font-size: 10px; font-style: normal; }
.structure-founders__row em.is-active { color: #2d8457; background: #eaf7ef; }
.structure-founders__row > button, .structure-debts__row > button, .structure-equity__row > button { display: grid; width: 28px; height: 28px; padding: 0; place-items: center; border: 0; border-radius: 6px; color: #647187; background: transparent; cursor: pointer; }
.structure-founders__row > button:hover, .structure-debts__row > button:hover, .structure-equity__row > button:hover { color: #5525e5; background: #f1edff; }
.structure-founders__row > button .material-symbols-rounded, .structure-debts__row > button .material-symbols-rounded, .structure-equity__row > button .material-symbols-rounded { font-size: 17px; }
.structure-founders__table { overflow-x: auto; }
.structure-empty { display: flex; min-height: 125px; padding: 20px; align-items: center; justify-content: center; flex-direction: column; gap: 7px; border-top: 1px solid #e8ebf0; color: #7d899b; text-align: center; }
.structure-empty > .material-symbols-rounded { color: #8062e9; font-size: 30px; }
.structure-empty p { margin: 0; font-size: 10px; }
.structure-empty button { border: 0; color: #5727e6; background: transparent; font: 700 10px var(--font-body); cursor: pointer; }
.structure-empty--compact { min-height: 90px; }
.structure-capital-settings > form { padding: 0 16px 15px; }
.structure-capital-amount { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 7px; }
.structure-capital-amount input { width: 180px; padding: 0; border: 0; outline: 0; color: #3017d7; background: transparent; font: 800 27px var(--font-display); text-align: right; }
.structure-capital-amount span { color: #3017d7; font: 800 27px var(--font-display); }
.structure-capital-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.structure-capital-fields > label { display: flex; min-height: 54px; padding: 10px 12px; justify-content: center; flex-direction: column; gap: 4px; border: 1px solid #e1e5eb; border-radius: 8px; }
.structure-capital-fields span, .structure-capital-advanced label > span { color: #758197; font-size: 10px; }
.structure-capital-fields input { width: 100%; padding: 0; border: 0; outline: 0; color: #27354d; background: transparent; font: 700 11px var(--font-body); }
.structure-capital-fields strong { color: #27354d; font-size: 11px; }
.structure-capital-advanced { display: grid; max-height: 0; margin-top: 0; grid-template-columns: repeat(3,minmax(0,1fr)) auto; gap: 8px; overflow: hidden; opacity: 0; transition: max-height .2s,margin .2s,opacity .2s; }
.structure-capital-settings:hover .structure-capital-advanced, .structure-capital-settings:focus-within .structure-capital-advanced { max-height: 95px; margin-top: 10px; opacity: 1; }
.structure-capital-advanced label { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.structure-capital-advanced input, .structure-capital-advanced select { width: 100%; height: 34px; min-width: 0; padding: 0 8px; border: 1px solid #dfe3e9; border-radius: 6px; color: #435068; background: #fff; font: 600 10px var(--font-body); }
.structure-capital-advanced button { align-self: flex-end; display: inline-flex; height: 34px; padding: 0 10px; align-items: center; gap: 5px; border: 0; border-radius: 6px; color: #fff; background: #5a2ae7; font: 700 10px var(--font-body); cursor: pointer; }
.structure-capital-advanced button .material-symbols-rounded { font-size: 16px; }
.structure-debts__table { overflow-x: auto; }
.structure-debts__head, .structure-debts__row { display: grid; min-width: 540px; grid-template-columns: minmax(155px,1.1fr) 105px minmax(175px,1.25fr) 30px; align-items: center; }
.structure-debts__head > *, .structure-debts__row > * { padding: 0 11px; }
.structure-debts__row { min-height: 42px; border-top: 1px solid #e9ecf0; color: #526078; font-size: 10px; }
.structure-debts__table footer { display: grid; min-width: 540px; min-height: 39px; padding: 0 41px 0 11px; grid-template-columns: 1fr auto; align-items: center; border-top: 1px solid #dfe3e9; color: #26344c; font-size: 11px; }
.structure-debts__table footer span { color: #4e22df; font-weight: 800; }
.structure-equity > header { border-bottom: 1px solid #eef0f4; }
.structure-allocation-state { display: inline-flex; min-height: 26px; padding: 0 8px; align-items: center; gap: 4px; border-radius: 13px; color: #9a6b1f; background: #fff4d7; font-size: 10px; font-weight: 700; }
.structure-allocation-state.is-complete { color: #2f8257; background: #eaf7ef; }
.structure-allocation-state .material-symbols-rounded { font-size: 15px; }
.structure-equity__visual { display: grid; min-height: 205px; padding: 18px 26px; grid-template-columns: minmax(190px,.85fr) minmax(220px,1.15fr); align-items: center; gap: 30px; }
.structure-donut { position: relative; display: grid; width: 180px; height: 180px; margin: auto; place-items: center; border-radius: 50%; background: var(--structure-donut); box-shadow: 0 8px 24px rgba(42,29,114,.12); }
.structure-donut::before { position: absolute; width: 66px; height: 66px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px #edf0f4; content: ''; }
.structure-donut > span { position: relative; z-index: 1; display: flex; align-items: center; flex-direction: column; gap: 1px; }
.structure-donut strong { color: #27354d; font: 800 12px var(--font-display); }
.structure-donut small { color: #8490a1; font-size: 10px; }
.structure-equity__legend { display: flex; min-width: 0; flex-direction: column; gap: 9px; }
.structure-equity__legend > div { display: grid; grid-template-columns: 9px minmax(0,1fr) auto; align-items: center; gap: 8px; }
.structure-equity__legend i, .structure-equity__row i { display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--shareholder-color); }
.structure-equity__legend strong { overflow: hidden; color: #35425a; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.structure-equity__legend span { color: #28364e; font-size: 10px; font-weight: 800; }
.structure-equity__table { overflow-x: auto; }
.structure-equity__head, .structure-equity__row, .structure-equity__table footer { display: grid; min-width: 720px; grid-template-columns: minmax(190px,1.25fr) minmax(145px,1fr) 115px 110px 34px; align-items: center; }
.structure-equity__head > *, .structure-equity__row > *, .structure-equity__table footer > * { padding: 0 11px; }
.structure-equity__row { min-height: 34px; border-top: 1px solid #edf0f3; color: #536078; font-size: 10px; }
.structure-equity__row > div { display: flex; align-items: center; gap: 8px; }
.structure-equity__row strong { color: #27354d; font-size: 10px; }
.structure-equity__table footer { min-height: 38px; border-top: 1px solid #dfe3e9; color: #27354d; font-size: 10px; font-weight: 800; }
.company-structure__bottom { display: grid; grid-template-columns: minmax(280px,1fr) minmax(300px,1.1fr); gap: 14px; }
.structure-checklist > div { display: flex; padding: 0 16px 15px; flex-direction: column; gap: 2px; }
.structure-checklist form { margin: 0; }
.structure-checklist button { display: flex; width: 100%; min-height: 29px; padding: 0; align-items: center; gap: 7px; border: 0; color: #4b5870; background: transparent; font: 600 10px var(--font-body); text-align: left; cursor: pointer; }
.structure-checklist button .material-symbols-rounded { color: #8e9aab; font-size: 17px; }
.structure-checklist button.is-complete .material-symbols-rounded { color: #3ba25f; }
.structure-checklist button.is-complete span { color: #2f7049; }
.structure-legal { padding: 0 16px 13px; }
.structure-legal > header { min-height: 50px; padding-right: 0; padding-left: 0; justify-content: flex-start; }
.structure-legal > div { display: grid; min-height: 56px; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 10px; }
.structure-legal > div > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 9px; color: #5b2de7; background: #eeeaff; }
.structure-legal > div > span .material-symbols-rounded { font-size: 23px; }
.structure-legal p { margin: 0; color: #68758b; font-size: 10px; line-height: 1.45; }
.structure-legal > a, .structure-legal > button { display: flex; width: 100%; min-height: 36px; margin-top: 9px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 6px; color: #fff; background: linear-gradient(110deg,#5b21f4,#3e12dc); font-size: 10px; font-weight: 750; text-decoration: none; }
.structure-legal > button:disabled { background: #aeb5c2; }
.structure-legal > a .material-symbols-rounded { font-size: 15px; }
.structure-legal > footer { display: flex; min-height: 34px; margin-top: 8px; align-items: center; gap: 6px; color: #8792a3; font-size: 10px; line-height: 1.35; }
.structure-legal > footer .material-symbols-rounded { font-size: 15px; }
.structure-dialog { max-width: 660px; }
.structure-dialog .task-dialog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.structure-dialog input[type="color"] { height: 42px; padding: 4px; }

@media (max-width: 1280px) {
  .company-structure__columns { grid-template-columns: 1fr; }
  .company-structure__bottom { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .structure-capital-advanced { max-height: 95px; margin-top: 10px; opacity: 1; }
}
@media (max-width: 760px) {
  .company-hero--structure .company-hero__facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-structure__bottom, .structure-equity__visual { grid-template-columns: 1fr; }
  .structure-equity__visual { gap: 16px; }
  .structure-capital-advanced { max-height: 200px; grid-template-columns: 1fr; }
  .structure-capital-advanced button { width: 100%; justify-content: center; }
}

/* Infrastructure — Monitoring. */
.monitoring-page { display: flex; min-width: 0; flex-direction: column; gap: 14px; }
.monitoring-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.monitoring-kpi { position: relative; display: grid; min-height: 126px; padding: 16px 16px 14px; grid-template-columns: 46px minmax(0,1fr) 20px; grid-template-rows: 1fr 25px; gap: 8px 12px; overflow: hidden; border: 1px solid #dfe4ec; border-radius: 10px; background: #fff; box-shadow: 0 3px 10px rgba(28,40,68,.035); }
.monitoring-kpi > span:first-child { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 10px; color: var(--kpi-color,#5528e8); background: var(--kpi-soft,#eeeaff); }
.monitoring-kpi > span:first-child .material-symbols-rounded { font-size: 27px; }
.monitoring-kpi > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.monitoring-kpi div > small { color: #313d55; font-size: 12px; font-weight: 750; }
.monitoring-kpi strong { color: var(--kpi-color,#5528e8); font: 800 24px/1 var(--font-display); }
.monitoring-kpi strong small { font-size: 13px; }
.monitoring-kpi em { color: #66738a; font-size: 10px; font-style: normal; font-weight: 600; }
.monitoring-kpi > .material-symbols-rounded:last-child { color: #647087; font-size: 19px; }
.monitoring-kpi > i { display: block; height: 5px; grid-column: 1 / -1; align-self: end; overflow: hidden; border-radius: 8px; background: #eceef3; }
.monitoring-kpi > i b { display: block; height: 100%; border-radius: inherit; background: var(--kpi-color,#5528e8); }
.monitoring-kpi > svg { width: 100%; height: 24px; grid-column: 1 / -1; overflow: visible; }
.monitoring-kpi > svg polyline { fill: none; stroke: var(--kpi-color,#5528e8); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.monitoring-kpi--green { --kpi-color:#35a661; --kpi-soft:#e7f7ed; }
.monitoring-kpi--purple { --kpi-color:#5528e8; --kpi-soft:#eeeaff; }
.monitoring-kpi--red { --kpi-color:#eb3f4e; --kpi-soft:#ffeaed; }
.monitoring-kpi--blue { --kpi-color:#2868ed; --kpi-soft:#eaf0ff; }
.monitoring-kpi--purple em,.monitoring-kpi--green em { color:#29925a; }
.monitoring-kpi--red em { color:#dc3547; }
.monitoring-toolbar { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 15px; }
.monitoring-environments,.monitoring-ranges { display: flex; gap: 6px; }
.monitoring-environments button,.monitoring-ranges button { display: flex; min-height: 31px; padding: 0 13px; align-items: center; gap: 5px; border: 1px solid #dfe3eb; border-radius: 6px; color: #4e5a71; background: #fff; font-size: 10px; font-weight: 650; cursor: pointer; }
.monitoring-environments button.is-active,.monitoring-ranges button.is-active { color: #fff; border-color: #5422e9; background: linear-gradient(135deg,#612bf0,#4714e4); box-shadow: 0 3px 8px rgba(79,30,226,.2); }
.monitoring-ranges .material-symbols-rounded { font-size: 16px; }
.monitoring-main-grid { display: grid; min-width: 0; grid-template-columns: minmax(0,2fr) minmax(300px,.82fr); align-items: stretch; gap: 14px; }
.monitoring-charts { display: grid; min-width: 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.monitoring-chart { min-width: 0; min-height: 178px; overflow: hidden; border: 1px solid #dfe4ec; border-radius: 9px; background: #fff; }
.monitoring-chart--wide { grid-column: span 2; }
.monitoring-chart > header { display: flex; min-height: 39px; padding: 0 12px; align-items: center; gap: 7px; border-bottom: 1px solid #e7eaf0; }
.monitoring-chart > header > span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 6px; color: var(--chart-color); background: color-mix(in srgb,var(--chart-color) 10%,white); }
.monitoring-chart > header > span .material-symbols-rounded { font-size: 17px; }
.monitoring-chart header strong { color: #29364e; font-size: 11px; }
.monitoring-chart header em { display: flex; margin-left: auto; align-items: center; gap: 5px; color: #69768b; font-size: 10px; font-style: normal; }
.monitoring-chart header em i { width: 6px; height: 6px; border-radius: 50%; background: var(--chart-color); }
.monitoring-chart__plot { position: relative; height: 104px; padding: 8px 10px 0 28px; }
.monitoring-chart__plot > span { position: absolute; left: 8px; color: #8490a3; font-size: 10px; }
.monitoring-chart__plot > span:nth-child(1) { top: 7px; }.monitoring-chart__plot > span:nth-child(2) { top: 29px; }.monitoring-chart__plot > span:nth-child(3) { top: 50px; }.monitoring-chart__plot > span:nth-child(4) { top: 71px; }
.monitoring-chart__plot svg { width: 100%; height: 84px; overflow: visible; }
.monitoring-chart__plot line { stroke:#e9ecf1; stroke-width:.5; stroke-dasharray:2 2; }
.monitoring-chart__plot polyline { fill:none; stroke:var(--chart-color); stroke-width:1.7; vector-effect:non-scaling-stroke; }
.monitoring-chart > footer { display: flex; padding: 0 9px 7px 29px; justify-content: space-between; color: #8490a3; font-size: 10px; }
.monitoring-incidents,.monitoring-panel { overflow: hidden; border: 1px solid #dfe4ec; border-radius: 9px; background: #fff; }
.monitoring-incidents > header,.monitoring-panel > header { display: flex; min-height: 44px; padding: 0 14px; align-items: center; justify-content: space-between; gap: 10px; }
.monitoring-incidents h2,.monitoring-panel h2 { margin: 0; color: #202d45; font: 800 12px var(--font-display); }
.monitoring-incidents header a,.monitoring-monitors header > button { display: flex; padding: 0; align-items: center; gap: 5px; border: 0; color: #5526e6; background: transparent; font-size: 10px; font-weight: 750; cursor: pointer; }
.monitoring-incidents header a .material-symbols-rounded,.monitoring-monitors header button .material-symbols-rounded { font-size: 16px; }
.monitoring-incidents > div { padding: 0 13px 9px; }
.monitoring-incident { display: grid; min-height: 55px; padding: 7px 0; grid-template-columns: 28px minmax(0,1fr) auto 28px 25px; align-items: center; gap: 7px; border-bottom: 1px solid #edf0f4; }
.monitoring-incident:last-child { border-bottom: 0; }
.monitoring-incident > span:first-child { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: #dc3547; background: #ffedef; }
.monitoring-incident--warning > span:first-child { color:#e98b24;background:#fff3e6; }.monitoring-incident--info > span:first-child { color:#3971e7;background:#eaf0ff; }.monitoring-incident--resolved > span:first-child { color:#30a35c;background:#e7f7ed; }
.monitoring-incident > span:first-child .material-symbols-rounded { font-size: 16px; }
.monitoring-incident > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.monitoring-incident div strong { overflow: hidden; color:#354159;font-size:10px;text-overflow:ellipsis;white-space:nowrap; }
.monitoring-incident div em { width:max-content;padding:2px 5px;border-radius:4px;color:#d23b4d;background:#ffebee;font-size:10px;font-style:normal;font-weight:700; }
.monitoring-incident--warning div em { color:#d87913;background:#fff2e1; }.monitoring-incident--info div em { color:#3568d8;background:#eaf0ff; }.monitoring-incident--resolved div em { color:#288c50;background:#e8f7ed; }
.monitoring-incident > small { color:#68758a;font-size:10px;white-space:nowrap; }
.monitoring-owner { display:grid!important;width:25px!important;height:25px!important;place-items:center!important;border-radius:50%!important;color:#fff!important;background:#725032!important;font-size:10px!important;font-weight:800; }
.monitoring-incident form button,.monitoring-rules form button,.monitoring-monitors form button { display:grid;width:26px;height:26px;padding:0;place-items:center;border:1px solid #e0e4eb;border-radius:5px;color:#637087;background:#fff;cursor:pointer; }
.monitoring-incident form button .material-symbols-rounded,.monitoring-rules form button .material-symbols-rounded,.monitoring-monitors form button .material-symbols-rounded { font-size:15px; }
.monitoring-bottom-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(260px,.72fr) minmax(280px,.78fr); align-items: start; gap: 14px; }
.monitoring-panel { min-width:0; }
.monitoring-panel > header { border-bottom:1px solid #e7eaf0; }
.monitoring-panel h2 span { margin-left:5px;padding:2px 6px;border-radius:99px;color:#5b2be7;background:#eeeaff;font:700 10px var(--font-body); }
.monitoring-rules header .button { min-height:31px;padding:0 10px;font-size:10px; }
.monitoring-rules__table { min-width:680px; }
.monitoring-rules__head,.monitoring-rules__table > div:not(.monitoring-rules__head) { display:grid;min-height:40px;padding:6px 12px;grid-template-columns:1.25fr 1.25fr .75fr .6fr .95fr 28px;align-items:center;gap:8px;border-bottom:1px solid #e9ecf1;color:#5e6b81;font-size:10px; }
.monitoring-rules__head { min-height:31px;color:#748096;background:#fbfcfd;font-weight:700; }
.monitoring-rules__table > div:last-child { border-bottom:0; }
.monitoring-rules__table strong { overflow:hidden;color:#344057;font-size:10px;text-overflow:ellipsis;white-space:nowrap; }
.monitoring-rules__table em { display:flex;align-items:center;gap:5px;color:#7c8799;font-style:normal; }.monitoring-rules__table em::before { width:6px;height:6px;border-radius:50%;background:currentColor;content:''; }.monitoring-rules__table em.is-active { color:#31a15c; }
.monitoring-rules form button { color:#df4052;border-color:#f0bdc5; }
.monitoring-slos > div { padding:0 12px; }
.monitoring-slos section { display:grid;min-height:92px;padding:13px 0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:7px;border-bottom:1px solid #e9ecf1; }
.monitoring-slos section:last-child { border-bottom:0; }
.monitoring-slos section > div { display:flex;min-width:0;flex-direction:column;gap:5px; }.monitoring-slos section strong { color:#344057;font-size:11px; }.monitoring-slos section small { color:#707c91;font-size:10px; }.monitoring-slos section > b { color:#5528e8;font-size:12px; }.monitoring-slos section > i { display:block;height:5px;grid-column:1/-1;overflow:hidden;border-radius:7px;background:#e9ecf1; }.monitoring-slos section > i em { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5828e9,#3aad66); }
.monitoring-monitors > div { padding:0 12px; }
.monitoring-monitors section { display:grid;min-height:52px;padding:7px 0;grid-template-columns:25px minmax(0,1fr) auto 27px;align-items:center;gap:7px;border-bottom:1px solid #e9ecf1; }
.monitoring-monitors section:last-child { border-bottom:0; }.monitoring-monitors section > span { color:#55647f; }.monitoring-monitors section > span .material-symbols-rounded { font-size:18px; }.monitoring-monitors section > div { display:flex;min-width:0;flex-direction:column;gap:3px; }.monitoring-monitors section strong { overflow:hidden;color:#344057;font-size:11px;text-overflow:ellipsis;white-space:nowrap; }.monitoring-monitors section small { color:#7b8699;font-size:10px; }.monitoring-monitors section > em { display:flex;align-items:center;gap:5px;color:#32a15b;font-size:10px;font-style:normal; }.monitoring-monitors section > em::before { width:6px;height:6px;border-radius:50%;background:currentColor;content:''; }.monitor-status--paused { color:#7a8699!important; }.monitor-status--failing { color:#df4052!important; }.monitoring-monitors form button { color:#df4052;border-color:#f0bdc5; }
.monitoring-empty { display:flex;min-height:100px;padding:18px;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#7c8799;text-align:center; }.monitoring-empty > .material-symbols-rounded { color:#45a56a;font-size:27px; }.monitoring-empty strong { color:#435067;font-size:11px; }.monitoring-empty small { font-size:10px; }.monitoring-dialog { max-width:650px; }.monitoring-dialog .company-span-2 { grid-column:1/-1; }

@media (max-width:1350px) { .monitoring-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.monitoring-main-grid { grid-template-columns:1fr; }.monitoring-bottom-grid { grid-template-columns:1fr 1fr; }.monitoring-rules { grid-column:1/-1;overflow-x:auto; } }
@media (max-width:900px) { .monitoring-toolbar { align-items:stretch;flex-direction:column; }.monitoring-environments,.monitoring-ranges { overflow-x:auto; }.monitoring-charts { grid-template-columns:repeat(2,minmax(0,1fr)); }.monitoring-chart--wide { grid-column:span 2; }.monitoring-bottom-grid { grid-template-columns:1fr; }.monitoring-rules { grid-column:auto; } }
@media (max-width:620px) { .monitoring-kpis,.monitoring-charts { grid-template-columns:1fr; }.monitoring-chart--wide { grid-column:auto; }.monitoring-kpi { min-height:118px; }.monitoring-dialog .company-span-2 { grid-column:auto; } }
@media (max-width: 560px) {
  .structure-card > header { align-items: flex-start; flex-direction: column; }
  .structure-secondary-action { width: 100%; justify-content: center; }
  .structure-capital-fields, .structure-dialog .task-dialog__grid { grid-template-columns: 1fr; }
  .structure-capital-amount input { width: 150px; }
  .structure-donut { width: 155px; height: 155px; }
}

/* Accès Documents ferré au bas du menu projet. */
.sidebar-bottom-menu { display: flex; width: 100%; margin-top: auto; flex-direction: column; gap: 9px; }
.sidebar-bottom-menu .sidebar-progress { margin: 0 4px; }
.sidebar-pinned-link { display: grid; min-height: 46px; margin: 0 4px; padding: 0 10px; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.07); border-radius: 9px; color: #d4deed; background: rgba(5,18,37,.24); font-size: 12px; font-weight: 650; text-decoration: none; transition: border-color .16s ease, color .16s ease, background .16s ease; }
.sidebar-pinned-link:hover, .sidebar-pinned-link:focus-visible { color: #fff; border-color: rgba(151,125,255,.28); background: rgba(255,255,255,.07); outline: none; }
.sidebar-pinned-link.is-active { color: #fff; border-color: rgba(137,103,255,.35); background: linear-gradient(100deg,rgba(91,45,230,.38),rgba(75,111,198,.18)); box-shadow: inset 3px 0 0 #8b68ff; }
.sidebar-pinned-link > .nav-icon { display: grid; width: 28px; height: 28px; place-items: center; color: #aebcce; }
.sidebar-pinned-link.is-active > .nav-icon { color: #c6b7ff; }
.sidebar-pinned-link > .nav-icon .material-symbols-rounded { font-size: 19px; }
.sidebar-pinned-link > i { color: #8192aa; font-style: normal; }
.sidebar-pinned-link > i .material-symbols-rounded { font-size: 17px; }
@media (min-width: 901px) {
  body.sidebar-state-compact .sidebar-bottom-menu { gap: 0; }
  body.sidebar-state-compact .sidebar-pinned-link { min-height: 48px; margin: 0; padding: 0; grid-template-columns: 1fr; place-items: center; }
  body.sidebar-state-compact .sidebar-pinned-link > span:nth-child(2), body.sidebar-state-compact .sidebar-pinned-link > i { display: none; }
  body.sidebar-state-compact .sidebar-pinned-link > .nav-icon { width: 40px; height: 40px; }
  body.sidebar-state-compact .sidebar-pinned-link > .nav-icon .material-symbols-rounded { font-size: 22px; }
}

/* Paramètres — Connecteurs de données. */
.connectors-page { display: flex; min-width: 0; flex-direction: column; gap: 18px; color: #27334a; }
.connectors-hero { display: grid; min-height: 150px; padding: 25px 27px; grid-template-columns: minmax(0,1fr) 270px; align-items: center; gap: 30px; border: 1px solid #ddd6fa; border-radius: 13px; background: radial-gradient(circle at 85% 15%,rgba(113,75,232,.13),transparent 32%),linear-gradient(120deg,#f1edff,#fbfaff 62%,#f2f8ff); }
.connectors-hero > div > span { color: #5c2ee8; font-size: 10px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.connectors-hero h2 { margin: 7px 0 8px; color: #172139; font: 800 24px/1.2 var(--font-display); letter-spacing: -.45px; }
.connectors-hero p { max-width: 720px; margin: 0; color: #69758b; font-size: 11px; line-height: 1.55; }
.connectors-hero aside { display: grid; min-height: 72px; padding: 14px; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 10px; border: 1px solid rgba(98,59,222,.13); border-radius: 10px; background: rgba(255,255,255,.72); }
.connectors-hero aside > .material-symbols-rounded { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 9px; color: #318e61; background: #e7f6ed; font-size: 20px; }
.connectors-hero aside div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.connectors-hero aside strong { color: #344158; font-size: 10px; }
.connectors-hero aside small { color: #788398; font-size: 10px; line-height: 1.35; }
.connector-methods { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.connector-method { position: relative; display: flex; min-width: 0; min-height: 250px; padding: 20px; overflow: hidden; border: 1px solid #dfe3eb; border-radius: 11px; flex-direction: column; color: #26334b; background: #fff; text-align: left; box-shadow: 0 4px 13px rgba(18,31,55,.035); cursor: pointer; transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.connector-method:hover { border-color: #c9bdfa; transform: translateY(-2px); box-shadow: 0 10px 25px rgba(49,32,102,.08); }
.connector-method.is-active { border-color: #8d71ef; box-shadow: 0 0 0 3px #eee9ff,0 10px 25px rgba(49,32,102,.08); }
.connector-method.is-active::after { content: 'Sélectionné'; position: absolute; top: 17px; right: 17px; padding: 4px 7px; border-radius: 10px; color: #5425de; background: #ece7ff; font-size: 10px; font-weight: 750; }
.connector-method__icon { display: grid; width: 43px; height: 43px; margin-bottom: 16px; place-items: center; border-radius: 10px; }
.connector-method__icon .material-symbols-rounded { font-size: 24px; }
.connector-method__icon--violet { color: #5b2de5; background: #eeeaff; }
.connector-method__icon--blue { color: #2d6bda; background: #e7f0ff; }
.connector-method__icon--green { color: #2d9460; background: #e7f6ed; }
.connector-method > em { width: max-content; margin-bottom: 6px; color: #778398; font-size: 10px; font-style: normal; font-weight: 650; }
.connector-method h3 { margin: 0 0 7px; color: #1d2941; font: 800 16px var(--font-display); }
.connector-method p { margin: 0; color: #6e7a90; font-size: 10px; line-height: 1.5; }
.connector-method > div { display: flex; margin-top: 14px; flex-wrap: wrap; gap: 5px; }
.connector-method > div i { padding: 4px 6px; border-radius: 5px; color: #647086; background: #f2f4f7; font-size: 10px; font-style: normal; font-weight: 700; }
.connector-method > strong { display: flex; margin-top: auto; padding-top: 15px; align-items: center; justify-content: space-between; border-top: 1px solid #edf0f4; color: #5530df; font-size: 10px; }
.connector-method > strong .material-symbols-rounded { font-size: 17px; }
.connector-config { scroll-margin-top: 18px; padding: 21px; border: 1px solid #dfe3eb; border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(19,31,54,.04); animation: connectorPanelIn .22s ease; }
.connector-config[hidden] { display: none; }
.connector-config > header { display: grid; margin-bottom: 18px; grid-template-columns: 43px minmax(0,1fr); align-items: center; gap: 12px; }
.connector-config > header > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 10px; color: #5b2ce5; background: #eeeaff; }
.connector-config > header > span .material-symbols-rounded { font-size: 23px; }
.connector-config > header small { color: #5d2ee7; font-size: 10px; font-weight: 800; letter-spacing: .6px; }
.connector-config > header h3 { margin: 2px 0 3px; color: #1d2941; font: 800 17px var(--font-display); }
.connector-config > header p { margin: 0; color: #778398; font-size: 10px; }
.connector-config__layout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: 17px; }
.connector-dropzone { display: flex; min-height: 245px; padding: 22px; align-items: center; justify-content: center; border: 1px dashed #a99ae6; border-radius: 10px; flex-direction: column; color: #344158; background: linear-gradient(145deg,#faf9ff,#f7faff); text-align: center; cursor: pointer; transition: border-color .16s ease,background .16s ease,transform .16s ease; }
.connector-dropzone:hover,.connector-dropzone.is-dragging { border-color: #5b2de6; background: #f2eeff; transform: translateY(-1px); }
.connector-dropzone.has-file { border-style: solid; border-color: #50a979; background: #f4fcf7; }
.connector-dropzone.is-error { border-color: #dc5b6f; background: #fff5f7; }
.connector-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.connector-dropzone > span { display: grid; width: 48px; height: 48px; margin-bottom: 12px; place-items: center; border-radius: 12px; color: #5a2ce5; background: #ebe6ff; }
.connector-dropzone > span .material-symbols-rounded { font-size: 27px; }
.connector-dropzone strong { font-size: 12px; }
.connector-dropzone small { margin-top: 4px; color: #7a8699; font-size: 10px; }
.connector-dropzone > div { display: flex; margin-top: 14px; gap: 6px; }
.connector-dropzone > div i { padding: 4px 7px; border-radius: 5px; color: #5d697f; background: #fff; box-shadow: 0 0 0 1px #e0e4eb; font-size: 10px; font-style: normal; font-weight: 750; }
.connector-fields { display: flex; flex-direction: column; gap: 13px; }
.connector-fields label,.connector-api-form label,.connector-fr4ktal-grid > label { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.connector-fields label > span,.connector-api-form label > span,.connector-fr4ktal-grid > label > span { color: #536077; font-size: 10px; font-weight: 700; }
.connector-fields select,.connector-api-form input,.connector-api-form select,.connector-fr4ktal-grid select { width: 100%; height: 40px; padding: 0 11px; border: 1px solid #dce1e9; border-radius: 8px; outline: 0; color: #344158; background: #fff; font: 500 10px var(--font-body); }
.connector-fields select:focus,.connector-api-form input:focus,.connector-api-form select:focus,.connector-fr4ktal-grid select:focus { border-color: #7653eb; box-shadow: 0 0 0 3px #eeeaff; }
.connector-format-note { display: grid; padding: 10px; grid-template-columns: 20px minmax(0,1fr); align-items: start; gap: 6px; border-radius: 7px; color: #68758a; background: #f4f6f9; font-size: 10px; line-height: 1.4; }
.connector-format-note .material-symbols-rounded { color: #6240db; font-size: 17px; }
.connector-fields .button { min-height: 40px; margin-top: auto; justify-content: center; font-size: 10px; }
.connector-fields .button:disabled { cursor: not-allowed; opacity: .48; }
.connector-api-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.connector-api-form .connector-span-2 { grid-column: span 2; }
.connector-config > footer { display: flex; margin-top: 18px; padding-top: 16px; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid #e7eaf0; }
.connector-config > footer > div { display: flex; align-items: center; gap: 7px; color: #6d798e; font-size: 10px; }
.connector-config > footer > div .material-symbols-rounded { color: #3d9767; font-size: 17px; }
.connector-config > footer .button { min-height: 39px; font-size: 10px; }
.connector-fr4ktal-grid { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(180px,.45fr) minmax(380px,1fr); align-items: start; gap: 14px; }
.connector-project-key { position: relative; display: flex; min-height: 76px; padding: 13px 45px 13px 13px; justify-content: center; flex-direction: column; gap: 7px; border: 1px solid #dfe3eb; border-radius: 9px; background: #f8f9fc; }
.connector-project-key small { color: #778398; font-size: 10px; }
.connector-project-key code { overflow: hidden; color: #4d31b4; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.connector-project-key button { position: absolute; top: 50%; right: 10px; display: grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 1px solid #dce1e9; border-radius: 7px; color: #5e6a80; background: #fff; transform: translateY(-50%); cursor: pointer; }
.connector-project-key button .material-symbols-rounded { font-size: 16px; }
.connector-fr4ktal-grid > label { min-height: 76px; padding: 10px; justify-content: center; border: 1px solid #dfe3eb; border-radius: 9px; }
.connector-fr4ktal-grid fieldset { display: flex; min-height: 76px; margin: 0; padding: 10px 12px; border: 1px solid #dfe3eb; border-radius: 9px; align-items: center; gap: 12px; }
.connector-fr4ktal-grid fieldset legend { padding: 0 4px; color: #536077; font-size: 10px; font-weight: 700; }
.connector-fr4ktal-grid fieldset label { display: flex; align-items: center; gap: 5px; color: #657187; font-size: 10px; white-space: nowrap; }
.connector-fr4ktal-grid fieldset input { accent-color: #5b2de6; }
.connector-fr4ktal-grid ol { display: grid; margin: 3px 0 0; padding: 0; grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; list-style: none; }
.connector-fr4ktal-grid li { display: grid; min-height: 72px; padding: 11px; grid-template-columns: 27px minmax(0,1fr); align-items: center; gap: 8px; border-radius: 8px; background: #f6f7fa; }
.connector-fr4ktal-grid li > span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #fff; background: #5b2de6; font-size: 10px; font-weight: 800; }
.connector-fr4ktal-grid li > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.connector-fr4ktal-grid li strong { font-size: 10px; }
.connector-fr4ktal-grid li small { color: #798499; font-size: 10px; line-height: 1.3; }
.connector-selection-status { padding: 12px 14px; border: 1px solid #bfe5cc; border-radius: 9px; color: #2f7650; background: #eef9f2; font-size: 10px; font-weight: 650; }
.connector-security { display: grid; min-height: 78px; padding: 14px 16px; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; border: 1px solid #dfe3eb; border-radius: 10px; background: #fff; }
.connector-security > span { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 9px; color: #3876d7; background: #e8f1ff; }
.connector-security > span .material-symbols-rounded { font-size: 21px; }
.connector-security strong { font-size: 10px; }
.connector-security p { margin: 3px 0 0; color: #778398; font-size: 10px; }
.connector-security > a { display: flex; align-items: center; gap: 5px; color: #562de0; font-size: 10px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.connector-security > a .material-symbols-rounded { font-size: 17px; }
@keyframes connectorPanelIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@media (max-width: 1100px) {
  .connectors-hero { grid-template-columns: 1fr; }
  .connector-methods { grid-template-columns: 1fr; }
  .connector-method { min-height: 210px; }
  .connector-config__layout { grid-template-columns: 1fr; }
  .connector-api-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .connector-fr4ktal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .connector-fr4ktal-grid fieldset { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
  .connectors-hero { padding: 20px; }
  .connectors-hero h2 { font-size: 20px; }
  .connector-api-form,.connector-fr4ktal-grid,.connector-fr4ktal-grid ol { grid-template-columns: 1fr; }
  .connector-api-form .connector-span-2,.connector-fr4ktal-grid fieldset,.connector-fr4ktal-grid ol { grid-column: auto; }
  .connector-fr4ktal-grid fieldset { align-items: flex-start; flex-direction: column; }
  .connector-config > footer,.connector-security { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
  .connector-security > a { margin-left: 49px; }
}

/* Pages d’entrée des catégories et progression du parcours. */
.category-overview { width: min(1180px,100%); margin: 0 auto; }
.category-overview__head { display: flex; margin-bottom: 24px; align-items: flex-end; justify-content: space-between; gap: 28px; }
.category-overview__head h2 { margin: 7px 0 8px; color: #101b35; font: 800 29px/1.15 var(--font-display); letter-spacing: -.6px; }
.category-overview__head p { max-width: 720px; margin: 0; color: #67748b; font-size: 13px; line-height: 1.55; }
.category-progress-button { flex: 0 0 auto; min-width: 132px; }
.category-intro-card { display: grid; min-height: 112px; margin-bottom: 20px; padding: 22px 24px; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 17px; border: 1px solid #d9d1fa; border-radius: 13px; background: linear-gradient(110deg,#f4f1ff,#fff 72%); box-shadow: 0 8px 25px rgba(63,36,147,.05); }
.category-intro-card > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(145deg,#7448f2,#4b16e9); box-shadow: 0 7px 18px rgba(83,35,230,.22); }
.category-intro-card > span .material-symbols-rounded { font-size: 26px; }
.category-intro-card small { color: #5b2bea; font-size: 10px; font-weight: 800; letter-spacing: 1.15px; }
.category-intro-card h3 { margin: 4px 0; color: #17223b; font: 750 15px var(--font-display); }
.category-intro-card p { margin: 0; color: #69768d; font-size: 12px; line-height: 1.45; }
.category-intro-card .button { white-space: nowrap; }
.category-cta-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(245px,1fr)); gap: 17px; }
.category-cta-card { display: flex; min-width: 0; min-height: 300px; padding: 22px; border: 1px solid #dfe3eb; border-radius: 13px; flex-direction: column; background: #fff; box-shadow: 0 7px 20px rgba(24,37,70,.045); transition: border-color .18s,box-shadow .18s,transform .18s; }
.category-cta-card:hover { border-color: #bba9f7; box-shadow: 0 13px 30px rgba(76,43,169,.09); transform: translateY(-2px); }
.category-cta-card__icon { display: grid; width: 46px; height: 46px; margin-bottom: 17px; place-items: center; border-radius: 11px; color: #5828e7; background: #eeeaff; }
.category-cta-card__icon .material-symbols-rounded { font-size: 25px; }
.category-cta-card__copy h3 { margin: 0 0 8px; color: #17223b; font: 800 16px var(--font-display); }
.category-cta-card__copy p { margin: 0; color: #66738a; font-size: 12px; line-height: 1.55; }
.category-cta-card ul { display: flex; margin: 18px 0; padding: 0; flex-direction: column; gap: 9px; list-style: none; }
.category-cta-card li { display: flex; align-items: flex-start; gap: 7px; color: #526078; font-size: 11px; line-height: 1.4; }
.category-cta-card li .material-symbols-rounded { flex: 0 0 auto; color: #36a36a; font-size: 16px; }
.category-cta-card > a { display: flex; min-height: 39px; margin-top: auto; padding: 0 12px; align-items: center; justify-content: space-between; border: 1px solid #dfd8f8; border-radius: 7px; color: #5123df; background: #faf8ff; font-size: 12px; font-weight: 750; text-decoration: none; }
.category-cta-card > a:hover { border-color: #6b39ec; color: #fff; background: #5a25e8; }
.category-cta-card > a .material-symbols-rounded { font-size: 18px; }
.category-progress-dialog { width: min(1180px,calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); }
.category-progress-dialog__surface { display: flex; max-height: calc(100vh - 32px); flex-direction: column; }
.category-progress-dialog__head { display: flex; padding: 23px 26px 19px; align-items: flex-start; justify-content: space-between; gap: 24px; border-bottom: 1px solid #e4e7ee; }
.category-progress-dialog__head h2 { margin: 5px 0; color: #111c35; font: 800 23px var(--font-display); }
.category-progress-dialog__head p { margin: 0; color: #6b778d; font-size: 12px; }
.category-progress-dialog__head > button { display: grid; width: 34px; height: 34px; padding: 0; flex: 0 0 34px; place-items: center; border: 0; border-radius: 8px; color: #657187; background: #f3f4f7; cursor: pointer; }
.category-progress-dialog__head > button:hover { color: #5123df; background: #eeeaff; }
.category-progress-dialog__body { padding: 23px 26px 26px; overflow-y: auto; background: #f8f9fc; }
.category-progress-dialog .progress-overview { max-width: none; margin: 0 0 18px; }
.category-progress-dialog .work-card-grid { max-width: none; grid-template-columns: repeat(4,minmax(0,1fr)); }
.category-progress-dialog .work-card { min-height: 184px; }
.category-progress-dialog .work-card h3 { margin-bottom: 17px; }
.work-card__progress-label { display: block; margin-top: 14px; color: #6a768c; font-size: 11px; font-weight: 650; }
.category-progress-dialog .ai-next-step { max-width: none; margin-top: 18px; }

@media (max-width: 1100px) {
  .category-cta-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .category-progress-dialog .work-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .category-overview__head { align-items: stretch; flex-direction: column; }
  .category-progress-button { width: 100%; }
  .category-intro-card { grid-template-columns: 42px minmax(0,1fr); padding: 18px; }
  .category-intro-card > span { width: 42px; height: 42px; }
  .category-intro-card .button { grid-column: 1 / -1; justify-content: center; }
  .category-cta-grid { grid-template-columns: 1fr; }
  .category-cta-card { min-height: 270px; }
  .category-progress-dialog__head { padding: 19px; }
  .category-progress-dialog__body { padding: 16px; }
  .category-progress-dialog .work-card-grid { grid-template-columns: 1fr; }
}

/* Système typographique accessible — référence transversale de l’application. */
.app-page {
  --ink-soft: #526078;
  --muted: #68758a;
  font-size: var(--text-body);
  line-height: var(--leading-normal);
}

.app-page :where(p, small, label, legend, input, textarea, select, button, a, time, caption, th, td, dt, dd, code, em, li):not(.material-symbols-rounded) {
  font-size: max(var(--text-caption), .875em) !important;
  line-height: var(--leading-normal);
}

.app-page :where(small, figcaption, caption) {
  font-size: var(--text-caption) !important;
  line-height: 1.45;
}

.app-page :where(input, textarea, select) {
  font-size: var(--text-body) !important;
  line-height: 1.45;
}

.app-page :where(.field, .task-dialog .field, .company-dialog .field) {
  font-size: var(--text-small);
}

.app-page :where(.button, .button--small) {
  min-height: 40px;
  font-size: var(--text-small) !important;
  line-height: 1.25;
}

.app-page :where(.eyebrow, [class$="__eyebrow"], [class$="-eyebrow"]) {
  font-size: var(--text-caption) !important;
  line-height: 1.35;
  letter-spacing: .08em;
}

.app-page :where(
  label > span,
  header > span,
  [class*="__label"],
  [class*="-label"],
  [class*="__legend"],
  [class*="-legend"],
  [class*="__meta"],
  [class*="-meta"],
  [class*="__hint"],
  [class*="-hint"]
):not(.material-symbols-rounded),
.app-page :where(
  [class*="__label"],
  [class*="-label"],
  [class*="__legend"],
  [class*="-legend"],
  [class*="__meta"],
  [class*="-meta"],
  [class*="__hint"],
  [class*="-hint"]
) > :where(span, strong, small, em):not(.material-symbols-rounded) {
  font-size: var(--text-caption) !important;
  line-height: 1.4;
}

/* Shell, navigation et en-têtes de page. */
.app-page .rail-brand small,
.app-page .rail-project,
.app-page .rail-project small,
.app-page .admin-badge,
.app-page .project-switcher small,
.app-page .project-menu__head span,
.app-page .project-menu a strong,
.app-page .project-menu button strong,
.app-page .project-menu a small,
.app-page .project-menu button small,
.app-page .sidebar-progress > span,
.app-page .sidebar-progress small,
.app-page .sidebar-user strong,
.app-page .sidebar-user small,
.app-page .topbar-profile strong,
.app-page .topbar-profile small,
.app-page .app-search kbd {
  font-size: var(--text-caption) !important;
  line-height: 1.35;
}

.app-page .nav-main-link { font-size: var(--text-body); }
.app-page .project-switcher strong { font-size: var(--text-body); }
.app-page .app-title h1 { font-size: var(--text-title-large); line-height: var(--leading-tight); }
.app-page .app-title p { color: #536078; font-size: var(--text-small) !important; line-height: 1.4; }
.app-page .app-search input { font-size: var(--text-small) !important; }
.app-page .notification-button .notification-badge { width: 20px; height: 20px; font-size: 11px !important; }
.app-page .rail-brand small { font-size: 8px !important; }

/* Hiérarchie commune des surfaces éditoriales et cartes. */
.app-page :where(
  .starter-card,
  .work-card,
  .module-card,
  .settings-card,
  .roadmap-stats article,
  .roadmap-workspace,
  .vps-stat,
  .presentation-card,
  .document-stat,
  .team-stat,
  .company-card,
  .framing-card,
  .dashboard-template-card,
  .dashboard-widget,
  .pricing-card,
  .revenue-card,
  .cohort-card,
  .behavior-card,
  .connector-method,
  .connector-config,
  .category-intro-card,
  .category-cta-card
) :where(p, a):not(.material-symbols-rounded) {
  font-size: var(--text-small) !important;
  line-height: 1.55;
}

.app-page :where(
  .starter-card,
  .work-card,
  .module-card,
  .roadmap-workspace,
  .presentation-card,
  .company-card,
  .framing-card,
  .dashboard-template-card,
  .dashboard-widget,
  .funding-card,
  .pricing-card,
  .revenue-card,
  .cohort-card,
  .behavior-card,
  .connector-method,
  .connector-config,
  .category-intro-card,
  .category-cta-card
) :where(h3, h4) {
  font-size: var(--text-title-small) !important;
  line-height: var(--leading-tight);
  font-weight: 800;
}

.app-page :where(.status-pill, .task-status, .roadmap-status, .framing-status, .company-contact-status, .funding-nature, .funding-target-status) {
  min-height: 24px;
  padding: 4px 8px;
  align-items: center;
  font-size: var(--text-caption) !important;
  line-height: 1.25;
}

/* Tableaux et listes denses : 12 px minimum, lignes plus respirantes. */
.app-page :where(table th, table td) {
  font-size: var(--text-caption) !important;
  line-height: 1.4;
}

.app-page :where(
  .task-table__head,
  .task-row,
  .roadmap-list__head,
  .roadmap-list__row,
  .roadmap-timeline__row,
  .vps-table__head,
  .vps-table__row,
  .document-table__head,
  .document-table__row,
  .team-table__head,
  .team-table__row,
  .company-contact-row,
  .funding-target-row,
  .funding-deliverable-head,
  .funding-deliverables > div,
  .dashboard-task-row,
  .dashboard-vps-row,
  .dashboard-activity-row,
  .revenue-table__head,
  .revenue-table__row,
  .cohort-table__head,
  .cohort-table__row,
  .behavior-table__head,
  .behavior-table__row
) {
  min-height: 44px;
  font-size: var(--text-caption) !important;
  line-height: 1.4;
}

.app-page :where([class*="-row"], [class*="__row"]) > :where(span, strong, em, time, i:not(:empty)) {
  font-size: max(var(--text-caption), .875em) !important;
  line-height: 1.35;
}

.app-page :where(
  .company-contact-name strong,
  .company-contact-name small,
  .funding-target-row > strong,
  .funding-deliverables > div strong,
  .roadmap-name strong,
  .roadmap-name small,
  .roadmap-owner strong,
  .roadmap-owner small,
  .task-title-text,
  .task-meta-count,
  .task-assignee-name
) {
  font-size: var(--text-caption) !important;
  line-height: 1.35;
}

/* Dashboard : titres de widgets nets, contenus secondaires lisibles. */
.app-page .workspace-ready__head h3 { font-size: var(--text-title-medium); line-height: var(--leading-tight); }
.app-page .workspace-ready__head p,
.app-page .dashboard-toolbar p,
.app-page .dashboard-widget__editbar,
.app-page .dashboard-save-status,
.app-page .dashboard-widget-library__tip,
.app-page .dashboard-widget__empty,
.app-page .dashboard-kpi p,
.app-page .dashboard-kpi a,
.app-page .dashboard-widget__header a,
.app-page .dashboard-roadmap-step__summary strong,
.app-page .dashboard-roadmap-step__summary small,
.app-page .dashboard-roadmap-step__meta {
  font-size: var(--text-caption) !important;
  line-height: 1.4;
}
.app-page .dashboard-toolbar h2 { font-size: var(--text-title-large); line-height: var(--leading-tight); }
.app-page .dashboard-widget__header h3 { font-size: var(--text-title-small) !important; }
.app-page .dashboard-kpi small { font-size: var(--text-body) !important; line-height: 1.35; }
.app-page .dashboard-widget-library__list strong { font-size: var(--text-small); }
.app-page .dashboard-widget-library__list small { font-size: var(--text-caption) !important; }
.app-page .dashboard-span-options button { width: 26px; height: 26px; font-size: var(--text-caption); }

/* Contacts et financement : les vues les plus denses de l’application. */
.app-page .company-hero--contacts .company-hero__facts small,
.app-page .funding-kpis small,
.app-page .funding-kpis em {
  font-size: var(--text-caption) !important;
  line-height: 1.35;
}
.app-page .company-contact-search input { font-size: var(--text-small) !important; }
.app-page .company-contact-status-filter,
.app-page .company-contact-category-filters button,
.app-page .company-contact-add,
.app-page .company-contact-group summary,
.app-page .company-contact-group__empty,
.app-page .company-contact-no-results {
  font-size: var(--text-caption) !important;
  line-height: 1.35;
}
.app-page .company-contact-group summary { min-height: 42px; font-weight: 700; }
.app-page .company-contact-row { min-height: 48px; }
.app-page .company-contact-row--head { min-height: 38px; }
.app-page .company-contact-name > span { width: 30px; height: 30px; flex-basis: 30px; font-size: var(--text-caption); }

.app-page .funding-card > header { min-height: 48px; }
.app-page .funding-card > header h3 { font-size: var(--text-title-small) !important; }
.app-page .funding-card > header :where(button, a),
.app-page .funding-type-row > span,
.app-page .funding-structure dt,
.app-page .funding-thesis > span,
.app-page .funding-mix > span,
.app-page .funding-type-row em,
.app-page .funding-structure dd,
.app-page .funding-mix strong,
.app-page .funding-thesis p,
.app-page .funding-empty,
.app-page .funding-allocation-legend span,
.app-page .funding-allocation footer,
.app-page .funding-allocation footer button,
.app-page .funding-approach li,
.app-page .funding-approach li > i,
.app-page .funding-approach li em,
.app-page .funding-approach > a,
.app-page .funding-cta p,
.app-page .funding-cta button {
  font-size: var(--text-caption) !important;
  line-height: 1.4;
}
.app-page .funding-type-row,
.app-page .funding-structure dl > div { min-height: 42px; }
.app-page .funding-target-row { min-height: 46px; }
.app-page .funding-target-row--head { min-height: 38px; }
.app-page .funding-target-row > strong i { width: 28px; height: 28px; flex-basis: 28px; font-size: var(--text-caption) !important; }
.app-page .funding-deliverables > div { min-height: 40px; }
.app-page .funding-approach li { min-height: 34px; }
.app-page .funding-approach li { grid-template-columns: 26px minmax(0,1fr) auto; }
.app-page .funding-approach li > i { width: 24px; height: 24px; }
.app-page .funding-approach li::before { top: 25px; bottom: -9px; left: 12px; }

.app-page .cohort-page__heading > span,
.app-page .cohort-filters label > span,
.app-page .cohort-definition strong,
.app-page .cohort-matrix__head > span,
.app-page .cohort-matrix__label strong,
.app-page .cohort-cell strong,
.app-page .cohort-legend {
  font-size: var(--text-caption) !important;
  line-height: 1.4;
}

/* Modules métier et paramétrage. */
.app-page .roadmap-stats em,
.app-page .roadmap-workspace__head p,
.app-page .roadmap-flow__step small,
.app-page .connector-method > em,
.app-page .connector-method > div i,
.app-page .connector-method > strong,
.app-page .connector-config > header p,
.app-page .connector-fields label > span,
.app-page .connector-api-form label > span,
.app-page .connector-fr4ktal-grid > label > span,
.app-page .connector-format-note,
.app-page .connector-config > footer > div,
.app-page .connector-project-key code,
.app-page .connector-fr4ktal-grid fieldset legend,
.app-page .connector-fr4ktal-grid fieldset label,
.app-page .connector-fr4ktal-grid li > span,
.app-page .connector-fr4ktal-grid li strong,
.app-page .connector-selection-status,
.app-page .connector-security strong,
.app-page .connector-security p,
.app-page .connector-security > a,
.app-page .framing-overview__stats span,
.app-page .framing-completion small,
.app-page .framing-status,
.app-page .framing-card > button,
.app-page .framing-add-card strong,
.app-page .work-card__progress-label,
.app-page .category-intro-card small,
.app-page .category-cta-card li,
.app-page .category-progress-dialog__head p {
  font-size: var(--text-caption) !important;
  line-height: 1.45;
}

.app-page .connectors-hero p { font-size: var(--text-small); }
.app-page .connectors-hero aside strong { font-size: var(--text-small); }
.app-page .connector-fields select,
.app-page .connector-api-form input,
.app-page .connector-api-form select,
.app-page .connector-fr4ktal-grid select { font-size: var(--text-body) !important; }

/* Focus visible et confort visuel. */
.app-page :where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid rgba(84, 36, 236, .42);
  outline-offset: 2px;
}

.app-page :where(p, small, [class*="__meta"], [class*="__hint"], [class*="__empty"]) {
  text-wrap: pretty;
}

@media (prefers-reduced-motion: reduce) {
  .app-page *,
  .app-page *::before,
  .app-page *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 680px) {
  .app-page { font-size: var(--text-body); }
  .app-page .app-title h1 { font-size: var(--text-title-medium); }
  .app-page .rail-project small { font-size: 11px !important; }
}

/* Les parcours de compte et de projet suivent les mêmes minima de lisibilité. */
:is(.auth-page, .create-project-page, .edit-project-page) {
  font-size: var(--text-body);
  line-height: var(--leading-normal);
}

:is(.auth-page, .create-project-page, .edit-project-page) small {
  font-size: var(--text-caption) !important;
  line-height: 1.45;
}

:is(.auth-page, .create-project-page, .edit-project-page) :where(input, textarea, select) {
  font-size: var(--text-body) !important;
  line-height: 1.45;
}

:is(.auth-page, .create-project-page, .edit-project-page) :where(.button, .button--small) {
  font-size: var(--text-small) !important;
  line-height: 1.25;
}

:is(.auth-page, .create-project-page, .edit-project-page) :where(
  .demo-credentials,
  .wizard-step strong,
  .wizard-top,
  .creation-summary strong,
  .creation-summary p,
  .form-hint
) {
  font-size: var(--text-caption) !important;
  line-height: 1.45;
}

:is(.auth-page, .create-project-page, .edit-project-page) :where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid rgba(84, 36, 236, .42);
  outline-offset: 2px;
}

/* Onboarding de collaboration et invitations aux projets. */
.onboarding-page { min-height: 100vh; color: #18233a; background: radial-gradient(circle at 50% 0,#f0ebff,transparent 34%),#f7f8fc; }
.onboarding-choice { width: min(1040px,calc(100% - 40px)); margin: 0 auto; padding: 35px 0 55px; }
.onboarding-choice__brand { width: max-content; color: #111d36; }
.onboarding-choice__brand small { font-size: 12px; }
.onboarding-choice__intro { max-width: 690px; margin: 55px auto 34px; text-align: center; }
.onboarding-choice__intro h1 { margin: 10px 0 12px; font: 800 clamp(30px,4vw,44px)/1.15 var(--font-display); letter-spacing: -1.4px; }
.onboarding-choice__intro p { margin: 0; color: #65728a; font-size: 16px; line-height: 1.6; }
.onboarding-choice__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.onboarding-choice__card { position: relative; display: flex; min-height: 425px; padding: 29px; border: 1px solid #dfe3ec; border-radius: 18px; flex-direction: column; background: #fff; box-shadow: 0 14px 38px rgba(21,34,66,.07); }
.onboarding-choice__card--primary { border-color: #cfc2fb; box-shadow: 0 14px 40px rgba(74,35,194,.1); }
.onboarding-choice__icon { display: grid; width: 54px; height: 54px; margin-bottom: 22px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg,#7447f4,#4b17e8); box-shadow: 0 9px 22px rgba(75,23,232,.22); }
.onboarding-choice__icon .material-symbols-rounded { font-size: 29px; }
.onboarding-choice__icon--blue { color: #2d68d7; background: #e8f1ff; box-shadow: none; }
.onboarding-choice__card small { color: #5a2be4; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.onboarding-choice__card h2 { margin: 6px 0 9px; font: 800 22px/1.25 var(--font-display); }
.onboarding-choice__card p { margin: 0; color: #6a768c; font-size: 14px; line-height: 1.55; }
.onboarding-choice__card ul { display: grid; margin: 24px 0; padding: 18px 0 0; border-top: 1px solid #e8ebf1; gap: 12px; list-style: none; }
.onboarding-choice__card li { display: flex; align-items: center; gap: 8px; color: #4f5c73; font-size: 13px; }
.onboarding-choice__card li .material-symbols-rounded { color: #24a161; font-size: 18px; }
.onboarding-choice__card form { margin-top: auto; }
.onboarding-choice__count { position: absolute; top: 24px; right: 24px; padding: 5px 9px; border-radius: 14px; color: #5a2be4; background: #eee9ff; font-size: 12px; }
.onboarding-choice__foot { margin: 22px 0 0; color: #7a8699; font-size: 13px; text-align: center; }

.rail-invitations { position: relative; display: grid; width: 42px; height: 42px; margin-top: 4px; place-items: center; border: 1px solid rgba(152,125,255,.35); border-radius: 11px; color: #cbbdff; background: rgba(97,54,222,.2); }
.rail-invitations .material-symbols-rounded { font-size: 21px; }
.rail-invitations b { position: absolute; top: -6px; right: -6px; display: grid; min-width: 19px; height: 19px; padding: 0 5px; place-items: center; border: 2px solid var(--navy-950); border-radius: 11px; color: #fff; background: #5b20ed; font-size: 11px; }
.sidebar-empty__secondary { margin-top: 13px; color: #b9c7dc; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.global-empty-state__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.notification-center__invitations { display: flex; min-height: 42px; margin: 0 12px 10px; padding: 0 11px; align-items: center; justify-content: center; gap: 7px; border: 1px solid #ddd6fa; border-radius: 8px; color: #5628df; background: #f7f4ff; font-size: 12px; font-weight: 750; }
.notification-item__content:is(a) { text-decoration: none; }

.project-access-notice { display: flex; min-height: 54px; margin: -13px 0 20px; padding: 10px 14px; align-items: center; gap: 11px; border: 1px solid #d9e2f0; border-radius: 10px; color: #40506a; background: #f7faff; }
.project-access-notice > .material-symbols-rounded { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; color: #376ecb; background: #e8f1ff; font-size: 20px; }
.project-access-notice > div { display: flex; flex-direction: column; gap: 2px; }
.project-access-notice strong { font-size: 13px; }
.project-access-notice span { color: #6b7890; font-size: 12px; }
.project-readonly-empty { display: flex; min-height: 220px; margin: 20px auto; align-items: center; justify-content: center; border: 1px dashed #ccd4e2; border-radius: 13px; flex-direction: column; color: #6d7990; background: rgba(255,255,255,.72); text-align: center; }
.project-readonly-empty > .material-symbols-rounded { color: #8f7ce1; font-size: 38px; }
.project-readonly-empty h3 { margin: 10px 0 4px; color: #263149; font: 800 17px var(--font-display); }
.project-readonly-empty p { margin: 0; font-size: 13px; }

.project-invitations { width: min(1040px,100%); margin: 0 auto; }
.project-invitations__head { display: flex; margin-bottom: 22px; align-items: flex-end; justify-content: space-between; gap: 22px; }
.project-invitations__head h2 { margin: 6px 0; font: 800 26px/1.2 var(--font-display); }
.project-invitations__head p { margin: 0; color: #6b778d; font-size: 14px; }
.project-invitations__total { padding: 7px 11px; border-radius: 16px; color: #592be2; background: #eeeaff; font-size: 12px; font-weight: 750; }
.project-invitations__list { display: flex; flex-direction: column; gap: 13px; }
.project-invitation-card { display: grid; min-height: 150px; padding: 22px; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 18px; border: 1px solid #dfe3eb; border-radius: 14px; background: #fff; box-shadow: 0 7px 20px rgba(20,32,60,.045); }
.project-invitation-card__avatar { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 14px; color: #fff; background: var(--project-color); font: 800 20px var(--font-display); box-shadow: 0 8px 19px color-mix(in srgb,var(--project-color) 28%,transparent); }
.project-invitation-card__copy small { color: #7b8699; font-size: 12px; }
.project-invitation-card__copy h3 { margin: 3px 0 8px; font: 800 18px var(--font-display); }
.project-invitation-card__copy > div { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.project-invitation-card__copy em { padding: 4px 8px; border-radius: 10px; color: var(--role-color); background: color-mix(in srgb,var(--role-color) 11%,white); font-size: 12px; font-style: normal; font-weight: 750; }
.project-invitation-card__copy > div span { color: #536078; font-size: 13px; }
.project-invitation-card__copy p { margin: 8px 0 0; color: #8791a2; font-size: 12px; }
.project-invitation-card__actions { display: flex; align-items: center; gap: 8px; }
.project-invitation-card__actions form { margin: 0; }
.project-invitations__empty { display: flex; min-height: 350px; align-items: center; justify-content: center; border: 1px dashed #d6dce7; border-radius: 14px; flex-direction: column; background: rgba(255,255,255,.72); text-align: center; }
.project-invitations__empty > .material-symbols-rounded { color: #7861d7; font-size: 46px; }
.project-invitations__empty h3 { margin: 13px 0 5px; font: 800 20px var(--font-display); }
.project-invitations__empty p { margin: 0 0 20px; color: #748096; font-size: 13px; }

@media (max-width: 760px) {
  .onboarding-choice { width: min(100% - 28px,560px); padding-top: 22px; }
  .onboarding-choice__intro { margin-top: 35px; }
  .onboarding-choice__grid { grid-template-columns: 1fr; }
  .onboarding-choice__card { min-height: 390px; }
  .project-invitations__head { align-items: flex-start; flex-direction: column; }
  .project-invitation-card { grid-template-columns: 52px minmax(0,1fr); }
  .project-invitation-card__actions { grid-column: 1 / -1; justify-content: flex-end; }
}

/* Catalogue technique, dependances et exploitation des services. */
.services-page { display: flex; flex-direction: column; gap: 14px; }
.services-page__actions { display: flex; margin-top: -2px; justify-content: flex-end; gap: 9px; }
.service-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.service-kpi { display: flex; min-height: 116px; padding: 20px; align-items: center; gap: 15px; border: 1px solid #dfe4ed; border-radius: 12px; background: #fff; box-shadow: 0 5px 15px rgba(27,39,66,.035); }
.service-kpi > span { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border-radius: 14px; }
.service-kpi > span .material-symbols-rounded { font-size: 28px; }
.service-kpi > div { display: flex; min-width: 0; flex-direction: column; }
.service-kpi small { color: #536079; font-size: 13px; font-weight: 750; }
.service-kpi strong { margin-top: 3px; color: #111c33; font: 800 28px/1.05 var(--font-display); letter-spacing: -.5px; }
.service-kpi em { display: flex; margin-top: 8px; align-items: center; gap: 6px; color: #738097; font-size: 12px; font-style: normal; }
.service-kpi em i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: currentColor; }
.service-kpi--purple > span { color: #5424ec; background: #eee9ff; }
.service-kpi--purple em { color: #31a65e; }
.service-kpi--red > span { color: #ed3b3b; background: #fff0ef; }
.service-kpi--red em { color: #ed3b3b; }
.service-kpi--blue > span { color: #3568db; background: #eaf2ff; }
.service-kpi--green > span { color: #3aa85e; background: #eaf8ee; }
.service-kpi--green em { color: #348e54; }

.service-panel { min-width: 0; border: 1px solid #dfe4ed; border-radius: 12px; background: #fff; box-shadow: 0 4px 15px rgba(27,39,66,.03); overflow: hidden; }
.service-panel > header { display: flex; min-height: 48px; padding: 10px 16px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #e7eaf0; }
.service-panel > header h2 { margin: 0; color: #152039; font: 800 15px/1.25 var(--font-display); }
.service-panel > header button { display: inline-flex; align-items: center; gap: 5px; border: 0; color: #5222e9; background: transparent; font-size: 12px; font-weight: 750; cursor: pointer; }
.service-panel > header button .material-symbols-rounded { font-size: 17px; }
.service-catalogue > header > div { display: flex; align-items: center; gap: 8px; }
.service-catalogue > header > div span { display: grid; min-width: 24px; height: 24px; padding: 0 7px; place-items: center; border-radius: 12px; color: #5729df; background: #eeeaff; font-size: 12px; font-weight: 750; }
.service-search { display: flex; width: min(260px,35vw); height: 36px; padding: 0 10px; align-items: center; gap: 7px; border: 1px solid #dfe4ed; border-radius: 8px; color: #7d899d; background: #fbfcfe; }
.service-search .material-symbols-rounded { font-size: 19px; }
.service-search input { width: 100%; border: 0; outline: 0; color: #26334b; background: transparent; font-size: 12px; }
.service-table-scroll { overflow-x: auto; }
.service-table { min-width: 1220px; }
.service-table__head,
.service-table__row { display: grid; grid-template-columns: minmax(210px,1.45fr) .65fr .5fr .75fr .55fr .9fr minmax(150px,1fr) .9fr 78px; align-items: center; column-gap: 12px; }
.service-table__head { min-height: 38px; padding: 0 14px; color: #68758d; background: #fbfcfe; font-size: 12px; font-weight: 750; }
.service-table__row { min-height: 58px; padding: 7px 14px; border-top: 1px solid #edf0f4; color: #34415a; font-size: 12px; }
.service-table__row:first-of-type { border-top: 0; }
.service-table__row:hover { background: #fafbff; }
.service-table__row > span,
.service-table__row > time,
.service-table__row > code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.service-name { display: flex; min-width: 0; align-items: center; gap: 10px; }
.service-name > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.service-name strong { overflow: hidden; color: #1d2941; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.service-name small { overflow: hidden; color: #768399; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.service-type-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 9px; color: #5424ec; background: #eeeaff; }
.service-type-icon .material-symbols-rounded { font-size: 20px; }
.service-type-icon--database { color: #3973e5; background: #eaf2ff; }
.service-type-icon--cache { color: #ee4738; background: #fff0ed; }
.service-type-icon--worker { color: #ef8540; background: #fff4e9; }
.service-type-icon--web { color: #6738f2; background: #eeeaff; }
.service-badge { display: inline-flex; width: max-content; max-width: 100%; min-height: 24px; padding: 3px 8px; align-items: center; border-radius: 6px; color: #2b9e55; background: #eaf8ef; font-size: 12px; font-style: normal; }
.service-badge--staging { color: #2d66d7; background: #eaf2ff; }
.service-badge--development { color: #8a5a1c; background: #fff5e7; }
.service-health { display: inline-flex; align-items: center; gap: 7px; color: #299950; }
.service-health i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: currentColor; }
.service-health--degraded { color: #e88129; }
.service-health--down { color: #e33f48; }
.service-health--maintenance { color: #60708a; }
.service-owner { display: flex; min-width: 0; align-items: center; gap: 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.service-owner i,
.service-avatar { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#243958,#0e1729); font-size: 9px; font-style: normal; font-weight: 800; }
.service-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.service-row-actions form { margin: 0; }
.service-row-actions button { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid #dce2ec; border-radius: 7px; color: #34445f; background: #fff; cursor: pointer; }
.service-row-actions button:hover { border-color: #bfb1f2; color: #5524eb; background: #f7f4ff; }
.service-row-actions button.is-danger { border-color: #ffd6d5; color: #e23d42; }
.service-row-actions .material-symbols-rounded { font-size: 18px; }
.service-table__empty { padding: 28px; color: #758196; text-align: center; }
.service-empty { display: flex; min-height: 230px; padding: 24px; align-items: center; justify-content: center; flex-direction: column; color: #6e7b91; text-align: center; }
.service-empty > .material-symbols-rounded { color: #7962df; font-size: 42px; }
.service-empty h3 { margin: 10px 0 4px; color: #253149; font-size: 17px; }
.service-empty p { margin: 0 0 16px; font-size: 13px; }

.service-dashboard-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0,1.1fr); gap: 14px; }
.service-topology__canvas { position: relative; display: grid; min-height: 255px; padding: 24px; grid-template-columns: repeat(4,minmax(105px,1fr)); grid-template-rows: repeat(2,minmax(80px,1fr)); align-items: center; gap: 20px 26px; background: linear-gradient(#fff,#fdfdff); }
.service-topology__canvas > svg { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.service-link { fill: none; stroke: #6539f0; stroke-width: 2; }
.service-link--data { stroke: #3a77df; }
.service-link--asynchronous { stroke: #ee8a3a; stroke-dasharray: 6 5; }
.service-node { position: relative; z-index: 1; display: flex; min-width: 0; min-height: 58px; padding: 9px 11px; align-items: center; gap: 8px; border: 1px solid #cabcf8; border-radius: 8px; background: #fff; box-shadow: 0 4px 12px rgba(33,45,71,.07); }
.service-node > span { color: #5c2ee9; }
.service-node > span .material-symbols-rounded { font-size: 20px; }
.service-node > div { display: flex; min-width: 0; flex-direction: column; }
.service-node strong { overflow: hidden; color: #26334b; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.service-node small { color: #7d899c; font-size: 11px; }
.service-node--web { grid-column: 1; grid-row: 1; }
.service-node--database { grid-column: 4; grid-row: 1; border-color: #bed0f4; }
.service-node--cache { grid-column: 4; grid-row: 2; border-color: #f5c7c0; }
.service-node--worker { grid-column: 3; grid-row: 2; border-color: #f4ccb0; }
.service-topology > footer { display: flex; min-height: 43px; padding: 8px 15px; align-items: center; flex-wrap: wrap; gap: 18px; border-top: 1px solid #edf0f4; }
.service-topology > footer span { display: flex; align-items: center; gap: 6px; color: #657289; font-size: 11px; }
.service-topology > footer i { display: block; width: 22px; border-top: 2px solid #6539f0; }
.service-topology > footer i.is-data { border-color: #3a77df; }
.service-topology > footer i.is-async { border-color: #ee8a3a; border-top-style: dashed; }
.service-list { padding: 0 15px; }
.service-incident { display: grid; min-height: 77px; padding: 12px 0; grid-template-columns: 9px minmax(0,1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid #edf0f4; }
.service-incident:last-child { border-bottom: 0; }
.service-severity { width: 8px; height: 8px; align-self: start; margin-top: 9px; border-radius: 50%; background: #ee3f46; }
.service-severity--major { background: #f08a35; }
.service-severity--minor { background: #e1b127; }
.service-incident > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.service-incident small { color: #6b7890; font-size: 11px; }
.service-incident small span { margin-left: 7px; padding: 3px 7px; border-radius: 8px; color: #e54149; background: #fff0f0; }
.service-incident strong { color: #1f2b43; font-size: 12px; }
.service-incident p { margin: 0; color: #727f95; font-size: 11px; }
.service-incident > aside { display: flex; align-items: center; gap: 8px; }
.service-incident > aside em { padding: 4px 8px; border-radius: 6px; color: #e65f2c; background: #fff2e9; font-size: 11px; font-style: normal; }
.service-incident.is-resolved { opacity: .62; }
.service-incident.is-resolved > aside em { color: #299958; background: #eaf8ef; }
.service-incident form { margin: 0; }
.service-incident form button { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #dce2ec; border-radius: 7px; color: #299958; background: #fff; cursor: pointer; }

.service-compact-table { overflow-x: auto; }
.service-compact-table > div { display: grid; min-width: 660px; min-height: 43px; padding: 7px 14px; grid-template-columns: 1fr .7fr .9fr 1.1fr .75fr .6fr; align-items: center; gap: 10px; border-top: 1px solid #edf0f4; color: #46546c; font-size: 11px; }
.service-compact-table > div:first-child { border-top: 0; }
.service-compact-table > .service-compact-table__head { min-height: 34px; color: #69768d; background: #fbfcfe; font-size: 11px; font-weight: 750; }
.service-compact-table strong { color: #253149; font-size: 12px; }
.service-compact-table code { color: #526079; font-size: 11px; }
.service-compact-table time { color: #66748b; }
.service-status { width: max-content; padding: 3px 7px; border-radius: 8px; color: #299958; background: #eaf8ef; font-style: normal; }
.service-status--failed { color: #df3f47; background: #fff0f0; }
.service-status--rollback { color: #d47727; background: #fff2e7; }
.service-compact-table--variables > div { min-width: 720px; grid-template-columns: 1.15fr .9fr .9fr 1.2fr 1fr 75px; }
.service-compact-table--variables > div > code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.service-mini-empty { display: flex !important; min-height: 100px !important; padding: 20px !important; align-items: center !important; justify-content: center !important; color: #7a879b !important; font-size: 12px !important; text-align: center; }

.service-dialog .task-dialog__span { grid-column: 1 / -1; }
.service-dependency-picker { display: flex; padding: 13px; flex-wrap: wrap; gap: 8px; border: 1px solid #dfe3ea; border-radius: 9px; }
.service-dependency-picker legend { padding: 0 5px; color: #3b4860; font-size: 12px; font-weight: 750; }
.service-dependency-picker label { display: flex; min-height: 34px; padding: 6px 9px; align-items: center; gap: 7px; border: 1px solid #dfe3ea; border-radius: 7px; color: #4f5d75; background: #fff; font-size: 12px; cursor: pointer; }
.service-dependency-picker label:has(input:checked) { border-color: #b9a7f8; color: #5525e7; background: #f4f1ff; }
.service-dependency-picker em { width: 100%; color: #7b8799; font-size: 11px; font-style: normal; }

@media (max-width: 1180px) {
  .service-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .service-kpis { grid-template-columns: 1fr; }
  .service-kpi { min-height: 102px; }
  .service-catalogue > header { align-items: stretch; flex-direction: column; }
  .service-search { width: 100%; }
  .service-topology__canvas { min-width: 620px; }
  .service-topology { overflow-x: auto; }
}

/* Actions marketing dans les simulations de revenus. */
.revenue-marketing-builder { padding: 10px; border: 1px solid #ddd5fa; border-radius: 8px; background: #fbfaff; }
.revenue-marketing-builder > header { display: flex; margin-bottom: 8px; align-items: center; justify-content: space-between; gap: 8px; }
.revenue-marketing-builder > header > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.revenue-marketing-builder > header strong { color: #352166; font-size: 12px; }
.revenue-marketing-builder > header small { color: #716989; font-size: 11px; font-weight: 400; }
.revenue-marketing-builder > header button { display: inline-flex; min-height: 30px; padding: 0 9px; align-items: center; gap: 4px; border: 1px solid #cfc2f8; border-radius: 6px; color: #5527df; background: #fff; font: 750 11px var(--font-body); cursor: pointer; }
.revenue-marketing-builder > header button .material-symbols-rounded { font-size: 16px; }
.revenue-marketing-builder > p { display: flex; margin: 8px 0 0; align-items: flex-start; gap: 5px; color: #736b89; font-size: 11px; font-weight: 400; line-height: 1.45; }
.revenue-marketing-builder > p .material-symbols-rounded { flex: 0 0 auto; color: #6540dc; font-size: 15px; }
.revenue-marketing-builder > [data-marketing-actions] { display: flex; flex-direction: column; gap: 7px; }
.revenue-marketing-migration { display: grid; min-height: 54px; padding: 9px; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 8px; border: 1px dashed #d8cdf8; border-radius: 7px; color: #5a2ae2; background: #faf8ff; }
.revenue-marketing-migration > .material-symbols-rounded { font-size: 20px; }
.revenue-marketing-migration > span { display: flex; flex-direction: column; gap: 2px; }
.revenue-marketing-migration strong { color: #3a2864; font-size: 11px; }
.revenue-marketing-migration small { color: #736a8a; font-size: 10px; }
.revenue-marketing-migration code { font-size: 10px; }
.revenue-marketing-action { display: grid; padding: 9px; grid-template-columns: minmax(0,1fr) 76px; align-items: end; gap: 7px; border: 1px solid #e0e3ea; border-radius: 7px; background: #fff; }
.revenue-marketing-action label { font-size: 11px; }
.revenue-marketing-action__name { grid-column: 1 / -1; }
.revenue-marketing-action input,
.revenue-marketing-action select { width: 100%; height: 34px; padding: 0 8px; border: 1px solid #dce1e9; border-radius: 6px; color: #29364e; background: #fff; font: 12px var(--font-body); }
.revenue-marketing-action output { align-self: center; color: #2e9258; font-size: 11px; font-weight: 750; line-height: 1.35; }
.revenue-marketing-action > button { display: grid; width: 32px; height: 32px; justify-self: end; place-items: center; border: 1px solid #f2d1d3; border-radius: 6px; color: #d9434c; background: #fff; cursor: pointer; }
.revenue-marketing-action > button .material-symbols-rounded { font-size: 17px; }

.revenue-marketing-impact { display: grid; margin-bottom: 12px; padding: 13px; grid-template-columns: minmax(210px,.55fr) minmax(0,1.45fr); align-items: center; gap: 13px; border: 1px solid #f1d1b9; border-radius: 8px; background: linear-gradient(110deg,#fff8f2,#fff); }
.revenue-marketing-impact > header { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 9px; }
.revenue-marketing-impact > header > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 8px; color: #df6e26; background: #ffeadb; }
.revenue-marketing-impact > header h3 { margin: 0 0 3px; color: #3c2a23; font: 800 13px var(--font-display); }
.revenue-marketing-impact > header p { margin: 0; color: #806c62; font-size: 11px; line-height: 1.4; }
.revenue-marketing-impact > div { display: flex; min-width: 0; overflow-x: auto; gap: 8px; }
.revenue-marketing-impact article { display: grid; min-width: 205px; min-height: 55px; padding: 8px; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 8px; border: 1px solid #f0ded0; border-radius: 7px; background: #fff; }
.revenue-marketing-impact article > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 7px; color: #cc6423; background: #fff0e5; font-size: 11px; font-weight: 800; }
.revenue-marketing-impact article > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.revenue-marketing-impact article strong { overflow: hidden; color: #3c4659; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.revenue-marketing-impact article small { color: #817b76; font-size: 10px; }
.revenue-marketing-impact article em { color: #d8651f; font-size: 12px; font-style: normal; font-weight: 800; }

@media (max-width: 840px) {
  .revenue-marketing-impact { grid-template-columns: 1fr; }
}

/* Données — catalogue Produits / services. */
.product-catalog { display: flex; min-width: 0; flex-direction: column; gap: 14px; }
.product-catalog__hero { position: relative; display: grid; min-height: 96px; padding: 17px 170px 17px 25px; grid-template-columns: repeat(4,minmax(130px,1fr)); align-items: center; overflow: hidden; border-radius: 11px; color: #fff; background: radial-gradient(circle at 91% 30%,rgba(146,105,255,.55),transparent 27%),linear-gradient(105deg,#07142e 0%,#12277e 53%,#582bdf 100%); box-shadow: 0 7px 20px rgba(27,33,83,.16); }
.product-catalog__hero::after { position: absolute; right: 7px; top: 0; width: 210px; height: 100%; content: ''; opacity: .32; background-image: radial-gradient(circle,rgba(255,255,255,.65) 1px,transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(90deg,transparent,#000); }
.product-catalog__hero article { display: grid; min-height: 58px; padding: 0 22px; grid-template-columns: 42px 40px minmax(0,1fr); align-items: center; gap: 8px; border-right: 1px solid rgba(255,255,255,.28); }
.product-catalog__hero article:first-child { padding-left: 0; }
.product-catalog__hero article > span .material-symbols-rounded { font-size: 31px; font-weight: 300; }
.product-catalog__hero article > strong { font: 800 29px var(--font-display); }
.product-catalog__hero article > small { font-size: 11px; line-height: 1.35; }
.product-catalog__hero > em { position: absolute; z-index: 1; right: 36px; display: flex; min-height: 39px; padding: 0 15px; align-items: center; gap: 7px; border-radius: 8px; background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); font-size: 12px; font-style: normal; font-weight: 700; }
.product-catalog__hero > em .material-symbols-rounded { font-size: 17px; }
.product-catalog__workspace { display: grid; min-width: 0; grid-template-columns: 340px minmax(0,1fr); align-items: start; gap: 14px; }
.product-offers, .product-catalog__main { display: flex; min-width: 0; flex-direction: column; gap: 14px; }
.product-panel { min-width: 0; border: 1px solid #dfe3eb; border-radius: 11px; background: #fff; box-shadow: 0 3px 10px rgba(29,39,63,.04); }
.product-panel > header { display: flex; min-height: 49px; padding: 0 15px; align-items: center; justify-content: space-between; gap: 10px; }
.product-panel > header h2, .product-panel > h2 { display: flex; margin: 0; align-items: center; gap: 7px; color: #1c2941; font: 800 14px var(--font-display); }
.product-panel > header button, .product-detail > header button { display: flex; min-height: 34px; padding: 0 12px; align-items: center; gap: 6px; border: 1px solid #dddfe8; border-radius: 7px; color: #344159; background: #fff; font: 700 11px var(--font-body); cursor: pointer; }
.product-offer-list > header button { border-color: #6b42e9; color: #fff; background: linear-gradient(105deg,#7042ed,#5730d9); box-shadow: 0 5px 12px rgba(91,43,234,.18); }
.product-panel button .material-symbols-rounded { font-size: 16px; }
.product-offer-list > div { padding: 0 10px 10px; }
.product-offer-item { display: grid; min-height: 68px; padding: 9px 10px; grid-template-columns: 42px minmax(0,1fr) auto 19px; align-items: center; gap: 9px; border-bottom: 1px solid #eceef2; color: #25324a; text-decoration: none; }
.product-offer-item.is-active { margin-bottom: 4px; border: 1px solid #c7b8f9; border-radius: 8px; background: linear-gradient(105deg,#faf8ff,#f4f1ff); }
.product-offer-item > i, .product-detail__identity > i { display: grid; width: 39px; height: 39px; place-items: center; border: 1px solid color-mix(in srgb,var(--offer-color) 28%,white); border-radius: 8px; color: var(--offer-color); background: color-mix(in srgb,var(--offer-color) 7%,white); font-style: normal; }
.product-offer-item > i .material-symbols-rounded { font-size: 24px; }
.product-offer-item > span { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.product-offer-item strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.product-offer-item small { color: #69768c; font-size: 10px; }
.product-offer-item em { display: flex; align-items: center; gap: 5px; color: #6d798c; font-size: 10px; font-style: normal; white-space: nowrap; }
.product-offer-item em b { width: 6px; height: 6px; border-radius: 50%; background: #aab2c1; }
.product-offer-item em.is-active b { background: #42b66d; }.product-offer-item em.is-building b { background: #e39a31; }
.product-offer-item > .material-symbols-rounded { color: #536078; font-size: 18px; }
.product-pivot { overflow: hidden; }
.product-pivot > header { border-bottom: 1px solid #ebedf1; }
.product-pivot > header .material-symbols-rounded { color: #5328db; font-size: 17px; }
.product-pivot > strong { display: block; padding: 11px 14px; color: #4a3b70; background: #f5f1ff; font-size: 11px; line-height: 1.5; }
.product-pivot dl { margin: 0; }
.product-pivot dl > div { display: grid; min-height: 68px; padding: 10px 14px; grid-template-columns: 120px minmax(0,1fr); gap: 10px; border-bottom: 1px solid #eceef2; }
.product-pivot dt { display: flex; align-items: flex-start; gap: 7px; color: #313e56; font-size: 10px; font-weight: 750; }
.product-pivot dt .material-symbols-rounded { font-size: 16px; }.product-pivot dd { margin: 0; color: #59667c; font-size: 10px; line-height: 1.45; }
.product-pivot footer { display: flex; padding: 12px 14px; flex-wrap: wrap; gap: 8px; }.product-pivot footer span { padding: 5px 9px; border-radius: 6px; color: #5230cc; background: #f1edff; font-size: 10px; }
.product-pivot__edit { display: flex; width: calc(100% - 24px); min-height: 35px; margin: 0 12px 12px; align-items: center; justify-content: center; gap: 7px; border: 1px solid #dddfe7; border-radius: 7px; color: #3c4a62; background: #fff; font: 700 11px var(--font-body); cursor: pointer; }
.product-detail { padding-bottom: 14px; }
.product-detail > header { border-bottom: 1px solid #edf0f3; }
.product-detail__identity { display: grid; padding: 14px 18px; grid-template-columns: 58px minmax(0,1fr); align-items: center; gap: 14px; }
.product-detail__identity > i { width: 56px; height: 56px; }.product-detail__identity > i .material-symbols-rounded { font-size: 34px; }
.product-detail__identity h3 { margin: 0 0 7px; color: #18243c; font: 800 17px var(--font-display); }.product-detail__identity h3 span { margin-left: 8px; padding: 5px 9px; border-radius: 9px; color: #592ddd; background: #efeaff; font: 700 10px var(--font-body); vertical-align: middle; }
.product-detail__identity p { max-width: 680px; margin: 0; color: #607087; font-size: 11px; line-height: 1.5; }
.product-detail__grid { display: grid; padding: 4px 18px 2px; grid-template-columns: minmax(0,1.35fr) minmax(280px,.85fr); align-items: start; gap: 24px; }
.product-section-title { display: flex; margin: 5px 0 10px; align-items: center; gap: 7px; color: #1f2c44; font: 800 12px var(--font-display); }.product-section-title .material-symbols-rounded { color: #5931dd; font-size: 17px; }
.killer-feature { display: grid; min-height: 90px; padding: 14px; grid-template-columns: 54px minmax(0,1fr); align-items: center; gap: 13px; border: 1px solid #bdacf8; border-radius: 9px; background: linear-gradient(115deg,#fbf9ff,#f3efff); }
.killer-feature > span { display: grid; width: 51px; height: 51px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#8b6cf1,#542bd8); box-shadow: 0 7px 18px rgba(82,43,216,.24); }.killer-feature > span .material-symbols-rounded { font-size: 31px; }
.killer-feature strong { display: block; color: #202b43; font-size: 13px; line-height: 1.35; }.killer-feature p { margin: 7px 0 0; color: #56647b; font-size: 10px; line-height: 1.45; }
.product-features { display: grid; grid-template-columns: repeat(4,minmax(105px,1fr)); gap: 6px; }
.product-features article, .product-features > button { position: relative; display: flex; min-height: 47px; padding: 7px 9px; align-items: center; gap: 8px; border: 1px solid #dfe3e9; border-radius: 7px; color: #354259; background: #fff; font-size: 9px; font-weight: 700; }
.product-features article > .material-symbols-rounded { color: #53617a; font-size: 17px; }.product-features article form { margin-left: auto; }.product-features article form button { display: none; width: 18px; height: 18px; padding: 0; border: 0; color: #cb4651; background: transparent; cursor: pointer; }.product-features article:hover form button { display: grid; place-items: center; }.product-features article form .material-symbols-rounded { font-size: 13px; }
.product-features > button { grid-column: 1 / -1; min-height: 29px; justify-content: center; border-style: dashed; border-color: #c4b4f7; color: #6238df; cursor: pointer; }
.product-differentiation { margin-top: 30px; overflow: hidden; border: 1px solid #dfe3e9; border-radius: 9px; }.product-differentiation h3 { display: flex; min-height: 42px; margin: 0; padding: 0 14px; align-items: center; gap: 8px; border-bottom: 1px solid #e9ecf0; color: #25324a; font: 800 12px var(--font-display); }.product-differentiation h3 .material-symbols-rounded { font-size: 18px; }
.product-differentiation dl { margin: 0; }.product-differentiation dl div { display: grid; min-height: 61px; padding: 11px 14px; grid-template-columns: 145px minmax(0,1fr); gap: 12px; border-bottom: 1px solid #e9ecf0; }.product-differentiation dl div:last-child { border: 0; }.product-differentiation dt { display: flex; gap: 7px; color: #34415a; font-size: 10px; font-weight: 750; }.product-differentiation dt .material-symbols-rounded { color: #5366a0; font-size: 16px; }.product-differentiation dd { margin: 0; color: #4d5a72; font-size: 10px; line-height: 1.45; }
.product-catalog__bottom { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(270px,.65fr); align-items: stretch; gap: 14px; }
.product-ai, .product-hypotheses { padding: 14px; }.product-ai > h2, .product-hypotheses > h2 { margin-bottom: 10px; }.product-ai > h2 .material-symbols-rounded { color: #5630db; font-size: 18px; }
.product-ai__prompts { display: flex; overflow-x: auto; gap: 6px; }.product-ai__prompts button { min-height: 24px; padding: 0 9px; border: 1px solid #d8cff9; border-radius: 10px; color: #6239db; background: #f5f2ff; font: 9px var(--font-body); white-space: nowrap; cursor: pointer; }.product-ai__prompts button:first-child { color: #fff; background: #6437dd; }
.product-ai__composer { display: grid; margin-top: 8px; grid-template-columns: minmax(0,1fr) 38px; align-items: center; border: 1px solid #b9a9ee; border-radius: 8px; }.product-ai__composer textarea { min-height: 65px; padding: 10px 12px; resize: vertical; border: 0; outline: 0; color: #344159; background: transparent; font: 10px/1.45 var(--font-body); }.product-ai__composer button { display: grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 0; color: #613be1; background: transparent; cursor: pointer; }
.product-ai > h3 { margin: 10px 0 7px; color: #39465d; font-size: 10px; }.product-ai__insights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }.product-ai__insights article { display: flex; min-height: 48px; padding: 8px; align-items: flex-start; gap: 6px; border: 1px solid #e2e5ea; border-radius: 7px; color: #4d5a70; font-size: 9px; line-height: 1.4; }.product-ai__insights .material-symbols-rounded { color: #49a66b; font-size: 15px; }.product-ai__insights article.is-risk .material-symbols-rounded { color: #e3922a; }.product-ai__insights article.is-opportunity .material-symbols-rounded { color: #6b45db; }
.product-hypotheses > div { display: flex; flex-direction: column; }.product-hypotheses form { border-top: 1px solid #e8ebef; }.product-hypotheses form button { display: grid; width: 100%; min-height: 52px; padding: 8px 0; grid-template-columns: 20px minmax(0,1fr) 17px; align-items: center; gap: 7px; border: 0; color: #3e4b62; background: transparent; font: 10px/1.35 var(--font-body); text-align: left; cursor: pointer; }.product-hypotheses form button > .material-symbols-rounded { color: #99a3b3; font-size: 17px; }.product-hypotheses form button > .material-symbols-rounded:last-child { color: #68758b; }.product-hypotheses form button.is-valid span { color: #7c8797; text-decoration: line-through; }.product-hypotheses form button.is-valid > .material-symbols-rounded:first-child { color: #46a667; }
.product-empty { padding: 22px; color: #748096; font-size: 11px; text-align: center; }.product-empty button { border: 0; color: #5b2deb; background: transparent; font-weight: 700; cursor: pointer; }.product-empty--large { min-height: 330px; display: flex; align-items: center; justify-content: center; flex-direction: column; }.product-empty--large > .material-symbols-rounded { color: #6a42df; font-size: 42px; }.product-empty--large h2 { margin: 12px 0 0; }.product-empty--large p { margin: 7px 0 16px; }
.product-primary-check { display: flex; align-items: center; flex-direction: row !important; gap: 8px; }.product-primary-check input { width: 16px !important; height: 16px !important; }.product-dialog { max-width: 760px; }
@media (max-width: 1250px) { .product-catalog__workspace { grid-template-columns: 300px minmax(0,1fr); }.product-features { grid-template-columns: repeat(2,minmax(115px,1fr)); }.product-detail__grid { grid-template-columns: 1fr; }.product-differentiation { margin-top: 0; } }
@media (max-width: 980px) { .product-catalog__hero { padding-right: 20px; grid-template-columns: repeat(2,1fr); }.product-catalog__hero > em { display: none; }.product-catalog__workspace, .product-catalog__bottom { grid-template-columns: 1fr; }.product-offers { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 680px) { .product-catalog__hero { grid-template-columns: 1fr; }.product-catalog__hero article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }.product-offers { grid-template-columns: 1fr; }.product-ai__insights { grid-template-columns: 1fr; }.product-detail__identity { grid-template-columns: 45px minmax(0,1fr); }.product-detail__identity > i { width: 43px; height: 43px; }.product-differentiation dl div, .product-pivot dl > div { grid-template-columns: 1fr; } }

/* Fr4ktal community hub */
.rail-hub { position: relative; display: flex; width: 86px; min-height: 50px; margin-top: 12px; padding: 9px 5px 8px; align-items: center; flex-direction: column; gap: 4px; border: 1px solid rgba(142,104,255,.34); border-radius: 13px; color: #f7f4ff; background: linear-gradient(145deg,rgba(99,47,218,.36),rgba(10,32,63,.5)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); text-align: center; transition: border-color .2s,background .2s,transform .2s; }
.rail-hub:hover,.rail-hub.is-active { transform: translateY(-1px); border-color: #9c7cff; background: linear-gradient(145deg,#5827cb,#131c56); box-shadow: 0 8px 22px rgba(89,39,205,.3),inset 0 1px 0 rgba(255,255,255,.16); }
.rail-hub > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; color: #fff; background: radial-gradient(circle at 30% 25%,#bf9bff,#6a31e8 54%,#342092); box-shadow: 0 7px 17px rgba(108,53,235,.38); }
.rail-hub > span .material-symbols-rounded { font-size: 22px; }.rail-hub strong { font-size: 10px; line-height: 1.1; }.rail-hub small { color: #baaeda; font-size: 8px; line-height: 1.1; }
.community-hub-shell { --community-bg:#060b14; --community-card:#0b121e; --community-card-2:#0e1725; --community-line:#263244; --community-muted:#8d9aae; --community-text:#f4f6fb; background: var(--community-bg); }
.community-hub-shell .app-shell,body.community-hub-shell.sidebar-state-rail-hidden .app-shell,body.community-hub-shell.sidebar-state-compact .app-shell { grid-template-columns: 104px minmax(0,1fr); background: var(--community-bg); }
.community-hub-shell .app-sidebar { display: none; }.community-hub-shell .app-main { grid-column: 2; background: var(--community-bg); }.community-hub-shell .app-topbar { min-height: 76px; border-color: #202a39; color: var(--community-text); background: rgba(6,11,20,.97); }
.community-hub-shell .app-title-icon { border-color: #423070; color: #b794ff; background: #17112a; }.community-hub-shell .app-title h1 { color: var(--community-text); }.community-hub-shell .app-title p { color: var(--community-muted); }
.community-hub-shell .app-search { display: flex; width: min(350px,28vw); border-color: #2c3748; color: #9ca8ba; background: #080e18; }.community-hub-shell .app-search input { color: #e7ebf2; }.community-hub-shell .app-search kbd { color: #657186; }
.community-hub-shell .notification-button,.community-hub-shell .topbar-profile__trigger { color: #eef1f7; }.community-hub-shell .notification-button .notification-badge { border-color: #060b14; }.community-hub-shell .topbar-profile small { color: #98a4b7; }.community-hub-shell .app-content { padding: 17px; color: var(--community-text); background: radial-gradient(circle at 25% -15%,rgba(83,41,190,.18),transparent 32%),linear-gradient(145deg,#050a12,#07101c 62%,#050a12); }
.community-hub-shell .topbar-planning { color:#eef1f7; }
.community-hub { position: relative; width: min(1600px,100%); margin: 0 auto; }.community-hub__status { position: fixed; z-index: 80; right: 24px; bottom: 24px; max-width: 360px; margin: 0; padding: 11px 16px; transform: translateY(20px); border: 1px solid #7654de; border-radius: 9px; color: #f8f6ff; background: #19102f; box-shadow: 0 12px 34px rgba(0,0,0,.4); font-size: 11px; opacity: 0; pointer-events: none; transition: opacity .2s,transform .2s; }.community-hub__status.is-visible { transform: translateY(0); opacity: 1; }
.community-hub__intro-grid { display: grid; grid-template-columns: minmax(310px,1.15fr) minmax(420px,1.35fr) minmax(260px,.82fr); gap: 15px; }.community-hero,.community-stats,.community-panel,.community-feed-card { border: 1px solid var(--community-line); border-radius: 10px; background: linear-gradient(145deg,rgba(15,23,38,.96),rgba(8,14,24,.96)); box-shadow: inset 0 1px 0 rgba(255,255,255,.025); }
.community-hero { position: relative; min-height: 208px; padding: 29px 28px; overflow: hidden; border-color: #583bc3; background: radial-gradient(circle at 17% 5%,rgba(121,67,255,.48),transparent 38%),linear-gradient(135deg,#2b166d,#10153d 65%,#0b1226); }.community-hero::after { position: absolute; right: -54px; bottom: -88px; width: 200px; height: 200px; border: 1px solid rgba(182,155,255,.25); border-radius: 50%; box-shadow: 0 0 70px rgba(91,42,226,.28); content: ''; }.community-hero__eyebrow { display: flex; align-items: center; gap: 6px; color: #bfaaff; font-size: 9px; font-weight: 800; letter-spacing: .9px; }.community-hero__eyebrow .material-symbols-rounded { font-size: 15px; }.community-hero h2 { position: relative; z-index: 1; margin: 13px 0 12px; color: #fff; font: 750 clamp(20px,1.8vw,29px)/1.38 var(--font-display); letter-spacing: -.4px; }.community-hero p { position: relative; z-index: 1; max-width: 540px; margin: 0; color: #c3bdd6; font-size: 11px; line-height: 1.65; }
.community-stats { display: grid; min-height: 208px; padding: 22px; grid-template-columns: repeat(4,1fr); align-items: center; gap: 13px; }.community-stats article { display: flex; height: 142px; padding: 15px 8px; align-items: center; justify-content: center; flex-direction: column; border: 1px solid #273244; border-radius: 9px; background: linear-gradient(180deg,#111a28,#0a111c); text-align: center; }.community-stats article > span { color: #9d64ff; font-size: 30px; }.community-stats strong { margin-top: 9px; color: #fff; font: 750 24px var(--font-display); }.community-stats small { margin-top: 6px; color: #abb5c4; font-size: 9px; line-height: 1.35; }
.community-panel { padding: 15px; }.community-panel__label { display: flex; align-items: center; gap: 6px; color: #eef1f6; font-size: 11px; font-weight: 750; }.community-panel__label .material-symbols-rounded { color: #9f6bff; font-size: 16px; }.community-booking { display: flex; min-height: 208px; flex-direction: column; }.community-booking .community-avatar-stack { margin-top: 15px; }.community-booking h3 { margin: 10px 0 3px; color: #fff; font-size: 14px; }.community-booking p { margin: 0; color: #98a4b5; font-size: 9px; line-height: 1.45; }.community-booking .community-booking__time { display: flex; margin-bottom: 3px; align-items: center; gap: 5px; color: #c4ccda; font-size: 10px; }.community-booking__time .material-symbols-rounded { font-size: 15px; }.community-button { min-height: 34px; margin-top: auto; border: 0; border-radius: 5px; color: #fff; font: 700 10px var(--font-body); cursor: pointer; }.community-button--primary { background: linear-gradient(90deg,#5420ca,#7428df); box-shadow: 0 7px 20px rgba(83,31,207,.24); }.community-button .material-symbols-rounded { margin-right: 4px; font-size: 15px; vertical-align: middle; }
.community-avatar-stack { display: flex; align-items: center; }.community-avatar-stack i { display: grid; width: 28px; height: 28px; margin-right: -6px; place-items: center; border: 2px solid #0d1522; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#9e7448,#3f2a25); font-size: 8px; font-style: normal; font-weight: 800; }.community-avatar-stack i:nth-child(2n) { background: linear-gradient(145deg,#7454b5,#242d5d); }.community-avatar-stack i:last-of-type { background: #41325e; }.community-avatar-stack b { margin-left: 11px; color: #9ba7b8; font-size: 9px; font-weight: 500; }
.community-hub__body-grid { display: grid; margin-top: 15px; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 15px; }.community-feed,.community-sidebar { display: flex; flex-direction: column; gap: 9px; }.community-feed-card { display: grid; min-height: 143px; overflow: hidden; grid-template-columns: 28% minmax(0,1fr); transition: border-color .2s,transform .2s; }.community-feed-card:hover { transform: translateY(-1px); border-color: #44536a; }.community-feed-card__visual { position: relative; display: flex; min-height: 143px; padding: 21px; justify-content: flex-end; flex-direction: column; overflow: hidden; border-right: 1px solid var(--community-line); background: radial-gradient(circle at 15% 20%,rgba(99,61,208,.5),transparent 35%),linear-gradient(135deg,#1b2435,#111726); }.community-feed-card__visual::after { position: absolute; top: -30px; right: -24px; width: 120px; height: 120px; transform: rotate(24deg); border: 1px solid rgba(255,255,255,.12); border-radius: 24px; content: ''; }.community-feed-card__visual > span { position: absolute; top: 18px; left: 20px; color: #b68aff; font-size: 31px; }.community-feed-card__visual small { position: relative; z-index: 1; color: #aeb8c9; font-size: 8px; font-weight: 800; letter-spacing: .8px; }.community-feed-card__visual strong { position: relative; z-index: 1; margin-top: 6px; color: #fff; font: 750 13px/1.35 var(--font-display); }.community-feed-card--news .community-feed-card__visual { background: radial-gradient(circle at 20% 20%,rgba(201,60,116,.3),transparent 40%),linear-gradient(135deg,#2a1825,#111725); }.community-feed-card--project .community-feed-card__visual { background: radial-gradient(circle at 15% 20%,rgba(70,160,103,.38),transparent 42%),linear-gradient(135deg,#102d25,#101927); }.community-feed-card--resource .community-feed-card__visual { background: radial-gradient(circle at 20% 25%,rgba(52,92,231,.5),transparent 40%),linear-gradient(135deg,#122158,#10182b); }.community-feed-card--discussion .community-feed-card__visual { background: radial-gradient(circle at 20% 25%,rgba(226,108,48,.38),transparent 40%),linear-gradient(135deg,#372016,#151824); }
.community-feed-card__content { display: flex; min-width: 0; padding: 12px 16px; flex-direction: column; }.community-feed-card__top { display: flex; align-items: center; justify-content: space-between; }.community-feed-card__kind { display: flex; align-items: center; gap: 5px; color: #a36fff; font-size: 8px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }.community-feed-card__kind .material-symbols-rounded { font-size: 14px; }.community-feed-card__top > button { padding: 0; border: 0; color: #7d899c; background: transparent; cursor: pointer; }.community-feed-card__top > button[aria-pressed=true] { color: #af82ff; }.community-feed-card__top > button .material-symbols-rounded { font-size: 18px; }.community-feed-card__content h3 { margin: 5px 0 2px; color: #f5f7fb; font-size: 13px; }.community-feed-card__content > small { color: #929eb1; font-size: 9px; }.community-feed-card__content > p { margin: 4px 0 7px; color: #a7b1c0; font-size: 9px; line-height: 1.45; }.community-feed-card__content footer { display: flex; margin-top: auto; align-items: center; gap: 18px; color: #8f9bae; font-size: 9px; }.community-feed-card__content footer > span:not(.community-avatar-stack) { display: flex; align-items: center; gap: 5px; }.community-feed-card__content footer .material-symbols-rounded { font-size: 14px; }.community-feed-card__content footer > button { min-width: 126px; min-height: 31px; margin-left: auto; border: 1px solid #6a40d5; border-radius: 5px; color: #fff; background: linear-gradient(90deg,#3b2ba0,#5526c6); font: 700 9px var(--font-body); cursor: pointer; }.community-feed-card--news .community-feed-card__content footer > button { border-color: #b9416e; background: #a73460; }.community-feed-card--project .community-feed-card__content footer > button { border-color: #3f9961; background: #31834f; }.community-feed-card--discussion .community-feed-card__content footer > button { border-color: #cc692f; background: #b85627; }
.community-project-metrics { display: grid; margin: 3px 0 7px; grid-template-columns: repeat(3,1fr); gap: 6px; }.community-project-metrics span { display: flex; min-height: 37px; padding: 6px 10px; justify-content: center; flex-direction: column; border: 1px solid #263a36; border-radius: 5px; background: rgba(31,73,60,.25); }.community-project-metrics strong { color: #5bc879; font-size: 11px; }.community-project-metrics small { margin-top: 2px; color: #8ea39b; font-size: 8px; }
.community-sidebar .community-panel { background: linear-gradient(145deg,#0c1420,#090f19); }.community-people { margin-top: 11px; }.community-people > div { display: grid; min-height: 42px; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 8px; }.community-people i { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#967044,#33241e); font-size: 8px; font-style: normal; font-weight: 800; }.community-people span { display: flex; min-width: 0; flex-direction: column; }.community-people strong { color: #e8ebf2; font-size: 9px; }.community-people small { margin-top: 2px; color: #8490a3; font-size: 8px; }.community-people button { min-width: 79px; height: 25px; border: 1px solid #6d4ab4; border-radius: 4px; color: #c5aaff; background: transparent; font-size: 8px; cursor: pointer; }.community-people button.is-connected { border-color: #397d55; color: #73d394; background: rgba(46,115,75,.16); }.community-text-link { display: flex; margin-top: 8px; padding: 0; align-items: center; gap: 5px; border: 0; color: #a779ff; background: transparent; font: 700 9px var(--font-body); cursor: pointer; }.community-text-link .material-symbols-rounded { font-size: 13px; }
.community-checklist { display: grid; margin-top: 12px; grid-template-columns: 1fr 1fr; gap: 10px 8px; }.community-checklist label { display: flex; align-items: center; gap: 6px; color: #aab4c2; font-size: 8px; cursor: pointer; }.community-checklist input { width: 13px; height: 13px; margin: 0; accent-color: #57c278; }.community-checklist input:checked + span { color: #dce4df; }
.community-agenda__list { margin-top: 10px; }.community-agenda__list > button { display: grid; width: 100%; min-height: 46px; padding: 4px 0; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 9px; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }.community-agenda time { display: flex; width: 34px; height: 37px; align-items: center; justify-content: center; flex-direction: column; border: 1px solid #3a365a; border-radius: 5px; color: #bd9cff; background: #17152b; }.community-agenda time strong { font-size: 12px; }.community-agenda time small { font-size: 7px; }.community-agenda__list span { display: flex; flex-direction: column; }.community-agenda__list span strong { color: #d9dee7; font-size: 9px; }.community-agenda__list span small { margin-top: 3px; color: #7f8b9e; font-size: 8px; }
.community-support { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; }.community-support__icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 8px; color: #ab6fff; background: #20173b; }.community-support h3 { margin: 0; color: #f0f2f7; font-size: 11px; }.community-support p { margin: 4px 0 0; color: #8f9bad; font-size: 8px; line-height: 1.45; }.community-support button { min-height: 31px; grid-column: 1 / -1; border: 1px solid #7047bc; border-radius: 4px; color: #bd92ff; background: rgba(85,43,157,.12); font: 700 9px var(--font-body); cursor: pointer; }.community-support button .material-symbols-rounded { font-size: 13px; vertical-align: middle; }
.community-feed__empty { min-height: 210px; padding: 30px; align-items: center; justify-content: center; flex-direction: column; border: 1px dashed #334055; border-radius: 10px; color: #8290a4; }.community-feed__empty:not([hidden]) { display: flex; }.community-feed__empty > .material-symbols-rounded { font-size: 34px; }.community-feed__empty strong { margin-top: 8px; color: #dfe4ed; }.community-feed__empty span { margin-top: 4px; font-size: 10px; }
@media (max-width: 1450px) { .community-hub-shell .app-shell,body.community-hub-shell.sidebar-state-rail-hidden .app-shell,body.community-hub-shell.sidebar-state-compact .app-shell { grid-template-columns: 88px minmax(0,1fr); }.rail-hub { width: 77px; }.community-hub__intro-grid { grid-template-columns: minmax(280px,1fr) minmax(390px,1.4fr); }.community-booking { grid-column: 1 / -1; display: grid; min-height: auto; grid-template-columns: 1fr auto; align-items: center; gap: 8px 18px; }.community-booking .community-avatar-stack,.community-booking h3,.community-booking p { grid-column: 1; }.community-booking .community-button { width: 250px; grid-column: 2; grid-row: 2 / 6; }.community-hub__body-grid { grid-template-columns: minmax(0,1fr) 300px; } }
@media (max-width: 1050px) { .community-hub__intro-grid { grid-template-columns: 1fr; }.community-booking { grid-column: auto; }.community-hub__body-grid { grid-template-columns: 1fr; }.community-sidebar { display: grid; grid-template-columns: repeat(2,1fr); }.community-feed-card { grid-template-columns: 240px minmax(0,1fr); } }
@media (max-width: 900px) { .community-hub-shell .app-shell,body.community-hub-shell.sidebar-state-rail-hidden .app-shell,body.community-hub-shell.sidebar-state-compact .app-shell { grid-template-columns: 74px minmax(0,1fr); }.community-hub-shell .app-main { grid-column: 2; }.community-hub-shell .mobile-menu-button,.community-hub-shell .app-search { display: none; }.rail-hub { width: 66px; }.community-hub-shell .app-content { padding: 13px; } }
@media (max-width: 680px) { .community-hub-shell .app-shell,body.community-hub-shell.sidebar-state-rail-hidden .app-shell,body.community-hub-shell.sidebar-state-compact .app-shell { grid-template-columns: 1fr; }.community-hub-shell .app-main { grid-column: 1; }.community-hub-shell .app-title-icon { display: none; }.community-hub-shell .app-content { padding: 11px; }.rail-hub { width: 57px; min-width: 57px; min-height: 50px; margin: 0; padding: 4px 2px; border-color: transparent; background: transparent; box-shadow: none; }.rail-hub > span { width: 32px; height: 32px; border-radius: 8px; }.rail-hub strong { font-size: 8px; }.rail-hub small { display: none; }.community-stats { padding: 10px; grid-template-columns: repeat(2,1fr); }.community-stats article { height: 115px; }.community-booking { display: flex; }.community-booking .community-button { width: 100%; margin-top: 13px; }.community-feed-card { grid-template-columns: 1fr; }.community-feed-card__visual { min-height: 120px; border-right: 0; border-bottom: 1px solid var(--community-line); }.community-feed-card__content { min-height: 165px; }.community-feed-card__content footer { flex-wrap: wrap; gap: 8px 15px; }.community-feed-card__content footer > button { width: 100%; margin-left: 0; }.community-sidebar { grid-template-columns: 1fr; }.community-hub__status { right: 12px; bottom: 78px; left: 12px; max-width: none; }.community-project-metrics { grid-template-columns: 1fr; } }

/* Raffinement éditorial du Hub Communauté. */
.community-hub__intro-grid { grid-template-columns: minmax(340px,1.05fr) minmax(500px,1.38fr) minmax(285px,.78fr); align-items: stretch; }
.community-hero,.community-stats,.community-booking { min-height: 194px; }
.community-hero { padding: 26px 25px; }
.community-hero h2 { margin-top: 10px; font-size: clamp(20px,1.65vw,27px); }
.community-stats { padding: 20px; gap: 11px; }
.community-stats article { height: 134px; }
.community-hub__body-grid { grid-template-columns: minmax(0,1fr) minmax(290px,325px); align-items: start; }
.community-feed-card { min-height: 137px; grid-template-columns: minmax(250px,28%) minmax(0,1fr); }
.community-feed-card__visual { min-height: 137px; padding: 0; justify-content: center; background-image: linear-gradient(180deg,rgba(4,8,15,.02),rgba(4,8,15,.34)),var(--community-image); background-position: center; background-size: cover; }
.community-feed-card__visual::after { inset: 0; width: auto; height: auto; transform: none; border: 0; border-radius: 0; background: linear-gradient(90deg,transparent 70%,rgba(5,10,18,.42)); }
.community-feed-card__visual > span { z-index: 2; top: 50%; left: 50%; display: grid; width: 42px; height: 42px; place-items: center; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #fff; background: rgba(25,14,53,.68); backdrop-filter: blur(4px); }
.community-feed-card__visual > span .material-symbols-rounded { font-size: 25px; }
.community-feed-card__visual--product { background: radial-gradient(circle at 34% 32%,rgba(78,209,131,.28),transparent 38%),linear-gradient(135deg,#102e25,#101927); }
.community-feed-card__visual--product > span { color: #72dc95; background: rgba(19,69,48,.62); }
.community-feed-card__visual--product > div { position: absolute; display: flex; inset: 25px 28px; padding: 17px; align-items: flex-end; gap: 8px; border: 1px solid rgba(105,215,146,.24); border-radius: 8px; background: linear-gradient(145deg,rgba(11,26,30,.7),rgba(28,75,57,.55)); }
.community-feed-card__visual--product > div i { display: block; height: 38%; flex: 1; border-radius: 4px 4px 1px 1px; background: #4bb477; }
.community-feed-card__visual--product > div i:nth-child(2) { height: 67%; background: #66cf91; }
.community-feed-card__visual--product > div i:nth-child(3) { height: 88%; background: #97e5b4; }
.community-feed-card__content { padding: 12px 17px; }
.community-feed-card__content h3 { font-size: 13px; line-height: 1.35; }
.community-feed-card__content > p { max-width: 800px; }
.community-avatar-stack i { padding: 0; overflow: hidden; background: #273245; }
.community-avatar-stack i img,.community-people i img { width: 100%; height: 100%; object-fit: cover; }
.community-people i { padding: 0; overflow: hidden; }
.community-panel { padding: 14px 15px; }
.community-sidebar { gap: 9px; }

.community-content-dialog { width: min(790px,calc(100vw - 30px)); max-height: calc(100vh - 34px); padding: 0; overflow: hidden auto; border: 1px solid #324057; border-radius: 14px; color: #edf1f7; background: #0a111d; box-shadow: 0 30px 90px rgba(0,0,0,.58); }
.community-content-dialog::backdrop { background: rgba(3,7,13,.76); backdrop-filter: blur(4px); }
.community-content-dialog__close { position: absolute; z-index: 3; top: 13px; right: 13px; display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; color: #fff; background: rgba(5,9,16,.65); cursor: pointer; backdrop-filter: blur(6px); }
.community-content-dialog__media { position: relative; display: flex; min-height: 280px; align-items: center; justify-content: center; background-color: #131c2b; background-position: center; background-size: cover; }
.community-content-dialog__media > span { display: grid; width: 62px; height: 62px; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #fff; background: rgba(58,27,129,.68); backdrop-filter: blur(7px); }
.community-content-dialog__media > span .material-symbols-rounded { font-size: 34px; }
.community-content-dialog__media--resource { min-height: 190px; background-image: radial-gradient(circle at 20% 25%,rgba(52,92,231,.55),transparent 40%),linear-gradient(135deg,#122158,#10182b) !important; }
.community-content-dialog__media--project { background-position: center 38%; }
.community-content-dialog__body { padding: 24px 27px 26px; }
.community-content-dialog__kind { display: inline-flex; padding: 5px 8px; border-radius: 5px; color: #c9b1ff; background: #25194a; font-size: 11px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }
.community-content-dialog__body h2 { margin: 12px 0 5px; color: #fff; font: 800 25px/1.25 var(--font-display); letter-spacing: -.35px; }
.community-content-dialog__date { margin: 0; color: #9ba7b9; font-size: 12px; }
.community-content-dialog__copy { margin-top: 20px; padding-top: 18px; border-top: 1px solid #263246; color: #bdc5d1; font-size: 13px; line-height: 1.65; }
.community-content-dialog__copy p { margin: 0 0 18px; }
.community-content-dialog__copy h4 { margin: 0 0 9px; color: #f1f3f8; font-size: 14px; }
.community-content-dialog__copy ul { display: grid; margin: 0; padding-left: 19px; gap: 7px; }
.community-content-dialog__copy li::marker { color: #9a6cff; }
.community-content-dialog__body footer { display: flex; margin-top: 24px; justify-content: flex-end; gap: 9px; }
.community-content-dialog__body footer button { min-height: 39px; padding: 0 16px; border-radius: 7px; font: 750 12px var(--font-body); cursor: pointer; }
.community-content-dialog__secondary { border: 1px solid #364257; color: #b8c1cf; background: #101927; }
.community-content-dialog__primary { border: 1px solid #774ae6; color: #fff; background: linear-gradient(90deg,#5420ca,#7428df); box-shadow: 0 8px 18px rgba(83,31,207,.23); }

@media (max-width:1450px) {
  .community-hub__intro-grid { grid-template-columns: minmax(300px,1fr) minmax(430px,1.35fr); }
}
@media (max-width:1050px) {
  .community-hub__intro-grid { grid-template-columns: 1fr; }
  .community-feed-card { grid-template-columns: 240px minmax(0,1fr); }
}
@media (max-width:680px) {
  .community-feed-card { grid-template-columns: 1fr; }
  .community-content-dialog__media { min-height: 190px; }
  .community-content-dialog__body { padding: 20px 17px; }
  .community-content-dialog__body h2 { font-size: 20px; }
  .community-content-dialog__body footer { align-items: stretch; flex-direction: column-reverse; }
}

/* Platform administration overview */
.admin-overview-shell .app-shell,body.admin-overview-shell.sidebar-state-rail-hidden .app-shell,body.admin-overview-shell.sidebar-state-compact .app-shell { grid-template-columns:104px minmax(0,1fr); background:var(--navy-950); }
.admin-overview-shell .project-rail,body.admin-overview-shell.sidebar-state-rail-hidden .project-rail,body.admin-overview-shell.sidebar-state-compact .project-rail { opacity:1; visibility:visible; overflow-y:auto; pointer-events:auto; }
.admin-overview-shell .app-sidebar { display:none; }.admin-overview-shell .app-main { grid-column:2; }.admin-overview-shell .app-content { padding:24px 28px 30px; }.admin-overview { width:min(1660px,100%); margin:0 auto; }
.admin-tabs { margin-top:18px; }.admin-tabs a small { display:grid; min-width:22px; height:20px; padding:0 6px; place-items:center; border-radius:10px; color:#6741d4; background:#eee9ff; font-size:10px; font-weight:800; }.admin-tabs a.is-active small { color:#5528d7; background:#fff; }
.admin-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(180px,1fr)); gap:14px; }.admin-kpi { display:grid; min-height:102px; padding:17px 18px; grid-template-columns:45px minmax(0,1fr); align-items:center; gap:13px; border:1px solid #e0e5ed; border-radius:11px; background:#fff; box-shadow:0 7px 22px rgba(29,39,62,.045); }.admin-kpi > span { display:grid; width:43px; height:43px; place-items:center; border-radius:10px; }.admin-kpi > span .material-symbols-rounded { font-size:23px; }.admin-kpi > div { display:grid; grid-template-columns:auto 1fr; align-items:end; column-gap:12px; }.admin-kpi small { grid-column:1 / -1; color:#66738a; font-size:10px; }.admin-kpi strong { margin-top:2px; color:#101a31; font:800 25px var(--font-display); }.admin-kpi em { align-self:center; color:#31a161; font-size:8px; font-style:normal; }.admin-kpi em.is-alert { color:#e25359; }.admin-kpi--violet > span { color:#6436e4; background:#f1edff; }.admin-kpi--green > span { color:#29926c; background:#e8f6f1; }.admin-kpi--orange > span { color:#e49a24; background:#fff4df; }.admin-kpi--blue > span { color:#3b8fe1; background:#eaf4ff; }
.admin-overview__workspace { display:grid; margin-top:15px; grid-template-columns:minmax(0,1fr) 330px; align-items:start; gap:15px; }.admin-projects-panel,.admin-activity-panel { overflow:hidden; border:1px solid #e0e5ed; border-radius:11px; background:#fff; box-shadow:0 8px 24px rgba(29,39,62,.045); }.admin-panel-head { display:flex; min-height:83px; padding:15px 18px; align-items:center; justify-content:space-between; border-bottom:1px solid #e7eaf0; }.admin-panel-head .eyebrow,.admin-activity-panel .eyebrow { color:#6842e5; font-size:8px; }.admin-panel-head h2,.admin-activity-panel h2 { margin:3px 0 0; color:#18223a; font-size:14px; }.admin-panel-head p { margin:3px 0 0; color:#78849a; font-size:9px; }.admin-panel-head .button { font-size:9px; }
.admin-project-filters { display:grid; padding:12px 15px; grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(115px,.55fr)); align-items:end; gap:8px; border-bottom:1px solid #edf0f4; background:#fbfcfe; }.admin-project-filters label { display:flex; flex-direction:column; gap:4px; }.admin-project-filters label > span { color:#707c91; font-size:8px; font-weight:700; }.admin-project-filters select,.admin-project-search { height:34px; border:1px solid #dce2eb; border-radius:7px; color:#34415a; background:#fff; font:9px var(--font-body); }.admin-project-filters select { width:100%; padding:0 8px; outline:none; }.admin-project-search { display:flex !important; padding:0 10px; align-items:center; flex-direction:row !important; gap:7px; }.admin-project-search > span { color:#77849a !important; font-size:17px !important; }.admin-project-search input { width:100%; border:0; outline:0; color:#26334b; background:transparent; font:9px var(--font-body); }.admin-filter-summary { display:flex; min-height:34px; padding:7px 15px; align-items:center; gap:4px; color:#7a869a; border-bottom:1px solid #edf0f4; font-size:8px; }.admin-filter-summary strong { color:#3a4861; }.admin-filter-summary button { margin-left:auto; padding:0; border:0; color:#6238df; background:transparent; font:700 8px var(--font-body); cursor:pointer; }
.admin-project-table-wrap { width:100%; overflow-x:auto; }.admin-project-table { width:100%; min-width:1060px; border-collapse:collapse; }.admin-project-table th { height:34px; padding:0 11px; color:#68758a; background:#f6f8fb; font-size:8px; font-weight:700; text-align:left; white-space:nowrap; }.admin-project-table td { height:65px; padding:8px 11px; border-top:1px solid #edf0f4; color:#4c5a70; font-size:9px; vertical-align:middle; }.admin-project-table tbody tr { transition:background .15s; }.admin-project-table tbody tr:hover { background:#faf9ff; }.admin-project-identity { display:flex; min-width:210px; align-items:center; gap:9px; color:inherit; }.admin-project-identity > span { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; overflow:hidden; border-radius:8px; color:#fff; background:var(--project-color); font-weight:800; }.admin-project-identity > span img { width:100%; height:100%; padding:3px; object-fit:contain; background:#fff; }.admin-project-identity div,.admin-project-owner,.admin-next-step { display:flex; flex-direction:column; }.admin-project-identity strong,.admin-project-owner strong,.admin-next-step strong { color:#253149; font-size:9px; }.admin-project-identity small,.admin-project-owner small,.admin-next-step small { display:block; max-width:210px; margin-top:3px; overflow:hidden; color:#7d899c; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.admin-model-pill,.admin-status { display:inline-flex; min-height:22px; padding:0 8px; align-items:center; border-radius:5px; font-size:8px; font-weight:700; }.admin-model-pill { color:#5d38d3; background:#f0ecff; }.admin-location { display:flex; align-items:center; gap:3px; white-space:nowrap; }.admin-location .material-symbols-rounded { color:#8c97a8; font-size:13px; }.admin-status--active { color:#277a50; background:#eaf7ef; }.admin-status--paused { color:#b17416; background:#fff3dd; }.admin-status--archived { color:#687386; background:#eef1f5; }.admin-progress { display:flex; min-width:105px; align-items:center; gap:8px; }.admin-progress i { width:72px; height:4px; overflow:hidden; border-radius:4px; background:#e6e9ef; }.admin-progress i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6740e5,#4a23d4); }.admin-progress span { color:#5d687d; font-size:8px; }.admin-project-open { display:grid; width:26px; height:26px; place-items:center; border:1px solid #e0e4eb; border-radius:6px; color:#6240d2; }.admin-project-open .material-symbols-rounded { font-size:15px; }.admin-project-empty { min-height:240px; padding:35px; align-items:center; justify-content:center; flex-direction:column; color:#8a95a7; }.admin-project-empty:not([hidden]) { display:flex; }.admin-project-empty > .material-symbols-rounded { color:#8f7ac8; font-size:35px; }.admin-project-empty strong { margin-top:8px; color:#344059; }.admin-project-empty span { margin-top:4px; font-size:9px; }.admin-project-empty button { margin-top:12px; border:0; color:#6238df; background:transparent; font-weight:700; cursor:pointer; }
.admin-row-actions { display:flex; align-items:center; gap:5px; white-space:nowrap; }.admin-row-actions form { margin:0; }.admin-action-button { display:grid; width:26px; height:26px; padding:0; place-items:center; border:1px solid #e0e4eb; border-radius:6px; background:#fff; cursor:pointer; }.admin-action-button .material-symbols-rounded { font-size:15px; }.admin-action-button--warning { color:#a7660e; border-color:#ecd8b9; background:#fffaf1; }.admin-action-button--danger { color:#c93649; border-color:#efcbd1; background:#fff7f8; }
.admin-users-panel { margin-top:15px; }.admin-user-toolbar { display:grid; padding:12px 16px; grid-template-columns:minmax(280px,1fr) 190px 190px; gap:9px; border-bottom:1px solid #edf0f4; background:#fbfcfe; }.admin-user-toolbar > label:not(.admin-project-search) { display:flex; min-width:0; flex-direction:column; gap:4px; color:#778399; font-size:10px; }.admin-user-toolbar select { min-height:36px; padding:0 10px; border:1px solid #dfe4ec; border-radius:7px; color:#465268; background:#fff; font:500 10px var(--font-body); }.admin-user-table { min-width:900px; }.admin-user-identity { display:flex; min-width:230px; align-items:center; gap:9px; }.admin-user-identity > span { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border-radius:9px; color:#5630d6; background:#eee9ff; font-weight:800; }.admin-user-identity > div { display:flex; min-width:0; flex-direction:column; gap:3px; }.admin-user-identity strong { color:#253149; font-size:10px; }.admin-user-identity small { color:#7d899c; font-size:10px; }.admin-role-pill { display:inline-flex; min-height:23px; padding:0 8px; align-items:center; border-radius:6px; font-size:10px; font-weight:700; }.admin-role-pill--admin { color:#5530c8; background:#eee9ff; }.admin-role-pill--user { color:#496079; background:#eef3f7; }.admin-status--blocked { color:#b52f43; background:#fff0f2; }.admin-text-action { display:inline-flex; min-height:29px; padding:0 9px; align-items:center; gap:5px; border:1px solid #dfe3ea; border-radius:7px; background:#fff; font:700 10px var(--font-body); cursor:pointer; }.admin-text-action .material-symbols-rounded { font-size:15px; }.admin-text-action.is-warning { color:#9c620d; border-color:#ead5b2; background:#fffaf1; }.admin-text-action.is-success { color:#24784d; border-color:#c5e5d2; background:#f2fbf6; }.admin-text-action.is-danger { color:#bd3044; border-color:#eec8ce; background:#fff6f7; }.admin-self-protection { display:inline-flex; align-items:center; gap:5px; color:#67748a; font-size:10px; font-weight:650; }.admin-self-protection .material-symbols-rounded { color:#5c39cf; font-size:16px; }
.admin-user-identity { padding:0; border:0; background:transparent; font-family:var(--font-body); text-align:left; cursor:pointer; }.admin-user-identity > span { overflow:hidden; }.admin-user-identity > span img { width:100%; height:100%; object-fit:cover; }.admin-user-identity > .material-symbols-rounded { margin-left:auto; color:#a2aabc; font-size:17px; transition:color .16s,transform .16s; }.admin-user-identity:hover > .material-symbols-rounded { color:#5b2dea; transform:translateX(2px); }.admin-user-dialog { width:min(780px,calc(100vw - 30px)); max-height:min(860px,calc(100vh - 30px)); padding:0; overflow:hidden auto; border:0; border-radius:18px; color:#17233b; background:#fff; box-shadow:0 28px 90px rgba(14,20,38,.28); }.admin-user-dialog::backdrop { background:rgba(10,17,35,.58); backdrop-filter:blur(5px); }.admin-user-dialog__head { display:grid; padding:24px 26px 20px; grid-template-columns:58px minmax(0,1fr) 38px; align-items:center; gap:14px; border-bottom:1px solid #e9ecf2; background:linear-gradient(135deg,#faf9ff,#fff); }.admin-user-dialog__avatar { display:grid; width:58px; height:58px; place-items:center; overflow:hidden; border-radius:15px; color:#fff; background:linear-gradient(145deg,#6f42eb,#4220c8); font-size:18px; font-weight:800; }.admin-user-dialog__avatar img { width:100%; height:100%; object-fit:cover; }.admin-user-dialog__head > div { min-width:0; }.admin-user-dialog__head small { color:#6439dc; font-size:10px; font-weight:800; letter-spacing:.1em; }.admin-user-dialog__head h2 { margin:3px 0 2px; font:800 23px var(--font-display); }.admin-user-dialog__head p { margin:0; color:#748096; font-size:11px; }.admin-user-dialog__head > button { display:grid; width:36px; height:36px; place-items:center; border:1px solid #e1e5ed; border-radius:9px; color:#657188; background:#fff; cursor:pointer; }.admin-user-dialog__meta { display:grid; padding:18px 26px; grid-template-columns:repeat(4,1fr); gap:10px; border-bottom:1px solid #edf0f4; }.admin-user-dialog__meta > span { display:flex; min-width:0; flex-direction:column; gap:5px; }.admin-user-dialog__meta small { color:#8993a5; font-size:10px; }.admin-user-dialog__meta strong { font-size:11px; }.admin-user-plan { width:max-content; padding:4px 8px; border-radius:6px; color:#536076; background:#eef2f6; }.admin-user-plan--managed { color:#5b2bd4; background:#eee8ff; }.admin-user-dialog__projects,.admin-user-development { padding:22px 26px; }.admin-user-dialog__projects { border-bottom:1px solid #edf0f4; }.admin-user-dialog__projects > header { display:flex; margin-bottom:14px; align-items:flex-start; justify-content:space-between; gap:14px; }.admin-user-dialog__projects h3,.admin-user-development h3 { margin:0 0 4px; font-size:13px; }.admin-user-dialog__projects p,.admin-user-development p { margin:0; color:#7b8699; font-size:10px; line-height:1.5; }.admin-user-dialog__projects > header > span { padding:4px 8px; border-radius:99px; color:#6037d4; background:#f0ecff; font-size:10px; font-weight:750; }.admin-user-project-list { display:grid; gap:8px; }.admin-user-project-list article { display:grid; min-height:65px; padding:10px 11px; grid-template-columns:42px minmax(0,1fr) auto 30px; align-items:center; gap:10px; border:1px solid #e3e7ee; border-radius:10px; background:#fff; }.admin-user-project-list article.is-development-eligible { border-color:#b9a7f4; background:#faf8ff; box-shadow:inset 3px 0 #6334e5; }.admin-user-project-list .project-avatar { width:42px; height:42px; border-radius:10px; }.admin-user-project-list article > div { display:grid; min-width:0; gap:2px; }.admin-user-project-list strong { font-size:11px; }.admin-user-project-list small { overflow:hidden; color:#7c879a; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.admin-user-project-list em { width:max-content; margin-top:2px; color:#6037d5; font-size:9px; font-style:normal; font-weight:700; }.admin-user-project-list article > b { display:inline-flex; padding:5px 8px; align-items:center; gap:4px; border-radius:7px; color:#5630ca; background:#ede7ff; font-size:9px; }.admin-user-project-list article > b .material-symbols-rounded { font-size:14px; }.admin-user-project-list article > a { display:grid; width:28px; height:28px; place-items:center; border:1px solid #e0e4ec; border-radius:7px; color:#5e38cb; }.admin-user-project-list article > a .material-symbols-rounded { font-size:15px; }.admin-user-dialog__empty { display:flex; min-height:85px; align-items:center; justify-content:center; flex-direction:column; gap:6px; color:#8b95a7; font-size:10px; }.admin-user-development > header { display:flex; margin-bottom:15px; align-items:flex-start; gap:10px; }.admin-user-development > header > span { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:10px; color:#5d2fdd; background:#eee8ff; }.admin-user-development form { display:grid; gap:15px; }.admin-user-development fieldset { display:grid; padding:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; border:0; }.admin-user-development legend { margin-bottom:8px; color:#536077; font-size:10px; font-weight:750; }.admin-user-development label { position:relative; cursor:pointer; }.admin-user-development label > input { position:absolute; opacity:0; pointer-events:none; }.admin-user-development label > span { display:grid; min-height:65px; padding:10px 10px 10px 39px; align-content:center; border:1px solid #dfe4ec; border-radius:10px; background:#fff; }.admin-user-development label > span > .material-symbols-rounded { position:absolute; top:50%; left:12px; color:#8e98aa; font-size:18px; transform:translateY(-50%); }.admin-user-development label strong,.admin-user-development label small { display:block; }.admin-user-development label strong { font-size:10px; }.admin-user-development label small { margin-top:3px; color:#808b9e; font-size:9px; }.admin-user-development label > input:checked + span { border-color:#6840dc; background:#f7f4ff; box-shadow:0 0 0 2px rgba(98,53,220,.1); }.admin-user-development label > input:checked + span > .material-symbols-rounded { color:#5c2edb; }.admin-user-development form > .button { width:max-content; margin-left:auto; }.admin-user-development__locked { display:flex; padding:14px; align-items:center; gap:11px; border:1px solid #e2e6ed; border-radius:10px; background:#f8f9fb; }.admin-user-development__locked > .material-symbols-rounded { color:#8893a6; }.admin-user-development__locked strong { font-size:11px; }.admin-user-development__locked p { margin-top:3px; }.admin-user-dialog__empty > .material-symbols-rounded { font-size:26px; }
.admin-activity-panel > header { display:flex; min-height:83px; padding:15px 17px; align-items:center; justify-content:space-between; border-bottom:1px solid #e7eaf0; }.admin-live-indicator { display:flex; align-items:center; gap:5px; color:#4f8c68; font-size:8px; }.admin-live-indicator i { width:6px; height:6px; border-radius:50%; background:#50bd77; box-shadow:0 0 0 4px rgba(80,189,119,.12); }.admin-activity-list { padding:0 15px; }.admin-activity-list article { display:grid; min-height:77px; padding:13px 0; grid-template-columns:36px minmax(0,1fr) 19px; align-items:start; gap:9px; border-bottom:1px solid #edf0f4; }.admin-activity-list article:last-child { border:0; }.admin-activity-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:8px; color:#6a3ee4; background:#f0ebff; }.admin-activity-icon--deployment { color:#fff; background:linear-gradient(145deg,#6c39ed,#4e25c9); }.admin-activity-icon--document { color:#347fd2; background:#eaf4ff; }.admin-activity-icon .material-symbols-rounded { font-size:18px; }.admin-activity-list article > div { min-width:0; }.admin-activity-list strong { display:block; overflow:hidden; color:#2b374e; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.admin-activity-list p { margin:4px 0 0; overflow:hidden; color:#768297; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.admin-activity-list time { display:block; margin-top:5px; color:#9aa4b4; font-size:8px; }.admin-activity-list article > a { color:#7c8799; }.admin-activity-list article > a .material-symbols-rounded { font-size:17px; }.admin-activity-empty { padding:25px; color:#8490a4; font-size:9px; text-align:center; }
@media (max-width:1450px) { .admin-overview-shell .app-shell,body.admin-overview-shell.sidebar-state-rail-hidden .app-shell,body.admin-overview-shell.sidebar-state-compact .app-shell { grid-template-columns:88px minmax(0,1fr); }.admin-project-filters { grid-template-columns:repeat(4,1fr); }.admin-project-search { grid-column:1 / -1; }.admin-overview__workspace { grid-template-columns:minmax(0,1fr) 290px; } }
@media (max-width:1050px) { .admin-kpi-grid { grid-template-columns:repeat(2,1fr); }.admin-overview__workspace { grid-template-columns:1fr; }.admin-activity-panel { order:-1; }.admin-activity-list { display:grid; grid-template-columns:repeat(2,1fr); gap:0 20px; } }
@media (max-width:850px) { .admin-user-toolbar { grid-template-columns:1fr 1fr; }.admin-user-toolbar .admin-project-search { grid-column:1 / -1; } }
@media (max-width:680px) { .admin-user-dialog__head { padding:20px; grid-template-columns:48px minmax(0,1fr) 34px; }.admin-user-dialog__avatar { width:48px; height:48px; border-radius:12px; }.admin-user-dialog__head h2 { font-size:19px; }.admin-user-dialog__meta { padding:15px 20px; grid-template-columns:repeat(2,1fr); }.admin-user-dialog__projects,.admin-user-development { padding:20px; }.admin-user-project-list article { grid-template-columns:38px minmax(0,1fr) 28px; }.admin-user-project-list article > b { grid-column:2; width:max-content; }.admin-user-project-list article > a { grid-column:3; grid-row:1; }.admin-user-development fieldset { grid-template-columns:1fr; }.admin-user-development form > .button { width:100%; } }
.admin-user-table { min-width:980px; }
.admin-user-plan { display:inline-flex; min-height:23px; align-items:center; font-size:10px; font-weight:750; }
.admin-user-plan--team { color:#176b8a; background:#e7f6fb; }
.admin-user-development__hint { display:flex; margin:0; align-items:flex-start; gap:6px; color:#6f7b90; font-size:10px; line-height:1.45; }
.admin-user-development__hint .material-symbols-rounded { flex:0 0 auto; color:#6537dd; font-size:16px; }
.admin-user-dialog__projects--eligibility { padding-top:20px; border-bottom:0; }
.admin-user-dialog__projects--eligibility > form { display:grid; gap:14px; }
.admin-user-projects-head { display:flex; margin-bottom:14px; align-items:center; justify-content:space-between; gap:15px; }
.admin-user-dialog__projects--eligibility > form .admin-user-projects-head { margin-bottom:0; }
.admin-user-projects-head__title { display:flex; min-width:0; align-items:flex-start; gap:10px; }
.admin-user-projects-head__title > span { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:10px; color:#5d2fdd; background:#eee8ff; }
.admin-user-projects-head__title > span .material-symbols-rounded { font-size:20px; }
.admin-user-projects-head__title h3 { margin:0 0 4px; }
.admin-user-projects-head__title p { margin:0; }
.admin-user-projects-head__actions { display:flex; flex:0 0 auto; align-items:center; gap:9px; }
.admin-user-projects-head__actions > span { padding:4px 8px; border-radius:99px; color:#6037d4; background:#f0ecff; font-size:10px; font-weight:750; }
.admin-user-projects-head__actions .button { min-height:34px; padding:0 12px; font-size:10px; }
.admin-user-dialog__projects--eligibility .admin-user-project-list { margin-top:12px; }
.admin-user-dialog__projects--eligibility form .admin-user-project-list { margin-top:0; }
.admin-user-dialog__projects--eligibility .admin-user-project-list article { grid-template-columns:minmax(0,1fr) 30px; padding:0 10px 0 0; transition:border-color .16s,background .16s,box-shadow .16s,transform .16s; }
.admin-user-dialog__projects--eligibility .admin-user-project-list article.is-selectable:hover { border-color:#bcaaf3; background:#fbf9ff; transform:translateY(-1px); }
.admin-user-project-choice { position:relative; display:grid; min-height:64px; padding:10px 4px 10px 11px; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:10px; border-radius:10px; }
label.admin-user-project-choice { cursor:pointer; }
.admin-user-project-choice > input { position:absolute; opacity:0; pointer-events:none; }
.admin-user-project-choice > div { display:grid; min-width:0; gap:2px; }
.admin-user-project-choice > b { display:inline-flex; min-width:92px; min-height:29px; padding:5px 9px; align-items:center; justify-content:center; gap:4px; border-radius:7px; color:#6e7890; background:#f0f2f6; font-size:9px; }
.admin-user-project-choice > b .material-symbols-rounded { font-size:14px; }
.is-development-eligible .admin-user-project-choice > b { color:#5630ca; background:#ede7ff; }
.admin-user-dialog__projects--eligibility .admin-user-project-list article > a { grid-column:2; grid-row:1; }
.admin-user-dialog__projects--eligibility .admin-user-development__locked { margin:0 0 12px; }
@media (max-width:680px) { .admin-user-projects-head { align-items:stretch; flex-direction:column; }.admin-user-projects-head__actions { justify-content:space-between; }.admin-user-projects-head__actions .button { flex:1; }.admin-user-project-choice { grid-template-columns:38px minmax(0,1fr); }.admin-user-project-choice > b { grid-column:2; width:max-content; min-width:0; }.admin-user-dialog__projects--eligibility .admin-user-project-list article { grid-template-columns:minmax(0,1fr) 30px; }.admin-user-dialog__projects--eligibility .admin-user-project-list article > a { grid-column:2; grid-row:1; } }
@media (max-width:900px) { .admin-overview-shell .app-shell,body.admin-overview-shell.sidebar-state-rail-hidden .app-shell,body.admin-overview-shell.sidebar-state-compact .app-shell { grid-template-columns:74px minmax(0,1fr); }.admin-overview-shell .app-main { grid-column:2; }.admin-overview-shell .mobile-menu-button { display:none; }.admin-overview-shell .app-content { padding:18px; } }
@media (max-width:680px) { .admin-overview-shell .app-shell,body.admin-overview-shell.sidebar-state-rail-hidden .app-shell,body.admin-overview-shell.sidebar-state-compact .app-shell { grid-template-columns:1fr; }.admin-overview-shell .app-main { grid-column:1; }.admin-overview-shell .app-title-icon { display:none; }.admin-overview-shell .app-content { padding:13px 10px 80px; }.admin-kpi-grid { grid-template-columns:1fr 1fr; gap:8px; }.admin-kpi { min-height:88px; padding:12px; grid-template-columns:36px minmax(0,1fr); }.admin-kpi > span { width:35px; height:35px; }.admin-kpi strong { font-size:20px; }.admin-project-filters { grid-template-columns:1fr 1fr; }.admin-project-search { grid-column:1 / -1; }.admin-panel-head { align-items:flex-start; flex-direction:column; gap:10px; }.admin-activity-list { grid-template-columns:1fr; } }

/* Presentation viewer */
.presentation-viewer-shell .app-sidebar { display:none; }.presentation-viewer-shell .app-shell,body.presentation-viewer-shell.sidebar-state-rail-hidden .app-shell,body.presentation-viewer-shell.sidebar-state-compact .app-shell { grid-template-columns:104px minmax(0,1fr); }.presentation-viewer-shell .app-main { grid-column:2; }.presentation-viewer-shell .app-content { padding:0; background:#f7f8fc; }.presentation-viewer-shell .app-topbar { display:none; }
.presentation-viewer { min-height:100vh; color:#15213a; }.presentation-viewer__toolbar { display:flex; min-height:86px; padding:14px 30px; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #e2e6ee; background:#fff; }.presentation-viewer__toolbar > div:first-child > a { display:inline-flex; align-items:center; gap:5px; color:#526078; font-size:10px; font-weight:700; }.presentation-viewer__toolbar > div:first-child > a .material-symbols-rounded { font-size:16px; }.presentation-viewer__toolbar h2 { display:flex; margin:7px 0 0; align-items:center; gap:10px; color:#142038; font:800 21px var(--font-display); }.presentation-viewer__toolbar h2 span { display:inline-flex; min-height:23px; padding:0 9px; align-items:center; gap:6px; border-radius:15px; color:#8b691b; background:#fff4d9; font:700 8px var(--font-body); }.presentation-viewer__toolbar h2 span.is-published { color:#247751; background:#e4f6ed; }.presentation-viewer__toolbar h2 span i { width:6px; height:6px; border-radius:50%; background:currentColor; }.presentation-viewer__actions { display:flex; gap:10px; }.presentation-viewer__actions button,.presentation-viewer__actions > a { display:flex; min-height:42px; padding:0 17px; align-items:center; justify-content:center; gap:7px; border:1px solid #d8dde7; border-radius:8px; color:#31405a; background:#fff; font:700 10px var(--font-body); text-decoration:none; cursor:pointer; }.presentation-viewer__actions button.is-primary { border-color:#6a35ef; color:#5b27e8; }.presentation-viewer__actions > a.presentation-viewer__edit { border-color:#6230e8; color:#fff; background:linear-gradient(135deg,#6f39ed,#5520dc); box-shadow:0 8px 20px rgba(93,43,225,.2); }.presentation-viewer__actions button:hover,.presentation-viewer__actions > a:hover { border-color:#8b6be6; }.presentation-viewer__actions > a.presentation-viewer__edit:hover { border-color:#4f1dcc; background:linear-gradient(135deg,#6430e5,#4916cd); }.presentation-viewer__actions .material-symbols-rounded { font-size:18px; }
.presentation-viewer__layout { display:grid; min-height:calc(100vh - 86px); grid-template-columns:240px minmax(0,1fr); }.presentation-viewer__sidebar { padding:18px 14px; border-right:1px solid #e1e5ed; background:#fff; }.presentation-viewer__summary { display:grid; padding:10px 4px 18px; grid-template-columns:72px minmax(0,1fr); gap:8px 10px; border-bottom:1px solid #e6e9ef; }.presentation-viewer__cover { position:relative; display:grid; width:72px; height:62px; place-items:center; overflow:hidden; border-radius:7px; color:#6135dc; background:linear-gradient(145deg,#f6f2ff,#e7dfff); }.presentation-viewer__cover > span { font-size:28px; }.presentation-viewer__cover i { position:absolute; right:4px; bottom:4px; font-style:normal; }.presentation-viewer__cover i .material-symbols-rounded { font-size:16px; }.presentation-viewer__summary > div:nth-child(2) { display:flex; min-width:0; flex-direction:column; }.presentation-viewer__summary strong { color:#202b42; font-size:10px; }.presentation-viewer__summary small,.presentation-viewer__summary span { margin-top:5px; color:#758198; font-size:8px; line-height:1.4; }.presentation-viewer__summary > em { display:grid; width:23px; height:23px; place-items:center; border-radius:50%; color:#fff; background:#182139; font-size:7px; font-style:normal; font-weight:800; }.presentation-viewer__summary > b { align-self:center; color:#536077; font-size:8px; }.presentation-viewer__sidebar nav { display:flex; padding:18px 0; flex-direction:column; gap:5px; border-bottom:1px solid #e6e9ef; }.presentation-viewer__sidebar nav button { display:flex; min-height:37px; padding:0 12px; align-items:center; gap:9px; border:0; border-radius:6px; color:#56637a; background:transparent; font:600 9px var(--font-body); cursor:pointer; }.presentation-viewer__sidebar nav button.is-active { color:#5f2ee6; background:#f0ecff; }.presentation-viewer__sidebar nav .material-symbols-rounded { font-size:17px; }.presentation-viewer__stats { display:flex; padding:20px 8px; flex-direction:column; gap:14px; }.presentation-viewer__stats h3 { margin:0 0 3px; color:#263148; font-size:9px; }.presentation-viewer__stats span { display:grid; grid-template-columns:19px 1fr auto; align-items:center; color:#69758a; font-size:8px; }.presentation-viewer__stats span .material-symbols-rounded { color:#536078; font-size:15px; }.presentation-viewer__stats strong { color:#344159; }.presentation-viewer__details { display:flex; width:100%; min-height:38px; padding:0 12px; align-items:center; justify-content:space-between; border:0; border-radius:6px; color:#5c2cdf; background:#f2eeff; font:700 9px var(--font-body); cursor:pointer; }.presentation-viewer__details .material-symbols-rounded { font-size:16px; }
.presentation-viewer__stage { min-width:0; padding:18px 28px; overflow:hidden; }.presentation-viewer__slide-frame { position:relative; width:min(900px,calc(100% - 90px)); aspect-ratio:16/9; margin:0 auto; }.presentation-viewer__slides { position:relative; width:100%; height:100%; }.presentation-display-slide { position:absolute; inset:0; display:none; overflow:hidden; border:1px solid #dfe3eb; border-radius:9px; background:radial-gradient(circle at 82% 15%,rgba(104,55,231,.08),transparent 28%),#fff; box-shadow:0 15px 40px rgba(29,39,62,.08); }.presentation-display-slide.is-active { display:block; animation:presentationSlideIn .26s ease; }.presentation-display-slide__brand { position:absolute; top:8%; left:6%; display:flex; align-items:center; gap:8px; }.presentation-display-slide__brand span { display:grid; width:28px; height:28px; place-items:center; border-radius:6px; color:#fff; background:linear-gradient(145deg,#7541f3,#4b1fd8); font-size:9px; font-weight:800; }.presentation-display-slide__brand strong { font-size:12px; }.presentation-display-slide__copy { position:absolute; top:24%; left:6%; width:45%; }.presentation-display-slide__copy small { color:#6840e4; font-size:8px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }.presentation-display-slide__copy h3 { margin:8px 0 0; color:#10203c; font:800 clamp(22px,3vw,43px)/1.06 var(--font-display); letter-spacing:-1px; }.presentation-display-slide__copy > i { display:block; width:46px; height:3px; margin-top:17px; border-radius:3px; background:#7b51f1; }.presentation-display-slide__copy p { max-width:430px; margin:17px 0 0; color:#617089; font-size:clamp(9px,1vw,13px); line-height:1.55; }.presentation-display-slide__visual { position:absolute; top:15%; right:5%; width:41%; height:51%; }.presentation-display-slide__visual > span { position:absolute; top:2%; right:8%; z-index:2; display:grid; width:64px; height:64px; place-items:center; border:1px solid #e2dcf8; border-radius:13px; color:#6635e9; background:#fff; box-shadow:0 12px 28px rgba(74,41,157,.12); }.presentation-display-slide__visual > span .material-symbols-rounded { font-size:32px; }.presentation-display-slide__visual > div { position:absolute; inset:27% 2% 0 2%; display:flex; padding:16px 21px; align-items:flex-end; gap:12px; border-radius:13px; background:linear-gradient(145deg,#f6f2ff,#ebe3ff); }.presentation-display-slide__visual > div i { flex:1; border-radius:6px 6px 0 0; background:linear-gradient(180deg,#9272f4,#5a2ee2); }.presentation-display-slide__visual > div i:nth-child(1) { height:23%; }.presentation-display-slide__visual > div i:nth-child(2) { height:38%; }.presentation-display-slide__visual > div i:nth-child(3) { height:51%; }.presentation-display-slide__visual > div i:nth-child(4) { height:70%; }.presentation-display-slide__visual > div i:nth-child(5) { height:91%; }.presentation-display-slide__visual > div b { position:absolute; top:-12px; right:-6px; color:#5f2ee9; transform:rotate(35deg); }.presentation-display-slide__visual > div b .material-symbols-rounded { font-size:44px; }.presentation-display-slide__metrics { position:absolute; right:5%; bottom:14%; left:6%; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.presentation-display-slide__metrics > span { display:grid; min-height:63px; padding:11px 13px; grid-template-columns:35px 1fr; grid-template-rows:1fr 1fr; align-items:center; border:1px solid #e0e4ec; border-radius:8px; background:#fff; }.presentation-display-slide__metrics i { display:grid; width:31px; height:31px; grid-row:1/3; place-items:center; border-radius:50%; color:#6740e8; background:#eee9ff; font-style:normal; }.presentation-display-slide__metrics i .material-symbols-rounded { font-size:19px; }.presentation-display-slide__metrics strong { color:#17233a; font-size:15px; }.presentation-display-slide__metrics small { color:#68758c; font-size:8px; }.presentation-display-slide footer { position:absolute; right:4%; bottom:4%; left:6%; display:flex; justify-content:space-between; color:#8792a4; font-size:8px; }.presentation-display-slide footer strong { color:#6435e7; }.presentation-viewer__arrow { position:absolute; z-index:4; top:50%; display:grid; width:48px; height:48px; padding:0; place-items:center; transform:translateY(-50%); border:1px solid #dce1e9; border-radius:50%; color:#6836e9; background:#fff; box-shadow:0 8px 22px rgba(31,40,61,.09); cursor:pointer; }.presentation-viewer__arrow--prev { left:-67px; }.presentation-viewer__arrow--next { right:-67px; }.presentation-viewer__arrow .material-symbols-rounded { font-size:30px; }.presentation-viewer__position { display:flex; margin:16px auto; align-items:center; justify-content:center; gap:17px; color:#5b687f; font-size:9px; }.presentation-viewer__position > div { display:flex; gap:4px; }.presentation-viewer__position i { width:28px; height:3px; border-radius:3px; background:#e0e4eb; }.presentation-viewer__position i.is-active { background:#6736e6; }.presentation-viewer__thumbs { display:flex; width:100%; padding:0 5px 5px; gap:12px; overflow-x:auto; scroll-snap-type:x proximity; }.presentation-viewer__thumbs button { width:154px; min-width:154px; padding:0; overflow:hidden; scroll-snap-align:center; border:1px solid #dce1e9; border-radius:7px; background:#fff; cursor:pointer; }.presentation-viewer__thumbs button.is-active { border:2px solid #6130e8; }.presentation-viewer__thumbs button > span { position:relative; display:flex; height:82px; padding:10px; flex-direction:column; text-align:left; }.presentation-viewer__thumbs small { color:#7853df; font-size:6px; text-transform:uppercase; }.presentation-viewer__thumbs strong { width:72%; margin-top:7px; color:#28334a; font-size:8px; line-height:1.3; }.presentation-viewer__thumbs i { position:absolute; right:10px; bottom:10px; color:#7044e8; font-style:normal; }.presentation-viewer__thumbs i .material-symbols-rounded { font-size:24px; }.presentation-viewer__thumbs b { display:block; padding:4px 9px; color:#3f4c63; border-top:1px solid #e8ebf0; font-size:8px; text-align:left; }
.presentation-share-dialog { width:min(470px,calc(100vw - 28px)); max-height:calc(100vh - 30px); padding:0; overflow:auto; border:1px solid #dce1e9; border-radius:13px; background:#fff; box-shadow:0 30px 90px rgba(18,25,48,.3); }.presentation-share-dialog::backdrop { background:rgba(20,26,43,.43); backdrop-filter:blur(8px); }.presentation-share-dialog__shell { margin:0; }.presentation-share-dialog header { display:flex; padding:20px 21px 15px; align-items:flex-start; justify-content:space-between; border-bottom:1px solid #e8ebf0; }.presentation-share-dialog header > div { display:flex; gap:10px; }.presentation-share-dialog header > div > span { display:grid; width:37px; height:37px; place-items:center; border-radius:8px; color:#6233e7; background:#eee9ff; }.presentation-share-dialog header h2 { margin:0; color:#172239; font-size:16px; }.presentation-share-dialog header p { max-width:330px; margin:6px 0 0; color:#6c788d; font-size:9px; line-height:1.5; }.presentation-share-dialog header > button { padding:0; border:0; color:#657187; background:transparent; cursor:pointer; }.presentation-share-dialog__body { padding:17px 20px 20px; }.presentation-share-toggle { display:flex; min-height:45px; padding:0 11px; align-items:center; justify-content:space-between; border:1px solid #ded8f7; border-radius:8px 8px 0 0; }.presentation-share-toggle > span { display:flex; align-items:center; gap:6px; color:#344158; font-size:9px; font-weight:700; }.presentation-share-toggle input { position:absolute; opacity:0; }.presentation-share-toggle i { position:relative; width:35px; height:19px; border-radius:12px; background:#cbd1dd; }.presentation-share-toggle i::after { position:absolute; top:2px; left:2px; width:15px; height:15px; border-radius:50%; background:#fff; content:''; transition:transform .2s; }.presentation-share-toggle input:checked + i { background:#6837e9; }.presentation-share-toggle input:checked + i::after { transform:translateX(16px); }.presentation-share-password { display:block; padding:11px; border:1px solid #ded8f7; border-top:0; border-radius:0 0 8px 8px; }.presentation-share-password.is-disabled { opacity:.45; }.presentation-share-password > span,.presentation-share-result label > span { display:block; margin-bottom:6px; color:#4c5870; font-size:8px; }.presentation-share-password > div,.presentation-share-result label > div { display:flex; height:37px; border:1px solid #d9dfe8; border-radius:6px; }.presentation-share-password input,.presentation-share-result input { width:100%; padding:0 10px; border:0; outline:0; color:#26334a; background:transparent; font:10px var(--font-body); }.presentation-share-password button,.presentation-share-result button { width:38px; border:0; color:#59677d; background:transparent; cursor:pointer; }.presentation-share-password small { display:flex; margin-top:7px; align-items:center; gap:5px; color:#329050; font-size:8px; }.presentation-share-password small .material-symbols-rounded { font-size:14px; }.presentation-share-generate { display:flex; width:100%; min-height:42px; margin-top:13px; align-items:center; justify-content:center; gap:7px; border:0; border-radius:6px; color:#fff; background:linear-gradient(90deg,#5b29e6,#753cf2); font:700 10px var(--font-body); cursor:pointer; }.presentation-share-generate:disabled { opacity:.55; cursor:wait; }.presentation-share-result { margin-top:13px; padding:11px; border:1px solid #dcd4f7; border-radius:8px; background:#faf9ff; }.presentation-share-result small { display:block; margin-top:7px; color:#398659; font-size:8px; }.presentation-share-dialog aside { display:flex; margin-top:14px; padding:13px; gap:9px; border-radius:7px; color:#6433e8; background:#f4f0ff; }.presentation-share-dialog aside > span { font-size:19px; }.presentation-share-dialog aside strong { color:#403252; font-size:9px; }.presentation-share-dialog aside p { margin:4px 0 0; color:#756a85; font-size:8px; line-height:1.5; }
.public-presentation-page { min-height:100vh; background:radial-gradient(circle at 20% 10%,#ede7ff,#f7f8fc 45%,#eef1f7); }.public-presentation { display:grid; min-height:100vh; padding:28px; place-items:center; }.public-presentation__notice,.public-presentation__access { width:min(440px,100%); padding:35px; border:1px solid #dce1e9; border-radius:14px; background:#fff; box-shadow:0 24px 70px rgba(26,34,54,.12); text-align:center; }.public-presentation__access > span,.public-presentation__notice > span { display:grid; width:53px; height:53px; margin:0 auto; place-items:center; border-radius:14px; color:#6335e8; background:#eee9ff; }.public-presentation__access small { display:block; margin-top:16px; color:#6840e3; font-size:8px; font-weight:800; letter-spacing:.8px; }.public-presentation__access h1,.public-presentation__notice h1 { margin:8px 0; color:#16213a; font-size:22px; }.public-presentation__access p,.public-presentation__notice p { color:#69758a; font-size:10px; }.public-presentation__access label { display:block; margin-top:20px; color:#4b586f; font-size:9px; text-align:left; }.public-presentation__access input { width:100%; height:42px; margin-top:6px; padding:0 12px; border:1px solid #d8dde7; border-radius:7px; }.public-presentation__access em { display:block; margin-top:7px; color:#d44d57; font-size:9px; font-style:normal; }.public-presentation__access button { display:flex; width:100%; min-height:42px; margin-top:14px; align-items:center; justify-content:center; gap:6px; border:0; border-radius:7px; color:#fff; background:#6231e8; font-weight:700; }.public-presentation__deck { position:relative; width:min(1120px,calc(100vw - 56px)); aspect-ratio:16/9; }.public-presentation__deck article { position:absolute; inset:0; display:none; padding:9% 10%; overflow:hidden; border-radius:16px; background:radial-gradient(circle at 80% 15%,rgba(103,54,230,.14),transparent 28%),#fff; box-shadow:0 30px 90px rgba(21,28,49,.18); }.public-presentation__deck article.is-active { display:block; }.public-presentation__deck article small { color:#6840e4; font-size:10px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }.public-presentation__deck article h1 { width:60%; margin:18px 0; color:#12213e; font:800 clamp(28px,4vw,58px)/1.05 var(--font-display); }.public-presentation__deck article p { width:55%; color:#65728a; font-size:clamp(11px,1.4vw,17px); line-height:1.6; }.public-presentation__deck article > span { position:absolute; top:23%; right:13%; display:grid; width:150px; height:150px; place-items:center; border-radius:32px; color:#6533e8; background:#eee9ff; }.public-presentation__deck article > span .material-symbols-rounded { font-size:75px; }.public-presentation__deck article footer { position:absolute; right:5%; bottom:5%; left:6%; display:flex; justify-content:space-between; color:#7d899c; }.public-presentation__deck > button { position:absolute; z-index:5; top:50%; display:grid; width:50px; height:50px; place-items:center; transform:translateY(-50%); border:0; border-radius:50%; color:#6534e8; background:#fff; box-shadow:0 8px 25px rgba(25,32,49,.15); cursor:pointer; }.public-presentation__deck > button[data-public-prev] { left:-70px; }.public-presentation__deck > button[data-public-next] { right:-70px; }
@keyframes presentationSlideIn { from { opacity:0; transform:translateX(12px); } to { opacity:1; transform:none; } }
@media (max-width:1100px) { .presentation-viewer__layout { grid-template-columns:200px minmax(0,1fr); }.presentation-viewer__stage { padding-right:18px; padding-left:18px; }.presentation-viewer__slide-frame { width:calc(100% - 80px); }.presentation-display-slide__metrics { bottom:10%; }.presentation-display-slide__copy { top:20%; }.presentation-viewer-shell .app-shell,body.presentation-viewer-shell.sidebar-state-rail-hidden .app-shell,body.presentation-viewer-shell.sidebar-state-compact .app-shell { grid-template-columns:74px minmax(0,1fr); } }
@media (max-width:760px) { .presentation-viewer-shell .app-shell,body.presentation-viewer-shell.sidebar-state-rail-hidden .app-shell,body.presentation-viewer-shell.sidebar-state-compact .app-shell { grid-template-columns:1fr; }.presentation-viewer-shell .app-main { grid-column:1; padding-bottom:66px; }.presentation-viewer__toolbar { padding:13px 15px; align-items:flex-start; flex-direction:column; }.presentation-viewer__toolbar h2 { font-size:16px; flex-wrap:wrap; }.presentation-viewer__actions { width:100%; flex-wrap:wrap; }.presentation-viewer__actions button,.presentation-viewer__actions > a { flex:1 1 calc(50% - 5px); }.presentation-viewer__layout { grid-template-columns:1fr; }.presentation-viewer__sidebar { display:none; }.presentation-viewer__stage { padding:20px 8px; }.presentation-viewer__slide-frame { width:calc(100% - 50px); }.presentation-viewer__arrow { width:34px; height:34px; }.presentation-viewer__arrow--prev { left:-41px; }.presentation-viewer__arrow--next { right:-41px; }.presentation-display-slide__copy h3 { font-size:16px; }.presentation-display-slide__copy p { margin-top:8px; font-size:7px; }.presentation-display-slide__copy > i { margin-top:8px; }.presentation-display-slide__metrics { gap:4px; }.presentation-display-slide__metrics > span { min-height:35px; padding:4px; grid-template-columns:20px 1fr; }.presentation-display-slide__metrics i { width:18px; height:18px; }.presentation-display-slide__metrics i .material-symbols-rounded { font-size:11px; }.presentation-display-slide__metrics strong { font-size:8px; }.presentation-display-slide__metrics small { font-size:5px; }.presentation-display-slide__visual > span { width:35px; height:35px; }.presentation-display-slide__visual > span .material-symbols-rounded { font-size:18px; }.presentation-viewer__thumbs button { width:120px; min-width:120px; }.public-presentation__deck > button[data-public-prev] { left:5px; }.public-presentation__deck > button[data-public-next] { right:5px; } }

/* Generated gallery illustrations. Layout and interactions remain unchanged. */
.presentation-cover__illustration { position:absolute; z-index:1; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }

/* Keep the presentation navigator centered against the bottom edge. */
.presentation-viewer__stage { display:flex; min-height:calc(100dvh - 86px); flex-direction:column; }
.presentation-viewer__bottom { display:flex; width:100%; max-width:100%; margin-top:auto; padding-top:16px; align-items:center; flex-direction:column; }
.presentation-viewer__bottom .presentation-viewer__position { margin:0 auto 12px; }
.presentation-viewer__bottom .presentation-viewer__thumbs { width:min(100%,984px); margin-inline:auto; justify-content:safe center; }
@media (max-width:760px) {
  .presentation-viewer__stage { min-height:calc(100dvh - 132px); }
  .presentation-viewer__bottom { padding-top:12px; }
  .presentation-viewer__bottom .presentation-viewer__position { margin-bottom:9px; }
}

.expert-booking-planner-heading { align-items:center!important; }
.expert-booking-planner-legend { display:flex; margin-left:auto; align-items:center; gap:12px; color:#6d7890; font-size:9px; }
.expert-booking-planner-legend span { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }.expert-booking-planner-legend i { width:7px; height:7px; border-radius:50%; background:#6840e7; box-shadow:0 0 0 3px #eee9ff; }.expert-booking-planner-legend span:last-child i { background:#3ca26b; box-shadow:0 0 0 3px #e6f6ec; }
.expert-booking-planner { margin-top:15px; overflow:hidden; border:1px solid #dfe4ec; border-radius:12px; background:#fff; }
.expert-booking-planner__toolbar { display:grid; min-height:54px; padding:9px 12px; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:9px; border-bottom:1px solid #e6e9ef; background:#fbfbfd; }
.expert-booking-planner__toolbar > button { min-height:32px; padding:0 11px; border:1px solid #dfe3eb; border-radius:7px; color:#4b5870; background:#fff; font:700 10px var(--font-display); cursor:pointer; }.expert-booking-planner__toolbar > div { display:flex; overflow:hidden; border:1px solid #dfe3eb; border-radius:7px; background:#fff; }.expert-booking-planner__toolbar > div button { display:grid; width:31px; height:31px; place-items:center; border:0; color:#58647b; background:transparent; cursor:pointer; }.expert-booking-planner__toolbar > div button + button { border-left:1px solid #e3e6ed; }.expert-booking-planner__toolbar .material-symbols-rounded { font-size:18px; }.expert-booking-planner__toolbar strong { justify-self:end; color:#273249; font-size:12px; }
.expert-booking-planner__scroll { overflow-x:auto; overscroll-behavior-x:contain; scrollbar-color:#b8a8eb #f1eefb; scrollbar-width:thin; }.expert-booking-planner__scroll::-webkit-scrollbar { height:7px; }.expert-booking-planner__scroll::-webkit-scrollbar-track { background:#f1eefb; }.expert-booking-planner__scroll::-webkit-scrollbar-thumb { border:2px solid #f1eefb; border-radius:999px; background:#aa94e8; }
.expert-booking-planner__canvas { position:relative; min-width:770px; }
.expert-booking-planner__day-heads { display:grid; min-height:51px; margin-left:53px; grid-template-columns:repeat(7,minmax(0,1fr)); border-bottom:1px solid #e5e8ee; }
.expert-booking-planner__day-heads > div { display:flex; align-items:center; justify-content:center; gap:6px; border-left:1px solid #edf0f4; color:#6f7a8f; }.expert-booking-planner__day-heads strong { font-size:9px; font-weight:750; text-transform:uppercase; }.expert-booking-planner__day-heads span { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; color:#2d384e; font-size:11px; }.expert-booking-planner__day-heads .is-today strong { color:#6031df; }.expert-booking-planner__day-heads .is-today span { color:#fff; background:#6233e2; box-shadow:0 4px 10px rgba(98,51,226,.22); }
.expert-booking-planner__body { display:grid; grid-template-columns:53px minmax(0,1fr); }
.expert-booking-planner__hours { position:relative; border-right:1px solid #e5e8ee; background:#fbfbfd; }.expert-booking-planner__hours span { position:absolute; right:7px; color:#8a94a6; font-size:8px; transform:translateY(-50%); }
.expert-booking-planner__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }.expert-booking-planner__days > section { position:relative; min-height:384px; border-right:1px solid #edf0f4; background:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,#eceff4 47px,#eceff4 48px); }.expert-booking-planner__days > section:last-child { border-right:0; }.expert-booking-planner__days > section.is-today { background-color:#fbfaff; }
.expert-booking-planner__event { position:absolute; z-index:2; right:3px; left:3px; display:grid; min-height:22px; padding:2px 4px; overflow:hidden; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:4px; border:1px solid #7b59e9; border-radius:5px; color:#4823b9; background:#ede8ff; box-shadow:0 2px 5px rgba(73,39,181,.09); }.expert-booking-planner__event.is-booked { border-color:#58aa79; color:#22784a; background:#e7f7ed; box-shadow:0 2px 5px rgba(37,125,77,.08); }
.expert-booking-planner__event time { font-size:8px; font-weight:850; }.expert-booking-planner__event > div { min-width:0; }.expert-booking-planner__event strong { display:block; overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.expert-booking-planner__event small { display:none; }.expert-booking-planner__event > span { display:grid; place-items:center; }.expert-booking-planner__event > span .material-symbols-rounded { font-size:12px; }
.expert-booking-planner__event form button { display:grid; width:15px; height:15px; padding:0; place-items:center; border:0; border-radius:4px; color:#6941d5; background:rgba(255,255,255,.62); cursor:pointer; opacity:0; transition:opacity .14s ease; }.expert-booking-planner__event:hover form button,.expert-booking-planner__event form button:focus-visible { opacity:1; }.expert-booking-planner__event form button .material-symbols-rounded { font-size:11px; }
.expert-booking-planner__empty { position:absolute; z-index:4; top:142px; left:calc(50% + 26px); display:flex; padding:13px 17px; align-items:center; gap:9px; border:1px solid #e2e4eb; border-radius:10px; color:#7a8496; background:rgba(255,255,255,.96); box-shadow:0 9px 24px rgba(30,39,60,.09); transform:translateX(-50%); }.expert-booking-planner__empty[hidden] { display:none; }.expert-booking-planner__empty .material-symbols-rounded { color:#7044e9; font-size:20px; }.expert-booking-planner__empty strong { color:#344057; font-size:10px; }.expert-booking-planner__empty span { font-size:9px; }

@media (max-width:760px) {
  .expert-booking-planner-heading { align-items:flex-start!important; flex-wrap:wrap; }.expert-booking-planner-legend { width:100%; margin:3px 0 0 40px; }.expert-booking-planner__toolbar { grid-template-columns:auto auto; }.expert-booking-planner__toolbar strong { grid-column:1/-1; justify-self:start; }.expert-booking-planner__canvas { min-width:700px; }
}

/* Presentation reader legibility: no interface copy below 10px. */
.presentation-viewer__toolbar h2 span,
.presentation-viewer__summary small,
.presentation-viewer__summary > div:nth-child(2) > span,
.presentation-viewer__summary > em,
.presentation-viewer__summary > b,
.presentation-viewer__sidebar nav button,
.presentation-viewer__stats h3,
.presentation-viewer__stats span,
.presentation-viewer__details,
.presentation-display-slide__copy small,
.presentation-display-slide__metrics small,
.presentation-display-slide footer,
.presentation-viewer__position,
.presentation-viewer__thumbs small,
.presentation-viewer__thumbs strong,
.presentation-viewer__thumbs b,
.presentation-share-dialog header p,
.presentation-share-toggle > span,
.presentation-share-password > span,
.presentation-share-result label > span,
.presentation-share-password small,
.presentation-share-result small,
.presentation-share-dialog aside strong,
.presentation-share-dialog aside p { font-size:10px; }
.presentation-display-slide__copy p { font-size:clamp(10px,1vw,13px); }
.presentation-display-slide__brand span,
.presentation-display-slide__metrics strong { font-size:10px; }
.presentation-display-slide__dynamic,.public-presentation__dynamic { position:absolute; z-index:3; top:var(--y); left:var(--x); display:flex; width:var(--w); min-height:var(--h); align-items:center; color:var(--color); font-family:var(--font-family,Inter),sans-serif; font-size:max(10px,var(--fs)); font-style:var(--font-style,normal); font-weight:var(--fw); line-height:1.2; text-align:var(--align); text-decoration:var(--text-decoration,none); white-space:pre-wrap; }

/* Immersive presentation mode. */
body.presentation-fullscreen-active { overflow:hidden; }
.presentation-viewer__fullscreen-exit { position:fixed; z-index:10003; top:18px; right:20px; display:grid; width:38px; height:38px; padding:0; place-items:center; transform:translateY(-8px); border:1px solid rgba(255,255,255,.24); border-radius:50%; opacity:0; color:#fff; background:rgba(15,18,31,.58); box-shadow:0 8px 24px rgba(0,0,0,.22); backdrop-filter:blur(10px); pointer-events:none; cursor:pointer; transition:opacity .18s ease,transform .18s ease,background .18s ease; }
.presentation-viewer__fullscreen-exit:hover { background:rgba(15,18,31,.82); }
.presentation-viewer__fullscreen-exit.is-visible { transform:none; opacity:1; pointer-events:auto; }
.presentation-viewer__summary > div:nth-child(2) > strong { font-size:14px; }
.presentation-viewer__stats h3,
.presentation-viewer__stats span,
.presentation-viewer__stats strong { font-size:12px; }
.presentation-viewer.is-fullscreen { position:fixed; z-index:10000; inset:0; width:100vw; height:100dvh; overflow:hidden; background:#090b12; }
.presentation-viewer.is-fullscreen .presentation-viewer__toolbar,
.presentation-viewer.is-fullscreen .presentation-viewer__sidebar,
.presentation-viewer.is-fullscreen .presentation-viewer__bottom { display:none; }
.presentation-viewer.is-fullscreen .presentation-viewer__layout { display:block; width:100%; height:100%; min-height:0; }
.presentation-viewer.is-fullscreen .presentation-viewer__stage { width:100%; height:100dvh; min-height:0; padding:0; align-items:center; justify-content:center; overflow:hidden; background:#090b12; }
.presentation-viewer.is-fullscreen .presentation-viewer__slide-frame { width:min(100vw,calc(100dvh * 16 / 9)); max-width:none; margin:auto; }
.presentation-viewer.is-fullscreen .presentation-display-slide { border:0; border-radius:0; box-shadow:none; }
.presentation-viewer.is-fullscreen .presentation-viewer__arrow { display:none; }
@media (max-width:760px) {
  .presentation-viewer__fullscreen-exit { top:10px; right:10px; }
}

/* Funnels */
.funnels-page { display:grid; gap:20px; min-width:0; }
.funnels-empty { min-height:620px; padding:72px 28px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid #e4e6ef; border-radius:20px; background:radial-gradient(circle at 50% 15%,rgba(91,45,235,.1),transparent 32%),linear-gradient(180deg,#fff,#faf9ff); box-shadow:0 14px 38px rgba(18,29,64,.06); }
.funnels-empty__icon { width:72px; height:72px; margin-bottom:22px; display:grid; place-items:center; border-radius:22px; color:#fff; background:linear-gradient(145deg,#6b31ef,#4315ce); box-shadow:0 16px 32px rgba(91,45,235,.24); }
.funnels-empty__icon .material-symbols-rounded { font-size:36px; }
.funnels-empty h2 { max-width:620px; margin:8px 0 12px; font-size:34px; letter-spacing:-.035em; color:#0d1936; }
.funnels-empty > p { max-width:670px; margin:0 0 28px; font-size:15px; line-height:1.7; color:#66728c; }
.funnels-empty__features { width:min(760px,100%); margin-top:48px; padding-top:28px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; border-top:1px solid #e5e7ef; }
.funnels-empty__features > span { padding:18px; display:grid; grid-template-columns:38px 1fr; text-align:left; border:1px solid #e7e8f0; border-radius:14px; background:#fff; }
.funnels-empty__features .material-symbols-rounded { grid-row:1/3; width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:#5b2deb; background:#f0ebff; }
.funnels-empty__features b { font-size:13px; color:#15213c; }.funnels-empty__features small { margin-top:3px; font-size:11px; color:#7a8499; }
.funnels-list-head,.funnel-workspace-head { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.funnels-list-head h2 { margin:3px 0 5px; font-size:26px; color:#111c37; }.funnels-list-head p { margin:0; color:#778299; }
.funnels-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.funnel-card { overflow:hidden; border:1px solid #e1e4ed; border-radius:17px; background:#fff; box-shadow:0 8px 26px rgba(26,35,61,.05); }
.funnel-card__preview { min-height:190px; padding:25px 36px; display:flex; flex-direction:column; align-items:center; color:#131c32; background:radial-gradient(circle at 70% 20%,color-mix(in srgb,var(--funnel-color) 16%,transparent),transparent 45%),var(--funnel-bg); }
.funnel-card__preview > span { width:36px;height:36px;display:grid;place-items:center;overflow:hidden;border-radius:10px;color:#fff;background:var(--funnel-color);font-size:11px;font-weight:800; }.funnel-card__preview > span img{width:100%;height:100%;object-fit:contain;background:#fff}
.funnel-card__preview i { width:72%;height:5px;margin:20px 0 26px;border-radius:8px;background:rgba(13,25,54,.13); }.funnel-card__preview i b{display:block;width:45%;height:100%;border-radius:inherit;background:var(--funnel-color)}
.funnel-card__preview strong { font-size:17px; }.funnel-card__preview button { width:74%;margin-top:20px;padding:8px;border:0;border-radius:9px;color:#fff;background:var(--funnel-color);font-size:10px;font-weight:750; }
.funnel-card__body { padding:20px; }.funnel-card__body h3{margin:10px 0 5px;font-size:17px;color:#121e3a}.funnel-card__body p{min-height:36px;margin:0;color:#758098;font-size:12px;line-height:1.5}.funnel-card__body dl{margin:18px 0;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #eaebf1}.funnel-card__body dl div{padding:12px 5px;display:grid;gap:3px}.funnel-card__body dt{font-size:10px;color:#8992a6}.funnel-card__body dd{margin:0;font-size:15px;font-weight:800;color:#17213b}.funnel-card__body .button{width:100%}
.status-pill { width:max-content; padding:5px 9px; border-radius:999px; color:#7a8498; background:#f1f3f7; font-size:10px; font-weight:750; }.status-pill.is-success{color:#168858;background:#e8f8f0}
.funnel-workspace-head > a { display:flex;align-items:center;gap:5px;color:#63708b;font-size:12px;font-weight:700 }.funnel-workspace-head>div:nth-child(2){margin-right:auto}.funnel-workspace-head h2{display:inline;margin:0 0 0 9px;font-size:23px;color:#111d38}.funnel-workspace-head .status-pill{display:inline-flex}.funnel-workspace-head__actions{display:flex;gap:8px}.funnel-tabs{display:flex;gap:24px;border-bottom:1px solid #e2e5ee}.funnel-tabs a{padding:12px 3px;display:flex;align-items:center;gap:7px;border-bottom:2px solid transparent;color:#68738d;font-size:12px;font-weight:750}.funnel-tabs a.is-active{color:#5b2deb;border-color:#5b2deb}.funnel-tabs a span{padding:2px 6px;border-radius:20px;background:#eeeafc;font-size:10px}
.funnel-kpis { display:grid;grid-template-columns:repeat(4,1fr);gap:14px }.funnel-kpis article{padding:20px;display:grid;grid-template-columns:42px 1fr;gap:2px 12px;border:1px solid #e1e4ed;border-radius:15px;background:#fff}.funnel-kpis article>span{grid-row:1/4;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#5b2deb;background:#f0ebff}.funnel-kpis small{font-size:11px;color:#748099}.funnel-kpis strong{font-size:25px;color:#101b35}.funnel-kpis em{font-size:10px;color:#9aa2b2;font-style:normal}.funnel-analytics{display:grid;gap:16px}.funnel-analytics-empty{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #ccd2df;border-radius:16px;background:#fff;text-align:center}.funnel-analytics-empty>span{font-size:42px;color:#9c84ef}.funnel-analytics-empty h3{margin:12px 0 6px;color:#17213a}.funnel-analytics-empty p{max-width:520px;color:#7a8499}.funnel-stage-report{padding:22px;border:1px solid #e1e4ed;border-radius:16px;background:#fff}.funnel-stage-report h3{margin:0;color:#131e37}.funnel-stage-report p{margin:5px 0 20px;color:#7b859a}.funnel-stage-table__head,.funnel-stage-row{display:grid;grid-template-columns:minmax(260px,2fr) .5fr .5fr 1fr .55fr;align-items:center;gap:14px}.funnel-stage-table__head{padding:10px 14px;color:#8992a5;font-size:10px;text-transform:uppercase}.funnel-stage-row{padding:14px;border-top:1px solid #eceef3;font-size:12px;color:#48546e}.funnel-stage-row>span:first-child{display:flex;align-items:center;gap:10px;color:#16213a}.funnel-stage-row>span:first-child b{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:#5b2deb;background:#eee9ff}.funnel-stage-row>span:nth-child(4){display:grid;grid-template-columns:1fr 42px;align-items:center;gap:8px}.funnel-stage-row i{height:5px;border-radius:8px;background:#eaebf1}.funnel-stage-row i b{display:block;height:100%;border-radius:inherit;background:#5b2deb}.funnel-stage-row .is-danger{color:#e34855;font-weight:750}
.funnel-builder { --funnel-color:#5b2deb;--funnel-bg:#f8f7ff;min-height:680px;display:grid;grid-template-columns:240px 330px minmax(420px,1fr);grid-template-rows:1fr auto;border:1px solid #dde1eb;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(18,29,60,.05) }
.funnel-builder__steps{padding:18px 12px;border-right:1px solid #e5e7ee;background:#fafbfc}.funnel-builder__steps header{padding:0 5px 14px;display:flex;align-items:center;justify-content:space-between}.funnel-builder__steps header div{display:grid}.funnel-builder__steps header span{font-size:10px;color:#8b94a6;letter-spacing:.08em}.funnel-builder__steps header strong{font-size:13px;color:#17223c}.funnel-builder__steps header button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #dddfea;border-radius:8px;color:#5b2deb;background:#fff}.funnel-builder__steps [data-funnel-step-list]{display:grid;gap:7px}.funnel-builder__steps [data-funnel-step-list]>button{width:100%;padding:10px;display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;text-align:left;border:1px solid #e1e4ec;border-radius:10px;background:#fff;cursor:pointer}.funnel-builder__steps [data-funnel-step-list]>button.is-active{border-color:#7450ef;box-shadow:0 0 0 2px rgba(91,45,235,.08)}.funnel-builder__steps [data-funnel-step-list]>button>b{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:#5b2deb;background:#eee9ff}.funnel-builder__steps button span{min-width:0;display:grid;gap:3px}.funnel-builder__steps button span strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#222c45}.funnel-builder__steps button span small{display:flex;align-items:center;gap:4px;color:#8b94a7;font-size:10px}.funnel-builder__steps button span small i{font-size:14px}.funnel-builder__steps button em{display:none;gap:2px}.funnel-builder__steps button:hover em,.funnel-builder__steps button.is-active em{display:flex}.funnel-builder__steps button em i{padding:3px;font-size:15px;color:#778199}.funnel-builder__add{width:100%;margin-top:10px;padding:9px;border:1px dashed #b9acec;border-radius:9px;color:#5b2deb;background:#f8f6ff;font-size:11px;font-weight:700}.funnel-builder__settings{min-width:0;padding:18px;overflow:auto;border-right:1px solid #e5e7ee}.funnel-general-settings{padding-bottom:18px;display:grid;gap:12px;border-bottom:1px solid #e5e7ed}.funnel-general-settings>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.funnel-general-settings input[type=color]{height:39px;padding:4px}.funnel-builder label{display:grid;gap:6px;font-size:10px;font-weight:750;color:#42506b}.funnel-builder input,.funnel-builder textarea,.funnel-builder select{width:100%;padding:10px;border:1px solid #dce0e9;border-radius:8px;background:#fff;color:#17213a;font:inherit;font-size:11px;resize:vertical}.funnel-builder label small{font-size:9px;font-weight:500;color:#8c95a7}.funnel-step-editor{padding-top:18px;display:grid;gap:12px}.funnel-step-editor header{display:flex;align-items:center;justify-content:space-between}.funnel-step-editor header span{font-size:9px;color:#8b94a7;letter-spacing:.08em}.funnel-step-editor h3{margin:3px 0 0;font-size:17px;color:#15203a}.funnel-step-editor header button{padding:5px;border:0;color:#ef4753;background:transparent}.funnel-step-editor__grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.funnel-builder label.checkbox-control{display:flex;grid-template-columns:auto 1fr;align-items:center}.funnel-builder label.checkbox-control input{width:15px}.funnel-builder__preview{min-width:0;padding:18px 28px 28px;background:radial-gradient(circle at 70% 15%,rgba(91,45,235,.08),transparent 28%),#f5f6fa}.funnel-builder__preview>header{display:flex;align-items:center;justify-content:space-between;color:#7c869b;font-size:10px;font-weight:750;letter-spacing:.05em}.funnel-builder__preview>header div{display:flex;align-items:center;gap:8px}.funnel-builder__preview>header button{width:29px;height:29px;display:grid;place-items:center;border:1px solid #dde0e9;border-radius:8px;background:#fff;color:#55617b}.funnel-builder__preview>header b{min-width:45px;text-align:center;font-size:10px}.funnel-device{width:min(100%,560px);aspect-ratio:4/3;margin:28px auto 0;padding:22px 42px 30px;display:grid;grid-template-rows:auto auto 1fr auto;border:1px solid #e0e2e8;border-radius:17px;background:var(--funnel-bg);box-shadow:0 18px 45px rgba(21,28,49,.12)}.funnel-device__brand{display:flex;align-items:center;justify-content:center;gap:8px}.funnel-device__brand img,.funnel-device__brand>span{width:28px;height:28px;object-fit:contain;display:grid;place-items:center;border-radius:7px;color:#fff;background:var(--project-color);font-size:9px}.funnel-device__brand strong{font-size:13px;color:#101827}.funnel-device__progress{width:75%;height:5px;margin:20px auto;border-radius:10px;background:rgba(15,25,45,.14)}.funnel-device__progress b{display:block;height:100%;border-radius:inherit;background:var(--funnel-color);transition:width .2s}.funnel-device main{align-self:center}.funnel-device main>small{display:block;margin-bottom:6px;color:var(--funnel-color);font-size:9px;font-weight:800;letter-spacing:.07em}.funnel-device h2{margin:0;font-size:24px;line-height:1.15;color:#0c1425}.funnel-device p{margin:9px 0 17px;font-size:11px;line-height:1.5;color:#727b8e}.funnel-device>button{width:100%;padding:11px;display:flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:10px;color:#fff;background:var(--funnel-color);font-size:11px;font-weight:800}.funnel-device__highlight{padding:14px;display:flex;align-items:center;gap:10px;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(20,28,48,.06)}.funnel-device__highlight i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:var(--funnel-color);background:color-mix(in srgb,var(--funnel-color) 10%,#fff)}.funnel-device__highlight strong{font-size:11px;color:#202940}.funnel-device__choices{display:grid;gap:7px}.funnel-device__choices span{padding:9px 11px;display:flex;align-items:center;justify-content:space-between;border:1px solid #dde0e7;border-radius:9px;background:#fff;font-size:10px;font-weight:700;color:#30394e}.funnel-device__choices i{font-size:15px;color:var(--funnel-color)}.funnel-device__slider{display:grid;gap:11px;text-align:center}.funnel-device__slider>strong{font-size:25px;color:#111a2e}.funnel-device__slider>i{height:5px;border-radius:10px;background:#dfe1e6}.funnel-device__slider>i b{display:block;height:100%;border-radius:inherit;background:var(--funnel-color)}.funnel-device__slider>span{display:flex;justify-content:space-between;color:#8a92a3}.funnel-device__input{padding:12px!important;display:grid!important;border:1px solid #dce0e8;border-radius:9px;background:#fff}.funnel-device__input i{font-size:10px;font-style:normal;color:#a2a9b6}.funnel-device__score{display:flex;flex-direction:column;align-items:center}.funnel-device__score strong{width:78px;height:78px;display:grid;place-items:center;border:7px solid color-mix(in srgb,var(--funnel-color) 80%,#fff);border-radius:50%;font-size:23px;color:#151d31}.funnel-device__score strong small{font-size:9px}.funnel-device__score>span{margin-top:6px;font-size:10px;color:#727b8f}.funnel-device ul{margin:10px 0;padding:0;display:grid;gap:5px;list-style:none}.funnel-device li{display:flex;align-items:center;gap:5px;font-size:9px;color:#59647b}.funnel-device li i{font-size:13px;color:var(--funnel-color)}.funnel-builder__footer{grid-column:1/-1;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e2e5ec;background:#fff}.funnel-builder__footer>div{display:flex;gap:8px}.toggle-control{display:flex!important;align-items:center;grid-template-columns:auto auto!important;gap:8px!important}.toggle-control input{position:absolute;opacity:0}.toggle-control>span{width:36px;height:20px;padding:3px;border-radius:30px;background:#cfd4de}.toggle-control>span:after{content:"";display:block;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}.toggle-control input:checked+span{background:#5b2deb}.toggle-control input:checked+span:after{transform:translateX(16px)}.toggle-control b{font-size:11px;color:#38445d}.funnel-type-dialog{width:min(650px,calc(100vw - 30px));padding:0;border:0;border-radius:17px;box-shadow:0 28px 80px rgba(15,21,43,.3)}.funnel-type-dialog::backdrop{background:rgba(15,20,37,.5);backdrop-filter:blur(4px)}.funnel-type-dialog>header{padding:22px;display:flex;justify-content:space-between;border-bottom:1px solid #e6e8ef}.funnel-type-dialog h3{margin:3px 0;font-size:22px;color:#131d35}.funnel-type-dialog p{margin:0;color:#7b8498}.funnel-type-dialog header button{border:0;background:transparent}.funnel-type-dialog>div{padding:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.funnel-type-dialog>div button{padding:16px;display:grid;grid-template-columns:42px 1fr;text-align:left;border:1px solid #e0e3eb;border-radius:12px;background:#fff}.funnel-type-dialog>div button:hover{border-color:#7050e8;background:#faf8ff}.funnel-type-dialog>div button>span{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#5b2deb;background:#eee9ff}.funnel-type-dialog>div strong{font-size:13px;color:#15203a}.funnel-type-dialog>div small{font-size:10px;color:#828b9e}

/* Expérience publique du funnel */
.public-funnel-page{margin:0;min-height:100dvh;background:#fff;font-family:Inter,"Segoe UI",sans-serif}.public-funnel{--funnel-color:#5b2deb;--funnel-bg:#f8f7ff;min-height:100dvh;padding:28px 24px 18px;display:grid;grid-template-rows:auto 1fr auto;position:relative;overflow:hidden;background:linear-gradient(90deg,#fff 0%,color-mix(in srgb,var(--funnel-bg) 76%,#fff) 57%,color-mix(in srgb,var(--funnel-color) 8%,#fff) 100%)}.public-funnel:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 42%,color-mix(in srgb,var(--funnel-color) 10%,transparent),transparent 36%)}.public-funnel__brand{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:10px}.public-funnel__brand img,.public-funnel__brand>span{width:40px;height:40px;display:grid;place-items:center;object-fit:contain;border-radius:10px;color:#fff;background:var(--project-color);font-size:12px;font-weight:850}.public-funnel__brand img{background:#fff}.public-funnel__brand strong{font-size:21px;color:#0e1524}.public-funnel__flow{width:min(680px,100%);margin:auto;position:relative;z-index:1}.public-funnel__progress{height:48px;display:grid;grid-template-columns:42px 1fr 52px;gap:12px;align-items:center}.public-funnel__progress button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;color:#141c2b;background:transparent}.public-funnel__progress button:disabled{opacity:0}.public-funnel__progress i{height:7px;border-radius:10px;background:rgba(20,26,40,.15)}.public-funnel__progress i b{display:block;height:100%;border-radius:inherit;background:var(--funnel-color);transition:width .25s}.public-funnel__progress span{font-size:11px;color:#7c8494}.public-funnel__stage{min-height:590px;position:relative}.public-funnel__step{position:absolute;inset:0;padding:28px 10px 110px;display:flex;flex-direction:column;align-items:stretch;opacity:0;transform:translateX(24px);pointer-events:none;transition:opacity .24s,transform .24s}.public-funnel__step.is-active{opacity:1;transform:none;pointer-events:auto}.public-funnel__step.is-invalid{animation:funnel-shake .35s}.public-funnel__eyebrow{margin-bottom:8px;color:var(--funnel-color);font-size:12px;font-weight:850;letter-spacing:.08em}.public-funnel__step h1{max-width:660px;margin:0;font-size:42px;line-height:1.12;letter-spacing:-.035em;color:#0a0f1a}.public-funnel__step>p{max-width:620px;margin:14px 0 30px;font-size:17px;line-height:1.55;color:#747b89}.public-funnel__content-card{padding:28px;display:flex;align-items:center;gap:16px;border:1px solid rgba(20,26,40,.1);border-radius:17px;background:rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(17,25,45,.06)}.public-funnel__content-card>span{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;color:var(--funnel-color);background:color-mix(in srgb,var(--funnel-color) 10%,#fff);font-size:26px}.public-funnel__content-card strong{font-size:19px;color:#202636}.public-funnel__choices{display:grid;gap:11px}.public-funnel__choices button{width:100%;padding:19px 20px;display:flex;align-items:center;justify-content:space-between;border:1px solid #d9dce4;border-radius:14px;color:#242b3a;background:rgba(255,255,255,.9);box-shadow:0 4px 9px rgba(18,26,44,.05);font-size:16px;font-weight:700;text-align:left;transition:.15s}.public-funnel__choices button:hover,.public-funnel__choices button.is-selected{border-color:var(--funnel-color);color:var(--funnel-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--funnel-color) 10%,transparent)}.public-funnel__choices button .material-symbols-rounded{font-size:20px}.public-funnel__slider{padding:60px 25px 30px;display:grid;gap:25px}.public-funnel__slider output{text-align:center;font-size:42px;font-weight:850;color:#111827}.public-funnel__slider input{width:100%;accent-color:var(--funnel-color)}.public-funnel__slider>div{display:flex;justify-content:space-between;color:#8a91a0;font-size:13px}.public-funnel__form{padding:26px;border:1px solid #dfe2e9;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(20,28,48,.06)}.public-funnel__form label{display:grid;gap:9px;color:#303849;font-size:13px;font-weight:750}.public-funnel__form input{padding:15px;border:1px solid #d8dce4;border-radius:10px;font-size:15px}.public-funnel__form>small{margin-top:12px;display:flex;align-items:center;gap:6px;color:#8a92a1;font-size:11px}.public-funnel__form>small span{font-size:15px;color:#18a565}.public-funnel__result{padding:30px;display:grid;grid-template-columns:160px 1fr;align-items:center;gap:25px;border:1px solid #dfe2e8;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(20,28,48,.06)}.public-funnel__result>div{display:flex;flex-direction:column;align-items:center}.public-funnel__result>div strong{width:128px;height:128px;display:grid;place-items:center;border:12px solid var(--funnel-color);border-left-color:#e9eaf0;border-radius:50%;font-size:38px;color:#11192a}.public-funnel__result>div small{margin-top:-49px;color:#959cab}.public-funnel__result>div span{margin-top:33px;color:var(--funnel-color);font-size:12px;font-weight:800}.public-funnel__result ul{margin:0;padding:0;display:grid;gap:14px;list-style:none}.public-funnel__result li{display:flex;align-items:center;gap:9px;color:#3f485b;font-size:14px}.public-funnel__result li>span{color:var(--funnel-color)}.public-funnel__cta{position:absolute;left:10px;right:10px;bottom:25px;width:calc(100% - 20px);padding:18px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;color:#fff;background:var(--funnel-color);box-shadow:0 10px 25px color-mix(in srgb,var(--funnel-color) 26%,transparent);font-size:16px;font-weight:850;cursor:pointer}.public-funnel__cta:disabled{opacity:.75}.public-funnel__powered{position:relative;z-index:1;text-align:center;color:#9ba1ad;font-size:10px}.public-funnel__powered strong{color:#657087}.public-funnel__missing{place-self:center;text-align:center}.public-funnel__missing>span{font-size:48px;color:#8b95a7}.public-funnel__missing h1{font-size:28px;color:#172039}.public-funnel__missing p{color:#788297}@keyframes funnel-shake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}
@media(max-width:1180px){.funnels-grid{grid-template-columns:repeat(2,1fr)}.funnel-builder{grid-template-columns:220px 310px minmax(360px,1fr)}.funnel-device{padding-inline:28px}.funnel-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.funnel-builder{grid-template-columns:210px 1fr}.funnel-builder__preview{grid-column:1/-1;border-top:1px solid #e5e7ee}.funnel-device{max-width:600px}.funnels-empty__features{grid-template-columns:1fr}.funnel-workspace-head{align-items:flex-start;flex-wrap:wrap}.funnel-workspace-head__actions{width:100%}}
@media(max-width:700px){.funnels-grid{grid-template-columns:1fr}.funnels-list-head{align-items:flex-start;flex-direction:column}.funnel-builder{display:block}.funnel-builder__steps,.funnel-builder__settings{border:0;border-bottom:1px solid #e5e7ee}.funnel-builder__footer{position:sticky;bottom:0}.funnel-kpis{grid-template-columns:1fr}.funnel-stage-table{overflow-x:auto}.funnel-stage-table__head,.funnel-stage-row{min-width:720px}.public-funnel{padding:18px 16px 10px}.public-funnel__brand img,.public-funnel__brand>span{width:34px;height:34px}.public-funnel__brand strong{font-size:18px}.public-funnel__step{padding-top:22px}.public-funnel__step h1{font-size:31px}.public-funnel__step>p{font-size:15px}.public-funnel__stage{min-height:600px}.public-funnel__result{grid-template-columns:1fr;padding:20px}.public-funnel__result ul{width:100%}.funnel-type-dialog>div{grid-template-columns:1fr}}

/* Public acquisition funnels v2 */
.public-funnel__choices button.is-selected>.material-symbols-rounded:first-child{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;border:1px solid #1f2937;border-radius:50%;color:#fff;background:#22a06b;font-size:0}.public-funnel__choices button.is-selected>.material-symbols-rounded:first-child:before{content:"✓";display:grid;width:100%;height:100%;place-items:center;color:#fff;font:800 13px/1 Arial,sans-serif;transform:translateY(-.25px)}
.public-funnel__hero-cta,.public-funnel__cta{border-radius:var(--funnel-button-radius,999px)}
.public-funnel__hero{display:grid;gap:15px}.public-funnel__hero>span{width:max-content;padding:9px 13px;display:flex;gap:7px;border-radius:999px;color:#187d58;background:#eaf8f1;font-size:12px;font-weight:800}.public-funnel__hero>strong{width:max-content;padding:3px 9px;color:var(--funnel-color);background:#eee9ff;font-size:22px}.public-funnel__choices button>span:nth-child(2){flex:1;margin-left:9px}.public-funnel__upload{padding:45px 22px;position:relative;display:grid;place-items:center;gap:9px;text-align:center;border:2px dashed #cbbff4;border-radius:18px;background:#fff}.public-funnel__upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.public-funnel__upload>span{width:66px;height:66px;display:grid;place-items:center;border-radius:18px;color:#fff;background:var(--funnel-color);font-size:32px}.public-funnel__upload strong{font-size:17px}.public-funnel__upload small{font-size:12px;color:#878e9b}.public-funnel__upload em{color:var(--funnel-color);font-size:12px;font-style:normal}.public-funnel__security{margin:14px;display:flex;justify-content:center;gap:7px;color:#3b9870;font-size:12px}.public-funnel__processing,.public-funnel__score-detail,.public-funnel__chart{border:1px solid #e0e2e8;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(20,28,48,.06)}.public-funnel__processing{overflow:hidden}.public-funnel__processing>header{padding:16px 20px 8px;display:flex;justify-content:space-between}.public-funnel__processing>i{height:7px;margin:0 20px 14px;display:block;border-radius:8px;background:#e8e9ed}.public-funnel__processing>i b{display:block;width:0;height:100%;background:var(--funnel-color)}.public-funnel__processing ul{margin:0;padding:0;list-style:none}.public-funnel__processing li{padding:14px 20px;display:flex;gap:12px;border-top:1px solid #eceef2;color:#a3a9b4}.public-funnel__processing li div{display:grid}.public-funnel__processing li.is-active{color:var(--funnel-color);background:#faf8ff}.public-funnel__processing li.is-done{color:#239363}.public-funnel__score-detail{padding:22px;text-align:center}.public-funnel__score-ring{width:132px;height:132px;margin:auto;position:relative;display:grid;place-content:center;border-radius:50%;background:conic-gradient(var(--funnel-color) calc(var(--score)*1%),#eceef1 0)}.public-funnel__score-ring:before{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}.public-funnel__score-ring>*{position:relative}.public-funnel__score-ring strong{font-size:38px}.public-funnel__score-detail>p b{color:var(--funnel-color)}.public-funnel__score-detail ul{padding:14px 0 0;display:grid;gap:9px;border-top:1px solid #eceef2;list-style:none}.public-funnel__score-detail li header{display:flex;justify-content:space-between;font-size:12px}.public-funnel__score-detail li>i{height:6px;display:block;background:#eceef1}.public-funnel__score-detail li>i b{display:block;height:100%;background:#f1a149}.public-funnel__score-detail li.is-danger>i b{background:#e96a73}.public-funnel__score-detail li.is-success>i b{background:#53b88b}.public-funnel__slider-icons{display:flex;justify-content:space-between;color:#c4c9d1}.public-funnel__slider-icons span>span{font-size:34px}.public-funnel__slider-icons span.is-active{color:var(--funnel-color)}.public-funnel__slider>em{padding:13px;text-align:center;border-radius:999px;background:#f2f3f6;font-style:normal;font-weight:750}.public-funnel__comparison{width:min(460px,100%);margin:auto;padding:25px;border-radius:21px;background:#f4f1ff}.public-funnel__comparison>div{height:245px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.public-funnel__comparison article{padding:16px;display:grid;grid-template-rows:auto 1fr auto;text-align:center;border-radius:15px;background:#fff}.public-funnel__comparison article>i{display:flex;align-items:flex-end}.public-funnel__comparison article>i b{width:100%;background:#e5e7ec}.public-funnel__comparison article:last-child>i b{background:var(--funnel-color)}.public-funnel__comparison article>span{padding:9px;border-radius:8px;background:#f2f3f5;font-size:18px;font-weight:850}.public-funnel__comparison article:last-child>span{color:#fff;background:var(--funnel-color)}.public-funnel__comparison>p{text-align:center}.public-funnel__chart{padding:23px}.public-funnel__chart canvas{width:100%;height:235px}.public-funnel__chart>div{display:flex;justify-content:space-between;font-size:11px}.public-funnel__plan{display:grid;gap:11px}.public-funnel__plan article{padding:17px;display:grid;grid-template-columns:46px 1fr;gap:13px;border:1px solid #dfe2e8;border-radius:14px;background:#fff}.public-funnel__plan article>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--funnel-color);background:#eee9ff}.public-funnel__plan article div{display:grid}.public-funnel__plan article small{font-size:10px}.public-funnel__plan article strong{font-size:15px}.public-funnel__plan article p{margin:0;font-size:12px}.public-funnel__plan>em{padding:12px;text-align:center;color:var(--funnel-color);background:#f4f1ff;font-style:normal}.public-funnel__step--hero h1{font-size:52px}
.public-funnel__choices button>span:nth-child(2){display:flex;min-width:0;flex:1;margin-left:9px;flex-direction:column;gap:4px}.public-funnel__choices button>span:nth-child(2) strong{color:inherit;font-size:16px}.public-funnel__choices button>span:nth-child(2) small{color:#7b8493;font-size:13px;font-weight:500;line-height:1.4}.public-funnel__choices button:hover>span:nth-child(2) small,.public-funnel__choices button.is-selected>span:nth-child(2) small{color:color-mix(in srgb,var(--funnel-color) 72%,#747b89)}
@media(max-width:700px){.public-funnel__step--hero h1{font-size:37px}.public-funnel__hero>strong{font-size:17px}.public-funnel__upload{padding:32px 17px}.public-funnel__chart canvas{height:180px}.public-funnel__comparison>div{height:210px}}

/* Accueil premium du funnel */
.public-funnel__step--hero{padding:18px 10px 32px;text-align:center;overflow-y:auto}.public-funnel__step--hero.is-floating{inset:-4px -35px;background:transparent}.public-funnel__step--hero h1{max-width:650px;margin:16px auto 0;font-family:Inter,"Segoe UI",sans-serif;font-size:58px;line-height:1.04;letter-spacing:-.05em}.public-funnel__step--hero>p{max-width:570px;margin:20px auto 30px;font-size:17px;line-height:1.42}.public-funnel__rating{width:max-content;max-width:100%;margin:0 auto 18px;padding:9px 15px;display:flex;align-items:center;gap:8px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 5px 18px rgba(20,24,34,.08);font-size:12px}.public-funnel__rating>span{display:flex}.public-funnel__rating>span i{width:29px;height:29px;margin-left:-7px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff;background:#344054;font-size:8px;font-style:normal}.public-funnel__rating>span i:first-child{margin-left:0}.public-funnel__rating>b{color:#46bc87;font-size:21px}.public-funnel__rating em{font-style:normal;font-weight:750}.public-funnel__rating small{color:#a0a5ae}.public-funnel__hero-cta{width:min(100%,560px);padding:18px;margin:0 auto;border:0;border-radius:var(--funnel-button-radius,999px);color:#fff;background:var(--funnel-color);box-shadow:0 12px 25px color-mix(in srgb,var(--funnel-color) 28%,transparent);font-size:16px;font-weight:850;cursor:pointer}.public-funnel__hero-reassurance{margin:13px auto 25px;display:flex;align-items:center;justify-content:center;gap:6px;color:#858b96;font-size:12px}.public-funnel__hero-reassurance>span{font-size:16px}.public-funnel__hero-card{width:min(100%,570px);margin:0 auto;padding:20px;display:grid;grid-template-columns:42% 1fr;gap:21px;text-align:left;border:1px solid rgba(35,40,52,.12);border-radius:19px;background:rgba(255,255,255,.9);box-shadow:0 8px 25px rgba(20,24,34,.08)}.public-funnel__hero-card>div{display:flex}.public-funnel__hero-card canvas{width:100%;height:150px;border:1px solid #e3e5e9;border-radius:12px}.public-funnel__hero-card section header{display:flex;align-items:center;gap:10px}.public-funnel__hero-card section header>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;color:var(--funnel-color);background:color-mix(in srgb,var(--funnel-color) 9%,#fff)}.public-funnel__hero-card section header div{display:grid}.public-funnel__hero-card section header strong{font-size:14px}.public-funnel__hero-card section header small{font-size:11px;color:#8a909b}.public-funnel__hero-card ul{margin:15px 0 0;padding:0;display:grid;gap:9px;list-style:none}.public-funnel__hero-card li{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.public-funnel__hero-card li>span{color:#3fba7f;font-size:18px}
@media(max-width:700px){.public-funnel__step--hero{padding-inline:0}.public-funnel__step--hero.is-floating{inset:0}.public-funnel__step--hero h1{font-size:40px}.public-funnel__rating{font-size:10px;gap:5px}.public-funnel__rating>span i{width:25px;height:25px}.public-funnel__rating em:last-child{display:none}.public-funnel__hero-card{grid-template-columns:1fr}.public-funnel__hero-card canvas{height:120px}}
.public-funnel__step--hero:not(.is-floating){padding:28px 28px 36px;border:1px solid rgba(35,40,52,.1);border-radius:24px;background:rgba(255,255,255,.84);box-shadow:0 18px 50px rgba(23,29,48,.1)}.public-funnel__rating>span img{width:100%;height:100%;border-radius:inherit;object-fit:cover}

/* Le funnel public exploite toute la hauteur disponible avant de défiler. */
.public-funnel {
  height: 100dvh;
  min-height: 640px;
  padding-block: 18px 10px;
  grid-template-rows: auto minmax(0,1fr) auto;
}
.public-funnel__flow {
  min-height: 0;
  margin: 0 auto;
  display: grid;
  align-self: stretch;
  grid-template-rows: 48px minmax(0,1fr);
}
.public-funnel__progress button {
  width: 42px;
  height: 42px;
  color: #263248;
  transition: color .16s ease,background .16s ease,transform .16s ease;
}
.public-funnel__progress button .material-symbols-rounded { font-size: 30px; }
.public-funnel__progress button:not(:disabled):hover {
  color: var(--funnel-color);
  background: color-mix(in srgb,var(--funnel-color) 9%,transparent);
  transform: translateX(-2px);
}
.public-funnel__progress button:focus-visible {
  outline: 3px solid color-mix(in srgb,var(--funnel-color) 24%,transparent);
  outline-offset: 2px;
}
.public-funnel__stage {
  height: 100%;
  min-height: 0;
}
.public-funnel__step {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb,var(--funnel-color) 48%,#9ca3af) transparent;
  scrollbar-gutter: stable;
}
.public-funnel__step::-webkit-scrollbar { width: 9px; }
.public-funnel__step::-webkit-scrollbar-track { background: transparent; }
.public-funnel__step::-webkit-scrollbar-thumb {
  min-height: 48px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: color-mix(in srgb,var(--funnel-color) 48%,#9ca3af);
  background-clip: padding-box;
}
.public-funnel__step::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb,var(--funnel-color) 68%,#6b7280);
  background-clip: padding-box;
}
.public-funnel__step::-webkit-scrollbar-button { display: none; }
.public-funnel__step--hero {
  padding-top: 10px;
  padding-bottom: 16px;
}
.public-funnel__step--hero h1 { margin-top: 8px; }
.public-funnel__step--hero > p { margin: 14px auto 20px; }
.public-funnel__step--hero .public-funnel__rating { margin-bottom: 12px; }
.public-funnel__step--hero .public-funnel__hero-reassurance { margin: 10px auto 14px; }
.public-funnel__step--hero .public-funnel__hero-card { padding: 18px; }
.public-funnel__step--hero .public-funnel__hero-card canvas { height: 140px; }

@media (max-width:700px) {
  .public-funnel { min-height: 100dvh; padding-block: 14px 8px; }
  .public-funnel__flow { grid-template-rows: 44px minmax(0,1fr); }
  .public-funnel__step--hero .public-funnel__hero-card canvas { height: 120px; }
}
.public-funnel__hero-cta{font-size:17px}.public-funnel__hero-reassurance{font-size:14px}.public-funnel__hero-reassurance>span{font-size:18px}.public-funnel__hero-card section header strong{font-size:16px}.public-funnel__hero-card section header small{font-size:13px;line-height:1.4}.public-funnel__hero-card li{font-size:14px;line-height:1.4}.public-funnel__hero-card li>span{font-size:20px}

/* RÃ©partition verticale harmonieuse de l'accueil sur toute la scÃ¨ne. */
.public-funnel__step--hero.is-active{
  min-height:100%;
  box-sizing:border-box;
  justify-content:space-evenly;
  gap:clamp(8px,1.2vh,16px);
}
.public-funnel__step--hero.is-active>.public-funnel__rating,
.public-funnel__step--hero.is-active>h1,
.public-funnel__step--hero.is-active>p,
.public-funnel__step--hero.is-active>.public-funnel__hero-cta,
.public-funnel__step--hero.is-active>.public-funnel__hero-reassurance,
.public-funnel__step--hero.is-active>.public-funnel__hero-card{
  flex:0 0 auto;
  margin-top:0;
  margin-bottom:0;
}
@media(max-height:720px){
  .public-funnel__step--hero.is-active{justify-content:flex-start}
}

/* Resserre les contenus qui forment une seule unité visuelle dans le hero. */
.public-funnel__step--hero.is-active{justify-content:center;gap:0}
.public-funnel__step--hero.is-active>.public-funnel__rating{margin:0 auto 16px}
.public-funnel__step--hero.is-active>h1{margin:0 auto}
.public-funnel__step--hero.is-active>p{margin:12px auto 28px}
.public-funnel__step--hero.is-active>.public-funnel__hero-cta{margin:0 auto}
.public-funnel__step--hero.is-active>.public-funnel__hero-reassurance{margin:8px auto 24px}
.public-funnel__step--hero.is-active>.public-funnel__hero-card{margin:0 auto}
.public-funnel__step--hero.is-active{justify-content:flex-start}
.public-funnel__step--hero.is-active>.public-funnel__rating{margin-bottom:16px}
.public-funnel__hero-bottom{width:100%;margin-top:auto;margin-bottom:auto;display:grid;gap:20px}
.public-funnel__hero-action{display:grid;gap:8px;justify-items:center}
.public-funnel__hero-action>.public-funnel__hero-cta{margin:0 auto}
.public-funnel__hero-action>.public-funnel__hero-reassurance{margin:0 auto}
.public-funnel__hero-bottom>.public-funnel__hero-card{margin:0 auto}
@media(max-height:720px){.public-funnel__hero-bottom{margin-top:24px}}

/* Centre systématiquement l'introduction de chaque type d'étape. */
.public-funnel__step>h1,
.public-funnel__step>.public-funnel__hero-copy>h1{
  width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.public-funnel__step>p,
.public-funnel__step>.public-funnel__hero-copy>p{
  width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

/* Funnel public : graisse maximale de 600, hors titre principal. */
.public-funnel strong,
.public-funnel b,
.public-funnel__brand img,
.public-funnel__brand > span,
.public-funnel__eyebrow,
.public-funnel__choices button,
.public-funnel__slider output,
.public-funnel__form label,
.public-funnel__result > div span,
.public-funnel__cta,
.public-funnel__hero > span,
.public-funnel__slider > em,
.public-funnel__comparison article > span,
.public-funnel__rating em,
.public-funnel__hero-cta,
.public-funnel__hero-card li,
.public-funnel__choices button.is-selected > .material-symbols-rounded:first-child::before {
  font-weight: 600;
}

/* Équilibre vertical du hero et signature toujours visible. */
.public-funnel { padding-bottom: 30px; }
.public-funnel__powered {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 8px;
  left: 0;
  display: flex;
  min-height: 16px;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.public-funnel__step--hero.is-active {
  padding-top: clamp(24px,3.5vh,38px);
  justify-content: flex-start;
}
.public-funnel__step--hero.is-active > .public-funnel__rating { margin: 0 auto 14px; }
.public-funnel__step--hero.is-active > p { margin: 14px auto 38px; }
.public-funnel__step--hero.is-active > .public-funnel__hero-reassurance { margin: 10px auto 20px; }

@media (max-height:720px) {
  .public-funnel { padding-bottom: 24px; }
  .public-funnel__step--hero.is-active { padding-top: 12px; }
  .public-funnel__step--hero.is-active > p { margin-bottom: 24px; }
  .public-funnel__step--hero.is-active > .public-funnel__hero-reassurance { margin-bottom: 14px; }
  .public-funnel__powered { bottom: 5px; }
}

/* Slider du funnel : rail progressif, repères cerclés et recommandation assortie. */
.public-funnel__slider{--slider-progress:40%;padding-inline:12px;gap:20px}
.public-funnel__slider-icons{position:relative!important;height:48px;display:block!important;color:#a6adba!important}
.public-funnel__slider-icons>span{position:absolute;top:0;display:grid;width:42px;height:42px;place-items:center;transform:translateX(-50%);border:1px solid #e1e4ea;border-radius:13px;background:rgba(255,255,255,.82);box-shadow:0 5px 14px rgba(24,31,48,.06);transition:color .16s,border-color .16s,background .16s,transform .16s}
.public-funnel__slider-icons>span:first-child{transform:translateX(0)}
.public-funnel__slider-icons>span:last-child{transform:translateX(-100%)}
.public-funnel__slider-icons>span>.material-symbols-rounded{font-size:27px}
.public-funnel__slider-icons>span.is-active{color:var(--funnel-color);border-color:color-mix(in srgb,var(--funnel-color) 38%,#d8dce4);background:color-mix(in srgb,var(--funnel-color) 8%,#fff);transform:translateX(-50%) translateY(-3px)}
.public-funnel__slider-icons>span:first-child.is-active{transform:translateX(0) translateY(-3px)}
.public-funnel__slider-icons>span:last-child.is-active{transform:translateX(-100%) translateY(-3px)}
.public-funnel__slider-track{height:34px;position:relative;display:flex;align-items:center}
.public-funnel__slider-track input[type="range"]{
  position:relative;
  z-index:2;
  width:100%;
  height:6px;
  margin:0;
  border-radius:999px;
  outline:0;
  appearance:none;
  -webkit-appearance:none;
  background:linear-gradient(to right,var(--funnel-color) 0 var(--slider-progress),#d9dde2 var(--slider-progress) 100%);
  cursor:pointer;
}
.public-funnel__slider-track input[type="range"]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:transparent}
.public-funnel__slider-track input[type="range"]::-moz-range-track{height:6px;border:0;border-radius:999px;background:linear-gradient(to right,var(--funnel-color) 0 var(--slider-progress),#d9dde2 var(--slider-progress) 100%)}
.public-funnel__slider-track input[type="range"]::-webkit-slider-thumb{width:28px;height:28px;margin-top:-11px;border:6px solid var(--funnel-color);border-radius:50%;appearance:none;-webkit-appearance:none;background:#fff;box-shadow:0 2px 7px rgba(24,31,48,.16)}
.public-funnel__slider-track input[type="range"]::-moz-range-thumb{width:17px;height:17px;border:6px solid var(--funnel-color);border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(24,31,48,.16)}
.public-funnel__slider-track input[type="range"]:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--funnel-color) 18%,transparent)}
.public-funnel__slider-dots{position:absolute;z-index:3;inset:0;pointer-events:none}
.public-funnel__slider-dots>i{position:absolute;top:50%;width:18px;height:18px;display:block;transform:translate(-50%,-50%);border:4px solid var(--funnel-color);border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(24,31,48,.12)}
.public-funnel__slider-dots>i.is-active{opacity:0}
.public-funnel__slider-labels{height:22px;position:relative;display:block!important;color:#4f5969!important;font-size:15px!important;font-weight:700}
.public-funnel__slider-labels>span{position:absolute;top:0;white-space:nowrap;transform:translateX(-50%)}
.public-funnel__slider-labels>span:first-child{transform:translateX(0)}
.public-funnel__slider-labels>span:last-child{transform:translateX(-100%)}
.public-funnel__slider-labels>span.is-active{color:var(--funnel-color)}
.public-funnel__slider>em{width:max-content;margin:0 0 0 var(--slider-recommendation-position,50%);padding:10px 17px;display:flex;align-items:center;justify-content:center;gap:7px;transform:translateX(-50%);border:1px solid color-mix(in srgb,var(--funnel-color) 34%,transparent);border-radius:999px;color:var(--funnel-color);background:color-mix(in srgb,var(--funnel-color) 9%,#fff);font-size:14px;font-style:normal;font-weight:700}
.public-funnel__slider>em .material-symbols-rounded{font-size:18px}

@media(max-width:700px){
  .public-funnel__slider{padding-inline:4px}
  .public-funnel__slider-labels{font-size:13px!important}
}

/* Navigation et nettoyage des résultats de funnels. */
.funnel-card--analytics{position:relative;transition:transform .18s,border-color .18s,box-shadow .18s}
.funnel-card--analytics:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--funnel-color) 38%,#dfe3ec);box-shadow:0 14px 34px rgba(26,35,61,.1)}
.funnel-card__hitbox{position:absolute;z-index:1;inset:0;border-radius:inherit}
.funnel-card--analytics .funnel-card__body>.button{position:relative;z-index:2}
.funnel-stage-report>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.funnel-stage-report>header .button{flex:0 0 auto}
.funnel-history-dialog{width:min(520px,calc(100vw - 32px))}
.funnel-history-dialog .task-dialog__head>span{color:#d93e50;background:#fff0f2}
.funnel-history-dialog__warning{padding:13px;display:flex;align-items:flex-start;gap:9px;border:1px solid #eadff8;border-radius:10px;color:#655676;background:#faf7ff;font-size:11px;line-height:1.5}
.funnel-history-dialog__warning>.material-symbols-rounded{color:#6433e8;font-size:19px}
.funnel-history-dialog__warning span{display:grid;gap:2px}
.funnel-history-dialog__warning strong{color:#382b4b}
.funnel-history-dialog__confirm{min-height:40px;padding:0 15px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d93e50;border-radius:9px;color:#fff;background:#d93e50;font-size:12px;font-weight:750;cursor:pointer}
.funnel-history-dialog__confirm:hover{background:#bc2c40}
@media(max-width:700px){.funnel-stage-report>header{align-items:stretch;flex-direction:column}.funnel-stage-report>header .button{justify-content:center}}

/* Barre de progression de l’étape Analyse. */
.public-funnel__processing>i{overflow:hidden}
.public-funnel__processing>i b{border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--funnel-color) 68%,#fff),var(--funnel-color) 52%,color-mix(in srgb,var(--funnel-color) 72%,#000))}

/* Choix actif : coche géométrique indépendante des polices et voile de la couleur du funnel. */
.public-funnel__choice-indicator{
  position:relative;
  width:20px;
  height:20px;
  display:block;
  flex:0 0 20px;
  border:2px solid #424b5b;
  border-radius:50%;
  background:#fff;
  box-sizing:border-box;
}
.public-funnel__choices button.is-selected{
  background:color-mix(in srgb,var(--funnel-color) 7%,#fff);
}
.public-funnel__choices button.is-selected>.public-funnel__choice-indicator{
  border-color:var(--funnel-color);
  background:var(--funnel-color);
}
.public-funnel__choices button.is-selected>.public-funnel__choice-indicator::after{
  content:"";
  position:absolute;
  top:3px;
  left:6px;
  width:4px;
  height:8px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg);
  transform-origin:center;
  box-sizing:border-box;
}

/* Plan personnalisé : étapes lisibles et projection orientée résultats. */
.public-funnel__step--plan{padding-bottom:100px}
.public-funnel__step--plan>p{margin-bottom:20px}
.public-funnel__step--plan .public-funnel__plan{width:min(610px,100%);margin:0 auto;gap:11px}
.public-funnel__plan>em{width:100%;padding:10px 14px;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--funnel-color) 20%,#e3e5ea);border-radius:11px;color:var(--funnel-color);background:color-mix(in srgb,var(--funnel-color) 5%,#fff);font-size:12px;font-weight:700;text-align:center}
.public-funnel__plan-steps{display:grid;gap:9px}
.public-funnel__plan-steps>article{min-height:70px;padding:11px 14px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;border-color:#dfe2e7;border-radius:13px;box-shadow:0 5px 14px rgba(24,31,48,.055)}
.public-funnel__plan-steps>article>span{width:46px;height:46px;border-radius:12px;font-size:25px;color:var(--funnel-color);background:color-mix(in srgb,var(--funnel-color) 9%,#fff)}
.public-funnel__plan-steps article div{display:grid;gap:2px}
.public-funnel__plan-steps article small{color:#7d8491;font-size:10px;font-weight:750;letter-spacing:.06em}
.public-funnel__plan-steps article strong{font-size:15px;line-height:1.25}
.public-funnel__plan-steps article p{margin:0;color:#6f7785;font-size:12px;line-height:1.35}
.public-funnel__plan-projection{padding:14px;display:grid;grid-template-columns:minmax(0,40%) minmax(0,60%);gap:16px;border:1px solid #dfe2e7;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 7px 18px rgba(24,31,48,.065)}
.public-funnel__plan-projection>div{min-width:0;display:grid;grid-template-rows:auto 1fr;gap:6px}
.public-funnel__plan-projection>div>strong{font-size:14px}
.public-funnel__plan-projection canvas{width:100%;height:115px}
.public-funnel__plan-projection ul{margin:0;padding:0;display:grid;align-content:center;gap:10px;list-style:none}
.public-funnel__plan-projection li{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px}
.public-funnel__plan-projection li>.material-symbols-rounded{color:#31b879;font-size:19px}
.public-funnel__plan-projection li span{display:grid;gap:2px}
.public-funnel__plan-projection li strong{font-size:12px;line-height:1.25}
.public-funnel__plan-projection li small{color:#7a8290;font-size:10px;line-height:1.3}

@media(max-width:700px){
  .public-funnel__plan-projection{grid-template-columns:1fr}
  .public-funnel__plan-projection canvas{height:95px}
}

/* Formulaire multi-champs du funnel. */
.public-funnel__step--form{padding-bottom:105px}
.public-funnel__step--form>p{margin-bottom:20px}
.public-funnel__step--form .public-funnel__form{width:min(620px,100%);margin:0 auto;padding:22px;display:grid;gap:17px;box-sizing:border-box}
.public-funnel__form fieldset{min-width:0;margin:0;padding:0;display:grid;gap:8px;border:0}
.public-funnel__form legend{margin-bottom:7px;color:#242c3d;font-size:13px;font-weight:750}
.public-funnel__form legend::first-letter{text-transform:uppercase}
.public-funnel__form input,.public-funnel__form textarea{width:100%;padding:13px 14px;box-sizing:border-box;border:1px solid #d8dce4;border-radius:9px;outline:0;color:#242c3d;background:#fff;font:inherit;font-size:14px;transition:border-color .16s,box-shadow .16s}
.public-funnel__form textarea{min-height:92px;resize:vertical;line-height:1.5}
.public-funnel__form input:focus,.public-funnel__form textarea:focus{border-color:var(--funnel-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--funnel-color) 10%,transparent)}
.public-funnel__form fieldset>small{display:flex;align-items:center;gap:6px;color:#858d9b;font-size:11px;line-height:1.35}
.public-funnel__form fieldset>small .material-symbols-rounded{color:var(--funnel-color);font-size:16px}
.public-funnel__form fieldset.is-invalid legend{color:#cf3c4d}
.public-funnel__form-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.public-funnel__form-selector button{min-height:56px;padding:10px;position:relative;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d9dde5;border-radius:10px;color:#30394a;background:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:.16s}
.public-funnel__form-selector button>.material-symbols-rounded{font-size:22px}
.public-funnel__form-selector button>i{position:absolute;top:-7px;right:-7px;width:21px;height:21px;display:none;border:2px solid #fff;border-radius:50%;background:var(--funnel-color)}
.public-funnel__form-selector button>i::after{content:"";position:absolute;top:3px;left:7px;width:4px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}
.public-funnel__form-selector button.is-selected{border-color:var(--funnel-color);color:var(--funnel-color);background:color-mix(in srgb,var(--funnel-color) 7%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--funnel-color) 9%,transparent)}
.public-funnel__form-selector button.is-selected>i{display:block}
.public-funnel__form>footer{padding-top:2px;display:flex;align-items:center;justify-content:center;gap:6px;color:#858d9b;font-size:11px}
.public-funnel__form>footer .material-symbols-rounded{font-size:15px;color:#38a879}

@media(max-width:620px){.public-funnel__form-selector{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Présentation globale appliquée à toutes les étapes du funnel. */
.public-funnel__step.is-framed{
  inset:10px 0;
  padding:28px 30px 110px;
  border:1px solid rgba(35,40,52,.1);
  border-radius:24px;
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 50px rgba(23,29,48,.1);
}
.public-funnel__step.is-framed>.public-funnel__cta{left:30px;right:30px;width:calc(100% - 60px)}
.public-funnel__step.is-floating{border-color:transparent;background:transparent;box-shadow:none}

@media(max-width:700px){
  .public-funnel__step.is-framed{inset:6px 0;padding:22px 16px 100px;border-radius:18px}
  .public-funnel__step.is-framed>.public-funnel__cta{left:16px;right:16px;width:calc(100% - 32px)}
}

/* Résultat final : score, verdict et leviers de croissance. */
.public-funnel__step--result{padding-top:18px;text-align:center}
.public-funnel__step--result h1{max-width:100%;font-size:38px}
.public-funnel__step--result>p{max-width:560px;margin:10px auto 17px;font-size:15px;line-height:1.45}
.public-funnel__result-target{color:#20a966;font-weight:850}
.public-funnel__result-card{width:min(610px,100%);margin:0 auto;padding:20px 24px 22px;box-sizing:border-box;border:1px solid rgba(24,31,45,.12);border-radius:20px;background:rgba(255,255,255,.93);box-shadow:0 12px 34px rgba(35,27,20,.09);text-align:left}
.public-funnel__result-card>section{text-align:center}
.public-funnel__result-ring{width:116px;height:116px;margin:0 auto 10px;padding:9px;box-sizing:border-box;display:grid;place-items:center;border-radius:50%;background:conic-gradient(from 208deg,#f26722 0 12%,#22ad69 12% var(--result-score),#e9e8e5 var(--result-score) 100%)}
.public-funnel__result-ring>span{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#fff}
.public-funnel__result-ring strong{font-size:41px;line-height:.9;color:#22ad69}
.public-funnel__result-ring small{margin-top:5px;color:#8c929c;font-size:13px;font-weight:650}
.public-funnel__result-card h2{margin:0;font-size:18px;color:#111827}
.public-funnel__result-card h2 strong{color:#20a966}
.public-funnel__result-card>section>p{margin:6px 0 16px;color:#737b88;font-size:12px}
.public-funnel__result-metrics{padding-top:14px;display:grid;gap:10px;border-top:1px solid #e4e3df}
.public-funnel__result-metrics article{display:grid;grid-template-columns:36px 185px minmax(100px,1fr) 45px;align-items:center;gap:10px}
.public-funnel__result-metrics article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#20a966;background:#e7f7ef}
.public-funnel__result-metrics article>span .material-symbols-rounded{font-size:20px}
.public-funnel__result-metrics article>strong{color:#394150;font-size:13px}
.public-funnel__result-metrics article>i{height:7px;overflow:hidden;border-radius:20px;background:#e9e9e7}
.public-funnel__result-metrics article>i>b{display:block;height:100%;border-radius:inherit;background:#22ad69}
.public-funnel__result-metrics article>em{color:#20a966;font-size:15px;font-style:normal;font-weight:850;text-align:right}
.public-funnel__result-metrics article.is-warning>span{color:#f26722;background:#fff0e7}
.public-funnel__result-metrics article.is-warning>i>b{background:#f26722}
.public-funnel__result-metrics article.is-warning>em{color:#f26722}
.public-funnel__step--result .public-funnel__cta{bottom:36px;background:var(--funnel-color);box-shadow:0 10px 25px color-mix(in srgb,var(--funnel-color) 26%,transparent)}
.public-funnel__result-reassurance{position:absolute;left:10px;right:10px;bottom:5px;display:flex;align-items:center;justify-content:center;gap:6px;color:#747b86;font-size:12px}
.public-funnel__result-reassurance .material-symbols-rounded{font-size:15px}

@media(max-width:700px){
  .public-funnel__step--result{padding-left:0;padding-right:0}
  .public-funnel__step--result h1{font-size:30px}
  .public-funnel__result-card{padding:18px 15px}
  .public-funnel__result-metrics article{grid-template-columns:34px minmax(100px,1fr) 80px 38px;gap:7px}
  .public-funnel__result-metrics article>strong{font-size:11px}
  .public-funnel__result-ring{width:104px;height:104px}
  .public-funnel__result-ring strong{font-size:36px}
}

/* Funnel public : adaptation fluide des étapes sur tablette et mobile. */
@media (max-width:900px) {
  .public-funnel {
    padding-right:clamp(14px,3vw,24px);
    padding-left:clamp(14px,3vw,24px);
  }
  .public-funnel__flow { width:min(100%,640px); }
  .public-funnel__step { padding-right:clamp(4px,2vw,14px);padding-left:clamp(4px,2vw,14px); }
  .public-funnel__step h1 { font-size:clamp(32px,6vw,44px); }
  .public-funnel__step>p { max-width:560px;font-size:16px; }
  .public-funnel__hero-card { width:min(100%,560px); }
  .public-funnel__comparison,.public-funnel__chart,.public-funnel__score-detail,.public-funnel__processing { width:100%;box-sizing:border-box; }
}

@media (max-width:640px) {
  .public-funnel {
    height:100svh;
    height:100dvh;
    min-height:0;
    padding:max(10px,env(safe-area-inset-top)) 12px max(24px,env(safe-area-inset-bottom));
    grid-template-rows:auto minmax(0,1fr);
  }
  .public-funnel__brand { min-height:38px;gap:8px; }
  .public-funnel__brand img,.public-funnel__brand>span { width:32px;height:32px;border-radius:8px; }
  .public-funnel__brand strong { max-width:min(72vw,310px);overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap; }
  .public-funnel__flow { width:100%;min-height:0;grid-template-rows:42px minmax(0,1fr); }
  .public-funnel__progress { height:42px;grid-template-columns:38px minmax(0,1fr) 42px;gap:8px; }
  .public-funnel__progress button { width:38px;height:38px; }
  .public-funnel__progress button .material-symbols-rounded { font-size:26px; }
  .public-funnel__progress i { height:6px; }
  .public-funnel__progress span { font-size:10px;text-align:right; }
  .public-funnel__stage { min-height:0;height:100%; }
  .public-funnel__step {
    padding:14px 3px calc(84px + env(safe-area-inset-bottom));
    box-sizing:border-box;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-gutter:auto;
  }
  .public-funnel__step.is-framed { inset:3px 0;padding:17px 13px calc(88px + env(safe-area-inset-bottom));border-radius:16px; }
  .public-funnel__step h1,.public-funnel__step--hero h1,.public-funnel__step--result h1 {
    max-width:100%;
    font-size:clamp(28px,9vw,38px);
    line-height:1.08;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
  }
  .public-funnel__step>p,.public-funnel__step--hero>p,.public-funnel__step--result>p {
    margin:10px auto 20px;
    font-size:14px;
    line-height:1.48;
  }
  .public-funnel__eyebrow { margin-bottom:6px;font-size:10px; }
  .public-funnel__cta,.public-funnel__step.is-framed>.public-funnel__cta {
    right:3px;
    bottom:max(14px,env(safe-area-inset-bottom));
    left:3px;
    width:calc(100% - 6px);
    min-height:54px;
    padding:14px 18px;
    font-size:15px;
  }
  .public-funnel__step.is-framed>.public-funnel__cta { right:13px;left:13px;width:calc(100% - 26px); }
  .public-funnel__powered { bottom:max(4px,env(safe-area-inset-bottom));font-size:9px; }

  .public-funnel__step--hero.is-active { padding-top:12px; }
  .public-funnel__step--hero.is-active>.public-funnel__rating { margin-bottom:12px; }
  .public-funnel__rating { max-width:100%;padding:7px 10px;gap:5px;box-sizing:border-box;font-size:10px;white-space:nowrap; }
  .public-funnel__rating>span i { width:24px;height:24px; }
  .public-funnel__rating>b { font-size:18px; }
  .public-funnel__rating em:last-child,.public-funnel__rating small:last-of-type { display:none; }
  .public-funnel__step--hero.is-active>p { margin:10px auto 22px; }
  .public-funnel__hero-bottom { gap:14px;margin:0; }
  .public-funnel__hero-action { gap:7px; }
  .public-funnel__hero-cta { min-height:54px;padding:14px 18px;font-size:15px; }
  .public-funnel__hero-reassurance { margin:0;font-size:11px;line-height:1.35;text-align:center; }
  .public-funnel__hero-card { padding:14px;grid-template-columns:1fr;gap:13px;border-radius:15px; }
  .public-funnel__hero-card canvas { height:105px; }
  .public-funnel__hero-card section header strong { font-size:14px; }
  .public-funnel__hero-card section header small { font-size:11px; }
  .public-funnel__hero-card ul { margin-top:11px;gap:7px; }
  .public-funnel__hero-card li { font-size:12px; }

  .public-funnel__content-card { padding:18px;align-items:flex-start;border-radius:14px; }
  .public-funnel__content-card>span { width:42px;height:42px;flex:0 0 42px;font-size:23px; }
  .public-funnel__content-card strong { font-size:16px;line-height:1.35; }
  .public-funnel__choices { gap:9px; }
  .public-funnel__choices button { min-height:58px;padding:13px 12px;border-radius:12px; }
  .public-funnel__choices button>span:nth-child(2) { margin-left:4px; }
  .public-funnel__choices button>span:nth-child(2) strong { font-size:14px;line-height:1.3; }
  .public-funnel__choices button>span:nth-child(2) small { margin-top:2px;font-size:11px;line-height:1.35; }
  .public-funnel__choices button>.material-symbols-rounded { flex:0 0 auto;font-size:18px; }
  .public-funnel__choice-indicator { width:19px;height:19px;flex-basis:19px; }

  .public-funnel__upload { padding:27px 15px;border-radius:15px; }
  .public-funnel__upload>span { width:54px;height:54px;border-radius:15px;font-size:28px; }
  .public-funnel__upload strong { max-width:290px;font-size:15px;line-height:1.35; }
  .public-funnel__upload small,.public-funnel__upload em,.public-funnel__security { font-size:11px; }
  .public-funnel__security { margin:11px 4px;text-align:center; }
  .public-funnel__processing>header { padding:14px 15px 8px; }
  .public-funnel__processing>i { margin:0 15px 12px; }
  .public-funnel__processing li { padding:12px 15px;gap:9px; }
  .public-funnel__processing li strong { font-size:13px; }
  .public-funnel__processing li small { font-size:11px;line-height:1.35; }

  .public-funnel__score-detail { padding:17px 14px; }
  .public-funnel__score-ring { width:108px;height:108px; }
  .public-funnel__score-ring strong { font-size:32px; }
  .public-funnel__score-detail ul { margin-bottom:0;padding-left:0; }
  .public-funnel__score-detail li header { font-size:11px; }
  .public-funnel__slider { padding:28px 5px 18px;gap:16px; }
  .public-funnel__slider output { font-size:34px; }
  .public-funnel__slider-icons { height:42px; }
  .public-funnel__slider-icons>span { width:37px;height:37px;border-radius:11px; }
  .public-funnel__slider-icons>span>.material-symbols-rounded { font-size:24px; }
  .public-funnel__slider-labels { font-size:11px!important; }
  .public-funnel__slider>em { max-width:80%;padding:8px 12px;box-sizing:border-box;font-size:12px;white-space:normal;text-align:center; }

  .public-funnel__comparison { padding:14px;border-radius:16px; }
  .public-funnel__comparison>div { height:195px;gap:9px; }
  .public-funnel__comparison article { min-width:0;padding:11px 8px;border-radius:12px; }
  .public-funnel__comparison article>strong { font-size:12px;overflow-wrap:anywhere; }
  .public-funnel__comparison article>span { padding:7px 5px;font-size:15px; }
  .public-funnel__comparison>p { margin:13px 0 2px;font-size:12px;line-height:1.4; }
  .public-funnel__chart { padding:14px 11px;border-radius:14px; }
  .public-funnel__chart>strong { display:block;margin-bottom:8px;font-size:14px; }
  .public-funnel__chart canvas { height:165px; }
  .public-funnel__chart>div { gap:5px;font-size:9px; }
  .public-funnel__chart>div span { min-width:0;text-align:center;overflow-wrap:anywhere; }

  .public-funnel__step--plan,.public-funnel__step--form { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
  .public-funnel__plan>em { padding:9px 10px;font-size:11px;line-height:1.4; }
  .public-funnel__plan-steps>article { min-height:0;padding:10px;grid-template-columns:40px minmax(0,1fr);gap:10px; }
  .public-funnel__plan-steps>article>span { width:40px;height:40px;font-size:22px; }
  .public-funnel__plan-steps article strong { font-size:13px; }
  .public-funnel__plan-steps article p { font-size:11px; }
  .public-funnel__plan-projection { padding:12px;grid-template-columns:1fr;gap:12px; }
  .public-funnel__plan-projection canvas { height:90px; }
  .public-funnel__plan-projection ul { gap:8px; }
  .public-funnel__plan-projection li strong { font-size:11px; }
  .public-funnel__plan-projection li small { font-size:10px; }
  .public-funnel__step--form .public-funnel__form { padding:15px;gap:14px;border-radius:14px; }
  .public-funnel__form legend { font-size:12px; }
  .public-funnel__form input,.public-funnel__form textarea { min-height:46px;padding:11px 12px;font-size:16px; }
  .public-funnel__form-selector { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
  .public-funnel__form-selector button { min-height:52px;padding:9px 7px;font-size:12px; }
  .public-funnel__form>footer { align-items:flex-start;font-size:10px;line-height:1.35;text-align:center; }

  .public-funnel__step--result { padding-right:3px;padding-left:3px; }
  .public-funnel__result-card { padding:15px 13px;border-radius:16px; }
  .public-funnel__result-ring { width:96px;height:96px;margin-bottom:8px;padding:8px; }
  .public-funnel__result-ring strong { font-size:33px; }
  .public-funnel__result-ring small { font-size:11px; }
  .public-funnel__result-card h2 { font-size:15px; }
  .public-funnel__result-card>section>p { margin-bottom:12px;font-size:11px; }
  .public-funnel__result-metrics { gap:9px; }
  .public-funnel__result-metrics article { grid-template-columns:32px minmax(0,1fr) 40px;grid-template-rows:auto 7px;gap:5px 8px; }
  .public-funnel__result-metrics article>span { width:31px;height:31px;grid-row:1 / 3; }
  .public-funnel__result-metrics article>strong { grid-column:2;grid-row:1;font-size:11px;line-height:1.25; }
  .public-funnel__result-metrics article>i { grid-column:2;grid-row:2; }
  .public-funnel__result-metrics article>em { grid-column:3;grid-row:1 / 3;align-self:center;font-size:13px; }
  .public-funnel__step--result .public-funnel__cta { bottom:max(34px,calc(20px + env(safe-area-inset-bottom))); }
  .public-funnel__step--result.is-framed>.public-funnel__cta { bottom:max(34px,calc(20px + env(safe-area-inset-bottom))); }
  .public-funnel__result-reassurance { bottom:max(5px,env(safe-area-inset-bottom));font-size:10px; }
}

@media (max-width:390px) {
  .public-funnel { padding-right:9px;padding-left:9px; }
  .public-funnel__step h1,.public-funnel__step--hero h1,.public-funnel__step--result h1 { font-size:clamp(26px,9vw,33px); }
  .public-funnel__rating { transform:scale(.94);transform-origin:center; }
  .public-funnel__hero-card { padding:12px; }
  .public-funnel__form-selector { grid-template-columns:1fr; }
  .public-funnel__choices button { padding-right:10px;padding-left:10px; }
  .public-funnel__comparison>div { height:180px; }
}

@media (max-width:900px) and (max-height:620px) and (orientation:landscape) {
  .public-funnel { padding-top:6px;padding-bottom:18px; }
  .public-funnel__brand { min-height:30px; }
  .public-funnel__brand img,.public-funnel__brand>span { width:28px;height:28px; }
  .public-funnel__brand strong { font-size:15px; }
  .public-funnel__flow { grid-template-rows:36px minmax(0,1fr); }
  .public-funnel__progress { height:36px; }
  .public-funnel__step { padding-top:8px; }
  .public-funnel__step--hero.is-active { padding-top:7px; }
  .public-funnel__step--hero.is-active>p { margin-bottom:14px; }
  .public-funnel__hero-bottom { gap:10px; }
  .public-funnel__hero-card { grid-template-columns:36% minmax(0,1fr); }
  .public-funnel__hero-card canvas { height:90px; }
}

/* Suivi du déploiement Managed. */
.deployment-page { display:flex; flex-direction:column; gap:18px; color:#17233a; }
.deployment-page .eyebrow { color:#6240df; font-size:11px; font-weight:750; letter-spacing:.12em; }
.deployment-kicker { display:inline-flex; width:max-content; align-items:center; gap:7px; color:#6d49ee; font-size:11px; font-weight:800; letter-spacing:.13em; }
.deployment-kicker .material-symbols-rounded { font-size:17px; }

.deployment-migration-state { display:grid; min-height:270px; padding:36px; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:20px; border:1px solid #ddd7f8; border-radius:18px; background:linear-gradient(135deg,#fff,#f8f6ff); box-shadow:0 14px 35px rgba(40,28,97,.07); }
.deployment-migration-state>span { display:grid; width:58px; height:58px; place-items:center; border-radius:16px; color:#6539e9; background:#eee9ff; }
.deployment-migration-state>span .material-symbols-rounded { font-size:30px; }
.deployment-migration-state small { color:#7656e5; font-size:11px; font-weight:800; letter-spacing:.12em; }
.deployment-migration-state h2 { margin:5px 0 7px; font:800 24px/1.15 var(--font-display); }
.deployment-migration-state p { max-width:680px; margin:0; color:#68758c; font-size:13px; line-height:1.65; }
.deployment-migration-state code { padding:12px 15px; border:1px solid #ddd7f8; border-radius:10px; color:#5430cb; background:#fff; font-size:11px; }

.deployment-upgrade-hero,.deployment-hero { position:relative; min-height:300px; overflow:hidden; border-radius:22px; color:#fff; background:radial-gradient(circle at 77% 35%,rgba(129,81,255,.65),transparent 28%),linear-gradient(125deg,#07132b 0%,#12105d 48%,#5820ef 100%); box-shadow:0 20px 48px rgba(26,19,94,.2); }
.deployment-upgrade-hero::before,.deployment-hero::before { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,#000,transparent); content:''; }
.deployment-upgrade-hero { display:grid; padding:42px 48px; grid-template-columns:minmax(0,1fr) 340px; align-items:center; gap:30px; }
.deployment-upgrade-hero__copy { position:relative; z-index:2; }
.deployment-upgrade-hero .deployment-kicker { color:#c9b8ff; }
.deployment-upgrade-hero h2 { max-width:680px; margin:13px 0 12px; color:#fff; font:800 clamp(30px,3vw,46px)/1.06 var(--font-display); letter-spacing:-.035em; }
.deployment-upgrade-hero__copy>p { max-width:650px; margin:0; color:#d9def1; font-size:14px; line-height:1.7; }
.deployment-upgrade-hero__actions { display:flex; margin-top:25px; align-items:center; gap:17px; }
.deployment-upgrade-hero__actions>span { display:inline-flex; align-items:center; gap:6px; color:#c2c9e1; font-size:12px; }
.deployment-upgrade-hero__actions>span .material-symbols-rounded { font-size:17px; }
.deployment-orbit { position:relative; z-index:1; width:280px; height:280px; margin:auto; }
.deployment-orbit>span { position:absolute; z-index:3; inset:91px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.38); border-radius:28px; color:#fff; background:linear-gradient(145deg,#8053ff,#4618e5); box-shadow:0 0 55px rgba(168,132,255,.65); transform:rotate(-7deg); }
.deployment-orbit>span .material-symbols-rounded { font-size:55px; }
.deployment-orbit>i { position:absolute; inset:28px; border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.deployment-orbit>i:nth-child(2) { inset:53px; border-color:rgba(255,255,255,.23); }
.deployment-orbit>i:nth-child(3) { inset:4px; border-style:dashed; animation:deployment-orbit-spin 26s linear infinite; }
.deployment-orbit>b { position:absolute; z-index:4; display:grid; width:43px; height:43px; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:13px; color:#fff; background:rgba(14,15,66,.78); box-shadow:0 10px 30px rgba(3,5,28,.25); }
.deployment-orbit>b:nth-of-type(1) { top:20px; left:72px; }.deployment-orbit>b:nth-of-type(2) { top:112px; right:2px; }.deployment-orbit>b:nth-of-type(3) { bottom:12px; left:66px; }
.deployment-orbit>b .material-symbols-rounded { font-size:23px; }
@keyframes deployment-orbit-spin { to { transform:rotate(360deg); } }

.deployment-preview-panel,.deployment-roadmap-panel { position:relative; padding:25px 27px 28px; border:1px solid #e0e4ed; border-radius:18px; background:#fff; box-shadow:0 8px 28px rgba(29,39,65,.055); }
.deployment-preview-panel>header,.deployment-roadmap-panel>header { display:flex; margin-bottom:22px; align-items:flex-start; justify-content:space-between; gap:24px; }
.deployment-preview-panel>header h2,.deployment-roadmap-panel>header h2 { margin:5px 0 6px; color:#17243b; font:800 22px/1.2 var(--font-display); }
.deployment-preview-panel>header p,.deployment-roadmap-panel>header p { margin:0; color:#78849a; font-size:12px; line-height:1.55; }
.deployment-locked-pill { display:inline-flex; min-height:34px; padding:0 12px; align-items:center; gap:6px; border:1px solid #e2dcf8; border-radius:999px; color:#6542d7; background:#f7f4ff; font-size:11px; font-weight:750; white-space:nowrap; }
.deployment-locked-pill .material-symbols-rounded { font-size:16px; }
.deployment-preview-panel .deployment-roadmap { filter:saturate(.35); opacity:.54; }
.deployment-preview-panel__overlay { position:absolute; z-index:4; top:56%; left:50%; display:flex; min-width:310px; padding:17px 22px; align-items:center; justify-content:center; flex-direction:column; gap:4px; border:1px solid #cfc3f8; border-radius:15px; color:#4e25d4; background:rgba(255,255,255,.94); box-shadow:0 18px 45px rgba(40,24,103,.18); transform:translate(-50%,-50%); cursor:pointer; backdrop-filter:blur(7px); }
.deployment-preview-panel__overlay>span { display:grid; width:37px; height:37px; margin-bottom:3px; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(145deg,#7041f4,#4816e6); }
.deployment-preview-panel__overlay strong { font-size:13px; }.deployment-preview-panel__overlay small { color:#7a8498; font-size:11px; }

.deployment-hero { display:grid; min-height:270px; padding:35px 42px; grid-template-columns:minmax(0,1fr) 230px; align-items:center; gap:36px; }
.deployment-hero__copy { position:relative; z-index:2; }
.deployment-hero__badges { display:flex; align-items:center; gap:10px; }
.deployment-hero__badges>span,.deployment-hero__badges>em { display:inline-flex; min-height:30px; padding:0 11px; align-items:center; gap:6px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#fff; background:rgba(255,255,255,.1); font-size:11px; font-style:normal; font-weight:750; }
.deployment-hero__badges>span .material-symbols-rounded { color:#bda7ff; font-size:17px; }
.deployment-hero__badges>em i { width:7px; height:7px; border-radius:50%; background:#61e6a0; box-shadow:0 0 0 4px rgba(97,230,160,.13); }
.deployment-hero h2 { margin:17px 0 8px; color:#fff; font:800 clamp(29px,3vw,42px)/1.08 var(--font-display); letter-spacing:-.035em; }
.deployment-hero__copy>p { max-width:700px; margin:0; color:#d6dbed; font-size:14px; line-height:1.65; }
.deployment-hero__copy>p strong { color:#fff; }
.deployment-hero__meta { display:flex; margin-top:25px; flex-wrap:wrap; gap:24px; }
.deployment-hero__meta>span { display:grid; min-width:135px; padding-left:29px; grid-template-columns:1fr; position:relative; }
.deployment-hero__meta .material-symbols-rounded { position:absolute; top:2px; left:0; color:#b9a5ff; font-size:20px; }
.deployment-hero__meta small { color:#aeb9d2; font-size:11px; }.deployment-hero__meta strong { margin-top:2px; color:#fff; font-size:13px; }
.deployment-progress-ring { position:relative; z-index:2; display:grid; width:184px; height:184px; margin:auto; place-items:center; border-radius:50%; background:conic-gradient(#8f72ff var(--deployment-progress),rgba(255,255,255,.12) 0); box-shadow:0 0 55px rgba(110,74,255,.35); }
.deployment-progress-ring::before { position:absolute; inset:12px; border:1px solid rgba(255,255,255,.12); border-radius:50%; background:#151052; content:''; }
.deployment-progress-ring>div { position:relative; z-index:1; text-align:center; }
.deployment-progress-ring strong { display:block; color:#fff; font:800 43px/1 var(--font-display); }.deployment-progress-ring strong small { font-size:20px; }
.deployment-progress-ring span { display:block; margin-top:7px; color:#b9c1da; font-size:11px; }

.deployment-admin-notice { display:grid; padding:14px 17px; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:12px; border:1px solid #d8ccfa; border-radius:13px; color:#34246f; background:linear-gradient(90deg,#f6f2ff,#fff); }
.deployment-admin-notice>span { display:grid; width:40px; height:40px; place-items:center; border-radius:10px; color:#6136e8; background:#e9e2ff; }
.deployment-admin-notice strong { font-size:13px; }.deployment-admin-notice p { margin:2px 0 0; color:#706789; font-size:12px; }
.deployment-admin-notice em { padding:6px 10px; border-radius:999px; color:#fff; background:#6032e8; font-size:10px; font-style:normal; font-weight:750; letter-spacing:.06em; }
.deployment-roadmap-panel__legend { display:flex; padding-top:5px; gap:15px; color:#69758a; font-size:11px; }
.deployment-roadmap-panel__legend span { display:inline-flex; align-items:center; gap:6px; }.deployment-roadmap-panel__legend i { width:9px; height:9px; border:2px solid #bdc5d2; border-radius:50%; }.deployment-roadmap-panel__legend i.is-completed { border-color:#36a76e; background:#36a76e; }.deployment-roadmap-panel__legend i.is-current { border-color:#6840ed; background:#6840ed; box-shadow:0 0 0 3px #eee9ff; }

.deployment-roadmap { margin:0; padding:0; list-style:none; }
.deployment-step { position:relative; display:grid; padding-bottom:17px; grid-template-columns:52px minmax(0,1fr); gap:14px; }
.deployment-step:last-child { padding-bottom:0; }
.deployment-step:not(:last-child)::before { position:absolute; z-index:0; top:42px; bottom:-2px; left:25px; width:2px; background:#e5e8ef; content:''; }
.deployment-step.is-completed:not(:last-child)::before { background:linear-gradient(#44b87c,#8261ee); }
.deployment-step__marker { position:relative; z-index:1; display:grid; width:44px; height:44px; margin:5px 0 0 4px; place-items:center; border:2px solid #d8dde7; border-radius:50%; color:#8a95a7; background:#fff; box-shadow:0 0 0 5px #fff; font-size:11px; font-weight:800; }
.deployment-step.is-completed .deployment-step__marker { color:#fff; border-color:#3db276; background:#3db276; }.deployment-step.is-in-progress .deployment-step__marker { color:#fff; border-color:#6335eb; background:linear-gradient(145deg,#8054fb,#4c1be2); box-shadow:0 0 0 5px #f0ebff,0 7px 16px rgba(85,42,222,.25); }.deployment-step.is-blocked .deployment-step__marker { color:#fff; border-color:#ee7950; background:#ee7950; }
.deployment-step__marker .material-symbols-rounded { font-size:20px; font-weight:700; }
.deployment-step>article { position:relative; display:grid; min-height:132px; padding:20px 56px 19px 20px; grid-template-columns:43px minmax(0,1fr); align-items:start; gap:14px; border:1px solid #e2e6ed; border-radius:14px; background:#fff; box-shadow:0 5px 15px rgba(24,34,57,.035); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.deployment-step>article:hover { border-color:#d0c5f6; box-shadow:0 10px 25px rgba(44,31,106,.08); transform:translateY(-1px); }
.deployment-step.is-in-progress>article { border-color:#c9bafb; background:linear-gradient(105deg,#fff,#fbfaff); box-shadow:0 10px 28px rgba(69,38,162,.09); }
.deployment-step.is-completed>article { border-color:#cde9da; }.deployment-step.is-blocked>article { border-color:#f4c7b8; background:#fffaf8; }
.deployment-step__icon { display:grid; width:43px; height:43px; place-items:center; border-radius:11px; color:#6a42e8; background:#f0ebff; }
.deployment-step__icon .material-symbols-rounded { font-size:23px; }.deployment-step.is-completed .deployment-step__icon { color:#268a58; background:#e8f7ef; }.deployment-step.is-blocked .deployment-step__icon { color:#d55e38; background:#fff0eb; }
.deployment-step__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.deployment-step__heading small { color:#8974d3; font-size:10px; font-weight:800; letter-spacing:.11em; }.deployment-step__heading h3 { margin:3px 0 0; color:#1d2940; font:800 17px/1.25 var(--font-display); }
.deployment-status { display:inline-flex; min-height:27px; padding:0 9px; align-items:center; border-radius:999px; color:#727e92; background:#f0f2f5; font-size:10px; font-weight:800; white-space:nowrap; }.deployment-status--completed { color:#278a58; background:#e7f7ee; }.deployment-status--in-progress { color:#5830d8; background:#eee9ff; }.deployment-status--blocked { color:#cf5835; background:#fff0e9; }
.deployment-step__body>p { max-width:820px; margin:7px 0 12px; color:#68758b; font-size:12px; line-height:1.55; }
.deployment-step__progress { display:grid; grid-template-columns:minmax(0,1fr) 42px; align-items:center; gap:10px; }.deployment-step__progress>i { display:block; height:6px; overflow:hidden; border-radius:99px; background:#edf0f4; }.deployment-step__progress>i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6540ed,#8a69f8); }.deployment-step.is-completed .deployment-step__progress>i b { background:#3daf73; }.deployment-step.is-blocked .deployment-step__progress>i b { background:#eb744c; }.deployment-step__progress>strong { color:#354159; font-size:11px; text-align:right; }
.deployment-step__meta { display:flex; margin-top:11px; flex-wrap:wrap; gap:17px; color:#7b8799; font-size:11px; }.deployment-step__meta span { display:inline-flex; align-items:center; gap:5px; }.deployment-step__meta .material-symbols-rounded { color:#8063df; font-size:16px; }.deployment-step__meta strong { color:#4c5870; }
.deployment-step blockquote { display:grid; margin:14px 0 0; padding:11px 13px; grid-template-columns:28px minmax(0,1fr); gap:9px; border:1px solid #e5dff8; border-radius:10px; background:#faf8ff; }.deployment-step blockquote>span { display:grid; width:28px; height:28px; place-items:center; border-radius:8px; color:#6943de; background:#eae4ff; }.deployment-step blockquote>span .material-symbols-rounded { font-size:16px; }.deployment-step blockquote small { color:#765bcf; font-size:9px; font-weight:800; letter-spacing:.08em; }.deployment-step blockquote p { margin:3px 0 0; color:#4f5970; font-size:11px; line-height:1.55; }.deployment-step blockquote footer { margin-top:5px; color:#8a94a5; font-size:10px; }
.deployment-step__empty-comment { display:inline-flex; margin-top:12px; align-items:center; gap:6px; color:#9586c5; font-size:10px; }.deployment-step__empty-comment .material-symbols-rounded { font-size:16px; }
.deployment-step__edit { position:absolute; top:18px; right:16px; display:grid; width:32px; height:32px; padding:0; place-items:center; border:1px solid #ddd6f7; border-radius:8px; color:#6840df; background:#faf8ff; cursor:pointer; }.deployment-step__edit:hover { color:#fff; border-color:#6032e7; background:#6032e7; }.deployment-step__edit .material-symbols-rounded { font-size:17px; }
.deployment-support-card { display:grid; padding:18px 20px; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:13px; border:1px solid #dfe3eb; border-radius:14px; background:linear-gradient(90deg,#fff,#faf9ff); }.deployment-support-card>span { display:grid; width:44px; height:44px; place-items:center; border-radius:12px; color:#6338e9; background:#ede8ff; }.deployment-support-card strong { color:#263248; font-size:13px; }.deployment-support-card p { margin:3px 0 0; color:#758196; font-size:11px; }

.deployment-managed-dialog { width:min(860px,calc(100vw - 32px)); padding:0; overflow:hidden; grid-template-columns:300px minmax(0,1fr); border:0; border-radius:22px; color:#1b273f; background:#fff; box-shadow:0 35px 100px rgba(9,12,37,.35); }.deployment-managed-dialog[open] { display:grid; }.deployment-managed-dialog::backdrop { background:rgba(8,12,29,.63); backdrop-filter:blur(5px); }
.deployment-managed-dialog__visual { position:relative; display:grid; min-height:520px; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 45%,#8a64ff,transparent 29%),linear-gradient(155deg,#09162e,#241078 60%,#5c25ee); }.deployment-managed-dialog__visual::before { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:35px 35px; content:''; }.deployment-managed-dialog__visual>span { position:relative; z-index:2; display:grid; width:110px; height:110px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:32px; color:#fff; background:rgba(102,57,239,.77); box-shadow:0 0 70px rgba(173,140,255,.7); transform:rotate(-7deg); }.deployment-managed-dialog__visual>span .material-symbols-rounded { font-size:62px; }.deployment-managed-dialog__visual>i { position:absolute; width:210px; height:210px; border:1px solid rgba(255,255,255,.18); border-radius:50%; }.deployment-managed-dialog__visual>i:nth-child(2) { width:270px; height:270px; border-style:dashed; }.deployment-managed-dialog__visual>i:nth-child(3) { width:340px; height:340px; opacity:.5; }
.deployment-managed-dialog__content { position:relative; padding:38px 40px 34px; }.deployment-managed-dialog__content>button { position:absolute; top:18px; right:18px; display:grid; width:36px; height:36px; padding:0; place-items:center; border:1px solid #e2e6ed; border-radius:10px; color:#5d687b; background:#f8f9fb; cursor:pointer; }.deployment-managed-dialog__content h2 { margin:13px 0 12px; color:#17233a; font:800 29px/1.13 var(--font-display); letter-spacing:-.025em; }.deployment-managed-dialog__content>p { margin:0; color:#68758b; font-size:13px; line-height:1.65; }.deployment-managed-dialog__content ul { display:flex; margin:24px 0; padding:0; flex-direction:column; gap:15px; list-style:none; }.deployment-managed-dialog__content li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:10px; }.deployment-managed-dialog__content li>.material-symbols-rounded { color:#4bae78; font-size:22px; }.deployment-managed-dialog__content li strong { display:block; color:#2a354b; font-size:12px; }.deployment-managed-dialog__content li small { display:block; margin-top:3px; color:#7b8799; font-size:11px; line-height:1.45; }.deployment-managed-dialog__actions { display:flex; padding-top:19px; justify-content:flex-end; gap:10px; border-top:1px solid #e5e8ed; }.deployment-managed-dialog__actions .button { text-decoration:none; }

.deployment-step-dialog { width:min(590px,calc(100vw - 32px)); }.deployment-step-dialog .task-dialog__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.deployment-step-dialog .task-field--full { grid-column:1 / -1; }.deployment-progress-input { display:grid; min-height:42px; grid-template-columns:minmax(0,1fr) 50px; align-items:center; gap:10px; }.deployment-progress-input input[type="range"] { position:relative; z-index:1; width:100%; height:20px; margin:0; padding:0; border:0; outline:0; appearance:none; -webkit-appearance:none; background:transparent; cursor:pointer; }.deployment-progress-input input[type="range"]::-webkit-slider-runnable-track { height:6px; border:0; border-radius:999px; background:linear-gradient(to right,#6739e8 0 var(--range-progress,0%),#e5e7ed var(--range-progress,0%) 100%); }.deployment-progress-input input[type="range"]::-webkit-slider-thumb { position:relative; z-index:2; width:18px; height:18px; margin-top:-6px; border:3px solid #fff; border-radius:50%; appearance:none; -webkit-appearance:none; background:#6739e8; box-shadow:0 0 0 1px #6739e8,0 3px 8px rgba(70,35,176,.28); }.deployment-progress-input input[type="range"]::-moz-range-track { height:6px; border:0; border-radius:999px; background:#e5e7ed; }.deployment-progress-input input[type="range"]::-moz-range-progress { height:6px; border-radius:999px; background:#6739e8; }.deployment-progress-input input[type="range"]::-moz-range-thumb { width:14px; height:14px; border:3px solid #fff; border-radius:50%; background:#6739e8; box-shadow:0 0 0 1px #6739e8,0 3px 8px rgba(70,35,176,.28); }.deployment-progress-input input[type="range"]:focus-visible { box-shadow:0 0 0 4px rgba(103,57,232,.13); }.deployment-progress-input output { color:#5430ce; font-size:12px; font-weight:800; text-align:right; }.deployment-comment-counter { margin-top:-4px; color:#929bad; font-size:10px; text-align:right; }

@media (max-width:900px) {
  .deployment-upgrade-hero { padding:34px; grid-template-columns:minmax(0,1fr) 240px; }.deployment-orbit { width:220px; height:220px; }.deployment-orbit>span { inset:70px; }.deployment-orbit>i { inset:22px; }.deployment-orbit>i:nth-child(2) { inset:43px; }.deployment-orbit>i:nth-child(3) { inset:3px; }
  .deployment-hero { padding:31px; grid-template-columns:minmax(0,1fr) 180px; }.deployment-progress-ring { width:155px; height:155px; }.deployment-progress-ring strong { font-size:36px; }
  .deployment-managed-dialog { grid-template-columns:220px minmax(0,1fr); }.deployment-managed-dialog__content { padding:34px 30px 30px; }
}
@media (max-width:700px) {
  .deployment-migration-state { padding:25px; grid-template-columns:48px minmax(0,1fr); }.deployment-migration-state>code { grid-column:1 / -1; overflow:auto; }
  .deployment-upgrade-hero { padding:30px 24px; grid-template-columns:1fr; }.deployment-upgrade-hero h2 { font-size:32px; }.deployment-orbit { display:none; }.deployment-upgrade-hero__actions { align-items:flex-start; flex-direction:column; }
  .deployment-preview-panel,.deployment-roadmap-panel { padding:21px 16px; }.deployment-preview-panel>header,.deployment-roadmap-panel>header { flex-direction:column; }.deployment-locked-pill { align-self:flex-start; }.deployment-preview-panel__overlay { min-width:min(310px,calc(100% - 32px)); }
  .deployment-hero { padding:28px 23px; grid-template-columns:1fr; }.deployment-progress-ring { width:135px; height:135px; margin:0; grid-row:1; }.deployment-hero__copy { grid-row:2; }.deployment-hero__meta { gap:14px; }.deployment-hero__meta>span { min-width:130px; }
  .deployment-admin-notice { grid-template-columns:40px minmax(0,1fr); }.deployment-admin-notice em { display:none; }
  .deployment-roadmap-panel__legend { flex-wrap:wrap; }.deployment-step { grid-template-columns:38px minmax(0,1fr); gap:9px; }.deployment-step__marker { width:34px; height:34px; margin-left:0; }.deployment-step:not(:last-child)::before { top:34px; left:16px; }.deployment-step>article { padding:17px 45px 17px 15px; grid-template-columns:1fr; }.deployment-step__icon { width:38px; height:38px; }.deployment-step__heading { align-items:flex-start; flex-direction:column; gap:7px; }.deployment-step__edit { top:15px; right:12px; }
  .deployment-support-card { grid-template-columns:42px minmax(0,1fr); }.deployment-support-card .button { grid-column:1 / -1; justify-content:center; }
  .deployment-managed-dialog[open] { display:block; }.deployment-managed-dialog__visual { display:none; }.deployment-managed-dialog__content { padding:34px 22px 24px; }.deployment-managed-dialog__content h2 { padding-right:25px; font-size:24px; }.deployment-managed-dialog__actions { flex-direction:column-reverse; }.deployment-managed-dialog__actions .button { justify-content:center; }
  .deployment-step-dialog .task-dialog__grid { grid-template-columns:1fr; }.deployment-step-dialog .task-field--full { grid-column:auto; }
}

/* Déploiement — frise sobre et gamifiée. */
.deployment-hero { min-height:176px; padding:22px 30px; grid-template-columns:minmax(0,1fr) 132px; gap:24px; border-radius:17px; }
.deployment-hero__badges { gap:7px; }
.deployment-hero__badges>span,.deployment-hero__badges>em,.deployment-hero__badges>b { min-height:25px; padding:0 9px; font-size:10px; }
.deployment-hero__badges>b { display:inline-flex; align-items:center; gap:5px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#d8ccff; background:rgba(255,255,255,.08); font-style:normal; font-weight:750; }
.deployment-hero__badges>b .material-symbols-rounded { font-size:14px; }
.deployment-hero h2 { margin:10px 0 4px; font-size:30px; }
.deployment-hero__copy>p { font-size:12px; line-height:1.45; }
.deployment-hero__meta { margin-top:15px; gap:18px; }
.deployment-hero__meta>span { min-width:120px; padding-left:24px; }
.deployment-hero__meta .material-symbols-rounded { font-size:17px; }
.deployment-hero__meta small { font-size:10px; }.deployment-hero__meta strong { font-size:12px; }
.deployment-progress-ring { width:108px; height:108px; box-shadow:0 0 35px rgba(110,74,255,.3); }
.deployment-progress-ring::before { inset:8px; }
.deployment-progress-ring strong { font-size:29px; }.deployment-progress-ring strong small { font-size:13px; }.deployment-progress-ring span { margin-top:4px; font-size:9px; }

.deployment-roadmap-panel { padding:22px 25px 18px; overflow:hidden; }
.deployment-roadmap-panel>header { margin-bottom:18px; align-items:center; }
.deployment-roadmap-panel>header h2 { margin:4px 0; font-size:19px; }
.deployment-roadmap-panel>header p { font-size:11px; }
.deployment-score { display:flex; min-width:105px; padding:9px 12px; align-items:center; gap:8px; border:1px solid #ddd5f8; border-radius:12px; color:#5c32dd; background:#faf8ff; }
.deployment-score strong { font:800 23px/1 var(--font-display); }.deployment-score strong small { font-size:12px; }.deployment-score span { max-width:48px; color:#776d98; font-size:9px; font-weight:700; line-height:1.2; }

.deployment-roadmap-panel .deployment-roadmap { position:relative; display:grid; padding:4px 0 2px; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; }
.deployment-roadmap-panel .deployment-roadmap::before,.deployment-roadmap-panel .deployment-roadmap::after { position:absolute; z-index:0; top:25px; left:8%; height:3px; border-radius:99px; content:''; }
.deployment-roadmap-panel .deployment-roadmap::before { right:8%; background:#e6e8ef; }
.deployment-roadmap-panel .deployment-roadmap::after { width:var(--journey-progress); background:linear-gradient(90deg,#43b576,#6b42ee); transition:width .35s ease; }
.deployment-roadmap-panel .deployment-step { display:flex; min-width:0; padding:0 6px; align-items:center; flex-direction:column; gap:9px; }
.deployment-roadmap-panel .deployment-step::before { display:none; }
.deployment-roadmap-panel .deployment-step__marker { width:44px; height:44px; margin:0; flex:0 0 44px; box-shadow:0 0 0 5px #fff; }
.deployment-roadmap-panel .deployment-step.is-in-progress .deployment-step__marker { animation:deployment-current-pulse 2.2s ease-in-out infinite; }
@keyframes deployment-current-pulse { 0%,100% { box-shadow:0 0 0 5px #f0ebff,0 6px 16px rgba(85,42,222,.2); } 50% { box-shadow:0 0 0 9px rgba(111,69,235,.11),0 8px 22px rgba(85,42,222,.28); } }
.deployment-roadmap-panel .deployment-step>article { display:flex; width:100%; min-height:176px; padding:12px 8px 9px; align-items:center; flex-direction:column; gap:6px; border:1px solid transparent; border-radius:12px; text-align:center; box-shadow:none; background:transparent; }
.deployment-roadmap-panel .deployment-step>article:hover { border-color:#ddd5f8; background:#fbfaff; box-shadow:0 8px 18px rgba(51,31,120,.06); transform:translateY(-2px); }
.deployment-roadmap-panel .deployment-step.is-in-progress>article { border-color:#d8ccfa; background:linear-gradient(180deg,#fbf9ff,#fff); box-shadow:0 7px 17px rgba(75,40,170,.07); }
.deployment-roadmap-panel .deployment-step.is-completed>article,.deployment-roadmap-panel .deployment-step.is-blocked>article { border-color:transparent; background:transparent; }
.deployment-roadmap-panel .deployment-step__icon { width:31px; height:31px; border-radius:9px; }
.deployment-roadmap-panel .deployment-step__icon .material-symbols-rounded { font-size:18px; }
.deployment-roadmap-panel .deployment-step>article>small { color:#8a75d5; font-size:8px; font-weight:800; letter-spacing:.09em; }
.deployment-roadmap-panel .deployment-step h3 { display:flex; min-height:34px; margin:0; align-items:flex-start; justify-content:center; color:#263248; font:750 12px/1.35 var(--font-display); }
.deployment-roadmap-panel .deployment-status { min-height:23px; padding:0 8px; font-size:9px; }
.deployment-step__mini-progress { width:72%; height:3px; margin-top:1px; overflow:hidden; border-radius:99px; background:#eceef3; }
.deployment-step__mini-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6540ed,#8a69f8); }
.deployment-roadmap-panel .deployment-step.is-completed .deployment-step__mini-progress i { background:#42ad73; }
.deployment-step__details { display:inline-flex; min-height:27px; margin-top:auto; padding:0 8px 0 10px; align-items:center; justify-content:center; gap:4px; border:1px solid #ded8f5; border-radius:8px; color:#6038d9; background:#fff; font:700 9px var(--font-body); cursor:pointer; }
.deployment-step__details:hover { color:#fff; border-color:#6035e7; background:#6035e7; }.deployment-step__details>b { font:800 15px/1 var(--font-display); }
.deployment-roadmap-panel__footer { display:flex; margin-top:12px; padding-top:12px; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #eceef3; color:#706682; font-size:10px; }
.deployment-roadmap-panel__footer span,.deployment-roadmap-panel__footer em { display:inline-flex; align-items:center; gap:6px; font-style:normal; }.deployment-roadmap-panel__footer .material-symbols-rounded { color:#7046df; font-size:15px; }

.deployment-dialog-kicker { display:block; margin-bottom:2px; color:#775bd8; font-size:8px; font-weight:800; letter-spacing:.1em; }
.deployment-step-dialog .task-dialog__head { grid-template-columns:42px minmax(0,1fr) 32px; }
.deployment-step-dialog .task-dialog__head p { margin-top:4px; line-height:1.45; }
.deployment-detail-readonly { display:flex; padding:25px; flex-direction:column; }
.deployment-detail-readonly>header { display:grid; grid-template-columns:44px minmax(0,1fr) 32px; align-items:start; gap:12px; }
.deployment-detail-readonly>header>span { display:grid; width:44px; height:44px; place-items:center; border-radius:12px; color:#6539e5; background:#eee9ff; }.deployment-detail-readonly>header>span .material-symbols-rounded { font-size:23px; }
.deployment-detail-readonly>header small { color:#775bd8; font-size:9px; font-weight:800; letter-spacing:.1em; }.deployment-detail-readonly>header h2 { margin:3px 0 0; color:#1d2940; font:800 20px/1.2 var(--font-display); }
.deployment-detail-readonly>header button { display:grid; width:32px; height:32px; padding:0; place-items:center; border:0; border-radius:8px; color:#687489; background:transparent; cursor:pointer; }.deployment-detail-readonly>header button:hover { background:#f0f2f6; }
.deployment-detail-readonly>p { margin:17px 0; color:#68758b; font-size:12px; line-height:1.6; }
.deployment-detail-readonly__status { display:flex; align-items:center; justify-content:space-between; }.deployment-detail-readonly__status>strong { color:#4d2bc8; font-size:13px; }
.deployment-detail-readonly__bar { display:block; height:7px; margin-top:9px; overflow:hidden; border-radius:99px; background:#eceef3; }.deployment-detail-readonly__bar b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6236e8,#8d70f4); }
.deployment-detail-readonly__meta { display:grid; margin-top:18px; grid-template-columns:1fr 1fr; gap:10px; }.deployment-detail-readonly__meta>span { position:relative; display:grid; min-height:54px; padding:10px 10px 10px 38px; border:1px solid #e2e5eb; border-radius:10px; }.deployment-detail-readonly__meta .material-symbols-rounded { position:absolute; top:14px; left:11px; color:#7350df; font-size:18px; }.deployment-detail-readonly__meta small { color:#8791a2; font-size:9px; }.deployment-detail-readonly__meta strong { margin-top:2px; color:#3a465c; font-size:11px; }
.deployment-detail-readonly blockquote { display:grid; margin:18px 0 0; padding:13px; grid-template-columns:30px minmax(0,1fr); gap:9px; border:1px solid #e1daf8; border-radius:11px; background:#faf8ff; }.deployment-detail-readonly blockquote>span { display:grid; width:30px; height:30px; place-items:center; border-radius:8px; color:#6740dd; background:#ebe5ff; }.deployment-detail-readonly blockquote>span .material-symbols-rounded { font-size:17px; }.deployment-detail-readonly blockquote small { color:#765bd0; font-size:8px; font-weight:800; letter-spacing:.08em; }.deployment-detail-readonly blockquote p { margin:3px 0 0; color:#505a70; font-size:11px; line-height:1.55; }.deployment-detail-readonly blockquote footer { margin-top:6px; color:#8a94a5; font-size:9px; }
.deployment-detail-readonly>footer { display:flex; margin-top:20px; padding-top:16px; justify-content:flex-end; border-top:1px solid #e5e8ed; }

@media (max-width:900px) {
  .deployment-hero { padding:20px 24px; grid-template-columns:minmax(0,1fr) 118px; }.deployment-progress-ring { width:96px; height:96px; }
  .deployment-roadmap-panel { overflow:visible; }.deployment-roadmap-panel .deployment-roadmap { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:24px; }.deployment-roadmap-panel .deployment-roadmap::before,.deployment-roadmap-panel .deployment-roadmap::after { display:none; }.deployment-roadmap-panel .deployment-step>article { min-height:165px; }
}
@media (max-width:620px) {
  .deployment-page { gap:12px; }
  .deployment-hero { min-height:auto; padding:20px; grid-template-columns:minmax(0,1fr) 82px; gap:12px; }.deployment-hero__copy { grid-column:1; grid-row:1; }.deployment-hero h2 { font-size:24px; }.deployment-hero__copy>p { display:none; }.deployment-hero__badges>b { display:none; }.deployment-hero__meta { margin-top:13px; gap:9px; }.deployment-hero__meta>span { min-width:0; padding-left:20px; }.deployment-hero__meta>span:nth-child(1) { display:none; }.deployment-hero__meta small { font-size:8px; }.deployment-hero__meta strong { font-size:10px; }.deployment-progress-ring { width:76px; height:76px; margin:auto; grid-column:2; grid-row:1; }.deployment-progress-ring::before { inset:6px; }.deployment-progress-ring strong { font-size:21px; }.deployment-progress-ring span { display:none; }
  .deployment-roadmap-panel { padding:19px 16px 15px; }.deployment-roadmap-panel>header { align-items:flex-start; }.deployment-roadmap-panel>header h2 { font-size:17px; }.deployment-score { min-width:88px; padding:7px 9px; }.deployment-score strong { font-size:19px; }
  .deployment-roadmap-panel .deployment-roadmap { display:flex; padding:2px 0 0; flex-direction:column; gap:0; }.deployment-roadmap-panel .deployment-roadmap::before { display:block; top:21px; bottom:21px; left:20px; width:3px; height:auto; background:#e6e8ef; }.deployment-roadmap-panel .deployment-roadmap::after { display:none; }
  .deployment-roadmap-panel .deployment-step { position:relative; display:grid; padding:0 0 13px; grid-template-columns:42px minmax(0,1fr); align-items:start; gap:10px; }.deployment-roadmap-panel .deployment-step:last-child { padding-bottom:0; }.deployment-roadmap-panel .deployment-step.is-completed::before { position:absolute; z-index:0; top:40px; bottom:-2px; left:20px; display:block; width:3px; background:#43b576; content:''; }.deployment-roadmap-panel .deployment-step__marker { width:40px; height:40px; flex-basis:40px; box-shadow:0 0 0 4px #fff; }
  .deployment-roadmap-panel .deployment-step>article { display:grid; min-height:86px; padding:11px 11px; grid-template-columns:31px minmax(0,1fr) auto; grid-template-rows:auto auto auto; align-items:center; gap:3px 8px; border-color:#e4e0f3; background:#fff; text-align:left; }.deployment-roadmap-panel .deployment-step.is-in-progress>article { border-color:#cfc1fa; }.deployment-roadmap-panel .deployment-step__icon { grid-column:1; grid-row:1 / 3; }.deployment-roadmap-panel .deployment-step>article>small { grid-column:2; grid-row:1; }.deployment-roadmap-panel .deployment-step h3 { min-height:0; grid-column:2; grid-row:2; align-items:center; justify-content:flex-start; font-size:11px; }.deployment-roadmap-panel .deployment-status { grid-column:2; grid-row:3; width:max-content; }.deployment-step__mini-progress { display:none; }.deployment-step__details { width:30px; height:30px; min-height:30px; padding:0; grid-column:3; grid-row:1 / 4; border-radius:50%; }.deployment-step__details span { display:none; }.deployment-step__details>b { font-size:18px; }
  .deployment-roadmap-panel__footer { align-items:flex-start; flex-direction:column; gap:6px; }.deployment-support-card { display:none; }
  .deployment-detail-readonly { padding:21px 18px; }.deployment-detail-readonly__meta { grid-template-columns:1fr; }
}

.deployment-gated-preview { position:relative; min-height:580px; }
.deployment-gated-preview__content { display:flex; flex-direction:column; gap:18px; opacity:.56; filter:saturate(.72) blur(.7px); pointer-events:none; user-select:none; }
.deployment-gated-preview::after { position:absolute; z-index:2; inset:0; border-radius:18px; background:linear-gradient(180deg,transparent 3%,rgba(246,248,252,.08) 34%,rgba(246,248,252,.58) 78%,rgba(246,248,252,.82)); content:''; pointer-events:none; }
.deployment-gate-card { position:absolute; z-index:3; top:56%; left:50%; display:grid; width:min(560px,calc(100% - 36px)); padding:22px 24px; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:13px 15px; border:1px solid #cec1fa; border-radius:17px; color:#253048; background:rgba(255,255,255,.96); box-shadow:0 22px 60px rgba(35,22,93,.2); transform:translate(-50%,-50%); backdrop-filter:blur(12px); }
.deployment-gate-card>span { display:grid; width:48px; height:48px; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(145deg,#7546f2,#4b18df); box-shadow:0 8px 20px rgba(78,35,211,.24); }
.deployment-gate-card>span .material-symbols-rounded { font-size:25px; }
.deployment-gate-card small { color:#6b45df; font-size:9px; font-weight:800; letter-spacing:.11em; }
.deployment-gate-card h2 { margin:4px 0 5px; color:#1c2840; font:800 20px/1.2 var(--font-display); }
.deployment-gate-card p { margin:0; color:#6e7a90; font-size:11px; line-height:1.5; }
.deployment-gate-card__actions { display:flex; padding-top:12px; grid-column:1 / -1; justify-content:center; gap:9px; border-top:1px solid #e8e5f2; }
.deployment-gate-card__actions .button { justify-content:center; text-decoration:none; }
.deployment-gate-card>em { display:inline-flex; grid-column:1 / -1; align-items:center; justify-content:center; gap:5px; color:#8a93a4; font-size:9px; font-style:normal; }
.deployment-gate-card>em .material-symbols-rounded { font-size:14px; }

@media (max-width:620px) {
  .deployment-gated-preview { min-height:820px; }.deployment-gated-preview__content { gap:12px; }.deployment-gate-card { top:48%; padding:19px 17px; grid-template-columns:40px minmax(0,1fr); }.deployment-gate-card>span { width:40px; height:40px; }.deployment-gate-card h2 { font-size:17px; }.deployment-gate-card__actions { align-items:stretch; flex-direction:column; }.deployment-gate-card__actions .button { width:100%; }
}

/* Office hours et réservation d'un expert Fr4ktal */
.dashboard-action-card__booking { border:0; font-family:inherit; cursor:pointer; }
.admin-activity-panel__actions { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.admin-availability-cta { display:inline-flex; min-height:29px; padding:0 9px; align-items:center; gap:5px; border:1px solid #d9cffc; border-radius:7px; color:#5b2dde; background:#f7f4ff; font:700 9px/1 var(--font-display); cursor:pointer; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.admin-availability-cta .material-symbols-rounded { font-size:15px; }.admin-availability-cta:hover { border-color:#7449ee; background:#efe9ff; transform:translateY(-1px); }
.admin-overview__side { display:grid; min-width:0; gap:15px; }
.admin-availability-panel { overflow:hidden; border:1px solid #dedff0; border-radius:11px; background:linear-gradient(155deg,#fff 0,#fdfcff 100%); box-shadow:0 8px 24px rgba(29,39,62,.05); }
.admin-availability-panel > header { display:grid; padding:15px 15px 13px; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:9px; border-bottom:1px solid #ebeaf2; }
.admin-availability-panel__icon { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; color:#6332e4; background:#eee9ff; }.admin-availability-panel__icon .material-symbols-rounded { font-size:19px; }.admin-availability-panel .eyebrow { color:#6940df; font-size:8px; }.admin-availability-panel h2 { margin:2px 0 0; color:#1e2941; font-size:14px; }
.admin-availability-panel .admin-availability-cta { width:100%; min-height:35px; margin-top:4px; grid-column:1/-1; justify-content:center; border-color:#6031e2; color:#fff; background:linear-gradient(135deg,#6f3bea,#5121d2); box-shadow:0 6px 15px rgba(81,33,210,.2); }.admin-availability-panel .admin-availability-cta:hover { color:#fff; background:linear-gradient(135deg,#7745ed,#5a27d9); }
.admin-availability-summary { display:grid; padding:11px 15px; grid-template-columns:1fr 1fr; gap:8px; border-bottom:1px solid #eeedf3; }.admin-availability-summary > span { display:flex; min-height:45px; padding:7px 9px; align-items:center; gap:7px; border-radius:8px; background:#f5f2ff; }.admin-availability-summary > span:last-child { background:#eef9f2; }.admin-availability-summary strong { color:#5c2cda; font-size:17px; }.admin-availability-summary > span:last-child strong { color:#26804d; }.admin-availability-summary small { color:#737e92; font-size:9px; }
.admin-booking-history > header { display:flex; padding:12px 15px 8px; align-items:center; justify-content:space-between; }.admin-booking-history h3 { margin:0; color:#2b364c; font-size:11px; }.admin-booking-history > header > span { color:#8a93a4; font-size:8px; }
.admin-booking-history__list { padding:0 12px 8px; }.admin-booking-history__list article { display:grid; min-height:54px; padding:8px 3px; grid-template-columns:31px minmax(0,1fr) auto 22px; align-items:center; gap:7px; border-bottom:1px solid #eff1f5; }.admin-booking-history__list article:last-child { border-bottom:0; }.admin-booking-history__avatar { display:grid; width:29px; height:29px; overflow:hidden; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#6840e2,#352076); font-size:8px; font-weight:800; }.admin-booking-history__avatar img { width:100%; height:100%; object-fit:cover; }.admin-booking-history__list article > div { min-width:0; }.admin-booking-history__list article > div strong { display:block; overflow:hidden; color:#2e394f; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.admin-booking-history__list article > div small { display:block; margin-top:3px; overflow:hidden; color:#7c879b; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.admin-booking-history__status { padding:3px 5px; border-radius:999px; color:#7b8494; background:#f1f2f5; font-size:7px; font-weight:750; white-space:nowrap; }.admin-booking-history__status.is-upcoming { color:#267b4c; background:#e5f6eb; }.admin-booking-history__list article > a { display:grid; width:21px; height:21px; place-items:center; border-radius:6px; color:#6334df; background:#f1ecff; }.admin-booking-history__list article > a .material-symbols-rounded { font-size:14px; }.admin-booking-history__empty { display:flex; min-height:70px; padding:12px 15px 18px; align-items:center; justify-content:center; gap:7px; color:#8a93a4; font-size:9px; text-align:center; }.admin-booking-history__empty .material-symbols-rounded { color:#9c88dc; font-size:18px; }
@media (max-width:1050px) { .admin-overview__side { order:-1; }.admin-overview__side .admin-activity-panel { order:0; }.admin-overview__side .admin-availability-panel { order:-1; } }
.expert-booking-dialog { width:min(940px,calc(100vw - 32px)); max-width:none; max-height:min(820px,calc(100vh - 32px)); padding:0; overflow:auto; border:1px solid #e1e5ee; border-radius:20px; color:#17213a; background:#fff; box-shadow:0 28px 90px rgba(20,23,42,.28); }
.expert-booking-dialog::backdrop { background:rgba(13,17,35,.58); backdrop-filter:blur(5px); }.expert-booking-dialog--admin { width:min(1020px,calc(100vw - 32px)); }
.expert-booking-dialog__head { position:sticky; z-index:3; top:0; display:grid; min-height:106px; padding:22px 25px; grid-template-columns:50px minmax(0,1fr) 38px; align-items:center; gap:15px; border-bottom:1px solid #e8eaf0; background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.expert-booking-dialog__head > span { display:grid; width:48px; height:48px; place-items:center; border-radius:13px; color:#5c2be0; background:linear-gradient(145deg,#eee8ff,#f7f4ff); }.expert-booking-dialog__head > span .material-symbols-rounded { font-size:26px; }
.expert-booking-dialog__head small { color:#693be7; font-size:10px; font-weight:800; letter-spacing:.12em; }.expert-booking-dialog__head h2 { margin:3px 0 2px; font-size:21px; letter-spacing:-.025em; }.expert-booking-dialog__head p { margin:0; color:#748098; font-size:12px; line-height:1.45; }
.expert-booking-dialog__head > button { display:grid; width:36px; height:36px; place-items:center; border:1px solid #e2e6ee; border-radius:9px; color:#5f6a80; background:#fff; cursor:pointer; }.expert-booking-dialog__head > button:hover { color:#3d1fb2; background:#f5f1ff; }
.expert-booking-dialog__body { padding:22px 25px; }.expert-booking-step + .expert-booking-step { margin-top:23px; padding-top:21px; border-top:1px solid #eceef3; }
.expert-booking-step > header,.expert-booking-admin-card > header { display:flex; align-items:flex-start; gap:10px; }.expert-booking-step > header > span,.expert-booking-admin-card > header > span { display:grid; width:30px; height:30px; flex:0 0 auto; place-items:center; border-radius:9px; color:#6030df; background:#f0ebff; font-size:12px; font-weight:850; }
.expert-booking-step h3,.expert-booking-admin-card h3 { margin:0; font-size:14px; }.expert-booking-step header p,.expert-booking-admin-card header p { margin:3px 0 0; color:#7b8599; font-size:11px; line-height:1.45; }
.expert-booking-experts { display:grid; margin-top:14px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.expert-booking-expert { position:relative; display:grid; min-height:104px; padding:14px; grid-template-columns:45px minmax(0,1fr) 24px; align-items:center; gap:12px; border:1px solid #dfe3eb; border-radius:13px; background:#fff; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.expert-booking-expert:hover { border-color:#b8a6f4; transform:translateY(-1px); box-shadow:0 8px 22px rgba(62,38,137,.08); }.expert-booking-expert:has(input:checked) { border-color:#6635ea; background:#faf8ff; box-shadow:0 0 0 2px rgba(102,53,234,.12); }
.expert-booking-expert > input,.expert-booking-slots input { position:absolute; opacity:0; pointer-events:none; }.expert-booking-expert__avatar { display:grid; width:44px; height:44px; overflow:hidden; place-items:center; border:2px solid #fff; border-radius:50%; color:#fff; background:linear-gradient(145deg,#6f3beb,#321693); font-size:12px; font-weight:800; box-shadow:0 0 0 2px #e6defc; }.expert-booking-expert__avatar img { width:100%; height:100%; object-fit:cover; }
.expert-booking-expert__identity { display:flex; min-width:0; flex-direction:column; }.expert-booking-expert__identity strong { font-size:13px; }.expert-booking-expert__identity em { margin-top:2px; color:#6337d7; font-size:10px; font-style:normal; font-weight:750; }.expert-booking-expert__identity small { display:-webkit-box; margin-top:5px; overflow:hidden; color:#7b8497; font-size:10px; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.expert-booking-expert__check { display:grid; width:22px; height:22px; place-items:center; border:1px solid #d9deea; border-radius:50%; color:transparent; }.expert-booking-expert:has(input:checked) .expert-booking-expert__check { border-color:#6030e1; color:#fff; background:#6030e1; }.expert-booking-expert__check .material-symbols-rounded { font-size:15px; }
.expert-booking-slots { display:grid; margin-top:14px; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.expert-booking-slots label { position:relative; display:flex; min-height:58px; padding:10px 10px 10px 13px; align-items:center; justify-content:space-between; gap:7px; border:1px solid #dfe3eb; border-radius:10px; background:#fff; cursor:pointer; }.expert-booking-slots label:hover,.expert-booking-slots label:has(input:checked) { border-color:#6533e7; background:#f8f5ff; }
.expert-booking-slots label span { display:flex; flex-direction:column; gap:2px; }.expert-booking-slots strong { font-size:11px; }.expert-booking-slots small { color:#6c7690; font-size:10px; }.expert-booking-slots > label > .material-symbols-rounded { color:#c9cfda; font-size:18px; }.expert-booking-slots label:has(input:checked) > .material-symbols-rounded { color:#6230e5; font-variation-settings:'FILL' 1; }
.expert-booking-form__status { min-height:18px; margin:12px 0 0; color:#526178; font-size:11px; text-align:right; }.expert-booking-form__status.is-error { color:#d23b4e; }
.expert-booking-dialog__footer { position:sticky; z-index:3; bottom:0; display:flex; min-height:75px; padding:14px 25px; align-items:center; justify-content:flex-end; gap:10px; border-top:1px solid #e8eaf0; background:rgba(255,255,255,.97); backdrop-filter:blur(12px); }.expert-booking-dialog__footer .button { min-height:42px; }
.expert-booking-success { min-height:490px; padding:65px 30px 45px; text-align:center; background:radial-gradient(circle at 50% 20%,#f0eaff 0,rgba(240,234,255,0) 44%); }.expert-booking-success > span { display:grid; width:72px; height:72px; margin:0 auto 18px; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#41ad72,#218754); box-shadow:0 15px 35px rgba(35,146,84,.23); }.expert-booking-success > span .material-symbols-rounded { font-size:40px; }
.expert-booking-success > small { color:#6030df; font-size:10px; font-weight:850; letter-spacing:.13em; }.expert-booking-success h2 { margin:8px 0; font-size:25px; }.expert-booking-success > p { margin:0; color:#748096; font-size:13px; }.expert-booking-success__details { display:flex; width:min(560px,100%); margin:25px auto 20px; padding:14px 18px; justify-content:center; gap:30px; border:1px solid #e2e5ec; border-radius:12px; background:#fff; box-shadow:0 8px 22px rgba(25,35,58,.05); }
.expert-booking-success__details span { display:flex; align-items:center; gap:7px; color:#58647b; }.expert-booking-success__details .material-symbols-rounded { color:#6333df; font-size:19px; }.expert-booking-success__details strong { color:#263149; font-size:11px; }.expert-booking-success > .button { display:inline-flex; min-height:45px; }.expert-booking-success__close { display:block; margin:15px auto 0; border:0; color:#6b758a; background:none; font-size:11px; cursor:pointer; }
.expert-booking-empty,.expert-booking-migration { display:flex; margin:24px; padding:22px; align-items:center; justify-content:center; gap:13px; border:1px dashed #d7ddeb; border-radius:13px; color:#68738a; background:#fafbfc; }.expert-booking-empty .material-symbols-rounded,.expert-booking-migration > .material-symbols-rounded { color:#7448e9; font-size:27px; }.expert-booking-empty p,.expert-booking-migration p { margin:3px 0 0; font-size:11px; line-height:1.5; }.expert-booking-empty--large { min-height:250px; flex-direction:column; text-align:center; }.expert-booking-empty--large h3 { margin:0; color:#263149; font-size:16px; }
.expert-booking-admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.expert-booking-admin-card { padding:17px; border:1px solid #e2e5ec; border-radius:13px; background:#fff; }.expert-booking-admin-card > form { display:flex; margin-top:16px; flex-direction:column; gap:11px; }.expert-booking-admin-card .field { gap:6px; }.expert-booking-admin-card .field > span { font-size:11px; }.expert-booking-admin-card .field input,.expert-booking-admin-card .field textarea { font-size:12px; }.expert-booking-admin-card .button { align-self:flex-end; }.expert-booking-time-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.expert-booking-admin-card--slots { grid-column:1/-1; }
.expert-booking-mode { display:grid; margin:0; padding:3px; grid-template-columns:1fr 1fr; gap:3px; border:1px solid #dfe3eb; border-radius:9px; background:#f6f7fa; }.expert-booking-mode label { position:relative; cursor:pointer; }.expert-booking-mode input { position:absolute; opacity:0; pointer-events:none; }.expert-booking-mode label > span { display:flex; min-height:34px; padding:0 9px; align-items:center; justify-content:center; gap:6px; border-radius:6px; color:#69748a; font-size:10px; font-weight:750; transition:color .15s ease,background .15s ease,box-shadow .15s ease; }.expert-booking-mode label > span .material-symbols-rounded { font-size:16px; }.expert-booking-mode label:has(input:checked) > span { color:#5b2dde; background:#fff; box-shadow:0 2px 8px rgba(37,44,64,.09); }
.expert-booking-date-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.expert-booking-date-grid:has([data-availability-end-field][hidden]) { grid-template-columns:1fr; }.expert-booking-date-grid > [hidden] { display:none; }.expert-booking-range-help { margin:-2px 0 0; color:#7a8599; font-size:9px; line-height:1.45; }
.expert-booking-admin-slots { display:grid; max-height:250px; margin-top:15px; overflow:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.expert-booking-admin-slots article { display:grid; min-height:61px; padding:8px 10px; grid-template-columns:48px minmax(0,1fr) 30px; align-items:center; gap:9px; border:1px solid #e3e6ed; border-radius:10px; }.expert-booking-admin-slots article.is-booked { border-color:#cde8d7; background:#f7fcf9; }.expert-booking-admin-slots time { display:flex; height:43px; flex-direction:column; align-items:center; justify-content:center; border-radius:8px; color:#5b2ddb; background:#f0ebff; }.expert-booking-admin-slots time strong { font-size:11px; }.expert-booking-admin-slots time span { font-size:10px; }
.expert-booking-admin-slots article > div { display:flex; min-width:0; flex-direction:column; }.expert-booking-admin-slots article > div strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.expert-booking-admin-slots article > div small { margin-top:3px; overflow:hidden; color:#7c8699; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.expert-booking-admin-slots form button { display:grid; width:29px; height:29px; place-items:center; border:1px solid #f0cfd4; border-radius:7px; color:#d74458; background:#fff; cursor:pointer; }.expert-booking-admin-slots form button .material-symbols-rounded { font-size:16px; }.expert-booking-admin-slots__status { color:#3ca36b; }.expert-booking-admin-slots__status .material-symbols-rounded { font-size:20px; }

@media (max-width:760px) {
  .expert-booking-dialog { width:calc(100vw - 18px); max-height:calc(100vh - 18px); border-radius:15px; }.expert-booking-dialog__head { min-height:88px; padding:16px; grid-template-columns:40px minmax(0,1fr) 34px; gap:10px; }.expert-booking-dialog__head > span { width:40px; height:40px; }.expert-booking-dialog__head h2 { font-size:17px; }.expert-booking-dialog__head p { font-size:10px; }.expert-booking-dialog__body { padding:17px; }
  .expert-booking-experts,.expert-booking-admin-grid { grid-template-columns:1fr; }.expert-booking-admin-card--slots { grid-column:auto; }.expert-booking-slots { grid-template-columns:repeat(2,minmax(0,1fr)); }.expert-booking-admin-slots { grid-template-columns:1fr; }.expert-booking-dialog__footer { padding:12px 16px; }.expert-booking-success__details { flex-direction:column; gap:10px; }
}
