:root{--tj-primary: #AD57A2;--tj-on-primary: #FFFFFF;--tj-danger: #BA1A1A;--tj-bg: #FFFFFF;--tj-surface: #FFFFFF;--tj-surface-2: #F3F4F6;--tj-text: #1F2430;--tj-text-variant: #6B7280;--tj-outline: #E5E7EB;--tj-fs-page: 28px;--tj-fw-page: 700;--tj-fs-section: 20px;--tj-fw-section: 700;--tj-fs-card: 18px;--tj-fw-card: 600;--tj-fs-body: 15px;--tj-fw-body: 400;--tj-fs-label: 12px;--tj-fw-label: 600;--tj-fs-button: 14px;--tj-fw-button: 600;--tj-fs-caption: 12px;--tj-fw-caption: 400;--tj-lh-page: 1.2;--tj-lh-section: 1.3;--tj-lh-card: 1.3;--tj-lh-body: 1.5;--tj-lh-label: 1.3;--tj-lh-button: 1.2;--tj-lh-caption: 1.4;--tj-space-1: 4px;--tj-space-2: 8px;--tj-space-3: 12px;--tj-space-4: 16px;--tj-space-5: 20px;--tj-space-6: 24px;--tj-space-8: 32px;--tj-r-s: 8px;--tj-r-m: 12px;--tj-r-l: 16px;--tj-r-full: 9999px;--tj-btn-pad-y: 12px;--tj-btn-pad-x: 24px;--tj-chip-pad-y: 8px;--tj-chip-pad-x: 14px;--tj-field-pad-y: 12px;--tj-field-pad-x: 14px;--tj-menu-pad: 14px;--tj-spring: cubic-bezier(.34, 1.56, .64, 1);--tj-standard: cubic-bezier(.2, 0, 0, 1);--tj-shadow: 0 1px 3px rgba(0, 0, 0, .07), 0 4px 16px rgba(0, 0, 0, .05);--tj-shadow-pop: 0 12px 32px rgba(0, 0, 0, .18)}[data-theme=dark]{--tj-primary: #E5B5DC;--tj-on-primary: #4E1949;--tj-bg: #16181C;--tj-surface: #1C1A1F;--tj-surface-2: #2F282D;--tj-text: #EADFE4;--tj-text-variant: #D2C2CC;--tj-outline: #4F444C;--tj-shadow: 0 1px 3px rgba(0, 0, 0, .5), 0 4px 16px rgba(0, 0, 0, .35);--tj-shadow-pop: 0 12px 32px rgba(0, 0, 0, .5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid transparent;border-radius:var(--tj-r-full);padding:var(--tj-btn-pad-y) var(--tj-btn-pad-x);font:inherit;font-size:var(--tj-fs-button);font-weight:var(--tj-fw-button);line-height:var(--tj-lh-button);cursor:pointer;background:var(--tj-primary);color:var(--tj-on-primary);transition:transform .25s var(--tj-spring),border-radius .25s var(--tj-spring),opacity .15s,background .15s}.btn:hover:not(:disabled){transform:scale(1.02)}.btn:active:not(:disabled){transform:scale(.97);border-radius:var(--tj-r-m)}.btn:disabled{opacity:.45;cursor:default}.btn.outlined{background:transparent;color:var(--tj-text);border:1px solid var(--tj-outline)}.btn.outlined:hover:not(:disabled){background:color-mix(in srgb,var(--tj-text) 7%,transparent)}.btn.text{width:auto;background:transparent;color:var(--tj-primary);border-color:transparent;padding:var(--tj-btn-pad-y) 12px}.btn.text:hover:not(:disabled){background:color-mix(in srgb,var(--tj-primary) 10%,transparent)}.btn.danger{background:color-mix(in srgb,var(--tj-danger) 14%,transparent);color:var(--tj-danger)}.btn.icon{width:auto;padding:8px;border-radius:var(--tj-r-full);background:transparent;color:var(--tj-text-variant)}.btn.icon:hover:not(:disabled){background:var(--tj-surface-2)}.card{background:var(--tj-surface);border:1px solid var(--tj-outline);border-radius:var(--tj-r-l);padding:var(--tj-space-5);box-shadow:var(--tj-shadow);animation:tj-card-enter .4s var(--tj-spring)}@keyframes tj-card-enter{0%{transform:translateY(14px) scale(.98);opacity:0}}.field-hint{font-size:var(--tj-fs-caption);color:var(--tj-text-variant);margin-top:2px}.field-error{font-size:var(--tj-fs-caption);color:var(--tj-danger);margin-top:2px}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--tj-space-3);margin-top:var(--tj-space-5)}.dialog-actions .btn{width:auto}.segmented{display:flex;width:100%;background:transparent;border:1px solid var(--tj-outline);border-radius:var(--tj-r-full);overflow:hidden}.segmented .seg{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-left:1px solid var(--tj-outline);background:transparent;color:var(--tj-text);padding:10px 12px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.segmented .seg:first-child{border-left:none}.segmented .seg:hover:not(.active){background:color-mix(in srgb,var(--tj-text) 8%,transparent)}.segmented .seg.active{background:var(--tj-primary);color:var(--tj-on-primary)}.login-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px;background:#fff;font-family:Segoe UI,system-ui,Roboto,sans-serif}.login-toprow{width:100%;max-width:400px;display:flex;align-items:center;justify-content:space-between}.login-card{max-width:400px;width:100%;box-sizing:border-box;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 32px;background:#fff;border:1px solid #E5E7EB;border-radius:16px;box-shadow:0 1px 3px #0000001a,0 4px 16px #0000000f}.login-logo{width:64px;height:64px}.login-card h1{font-size:28px;font-weight:600;color:#201a1e;margin:4px 0 0}.login-card h1+.login-subtitle{margin-top:0}.login-subtitle{font-size:14px;line-height:1.45;color:#4f444c;margin:0 0 12px}.login-card .btn,.login-card .btn.social,.login-card .btn.outlined,.login-google,.login-email{width:100%;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:600;border-radius:9999px;font-family:inherit;cursor:pointer;background:#fff;color:#1f1f1f;border:1px solid #E5E7EB}.login-card .btn svg,.login-google svg,.login-email svg{width:18px;height:18px}.login-card .btn:hover:not(:disabled),.login-google:hover:not(:disabled),.login-email:hover:not(:disabled){background:#f5f5f5}.login-card .btn:disabled{opacity:.5;cursor:default}.login-version{font-size:12px;color:#4f444c;text-align:center;margin-top:4px}.ico{flex-shrink:0;vertical-align:-.15em}.lang-dropdown{position:relative;display:inline-flex}.lang-trigger{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--tj-outline);background:var(--tj-surface);color:var(--tj-text);border-radius:var(--tj-r-full);padding:8px 14px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,transform .2s var(--tj-spring)}.lang-trigger:hover{background:color-mix(in srgb,var(--tj-text) 6%,var(--tj-surface))}.lang-flag{width:18px;height:18px;flex-shrink:0;border-radius:3px;object-fit:cover}.lang-trigger .lang-name{flex:1;text-align:start;white-space:nowrap}.lang-chevron{line-height:1;opacity:.6;flex-shrink:0;display:inline-flex}.lang-menu{position:absolute;top:calc(100% + 6px);inset-inline-start:0;z-index:160;min-width:100%;width:max-content;max-width:min(240px,calc(100vw - 32px));list-style:none;margin:0;padding:6px;background:var(--tj-surface);color:var(--tj-text);border:1px solid var(--tj-outline);border-radius:var(--tj-r-m);box-shadow:var(--tj-shadow)}.lang-menu li{margin:0}.lang-option{display:flex;align-items:center;gap:10px;width:100%;text-align:start;border:none;background:transparent;color:var(--tj-text);border-radius:var(--tj-r-s);padding:9px 10px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.lang-option:hover:not(.active){background:color-mix(in srgb,var(--tj-text) 8%,transparent)}.lang-option.active{background:var(--tj-primary);color:var(--tj-on-primary);font-weight:600}.lang-option .lang-name{flex:1}.lang-check{display:inline-flex;flex-shrink:0}:root{--c-bg: #FFFFFF;--c-text: #2a2a2a;--c-hl: #AD57A2;--c-hl-text: #FFFFFF;--c-surface: color-mix(in srgb, var(--c-bg) 92%, var(--c-text));--c-outline: color-mix(in srgb, var(--c-text) 25%, var(--c-bg));--tj-primary: var(--c-hl);--tj-on-primary: var(--c-hl-text);--r-s: 8px;--r-m: 12px;--r-l: 16px;--r-xl: 28px;--r-full: 9999px;--spring: cubic-bezier(.34, 1.56, .64, 1);--standard: cubic-bezier(.2, 0, 0, 1);font-family:Segoe UI,system-ui,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--c-bg);color:var(--c-text);min-height:100vh}h1{font-size:var(--tj-fs-page);font-weight:var(--tj-fw-page);line-height:var(--tj-lh-page);margin:0 0 var(--tj-space-2)}h2{font-size:var(--tj-fs-section);font-weight:var(--tj-fw-section);line-height:var(--tj-lh-section);margin:0 0 var(--tj-space-2)}h3{font-size:var(--tj-fs-card);font-weight:var(--tj-fw-card);line-height:var(--tj-lh-card);margin:0 0 var(--tj-space-1)}p{line-height:var(--tj-lh-body)}.page{max-width:520px;margin:0 auto;padding:20px 16px 60px;display:flex;flex-direction:column;gap:16px}.header{text-align:center;padding:8px 0}.header img{max-height:90px;max-width:240px}.header .title{font-size:26px;font-weight:700}@keyframes enter{0%{transform:translateY(14px) scale(.98);opacity:0}}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field label{font-size:var(--tj-fs-label);font-weight:var(--tj-fw-label);line-height:var(--tj-lh-label);opacity:.8}.field input{font:inherit;font-size:16px;color:var(--c-text);background:var(--c-bg);border:1px solid var(--c-outline);border-radius:var(--r-m);padding:var(--tj-field-pad-y) var(--tj-field-pad-x)}.field input:focus{outline:none;border-color:var(--c-hl);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-hl) 30%,transparent)}.switch{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;line-height:1.45}.switch input{display:none}.switch .track{width:46px;height:26px;border-radius:var(--r-full);flex-shrink:0;background:var(--c-surface);border:2px solid var(--c-outline);transition:background .2s,border-color .2s}.switch .track:after{content:"";display:block;width:14px;height:14px;margin:4px;border-radius:50%;background:var(--c-outline);transition:transform .3s var(--spring),background .2s}.switch input:checked+.track{background:var(--c-hl);border-color:var(--c-hl)}.switch input:checked+.track:after{background:var(--c-hl-text);transform:translate(20px)}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-full);border:1px solid var(--c-outline);background:transparent;color:var(--c-text);padding:var(--tj-chip-pad-y) var(--tj-chip-pad-x);font-size:13px;font-family:inherit;cursor:pointer;transition:transform .2s var(--spring),background .15s}.chip:hover{transform:scale(1.05)}.chip.selected{background:var(--c-hl);color:var(--c-hl-text);border-color:transparent}.chip img{width:18px;height:18px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.closed-banner{position:sticky;top:var(--tj-space-2);z-index:30;display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--r-m);background:color-mix(in srgb,var(--c-hl) 12%,#FFFFFF);border:1px solid color-mix(in srgb,var(--c-hl) 35%,transparent);color:var(--c-text);box-shadow:var(--tj-shadow-pop)}.closed-banner p{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.closed-banner-icon{color:var(--c-hl);display:inline-flex;flex-shrink:0;margin-top:1px}.product.expandable{cursor:pointer}.ingredients-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:var(--tj-space-2)}.ingredients-row .ingredients-label{font-size:13px}.ingredients-row .chip.static{cursor:default}.ingredients-row .chip.static:hover{transform:none}.person{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--c-bg);border-radius:var(--r-m);border:1px solid var(--c-outline)}.product{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--c-outline)}.product:last-child{border-bottom:none}.product img.photo{width:64px;height:64px;object-fit:cover;border-radius:var(--r-m)}.product .price{font-weight:700;white-space:nowrap}.product .price .old{text-decoration:line-through;opacity:.55;font-weight:400;margin-right:6px;font-size:13px}.product .icons{display:flex;gap:4px;margin-top:4px}.product .icons img{width:18px;height:18px}.product.dimmed{opacity:.4;pointer-events:none;filter:grayscale(1);transition:opacity .2s var(--standard),filter .2s var(--standard)}.product.recommended{border-left:3px solid #C3914B;background:color-mix(in srgb,#C3914B 8%,transparent);padding-left:10px;border-radius:var(--r-s)}.product.recommended:last-child{border-bottom:1px solid var(--c-outline)}.rec-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;vertical-align:middle;border-radius:var(--r-full);background:color-mix(in srgb,#C3914B 18%,transparent);color:#c3914b;padding:2px 8px;font-size:11px;font-weight:700;white-space:nowrap}.rec-badge svg{flex-shrink:0}.menu-search{font:inherit;font-size:16px;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-outline);border-radius:var(--r-full);padding:12px 18px;width:100%}.menu-search::placeholder{color:var(--c-text);opacity:.5}.menu-search:focus{outline:none;border-color:var(--c-hl);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-hl) 30%,transparent)}.tabbar{position:sticky;top:0;z-index:10;display:flex;gap:8px;background:color-mix(in srgb,var(--c-bg) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 0}.tabbar .chip{flex:1;justify-content:center;padding:12px;font-size:14px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.topbar .langs{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.account-btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-full);border:1px solid var(--c-outline);background:transparent;color:var(--c-text);padding:8px 14px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .2s var(--spring),background .15s}.account-btn:hover{transform:scale(1.05)}.account-btn.icon-only{width:36px;height:36px;padding:0;justify-content:center;border-radius:50%}.account-btn.icon-only svg{display:block}.account-btn .avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--c-hl);color:var(--c-hl-text);font-size:13px;font-weight:700}.avatar-btn{border:none;background:transparent;padding:0;cursor:pointer;border-radius:50%;transition:transform .2s var(--spring)}.avatar-btn:hover{transform:scale(1.06)}.avatar-btn .avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--c-hl);color:var(--c-hl-text);font-size:16px;font-weight:700}.profile-menu-wrap{position:relative}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:150;width:280px;max-width:calc(100vw - 24px);background:var(--tj-surface);color:var(--c-text);border:1px solid var(--c-outline);border-radius:var(--r-l);box-shadow:var(--tj-shadow-pop);padding:var(--tj-menu-pad);display:flex;flex-direction:column;gap:14px;animation:modalIn .25s var(--spring)}.profile-menu .pm-head{display:flex;align-items:center;gap:12px}.profile-menu .pm-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--c-hl);color:var(--c-hl-text);font-size:18px;font-weight:700}.profile-menu .pm-name{font-size:15px;font-weight:700;word-break:break-word}.profile-menu .pm-sub{font-size:12px;opacity:.7;word-break:break-word}.profile-menu .pm-label{font-size:12px;font-weight:700;opacity:.7;margin-bottom:6px}.profile-menu .pm-item{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;color:var(--c-text);border-radius:var(--r-m);padding:10px 8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;text-align:left;text-decoration:none;transition:background .15s}.profile-menu .pm-item:hover{background:var(--c-bg)}.profile-menu .pm-item .pm-ico{width:20px;display:inline-flex;justify-content:center}.profile-menu .pm-item.danger{color:#e05b5b}.profile-menu .pm-sep{height:1px;background:var(--c-outline);margin:2px 0}.login-card .btn,.login-card .btn.social,.login-card .btn.google,.login-card .btn.facebook,.login-card .btn.outlined{background:#fff;color:#1f1f1f;border:1px solid #E5E7EB}.login-card .btn:hover:not(:disabled){background:#f5f5f5}.login-card .field{text-align:left;width:100%;margin-bottom:0}.login-card .field input{width:100%}.btn.social{background:var(--c-bg);color:var(--c-text);border:1px solid var(--c-outline)}.btn.social svg{width:18px;height:18px}.btn.google{background:#fff;color:#1f1f1f;border:1px solid #DADCE0}.btn.facebook{background:#1877f2;color:#fff;border:none}.center{text-align:center}.muted{opacity:.7;font-size:14px}.success-icon{color:var(--c-hl);display:inline-flex;animation:pop .5s var(--spring)}@keyframes pop{0%{transform:scale(0)}}.snackbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:100;background:var(--c-text);color:var(--c-bg);border-radius:var(--r-m);padding:12px 20px;font-size:14px;animation:springUp .4s var(--spring);max-width:90vw}@keyframes springUp{0%{transform:translate(-50%,80px);opacity:0}}.versie-badge{display:inline-flex;align-items:center;gap:4px;border-radius:var(--r-full);border:1px solid var(--c-outline);background:transparent;color:var(--c-text);opacity:.6;padding:4px 12px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .2s var(--spring),opacity .15s}.versie-badge:hover{transform:scale(1.06);opacity:1}.cl-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:12px;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlayIn .2s var(--standard)}@keyframes overlayIn{0%{opacity:0}}.cl-modal{display:flex;flex-direction:column;width:100%;max-width:560px;max-height:85vh;background:var(--tj-surface);color:var(--c-text);border-radius:var(--r-l);overflow:hidden;animation:modalIn .35s var(--spring)}@keyframes modalIn{0%{transform:translateY(24px) scale(.96);opacity:0}}.cl-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;font-size:17px;font-weight:700;border-bottom:1px solid var(--c-outline)}.cl-close{border:none;background:transparent;color:var(--c-text);font-size:24px;line-height:1;cursor:pointer;padding:0 4px;opacity:.7;transition:opacity .15s}.cl-close:hover{opacity:1}.cl-body{overflow-y:auto;padding:16px 18px}.cl-versie{margin-bottom:20px}.cl-versie:last-child{margin-bottom:0}.cl-nr{display:inline-block;border-radius:var(--r-full);background:var(--c-hl);color:var(--c-hl-text);padding:3px 12px;font-size:13px;font-weight:700;margin-right:8px}.cl-datum{font-size:12px;opacity:.6}.cl-items{list-style:none;margin:10px 0 0;padding:0}.cl-items li{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--c-outline);font-size:13px;line-height:1.45}.cl-items li:last-child{border-bottom:none}.cl-tag{flex-shrink:0;display:inline-block;border-radius:var(--r-full);padding:2px 9px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.cl-tag.nieuw{background:#d1fae5;color:#065f46}.cl-tag.fix{background:#fee2e2;color:#b91c1c}.cl-tag.wijziging{background:#fef3c7;color:#92400e}.cl-tag.verwijderd{background:#e5e7eb;color:#4b5563}.help-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-full);border:1px solid var(--c-outline);background:transparent;color:var(--c-text);opacity:.6;width:24px;height:24px;padding:0;font-size:13px;font-weight:700;font-family:inherit;line-height:1;cursor:pointer;transition:transform .2s var(--spring),opacity .15s}.help-badge:hover{transform:scale(1.06);opacity:1}.help-section{margin-bottom:22px}.help-section:last-child{margin-bottom:0}.help-section h3{margin:0 0 12px;font-size:14px;font-weight:700}.help-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.help-item:last-child{margin-bottom:0}.help-item-icon{flex-shrink:0;width:36px;font-size:22px;line-height:1.4;text-align:center}.help-item-body h4{margin:0 0 2px;font-size:14px;font-weight:700}.help-item-body p{margin:0;font-size:14px;line-height:1.6;opacity:.7}@media(max-width:600px){.cl-modal{max-width:none;width:calc(100vw - 24px)}}
