:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#19372f;background:#edf4f1;--green:#11755b;--green-dark:#0b5142;--soft:#f3f8f6;--line:#dbe7e2;--muted:#71817b;--shadow:0 28px 80px rgba(16,75,61,.12)}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:radial-gradient(circle at 0 0,rgba(17,117,91,.1),transparent 30%),linear-gradient(145deg,#eef5f2,#e7efec)}button,textarea{font:inherit}.app-shell{width:min(1540px,calc(100% - 32px));height:calc(100dvh - 32px);margin:16px auto;display:grid;grid-template-columns:318px minmax(0,1fr);background:#fff;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}
.service-panel{min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px 20px 20px;background:linear-gradient(165deg,#073f35,#095848 70%,#0d6b54);color:#fff;display:flex;flex-direction:column;gap:24px}.service-brand{display:flex;align-items:center;gap:13px}.brand-symbol{width:50px;height:50px;border-radius:15px;background:#fff;color:var(--green-dark);display:grid;place-items:center;font-size:.72rem;font-weight:950;box-shadow:0 12px 28px rgba(0,0,0,.15)}.service-brand span{display:block;color:#cce7de;font-size:.67rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.service-brand strong{display:block;margin-top:4px;font-size:1rem}
.progress-card{padding:17px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.075);box-shadow:0 18px 40px rgba(0,0,0,.1)}.progress-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.progress-heading span{font-size:.64rem;text-transform:uppercase;letter-spacing:.11em;color:#bfe0d5;font-weight:900}.progress-heading h2{margin:4px 0 0;font-size:1rem}.progress-badge{padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff!important}.progress-bar{height:5px;margin:15px 0 16px;border-radius:999px;background:rgba(255,255,255,.11);overflow:hidden}.progress-bar i{display:block;width:0;height:100%;border-radius:inherit;background:#5be0ad;transition:width .28s}.diagnosis-progress{list-style:none;margin:0;padding:0;display:grid;gap:11px}.diagnosis-progress li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;opacity:.58;transition:.2s}.diagnosis-progress li i{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.11);display:grid;place-items:center;font-style:normal;font-size:.69rem;font-weight:900}.diagnosis-progress strong,.diagnosis-progress small{display:block}.diagnosis-progress strong{font-size:.79rem}.diagnosis-progress small{margin-top:2px;font-size:.69rem;color:#cce3dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diagnosis-progress li.is-active,.diagnosis-progress li.is-complete{opacity:1}.diagnosis-progress li.is-active i{background:#fff;color:var(--green-dark)}.diagnosis-progress li.is-complete i{background:#5be0ad;color:#073e34}.start-diagnosis{width:100%;margin-top:16px;padding:11px 13px;border:0;border-radius:12px;background:#fff;color:var(--green-dark);font-weight:900;cursor:pointer;display:flex;justify-content:center;gap:10px;transition:.18s}.start-diagnosis:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.14)}
.service-menu{display:grid;gap:9px}.service-menu h2{margin:0 0 4px;color:#cfe8e0;font-size:.67rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.service-menu button{width:100%;display:grid;grid-template-columns:37px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.045);color:#fff;text-align:left;cursor:pointer;transition:.18s}.service-menu button:hover{background:rgba(255,255,255,.1);transform:translateX(2px)}.menu-icon{width:37px;height:37px;border-radius:11px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-weight:900}.service-menu strong,.service-menu small{display:block}.service-menu strong{font-size:.8rem}.service-menu small{margin-top:3px;color:#c6ddd6;font-size:.68rem;line-height:1.3}.service-menu b{font-size:1.35rem;font-weight:400}.sidebar-footer{margin-top:auto;padding-top:17px;border-top:1px solid rgba(255,255,255,.12);text-align:center}.sidebar-footer span{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;color:#d9eee7}.sidebar-footer span i,.assistant-identity span i{width:7px;height:7px;border-radius:50%;background:#36d897;box-shadow:0 0 0 4px rgba(54,216,151,.14)}.sidebar-footer p{margin:10px 0 0;font-size:.67rem;color:#b9d4cb}
.chat-card{min-width:0;min-height:0;display:grid;grid-template-rows:78px auto minmax(0,1fr) auto;background:#fbfdfc;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--line);background:#fff}.assistant-identity{display:flex;align-items:center;gap:12px}.assistant-avatar{width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#178266,#0e644f);color:#fff;display:grid;place-items:center;font-size:.65rem;font-weight:950;box-shadow:0 9px 20px rgba(17,117,91,.18)}.assistant-identity p{margin:0;color:var(--green);font-size:.66rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.assistant-identity h1{margin:3px 0 2px;font-size:1rem}.assistant-identity span{display:flex;align-items:center;gap:7px;color:#7a8b85;font-size:.69rem}.new-conversation{border:1px solid #cadcd5;background:#fff;border-radius:11px;padding:9px 12px;color:var(--green-dark);font-size:.75rem;font-weight:850;cursor:pointer}.new-conversation:hover{background:var(--soft)}
.conversation-intro{padding:16px 34px 4px;background:#fff}.conversation-intro h2{margin:0 0 5px;font-size:1.28rem}.conversation-intro p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.55}

.advanced-diagnosis-cta{margin:16px 34px 2px;padding:15px 16px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid #cfe1da;border-radius:18px;background:linear-gradient(135deg,#f3faf7,#ffffff);color:#173b31;text-decoration:none;box-shadow:0 10px 26px rgba(20,65,53,.055);transition:transform .18s,border-color .18s,box-shadow .18s}.advanced-diagnosis-cta:hover{transform:translateY(-1px);border-color:#91b9aa;box-shadow:0 14px 30px rgba(20,65,53,.09)}.advanced-diagnosis-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#178266,#0e644f);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(17,117,91,.17)}.advanced-diagnosis-icon svg{width:23px;height:23px;fill:currentColor}.advanced-diagnosis-copy strong,.advanced-diagnosis-copy small{display:block}.advanced-diagnosis-copy strong{font-size:.91rem}.advanced-diagnosis-copy small{margin-top:4px;color:#6f817a;font-size:.75rem;line-height:1.4}.advanced-diagnosis-action{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:12px;background:#0f6f57;color:#fff;font-size:.75rem;font-weight:900;white-space:nowrap}.advanced-diagnosis-action b{font-size:1rem;font-weight:500}
.messages{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 34px 28px 88px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth;background:linear-gradient(180deg,#fff,#fbfdfc)}.message{position:relative;max-width:min(68%,720px);padding:14px 17px;border-radius:17px;line-height:1.55;white-space:pre-wrap;font-size:.9rem;box-shadow:0 4px 16px rgba(23,50,43,.035)}.message--assistant{align-self:flex-start;background:#f1f7f4;border:1px solid #dce9e4;border-bottom-left-radius:6px;color:#213d35}.message--assistant:before{content:"VSC";position:absolute;left:-55px;top:1px;width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#178266,#0e644f);color:#fff;display:grid;place-items:center;font-size:.54rem;font-weight:950;box-shadow:0 7px 16px rgba(17,117,91,.16)}.message--user{align-self:flex-end;background:#0f6f57;color:#fff;border-bottom-right-radius:6px;box-shadow:0 8px 20px rgba(15,111,87,.14)}.message small{display:block;margin-top:8px;color:#6f817a;font-size:.72rem}.message-image{display:block;max-width:320px;width:100%;margin-top:12px;border-radius:12px}.typing{opacity:.7}.typing:after{content:"";display:inline-block;width:18px;height:6px;margin-left:6px;background:radial-gradient(circle closest-side,currentColor 90%,transparent) 0 50%/33% 100% repeat-x;animation:dots 1s infinite linear}@keyframes dots{to{background-position:100% 50%}}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.product{display:flex;flex-direction:column;background:#fff;border:1px solid #d8e6e0;border-radius:13px;padding:10px;text-decoration:none;color:inherit;transition:.18s}.product:hover{transform:translateY(-2px);border-color:#a5cabc;box-shadow:0 10px 24px rgba(17,117,91,.1)}.product img{width:100%;aspect-ratio:1.35;object-fit:contain;border-radius:9px;background:#f7faf8}.product strong{margin-top:8px;font-size:.79rem}.product span{margin-top:4px;font-size:.72rem;color:var(--green)}.sources{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.sources a,.sources button{padding:7px 10px;border:1px solid #cbded6;border-radius:999px;background:#fff;color:var(--green);text-decoration:none;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
.chat-dock{border-top:1px solid var(--line);background:#fff;box-shadow:0 -12px 30px rgba(20,65,53,.035)}.quick-replies{padding:13px 28px 0;display:flex;gap:8px;flex-wrap:wrap;max-height:94px;overflow-y:auto}.quick-replies:empty{display:none}.quick-replies button{border:1px solid #c6dad2;background:#fff;color:var(--green-dark);border-radius:999px;padding:9px 13px;font-size:.75rem;font-weight:800;cursor:pointer;transition:.18s}.quick-replies button:hover{background:#eef7f3;border-color:#8eb8a9;transform:translateY(-1px)}.composer-wrap{padding:13px 28px 15px}.composer{min-height:62px;display:grid;grid-template-columns:44px minmax(0,1fr) 48px;align-items:center;gap:9px;padding:8px;border:1px solid #c9ddd5;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(20,65,53,.055)}.composer:focus-within{border-color:#7dae9c;box-shadow:0 0 0 4px rgba(17,117,91,.07),0 14px 30px rgba(20,65,53,.07)}.upload-button,.send-button{min-width:0;width:44px;height:44px;border:0;border-radius:13px;display:grid;place-items:center;padding:0;cursor:pointer}.upload-button{background:#eef7f3;color:var(--green)}.upload-button:hover{background:#e1f1eb}.upload-button svg,.send-button svg{width:21px;height:21px;fill:currentColor}.send-button{width:48px;height:48px;background:linear-gradient(145deg,#14775d,#0d654f);color:#fff;box-shadow:0 8px 18px rgba(17,117,91,.18)}.composer textarea{width:100%;min-height:42px;max-height:100px;border:0;outline:0;resize:none;background:transparent;color:#17322b;padding:10px 3px;line-height:1.45;overflow-y:auto}.composer textarea::placeholder{color:#8b9a95}.composer-note{margin:7px 4px 0;text-align:right;color:#8a9994;font-size:.66rem}
@media(max-width:1050px){.app-shell{grid-template-columns:280px minmax(0,1fr)}.service-panel{padding:20px 16px}.service-menu small{display:none}.message{max-width:78%}}@media(max-width:760px){html,body{overflow:auto}.app-shell{width:100%;height:100dvh;margin:0;border-radius:0;display:block}.service-panel{display:none}.chat-card{height:100dvh;grid-template-rows:72px auto minmax(0,1fr) auto}.chat-header{padding:12px 16px}.assistant-identity p{display:none}.new-conversation{font-size:0}.new-conversation span{font-size:1rem}.conversation-intro{padding:16px 18px 2px}.conversation-intro h2{font-size:1.1rem}.advanced-diagnosis-cta{margin:12px 16px 0;padding:12px;grid-template-columns:40px minmax(0,1fr);gap:11px}.advanced-diagnosis-icon{width:40px;height:40px;border-radius:12px}.advanced-diagnosis-copy strong{font-size:.82rem}.advanced-diagnosis-copy small{font-size:.69rem}.advanced-diagnosis-action{display:none}.messages{padding:16px 16px 22px 58px}.message{max-width:88%;font-size:.85rem}.message--assistant:before{left:-45px;width:34px;height:34px}.quick-replies{padding:10px 14px 0;flex-wrap:nowrap;overflow-x:auto}.quick-replies button{flex:0 0 auto}.composer-wrap{padding:10px 12px 12px}.composer-note{display:none}.composer{grid-template-columns:40px minmax(0,1fr) 44px}.upload-button{width:40px;height:40px}.send-button{width:44px;height:44px}.product-grid{grid-template-columns:1fr}}

/* 2.1.1 — compacte desktopzijbalk zonder interne verticale scrollbar */
@media (min-width:761px){
  .service-panel{
    overflow:hidden;
    padding:18px 16px 14px;
    gap:14px;
  }
  .service-brand{gap:11px}
  .brand-symbol{width:46px;height:46px;border-radius:14px}
  .service-brand strong{font-size:.94rem}
  .progress-card{padding:14px;border-radius:18px}
  .progress-heading h2{font-size:.94rem}
  .progress-bar{margin:11px 0 12px}
  .diagnosis-progress{gap:8px}
  .diagnosis-progress li{grid-template-columns:26px 1fr;gap:9px}
  .diagnosis-progress li i{width:26px;height:26px;border-radius:8px}
  .diagnosis-progress strong{font-size:.76rem}
  .diagnosis-progress small{font-size:.65rem}
  .start-diagnosis{margin-top:12px;padding:9px 11px}
  .service-menu{gap:7px}
  .service-menu h2{margin-bottom:2px}
  .service-menu button{grid-template-columns:34px 1fr auto;gap:9px;padding:8px;border-radius:13px}
  .menu-icon{width:34px;height:34px;border-radius:10px}
  .service-menu strong{font-size:.76rem}
  .service-menu small{font-size:.64rem;margin-top:2px}
  .sidebar-footer{padding-top:10px}
  .sidebar-footer span{display:none}
  .sidebar-footer p{margin:0;font-size:.65rem}
}

@media (min-width:761px) and (max-height:760px){
  .service-panel{padding:14px 14px 10px;gap:10px}
  .brand-symbol{width:42px;height:42px}
  .progress-card{padding:11px 12px}
  .progress-bar{margin:8px 0 9px}
  .diagnosis-progress{gap:6px}
  .diagnosis-progress small{display:none}
  .start-diagnosis{margin-top:9px;padding:8px 10px}
  .service-menu button{padding:7px}
  .service-menu small{display:none}
  .sidebar-footer{padding-top:7px}
}

/* 2.1.3 — Service Overview: unieke zijbalkfunctie, zonder verticale scrollbar */
@media (min-width:761px){
  .service-panel{
    overflow:hidden;
    padding:16px 15px 12px;
    gap:11px;
  }
  .service-brand{gap:10px;min-height:44px}
  .brand-symbol{width:42px;height:42px;border-radius:13px}
  .service-brand span{font-size:.61rem}
  .service-brand strong{font-size:.84rem;line-height:1.18}
  .service-status-card{
    padding:12px 13px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:16px;
    background:rgba(255,255,255,.07);
  }
  .service-status-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .service-status-heading span{font-size:.61rem;text-transform:uppercase;letter-spacing:.11em;color:#bfe0d5;font-weight:900}
  .service-status-heading i{width:8px;height:8px;border-radius:50%;background:#45dfa4;box-shadow:0 0 0 4px rgba(69,223,164,.13)}
  .service-status-card strong{display:block;margin-top:7px;font-size:.81rem}
  .service-status-card small{display:block;margin-top:4px;color:#c9e0d9;font-size:.64rem;line-height:1.35}
  .service-status-card.is-active .service-status-heading i{background:#ffd166;box-shadow:0 0 0 4px rgba(255,209,102,.13)}
  .service-status-card.is-complete .service-status-heading i{background:#78b7ff;box-shadow:0 0 0 4px rgba(120,183,255,.13)}
  .progress-card{padding:12px 13px;border-radius:17px}
  .progress-heading h2{font-size:.83rem;margin-top:3px}
  .progress-heading span{font-size:.59rem}
  .progress-badge{padding:5px 7px}
  .progress-bar{margin:9px 0 10px}
  .diagnosis-progress{gap:6px}
  .diagnosis-progress li{grid-template-columns:24px 1fr;gap:8px}
  .diagnosis-progress li i{width:24px;height:24px;border-radius:8px;font-size:.63rem}
  .diagnosis-progress strong{font-size:.71rem}
  .diagnosis-progress small{font-size:.61rem;margin-top:1px}
  .service-menu{gap:6px}
  .service-menu h2{font-size:.61rem;margin:0 0 1px}
  .service-menu button{grid-template-columns:31px 1fr auto;gap:8px;padding:7px 8px;border-radius:12px}
  .menu-icon{width:31px;height:31px;border-radius:9px;font-size:.82rem}
  .service-menu strong{font-size:.71rem}
  .service-menu small{font-size:.6rem;line-height:1.25;margin-top:1px}
  .service-menu b{font-size:1.08rem}
  .sidebar-footer{padding-top:8px}
  .sidebar-footer span{display:inline-flex;font-size:.64rem}
  .sidebar-footer p{margin:6px 0 0;font-size:.61rem}
}
@media (min-width:761px) and (max-height:820px){
  .service-panel{padding:12px 13px 9px;gap:8px}
  .service-brand{min-height:40px}.brand-symbol{width:38px;height:38px}
  .service-status-card{padding:9px 11px}.service-status-card small{display:none}
  .progress-card{padding:9px 11px}.progress-bar{margin:6px 0 7px}
  .diagnosis-progress{gap:4px}.diagnosis-progress small{display:none}
  .service-menu{gap:4px}.service-menu button{padding:6px 7px}.service-menu small{display:none}
  .sidebar-footer{padding-top:5px}.sidebar-footer span{display:none}.sidebar-footer p{margin:0}
}
@media (min-width:761px) and (max-height:680px){
  .service-status-card{display:none}
  .diagnosis-progress li{grid-template-columns:22px 1fr}.diagnosis-progress li i{width:22px;height:22px}
  .service-menu h2{display:none}
}

/* 2.1.4: diagnosis action in header, more room for chat */
.header-actions{display:flex;align-items:center;gap:10px}.header-diagnosis-button{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:11px;background:#0f6f57;color:#fff;text-decoration:none;font-size:.73rem;font-weight:900;white-space:nowrap;box-shadow:0 7px 16px rgba(15,111,87,.15)}.header-diagnosis-button:hover{background:#0b5d49}.header-diagnosis-button svg{width:16px;height:16px;fill:currentColor}.header-diagnosis-button[hidden]{display:none!important}.advanced-diagnosis-cta{display:none!important}.messages{min-height:0}
@media(max-width:980px){.header-diagnosis-button span{display:none}.header-diagnosis-button{width:38px;height:38px;padding:0;justify-content:center}}
@media(max-width:760px){.header-actions{gap:7px}.header-diagnosis-button{width:36px;height:36px;border-radius:10px}.header-diagnosis-button svg{width:15px;height:15px}}


/* 2.1.5 — minimalistische service-navigatie en diagnose buiten de sidebar */
@media (min-width:761px){
  .app-shell{grid-template-columns:286px minmax(0,1fr)}
  .service-panel{
    overflow:hidden;
    padding:24px 22px 16px;
    gap:0;
    background:
      radial-gradient(circle at 20% 0,rgba(255,255,255,.055),transparent 30%),
      linear-gradient(175deg,#073f35 0%,#095747 58%,#0a604d 100%);
  }
  .service-brand{gap:13px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.11)}
  .brand-symbol{width:48px;height:48px;border-radius:15px;box-shadow:0 12px 28px rgba(0,0,0,.13)}
  .service-brand__copy{min-width:0}
  .service-brand span{font-size:.62rem;letter-spacing:.105em;color:#d2e9e1}
  .service-brand strong{margin-top:5px;font-size:.92rem;line-height:1.18}
  .service-presence{display:flex;align-items:center;gap:11px;margin:20px 0 28px;padding:0 2px;color:#fff}
  .service-presence>i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#43dfa3;box-shadow:0 0 0 5px rgba(67,223,163,.12)}
  .service-presence strong,.service-presence small{display:block}
  .service-presence strong{font-size:.77rem}
  .service-presence small{margin-top:2px;color:#bfd9d1;font-size:.66rem}
  .service-menu{display:grid;gap:0}
  .service-menu__label{margin:0 0 10px;padding:0 2px;color:#a9cec3;font-size:.61rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
  .service-menu button{
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:11px;
    min-height:52px;
    padding:8px 7px;
    border:0;
    border-top:1px solid rgba(255,255,255,.085);
    border-radius:0;
    background:transparent;
  }
  .service-menu button:last-child{border-bottom:1px solid rgba(255,255,255,.085)}
  .service-menu button:hover{background:rgba(255,255,255,.055);transform:none;padding-left:11px}
  .menu-icon{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.09);font-size:.78rem}
  .service-menu strong{font-size:.77rem;letter-spacing:.005em}
  .service-menu small{display:none!important}
  .service-menu b{font-size:1.08rem;color:#cde4dd}
  .sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
  .sidebar-footer span{display:none!important}
  .sidebar-footer p{margin:0;text-align:center;color:#afcbc3;font-size:.61rem}
}
.diagnosis-strip{margin:0 28px 8px;padding:10px 13px;display:flex;align-items:center;gap:14px;border:1px solid #d8e7e1;border-radius:13px;background:#f5faf8}
.diagnosis-strip[hidden]{display:none!important}
.diagnosis-strip__label{flex:0 0 auto;color:#176a56;font-size:.67rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.diagnosis-strip__steps{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}
.diagnosis-strip__steps>span{display:flex;align-items:center;gap:6px;color:#84928d;font-size:.68rem;font-weight:800;white-space:nowrap}
.diagnosis-strip__steps>span:not(:last-child)::after{content:"";width:16px;height:1px;margin-left:2px;background:#d1dfda}
.diagnosis-strip__steps i{width:21px;height:21px;display:grid;place-items:center;border-radius:7px;background:#e4eeea;color:#72817c;font-style:normal;font-size:.61rem}
.diagnosis-strip__steps .is-active{color:#145f4e}.diagnosis-strip__steps .is-active i{background:#fff;color:#145f4e;box-shadow:0 0 0 1px #9fc7b9}
.diagnosis-strip__steps .is-complete{color:#145f4e}.diagnosis-strip__steps .is-complete i{background:#42d49b;color:#073e34}
@media(max-width:900px) and (min-width:761px){.app-shell{grid-template-columns:252px minmax(0,1fr)}.service-panel{padding-left:17px;padding-right:17px}.service-brand span{display:none}.diagnosis-strip__steps b{display:none}}
@media(max-width:760px){.diagnosis-strip{margin:0 16px 6px;padding:8px 10px;gap:9px}.diagnosis-strip__label{display:none}.diagnosis-strip__steps{width:100%;justify-content:space-between}.diagnosis-strip__steps>span:not(:last-child)::after{width:10px}.diagnosis-strip__steps b{font-size:.62rem}}

/* 2.1.6 — Premium Design System */
@media (min-width:761px){
  .app-shell{
    grid-template-columns:264px minmax(0,1fr);
    border:1px solid rgba(13,69,57,.08);
    box-shadow:0 30px 90px rgba(10,55,46,.16),0 2px 10px rgba(10,55,46,.05);
  }
  .service-panel{
    position:relative;
    padding:28px 22px 18px;
    background:
      radial-gradient(circle at 10% -5%,rgba(111,235,190,.13),transparent 29%),
      radial-gradient(circle at 105% 52%,rgba(46,178,139,.08),transparent 36%),
      linear-gradient(180deg,#102f2b 0%,#0c3b33 54%,#0b332d 100%);
    box-shadow:18px 0 50px rgba(5,31,27,.09);
  }
  .service-panel::before{
    content:"";
    position:absolute;inset:0 0 auto 0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  }
  .service-panel::after{
    content:"";
    position:absolute;right:0;top:0;bottom:0;width:1px;
    background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.02));
  }
  .service-brand{
    gap:12px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.085)
  }
  .brand-symbol{
    width:46px;height:46px;border-radius:14px;
    background:linear-gradient(145deg,#fff,#eaf5f1);
    color:#0b4a3d;
    box-shadow:0 14px 30px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.8)
  }
  .service-brand span{color:#9dc1b6;font-size:.58rem;letter-spacing:.13em}
  .service-brand strong{font-size:.88rem;letter-spacing:-.01em}
  .service-presence{margin:18px 0 25px;padding:0 2px}
  .service-presence>i{width:8px;height:8px;flex-basis:8px;background:#55e0a9;box-shadow:0 0 0 4px rgba(85,224,169,.11),0 0 18px rgba(85,224,169,.4)}
  .service-presence strong{font-size:.73rem;font-weight:800}
  .service-presence small{font-size:.63rem;color:#8fb4a9}
  .service-menu__label{margin-bottom:8px;color:#719a8f;font-size:.56rem;letter-spacing:.18em}
  .service-menu button{
    position:relative;
    min-height:48px;
    grid-template-columns:30px minmax(0,1fr) 16px;
    gap:10px;
    padding:8px 5px 8px 8px;
    border:0!important;
    border-radius:11px;
    background:transparent;
    transition:background .18s ease,transform .18s ease,color .18s ease;
  }
  .service-menu button::before{
    content:"";position:absolute;left:-22px;top:10px;bottom:10px;width:2px;border-radius:2px;
    background:#5ce0ad;opacity:0;transform:scaleY(.45);transition:.18s
  }
  .service-menu button:hover{
    padding-left:8px;
    background:linear-gradient(90deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
    transform:translateX(2px)
  }
  .service-menu button:hover::before{opacity:1;transform:scaleY(1)}
  .menu-icon{
    width:30px;height:30px;border-radius:9px;
    background:rgba(255,255,255,.055);
    color:#b9d8cf;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)
  }
  .menu-icon svg{width:15px;height:15px;fill:currentColor}
  .service-menu button:hover .menu-icon{background:rgba(92,224,173,.12);color:#75e7b9}
  .service-menu strong{font-size:.74rem;font-weight:750;color:#eff8f5}
  .service-menu b{font-size:1rem;color:#72968d;transition:transform .18s,color .18s}
  .service-menu button:hover b{transform:translateX(2px);color:#bfe0d6}
  .sidebar-footer{padding-top:16px;border-top:1px solid rgba(255,255,255,.075)}
  .sidebar-footer p{color:#6f958a;font-size:.57rem;letter-spacing:.035em}
}

body{background:radial-gradient(circle at 8% 3%,rgba(24,128,99,.08),transparent 28%),linear-gradient(145deg,#f3f7f5,#eaf1ee)}
.chat-card{background:#fcfefd}
.chat-header{padding-left:30px;padding-right:30px}
.conversation-intro{padding-left:36px;padding-right:36px}
.messages{padding-left:92px;padding-right:38px}
.assistant-avatar,.message--assistant:before{background:linear-gradient(145deg,#167b62,#0c5848)}
.header-diagnosis-button{background:linear-gradient(145deg,#13745c,#0b5b49);box-shadow:0 9px 22px rgba(15,111,87,.18)}
.header-diagnosis-button:hover{background:linear-gradient(145deg,#0f654f,#094d3f)}
.new-conversation{border-color:#d6e3de;color:#31574c;background:#fff}
.message--assistant{background:#f4f8f6;border-color:#e0e9e5}
.message--user{background:linear-gradient(145deg,#127158,#0d5e4b)}
.composer{border-color:#d5e2dd;box-shadow:0 13px 34px rgba(21,75,61,.08)}
.composer:focus-within{border-color:#87b6a6;box-shadow:0 0 0 4px rgba(17,117,91,.08),0 15px 36px rgba(21,75,61,.09)}

@media (min-width:761px) and (max-height:760px){
  .service-panel{padding-top:20px;padding-bottom:13px}
  .service-brand{padding-bottom:17px}
  .service-presence{margin:14px 0 18px}
  .service-menu button{min-height:43px}
}

/* 2.2.0 Vision Engine foundation */
.vision-card{width:min(720px,92%);margin:8px auto 18px;display:grid;grid-template-columns:180px minmax(0,1fr);overflow:hidden;border:1px solid #d6e6df;border-radius:22px;background:linear-gradient(145deg,#fff,#f7fbf9);box-shadow:0 18px 46px rgba(12,81,65,.10);animation:visionIn .28s ease both}
.vision-card__preview{min-height:220px;background:#dfeae6;position:relative;overflow:hidden}
.vision-card__preview:after{content:"Typeplaat of apparaatfoto";position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(7,63,53,.82);color:#fff;font-size:.65rem;font-weight:800}
.vision-card__preview img{width:100%;height:100%;object-fit:cover;display:block}
.vision-card__content{padding:20px 22px}
.vision-card__heading{display:flex;align-items:center;gap:11px;margin-bottom:15px}.vision-card__heading small,.vision-card__heading strong{display:block}.vision-card__heading small{color:#71817b;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.vision-card__heading strong{margin-top:3px;color:#19372f;font-size:1rem}.vision-card__icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e8f5f0;color:#0b654f;font-size:1.3rem;font-weight:900}
.vision-timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px}.vision-timeline li{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:9px;color:#74857f;font-size:.78rem;font-weight:750;transition:.2s}.vision-timeline li i{width:18px;height:18px;border-radius:50%;border:2px solid #c8d8d2;background:#fff;position:relative}.vision-timeline li.is-active{color:#174d40}.vision-timeline li.is-active i{border-color:#1d8a6b;box-shadow:0 0 0 5px rgba(29,138,107,.11);animation:visionPulse 1s infinite}.vision-timeline li.is-complete{color:#174d40}.vision-timeline li.is-complete i{border-color:#1d8a6b;background:#1d8a6b}.vision-timeline li.is-complete i:after{content:"✓";position:absolute;inset:-2px;display:grid;place-items:center;color:#fff;font-size:.67rem;font-style:normal}.vision-timeline li.is-attention{color:#8a6418}.vision-timeline li.is-attention i{border-color:#d39a25;background:#fff5dc}.vision-timeline li.is-attention i:after{content:"!";position:absolute;inset:-2px;display:grid;place-items:center;color:#9b6b08;font-size:.68rem;font-weight:950}
.vision-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid #dce9e4}.vision-result div{padding:10px 12px;border-radius:12px;background:#eef7f3}.vision-result small,.vision-result strong{display:block}.vision-result small{font-size:.65rem;color:#71817b;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.vision-result strong{margin-top:3px;color:#174d40;font-size:.82rem}.vision-result p{grid-column:1/-1;margin:2px 0 0;color:#71817b;font-size:.7rem;line-height:1.45}.upload-button.is-busy{pointer-events:none;animation:visionPulse 1s infinite}
@keyframes visionPulse{50%{transform:scale(.92);opacity:.72}}@keyframes visionIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:720px){.vision-card{grid-template-columns:1fr;width:100%}.vision-card__preview{min-height:150px;max-height:190px}.vision-card__content{padding:17px}.vision-result{grid-template-columns:1fr}.vision-result p{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.vision-card,.vision-timeline li.is-active i,.upload-button.is-busy{animation:none!important}}


/* 2.3.2 — volledige Vision-status en volledige typeplaatpreview */
.vision-card{width:min(860px,100%);align-self:stretch;grid-template-columns:minmax(240px,42%) minmax(320px,1fr);min-height:330px;overflow:visible}
.vision-card__preview{min-height:330px;padding:14px;display:grid;place-items:center;background:#edf5f2;overflow:hidden}
.vision-card__preview:after{display:none}
.vision-card__preview img{width:100%;height:100%;max-height:390px;object-fit:contain;border-radius:14px;background:#fff}
.vision-card__content{min-width:0;padding:20px 24px;overflow:visible}
.vision-timeline{gap:8px}
.vision-timeline li{grid-template-columns:21px minmax(0,1fr);align-items:start;gap:10px;font-size:.76rem}
.vision-timeline li span{display:block;min-width:0}
.vision-timeline li b,.vision-timeline li small{display:block}
.vision-timeline li b{font-size:.77rem;line-height:1.25}
.vision-timeline li small{margin-top:2px;color:#82918c;font-size:.65rem;font-weight:600;line-height:1.3}
.vision-result{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px;padding-top:13px}
.vision-result p{font-size:.68rem;margin:2px 0 0}
.vision-result p+p{margin-top:-2px}
.vision-result p b{color:#365c50}
@media(max-width:900px){.vision-card{grid-template-columns:minmax(190px,36%) minmax(300px,1fr)}}
@media(max-width:720px){.vision-card{grid-template-columns:1fr;min-height:0}.vision-card__preview{min-height:190px;max-height:260px}.vision-result{grid-template-columns:1fr}.vision-result p{grid-column:auto}}


/* 2.3.3 — lineaire Vision-flow, compacte kaart en overlapfix */
.vision-card{
  flex:0 0 auto;
  position:relative;
  isolation:isolate;
  width:min(820px,100%);
  min-height:0;
  margin:8px 0 6px;
  align-self:stretch;
  grid-template-columns:minmax(190px,34%) minmax(0,1fr);
  overflow:hidden;
  contain:layout paint;
}
.vision-card__preview{min-height:230px;max-height:300px;padding:12px}
.vision-card__preview img{height:100%;max-height:276px;object-fit:contain}
.vision-card__content{padding:17px 20px 16px}
.vision-card__heading{margin-bottom:12px}
.vision-card__icon{width:34px;height:34px;border-radius:11px;font-size:1.05rem}
.vision-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.vision-timeline li{grid-template-columns:19px minmax(0,1fr);gap:8px;min-height:34px}
.vision-timeline li i{width:17px;height:17px}
.vision-timeline li b{font-size:.73rem}
.vision-timeline li small{font-size:.61rem;line-height:1.25}
.vision-result{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px;padding-top:11px}
.vision-result div{padding:8px 10px;border-radius:10px}
.vision-result p{font-size:.64rem;line-height:1.35}
.vision-card + .message{margin-top:10px;flex:0 0 auto;position:relative;z-index:1}
.messages>.vision-card,.messages>.message{flex-shrink:0}
@media(max-width:900px){
  .vision-card{grid-template-columns:minmax(170px,32%) minmax(0,1fr)}
  .vision-timeline{grid-template-columns:1fr}
}
@media(max-width:720px){
  .vision-card{grid-template-columns:1fr;margin-left:0;margin-right:0}
  .vision-card__preview{min-height:170px;max-height:220px}
  .vision-card__preview img{max-height:196px}
  .vision-timeline{grid-template-columns:1fr}
  .vision-result{grid-template-columns:1fr}
}

/* 2.4.2 Model service options */
.revision-card {
  display: grid;
  gap: 6px;
  margin-top: 14px;
  padding: 14px 15px;
  border: 1px solid #cfe2db;
  border-radius: 14px;
  background: #f2f8f5;
}
.revision-card.is-review { background: #fbf8ef; border-color: #eadfbf; }
.revision-card strong { color: #123f35; font-size: .95rem; }
.revision-card span { color: #63756f; font-size: .82rem; line-height: 1.45; }
.revision-card a {
  justify-self: start;
  margin-top: 3px;
  color: #08765f;
  font-size: .84rem;
  font-weight: 750;
  text-decoration: none;
}
.revision-card a:hover { text-decoration: underline; }


/* 2.4.3 - opvallende foto-upload voor automatische AI-analyse */
.photo-help-card{position:relative;margin:-4px 0 0;padding:17px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.075));box-shadow:0 16px 34px rgba(0,0,0,.13);overflow:hidden}
.photo-help-card:after{content:"";position:absolute;width:120px;height:120px;right:-55px;top:-58px;border-radius:50%;background:rgba(91,224,173,.15);pointer-events:none}
.photo-help-card__icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#fff;color:#0b5d49;box-shadow:0 8px 20px rgba(0,0,0,.13)}
.photo-help-card__icon svg{width:22px;height:22px;fill:currentColor}
.photo-help-card__copy{margin-top:12px}.photo-help-card__copy>span{display:inline-flex;padding:4px 7px;border-radius:999px;background:#5be0ad;color:#073f35;font-size:.57rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.photo-help-card__copy h2{margin:8px 0 5px;font-size:1rem;color:#fff}.photo-help-card__copy p{margin:0;color:#d4e9e2;font-size:.72rem;line-height:1.5}
.photo-help-card__button{position:relative;z-index:1;width:100%;margin-top:13px;padding:11px 12px;border:0;border-radius:12px;background:#fff;color:#0b5142;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.78rem;font-weight:950;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.12);transition:transform .18s,box-shadow .18s,opacity .18s}
.photo-help-card__button:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,0,0,.17)}.photo-help-card__button svg{width:16px;height:16px;fill:currentColor}
.photo-help-card__note{display:block;margin-top:8px;text-align:center;color:#bcd9d0;font-size:.61rem}.photo-help-card.is-busy .photo-help-card__button{opacity:.65;pointer-events:none}.photo-help-card.is-busy .photo-help-card__button:after{content:"";width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:photoSpin .7s linear infinite}
.mobile-photo-cta{display:none}
@keyframes photoSpin{to{transform:rotate(360deg)}}
@media(min-width:761px) and (max-height:820px){.photo-help-card{padding:14px}.photo-help-card__icon{display:none}.photo-help-card__copy{margin-top:0}.photo-help-card__copy p{font-size:.67rem}.photo-help-card__button{margin-top:10px;padding:9px 10px}.photo-help-card__note{display:none}}
@media(max-width:760px){.mobile-photo-cta{width:calc(100% - 32px);margin:12px 16px 2px;padding:12px 13px;border:1px solid #bcd9cf;border-radius:16px;background:linear-gradient(135deg,#eaf7f2,#fff);color:#123f35;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;text-align:left;cursor:pointer;box-shadow:0 8px 20px rgba(15,111,87,.07)}.mobile-photo-cta__icon{width:42px;height:42px;border-radius:12px;background:#0f6f57;color:#fff;display:grid;place-items:center}.mobile-photo-cta__icon svg{width:21px;height:21px;fill:currentColor}.mobile-photo-cta strong,.mobile-photo-cta small{display:block}.mobile-photo-cta strong{font-size:.82rem}.mobile-photo-cta small{margin-top:3px;color:#6c8179;font-size:.67rem;line-height:1.3}.mobile-photo-cta>b{font-size:1.25rem;font-weight:500}.mobile-photo-cta.is-busy{opacity:.65;pointer-events:none}}


/* 2.4.4 - AI-fotokaart onder het servicemenu, rustig onderaan de zijbalk */
@media (min-width:761px){
  .photo-help-card{
    margin:18px 0 14px;
  }
  .sidebar-footer{
    margin-top:auto;
  }
}

/* Versie 16 — compacte diagnosebalk */
@media (min-width:761px){
  .diagnosis-strip{
    width:max-content;
    max-width:calc(100% - 56px);
    margin:0 auto 8px 28px;
    padding:7px 10px;
    gap:10px;
    border-radius:11px;
  }
  .diagnosis-strip__label{font-size:.61rem;letter-spacing:.06em}
  .diagnosis-strip__steps{gap:6px}
  .diagnosis-strip__steps>span{gap:5px;font-size:.64rem}
  .diagnosis-strip__steps>span:not(:last-child)::after{width:12px;margin-left:1px}
  .diagnosis-strip__steps i{width:19px;height:19px;border-radius:6px;font-size:.57rem}
}

/* Versie 17 — diagnosebalk over de breedte, zonder hoge lege container */
@media (min-width:761px){
  .chat-card{
    grid-template-rows:78px auto auto minmax(0,1fr) auto;
  }
  .diagnosis-strip{
    width:auto;
    max-width:none;
    margin:0 28px 10px;
    padding:8px 13px;
    align-self:start;
  }
  .diagnosis-strip__steps{
    flex:1 1 auto;
    justify-content:space-between;
    overflow:visible;
  }
  .diagnosis-strip__steps>span:not(:last-child)::after{
    width:clamp(16px,3vw,46px);
  }
}
@media (max-width:760px){
  .chat-card{
    grid-template-rows:72px auto auto auto minmax(0,1fr) auto;
  }
  .diagnosis-strip{
    align-self:start;
  }
}

/* Versie 18 — diagnosebalk alleen tijdens een echte service-/diagnoseflow */
.diagnosis-strip{
  opacity:0;
  transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease;
}
.diagnosis-strip.is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (prefers-reduced-motion:reduce){
  .diagnosis-strip{transition:none;transform:none}
}

/* Versie 19 — invoerbalk blijft onderaan wanneer de diagnosebalk verborgen is */
@media (min-width:761px){
  .chat-header{grid-row:1}
  .conversation-intro{grid-row:2}
  .diagnosis-strip{grid-row:3}
  .messages{grid-row:4}
  .chat-dock{grid-row:5}
}
@media (max-width:760px){
  .chat-header{grid-row:1}
  .conversation-intro{grid-row:2}
  .mobile-photo-cta{grid-row:3}
  .diagnosis-strip{grid-row:4}
  .messages{grid-row:5}
  .chat-dock{grid-row:6}
}

/* Versie 20 — meer zichtbare chatruimte op desktop */
@media (min-width:761px){
  .app-shell{
    height:calc(100dvh - 12px);
    margin:6px auto;
  }
  .chat-card{
    grid-template-rows:70px auto auto minmax(0,1fr) auto;
  }
  .chat-header{
    padding-top:10px;
    padding-bottom:10px;
  }
  .conversation-intro{
    padding-top:15px;
    padding-bottom:2px;
  }
  .conversation-intro h2{
    margin-top:7px;
    margin-bottom:3px;
  }
  .diagnosis-strip{
    margin-bottom:6px;
  }
  .messages{
    padding-top:14px;
    padding-bottom:18px;
  }
  .quick-replies{
    padding-top:8px;
    max-height:76px;
  }
  .composer-wrap{
    padding-top:9px;
    padding-bottom:10px;
  }
  .composer{
    min-height:58px;
  }
  .composer-note{
    margin-top:5px;
  }
}

/* v95 — klantgerichte oplossingskaart */
.solution-card{display:grid;gap:12px;margin-top:14px;padding:16px;border:1px solid #c7ded5;border-radius:16px;background:linear-gradient(145deg,#f0f8f5,#fff);box-shadow:0 10px 24px rgba(15,108,87,.08)}
.solution-card--revision{border-color:#9fd0bf;background:linear-gradient(145deg,#eaf7f2,#fff)}
.solution-card--product{border-color:#cbd9e5;background:linear-gradient(145deg,#f4f8fb,#fff)}
.solution-card--review{border-color:#ead8ae;background:linear-gradient(145deg,#fff9ec,#fff)}
.solution-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.solution-card__header div{display:grid;gap:4px}.solution-card__header span{color:#0f6c57;font-size:.63rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.solution-card__header strong{color:#173d34;font-size:.96rem;line-height:1.3}.solution-card__header>b{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#dff1ea;color:#0b6651;font-size:.66rem}
.solution-card__summary{margin:0;color:#4f6860;font-size:.8rem;line-height:1.55}
.solution-card__steps{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:solution-step}.solution-card__steps li{position:relative;padding:9px 10px 9px 38px;border:1px solid #dce9e4;border-radius:11px;background:#fff;color:#294b42;font-size:.77rem;line-height:1.45;counter-increment:solution-step}.solution-card__steps li:before{content:counter(solution-step);position:absolute;left:10px;top:8px;width:20px;height:20px;border-radius:7px;display:grid;place-items:center;background:#0f6c57;color:#fff;font-size:.63rem;font-weight:900}
.solution-card__safety{padding:9px 10px;border-radius:10px;background:#fff7e6;color:#755a20;font-size:.68rem;line-height:1.45}
.solution-card__actions{display:flex;flex-wrap:wrap;gap:8px}.solution-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 12px;border:1px solid #b9d2c9;border-radius:10px;background:#fff;color:#0f6c57;font:inherit;font-size:.74rem;font-weight:850;text-decoration:none;cursor:pointer}.solution-action--primary{border-color:#0f6c57;background:#0f6c57;color:#fff}.solution-action:hover{transform:translateY(-1px)}
@media(max-width:560px){.solution-card__header{display:grid}.solution-card__header>b{justify-self:start}.solution-card__actions{display:grid}.solution-action{width:100%}}

/* v96 Smart Resolution Engine */
.solution-card__why {
  margin: 14px 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(20, 104, 72, .06);
}
.solution-card__why strong {
  display: block;
  margin-bottom: 6px;
  font-size: .84rem;
}
.solution-card__why ul {
  margin: 0;
  padding-left: 18px;
}
.solution-card__why li {
  margin: 4px 0;
  line-height: 1.45;
}


/* v97 — permanente terugkoppeling naar de Ventilatie Service Center-webshop */
.website-back-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:9px 12px;
  border:1px solid #c9ddd5;
  border-radius:11px;
  background:#fff;
  color:#0b5d49;
  text-decoration:none;
  font-size:.73rem;
  font-weight:900;
  white-space:nowrap;
  transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;
}
.website-back-button:hover{
  background:#eef7f3;
  border-color:#92bbaa;
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(15,111,87,.08);
}
.website-back-button:focus-visible{
  outline:3px solid rgba(17,117,91,.2);
  outline-offset:2px;
}
.website-back-button svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto}
.website-back-button__mobile{display:none}
@media(max-width:1050px) and (min-width:761px){
  .website-back-button{width:38px;height:38px;padding:0}
  .website-back-button span{display:none}
}
@media(max-width:760px){
  .website-back-button{min-height:36px;height:36px;padding:0 9px;gap:6px;border-radius:10px}
  .website-back-button__desktop{display:none}
  .website-back-button__mobile{display:inline;font-size:.68rem}
  .website-back-button svg{width:15px;height:15px}
}
@media(max-width:430px){
  .website-back-button{width:36px;padding:0}
  .website-back-button__mobile{display:none}
}


/* v100 — Oploscentrum premium landing en consistente branding */
.conversation-intro{padding-bottom:18px}
.conversation-intro h2{max-width:720px}
.conversation-intro p{max-width:860px}
.service-scope{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.service-scope span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid #d9e8e2;border-radius:999px;background:#f5faf8;color:#315e51;font-size:.69rem;font-weight:850}
.service-scope span:before{content:"✓";color:#13805f;font-weight:950}
.service-shortcuts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0 28px 18px}
.service-shortcuts button{min-width:0;padding:14px 13px;border:1px solid #dce9e4;border-radius:16px;background:#fff;text-align:left;color:#244b40;cursor:pointer;box-shadow:0 8px 24px rgba(20,83,67,.055);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.service-shortcuts button:hover{transform:translateY(-2px);border-color:#9bcdbd;box-shadow:0 14px 28px rgba(20,83,67,.11)}
.service-shortcuts button:focus-visible{outline:3px solid rgba(17,117,91,.22);outline-offset:2px}
.service-shortcuts b,.service-shortcuts span{display:block}
.service-shortcuts b{font-size:.78rem;color:#0b614c}
.service-shortcuts span{margin-top:4px;color:#71817b;font-size:.65rem;line-height:1.3}
.sidebar-footer small{display:block;margin-top:4px;color:rgba(255,255,255,.62);font-size:.62rem;line-height:1.4}
@media(max-width:1180px){.service-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.service-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 14px;gap:8px}.service-shortcuts button{padding:12px}.service-scope{gap:6px}.service-scope span{padding:6px 9px;font-size:.63rem}}


/* v101 — dubbele onderwerprij verwijderd en snelkeuzes compacter gemaakt */
.service-shortcuts{gap:8px;padding:0 28px 14px}
.service-shortcuts button{padding:10px 12px;border-radius:13px;box-shadow:0 5px 16px rgba(20,83,67,.045)}
.service-shortcuts button:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(20,83,67,.09)}
.service-shortcuts b{font-size:.75rem}
.service-shortcuts span{margin-top:2px;font-size:.61rem;line-height:1.22}
@media(max-width:720px){.service-shortcuts{padding:0 16px 12px;gap:7px}.service-shortcuts button{padding:9px 10px;border-radius:12px}.service-shortcuts span{font-size:.59rem}}

/* v110 mobile chatruimte — vaste startkeuzes nemen één compacte rij in */
@media(max-width:760px){
  html,body{overflow:hidden}
  .chat-card{
    width:100%;
    max-width:100vw;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:64px auto auto auto minmax(0,1fr) auto;
  }
  .chat-header{
    grid-row:1;
    min-width:0;
    gap:8px;
    padding:9px 14px;
  }
  .assistant-identity{min-width:0;gap:9px}
  .assistant-identity>div{min-width:0}
  .assistant-identity span{display:none}
  .assistant-avatar{width:40px;height:40px;border-radius:12px}
  .assistant-identity h1{margin-top:0;font-size:.94rem}
  .header-actions{flex:0 0 auto}
  .conversation-intro{grid-row:2;padding:10px 16px 7px}
  .conversation-intro .eyebrow,.conversation-intro p{display:none}
  .conversation-intro h2{margin:0;font-size:1rem;line-height:1.25}
  .service-shortcuts{
    grid-row:3;
    display:flex;
    gap:7px;
    padding:4px 16px 9px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .service-shortcuts::-webkit-scrollbar{display:none}
  .service-shortcuts button{
    flex:0 0 auto;
    min-width:118px;
    padding:8px 10px;
    border-radius:11px;
    white-space:nowrap;
  }
  .service-shortcuts span{display:none}
  .mobile-photo-cta{display:none}
  .diagnosis-strip{grid-row:4}
  .messages{grid-row:5;padding-top:12px;padding-bottom:14px}
  .chat-dock{grid-row:6}
  .quick-replies{
    padding-top:8px;
    padding-bottom:1px;
    scrollbar-width:none;
  }
  .quick-replies::-webkit-scrollbar{display:none}
  .composer-wrap{
    padding-top:8px;
    padding-bottom:max(9px,env(safe-area-inset-bottom));
  }
  .composer{min-height:56px}
}
