:root{--ink:#24141e;--wine:#321121;--pink:#d52b73;--rose:#f7e9ef;--paper:#fffdfa;--cream:#f6f0ed;--line:#dfd4d8;--muted:#766a70;--green:#247b55;--red:#a9364d;--shadow:0 24px 70px rgba(44,17,32,.09);--radius-control:10px;--radius-card:16px;--radius-sheet:22px;--control-height:48px;--shadow-card:0 12px 36px rgba(44,17,32,.075);--shadow-float:0 20px 60px rgba(36,20,30,.18);--focus-ring:0 0 0 3px rgba(213,43,115,.2);--motion-fast:160ms ease;--motion-smooth:240ms cubic-bezier(.2,.8,.2,1);--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,sans-serif}
.day-switcher>span{display:flex;align-items:center;gap:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
button,input,select,textarea{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}
.skip-link{position:fixed;z-index:100;top:-60px;left:20px;background:var(--ink);color:#fff;padding:12px 18px}.skip-link:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;gap:44px;min-height:92px;padding:10px max(24px,calc((100vw - 1440px)/2));border-bottom:1px solid rgba(50,17,33,.12);background:rgba(255,253,250,.94);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;text-decoration:none}.brand img{width:64px;height:64px;object-fit:contain}.brand span{display:flex;flex-direction:column}.brand strong{font:italic 25px/1 var(--serif)}.brand small{margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.desktop-nav{display:flex;gap:30px}.desktop-nav a{position:relative;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.desktop-nav a[aria-current=page]{color:var(--pink)}
.nav-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 5px;border-radius:999px;background:var(--pink);color:#fff;font-size:10px;line-height:1;letter-spacing:0}.nav-count.is-urgent{background:#a33b31}.account-menu-links .nav-count{margin-left:auto}
.account-menu{position:relative}.account-menu summary{cursor:pointer;list-style:none;border:1px solid var(--line);padding:11px 16px;font-size:13px;font-weight:700}.account-menu summary::-webkit-details-marker{display:none}.account-menu-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:40;display:flex;flex-direction:column;width:max-content;min-width:260px;max-height:min(720px,calc(100vh - 104px));max-height:min(720px,calc(100dvh - 104px));padding:10px;background:var(--paper);box-shadow:var(--shadow);border:1px solid var(--line);overflow:hidden}.account-menu-links{display:grid;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:2px}.account-menu-footer{display:grid;flex:0 0 auto;border-top:1px solid var(--line);background:var(--paper);box-shadow:0 -10px 22px rgba(43,16,34,.06)}.account-menu-footer form{margin:0}.account-menu-footer a,.account-menu-footer .text-button{width:100%;min-height:44px}.account-menu a,.text-button{border:0;background:none;padding:11px;text-align:left;text-decoration:none;cursor:pointer}.account-menu a:hover,.text-button:hover{background:var(--rose)}.account-menu-group{display:grid;gap:1px}.account-menu-group+.account-menu-group{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.account-menu-group h2{margin:0;padding:4px 11px 6px;color:var(--muted);font:900 9px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase}.account-menu-group a{display:flex;align-items:center;gap:8px}
.page-shell{width:min(1440px,calc(100% - 48px));min-height:calc(100vh - 160px);margin:0 auto;padding:72px 0 100px}
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:24px max(24px,calc((100vw - 1440px)/2));background:var(--wine);color:#eadde3;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.site-footer>span:last-child{text-align:right}.footer-system-status{display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#eadde3;text-decoration:none}.footer-system-status i{width:10px;height:10px;border-radius:50%;background:#d98922;box-shadow:0 0 0 5px rgba(217,137,34,.15)}.footer-system-status.is-healthy i{background:#36b773;box-shadow:0 0 0 5px rgba(54,183,115,.16)}.footer-system-status.needs-attention{color:#ffd8c8}
.eyebrow{margin:0 0 14px;color:var(--pink);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
h1,h2,p{margin-top:0}h1{margin-bottom:24px;font:400 clamp(56px,7vw,104px)/.9 var(--serif);letter-spacing:-.055em}h1 em{color:var(--pink);font-weight:400}h2{font:400 36px/1.05 var(--serif);letter-spacing:-.035em}
.page-intro{margin-bottom:58px}.page-intro>p:last-child{max-width:680px;color:var(--muted)}.split-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.split-heading h1{margin-bottom:0}.action-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid var(--ink);padding:11px 20px;background:transparent;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:.2s}.button:hover{background:var(--ink);color:#fff}.button-primary{border-color:var(--pink);background:var(--pink);color:#fff}.button-primary:hover{border-color:var(--wine);background:var(--wine)}.button:disabled{opacity:.38;cursor:not-allowed}
.flash-stack{position:fixed;z-index:50;top:108px;right:24px;display:grid;gap:8px;width:min(400px,calc(100% - 48px))}.flash{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin:0;padding:14px 12px 14px 18px;border-left:4px solid var(--pink);background:var(--paper);box-shadow:var(--shadow)}.flash-copy{min-width:0;line-height:1.5;overflow-wrap:anywhere}.flash-dismiss{display:grid;width:32px;height:32px;margin:-6px -4px -6px 0;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);font:400 23px/1 var(--serif);cursor:pointer}.flash-dismiss:hover,.flash-dismiss:focus-visible{background:var(--rose);color:var(--pink);outline:0}.flash-success{border-color:var(--green)}.flash-error{border-color:var(--red)}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);margin-bottom:30px}.stat-grid article{min-height:185px;padding:26px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.stat-grid article:last-child{border:0}.stat-grid span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.stat-grid strong{font:400 clamp(36px,4vw,62px)/1 var(--serif)}.stat-grid .accent{background:var(--wine);color:#fff}.stat-grid .accent span{color:#dfbdcd}
.dashboard-grid,.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:30px}.lower-grid{margin-top:30px}.panel,.form-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);padding:32px}.panel>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.panel>header h2{margin:0}.panel>header>a{font-size:12px;font-weight:700}
.row-list{display:grid}.row-list>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none}.row-list small,.table-row small,.reward-list small,.history-list small{display:block;color:var(--muted)}.row-list b{font-family:var(--serif);font-size:18px}.avatar,.gift-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--rose);color:var(--pink);font:italic 20px var(--serif)}.gift-mark{border-radius:2px;background:var(--wine);color:#fff}.empty{margin:0;padding:30px;text-align:center;color:var(--muted);background:var(--cream)}
.form-card{max-width:1000px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.form-grid+.action-row{margin-top:34px}.form-grid .wide,.compact-form .wide{grid-column:1/-1}label{display:grid;gap:8px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}label small{color:var(--muted);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}input,select,textarea{width:100%;border:0;border-bottom:1px solid #b9acb2;border-radius:0;background:transparent;padding:12px 2px;font-size:16px;letter-spacing:0;outline:none;text-transform:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--pink);box-shadow:0 2px 0 var(--pink)}
.search-form{display:flex;gap:12px;margin-bottom:28px}.search-form input{flex:1}.data-table{display:grid}.table-head,.table-row{display:grid;grid-template-columns:1.4fr 1.4fr .6fr 30px;align-items:center;gap:24px;padding:15px;border-bottom:1px solid var(--line)}.table-head{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.table-row{text-decoration:none;transition:.2s}.table-row:hover{background:var(--rose);padding-left:20px}.gift-table .table-head,.gift-table .table-row{grid-template-columns:1.3fr .7fr .6fr .7fr}.status-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--green)}.status-dot.status-verlopen,.status-dot.status-geannuleerd,.status-dot.status-opgebruikt{background:var(--muted)}
.customer-heading{align-items:center}.balance-orb{display:flex;flex-direction:column;align-items:center;justify-content:center;width:230px;height:230px;flex:0 0 auto;border-radius:50%;background:var(--wine);color:#fff;box-shadow:22px 18px 0 var(--rose)}.balance-orb span,.balance-orb small{color:#e6c9d7;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.balance-orb strong{font:400 78px/1 var(--serif)}.gift-orb strong{font-size:42px}.compact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.compact-form .button{align-self:end}.share-card{text-align:center}.share-card img{width:190px;margin:5px auto 18px}.share-card p{color:var(--muted)}.button-stack{display:grid;gap:10px}.reward-list{display:grid}.reward-list form{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.history-list>div{display:flex;gap:15px;padding:15px 0;border-top:1px solid var(--line)}.delta{display:grid;place-items:center;flex:0 0 58px;height:34px;background:var(--rose);font-weight:800}.delta.positive{color:var(--green)}.delta.negative{color:var(--red)}
.login-page{background:var(--wine)}.login-page .site-header{background:var(--paper)}.login-page .page-shell{display:grid;place-items:center}.login-card{width:min(620px,100%);padding:58px;background:var(--paper);box-shadow:0 30px 100px rgba(0,0,0,.22)}.login-card h1{font-size:70px}.login-card>p:not(.eyebrow){color:var(--muted)}.form-stack{display:grid;gap:25px;margin-top:34px}.narrow-form{max-width:650px;display:grid;gap:28px}
.gift-certificate{position:relative;overflow:hidden;min-height:620px;padding:45px;background:var(--rose);border:1px solid #e1c8d3;box-shadow:var(--shadow)}.gift-certificate:after{content:'W';position:absolute;right:-30px;bottom:-130px;color:rgba(213,43,115,.08);font:italic 420px/1 var(--serif)}.gift-top,.gift-code{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.gift-top img{width:80px;height:80px;object-fit:contain}.gift-top span{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.gift-copy{position:relative;z-index:1;margin:85px 0 70px}.gift-copy p,.gift-code span,.gift-code small{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.gift-copy h2{font-size:64px;color:var(--pink)}.gift-copy blockquote{margin:20px 0;font:italic 24px/1.4 var(--serif)}.gift-copy>strong{display:block;font:400 55px var(--serif)}.gift-code{align-items:flex-start;flex-direction:column;gap:4px}.gift-code b{font-size:18px;letter-spacing:.12em}.gift-code small{color:var(--muted)}
.public-card-page{background:var(--wine)}.public-card-page .site-header{position:static;background:var(--paper)}.public-card-page .page-shell{display:grid;place-items:center}.public-card{width:min(720px,100%);padding:64px;background:var(--paper);box-shadow:0 35px 100px rgba(0,0,0,.25)}.public-card h1{font-size:70px}.public-balance{display:flex;align-items:baseline;gap:15px;margin:38px 0;padding:28px;border-left:6px solid var(--pink);background:var(--rose)}.public-balance strong{font:400 74px/1 var(--serif)}.public-balance span{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.12em}.reward-progress>div{margin:22px 0}.reward-progress span{display:flex;justify-content:space-between}.reward-progress small{color:var(--muted)}progress{width:100%;height:10px;accent-color:var(--pink)}.public-history p{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.privacy-note{margin:35px 0 0;color:var(--muted);font-size:13px}.gift-public blockquote{margin:30px 0;font:italic 25px/1.5 var(--serif);color:var(--muted)}.gift-public dl{display:grid}.gift-public dl>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:14px 0}.gift-public dd{font-weight:700}.error-card{max-width:760px;padding:60px;background:var(--paper);box-shadow:var(--shadow)}
@media(max-width:900px){.site-header{min-height:76px;padding:6px 20px}.brand img{width:56px;height:56px}.brand small{display:none}.desktop-nav{display:none}.page-shell{width:min(100% - 32px,720px);padding:48px 0 70px}.split-heading{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-grid article:nth-child(2){border-right:0}.stat-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.balance-orb{width:190px;height:190px}.lower-grid{margin-top:20px}.gift-detail-grid{display:flex;flex-direction:column}.gift-certificate{order:2}.share-card{order:1}.table-head{display:none}.table-row,.gift-table .table-row{grid-template-columns:1fr auto;gap:8px}.table-row>*:nth-child(2){justify-self:end}.table-row>*:nth-child(3),.table-row>*:nth-child(4){display:none}}
@media(max-width:560px){body{font-size:15px}.site-header{gap:10px}.brand span{display:none}.account-menu summary{max-width:150px;overflow:hidden;text-overflow:ellipsis}.page-shell{width:calc(100% - 24px);padding-top:34px}h1{font-size:50px}.page-intro{margin-bottom:35px}.action-row{width:100%}.action-row .button{flex:1}.stat-grid{grid-template-columns:1fr}.stat-grid article{min-height:130px;border-right:0!important;border-bottom:1px solid var(--line)!important}.stat-grid article:last-child{border-bottom:0!important}.stat-grid strong{font-size:42px}.panel,.form-card,.login-card,.public-card,.error-card{padding:24px}.form-grid,.compact-form{grid-template-columns:1fr}.form-grid .wide,.compact-form .wide{grid-column:auto}.search-form{display:grid}.customer-heading{align-items:flex-start}.balance-orb{width:150px;height:150px;box-shadow:12px 10px 0 var(--rose)}.balance-orb strong{font-size:55px}.gift-orb strong{font-size:30px}.reward-list form{align-items:flex-start;flex-direction:column}.reward-list .button{width:100%}.site-footer{align-items:flex-start;flex-direction:column;gap:8px}.gift-certificate{min-height:520px;padding:28px}.gift-copy{margin:65px 0 55px}.gift-copy h2{font-size:48px}.gift-copy>strong{font-size:44px}.gift-code b{font-size:14px}.public-card h1,.login-card h1{font-size:50px}.public-balance strong{font-size:55px}.gift-public dl>div{display:grid}.gift-public dd{margin-left:0}.flash-stack{top:86px;right:12px;width:calc(100% - 24px)}}
@media print{body{background:#fff}.site-header,.site-footer,.page-intro,.share-card,.lower-grid,.flash-stack{display:none!important}.page-shell{width:100%;padding:0}.gift-detail-grid{display:block}.gift-certificate{width:180mm;height:110mm;min-height:0;margin:0 auto;box-shadow:none;print-color-adjust:exact}.gift-copy{margin:35px 0 25px}.gift-copy h2{font-size:48px;margin-bottom:12px}.gift-copy blockquote{font-size:18px}.gift-copy>strong{font-size:40px}}
.status-dot.status-pending{background:#d98922}.payment-panel{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:60px;align-items:start;margin-bottom:30px;padding:46px;background:var(--paper);border:1px solid #e1c8d3;box-shadow:var(--shadow)}.payment-panel h2{font-size:48px}.payment-panel p:not(.eyebrow){max-width:580px;color:var(--muted)}.payment-panel .compact-form{padding:26px;background:var(--rose)}.form-notice{margin:30px 0 0;padding:18px 20px;border-left:4px solid #d98922;background:#fff5e8;color:var(--muted)}.form-notice strong{color:var(--ink)}
@media(max-width:900px){.payment-panel{grid-template-columns:1fr;gap:24px;padding:32px}}
@media(max-width:560px){.payment-panel{padding:24px}.payment-panel h2{font-size:38px}.payment-panel .compact-form{padding:18px}}
.public-balance strong,.gift-public dd{white-space:nowrap}
@media(max-width:560px){.gift-public .public-balance{align-items:flex-start;flex-direction:column;gap:8px}.gift-public .public-balance strong{font-size:clamp(42px,14vw,56px)}.gift-public .public-balance span{line-height:1.4}}
.public-card .public-balance{align-items:flex-start;flex-direction:column;gap:8px}.public-card .public-balance strong{display:block;max-width:100%;font-variant-numeric:tabular-nums;line-height:.95;white-space:nowrap}.public-card .public-balance span{display:block;line-height:1.4}.balance-orb{padding:18px;text-align:center}.balance-orb span,.balance-orb small{display:block;width:100%;text-align:center}.balance-orb strong{display:block;max-width:100%;font-size:clamp(44px,5vw,72px);font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.balance-orb.gift-orb strong{font-size:clamp(30px,3vw,42px)}
.public-appointments{margin:42px 0}.public-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.public-section-heading h2{margin:0}.public-section-heading>span{padding:7px 10px;background:var(--rose);color:var(--pink);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.public-appointment{display:grid;grid-template-columns:135px minmax(0,1fr) auto;align-items:center;gap:22px;padding:20px 0;border-top:1px solid var(--line)}.public-appointment.is-next{margin:0 -20px;padding:22px 20px;border-top:0;background:var(--rose)}.public-appointment time{display:grid}.public-appointment time strong{font:400 22px/1.15 var(--serif)}.public-appointment time span,.public-appointment p,.public-location{color:var(--muted);font-size:12px}.public-appointment h3{margin:0 0 5px;font:400 24px/1.1 var(--serif)}.public-appointment p{display:flex;align-items:center;gap:7px;margin:0}.public-status{width:8px;height:8px;border-radius:50%;background:#d98922}.public-status.status-confirmed{background:var(--green)}.public-appointment-actions{display:grid;gap:8px;min-width:170px}.public-appointment-actions>span{display:flex;justify-content:space-between;gap:12px}.public-appointment-actions>span a{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.public-appointment-actions>span a:hover{color:var(--pink)}.public-location{margin:15px 0 0}.public-empty{display:grid;gap:5px;padding:22px;background:var(--rose)}.public-empty span{color:var(--muted);font-size:13px}
.customer-link-panel{display:grid;grid-template-columns:1fr minmax(360px,.8fr);gap:50px;align-items:center;margin-bottom:30px}.customer-link-panel h2{margin-bottom:10px}.customer-link-panel p:not(.eyebrow){margin:0;color:var(--muted)}.customer-link-panel>.button{justify-self:end}.customer-gifts{margin-top:30px}.public-gifts{margin:36px 0}.public-gifts>div{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;border-top:1px solid var(--line)}.public-gifts>div>span{display:grid}.public-gifts>div>span:last-child{text-align:right}.public-gifts strong{font:400 26px/1 var(--serif)}.public-gifts small{color:var(--muted)}
@media(max-width:900px){.customer-link-panel{grid-template-columns:1fr;gap:24px}.customer-link-panel>.button{justify-self:start}}
@media(max-width:560px){.public-gifts>div{align-items:flex-start;flex-direction:column;gap:10px}.public-gifts>div>span:last-child{text-align:left}}
.public-appointment-actions>span{justify-content:flex-end;flex-wrap:wrap;gap:8px 14px}
@media(max-width:680px){.public-section-heading{align-items:flex-start;flex-direction:column}.public-appointment,.public-appointment.is-next{grid-template-columns:1fr;margin:0;padding:20px 0}.public-appointment.is-next{margin:0 -12px;padding:20px 12px}.public-appointment .button{width:100%}.public-appointment-actions{width:100%}}

/* Cluboverzicht, bezoeken en verjaardagsvoordelen */
.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}
.stat-grid article{border:0;background:var(--paper)}
.attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-bottom:30px}
.attention-panel{border-top:4px solid #d98922}
.attention-panel:nth-child(2){border-top-color:var(--pink)}
.warning-mark,.birthday-mark,.visit-mark{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;background:#fff0dc;color:#9a5a0d;font-weight:900}
.birthday-mark{border-radius:50%;background:var(--rose);color:var(--pink)}
.visit-mark{background:var(--wine);color:#fff;font:400 18px/1 var(--serif)}
.success-empty{border-left:4px solid var(--green);text-align:left}
.dashboard-section{margin-top:30px}
.row-list-wide{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}
.customer-table .table-head,.customer-table .table-row{grid-template-columns:minmax(250px,1.7fr) minmax(125px,.8fr) .45fr .55fr .65fr}
.customer-table .table-row strong{font-variant-numeric:tabular-nums}
.visit-form label small{line-height:1.35}
.visit-history{display:grid;max-height:570px;overflow:auto;padding-right:6px}
.visit-history article{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:17px 0;border-top:1px solid var(--line)}
.visit-history article:first-child{border-top:0}
.visit-history article p{margin:7px 0 0;color:var(--muted);white-space:pre-line}
.visit-history small{display:block;color:var(--muted)}
.visit-history form{margin:9px 0 0}.aftercare-action{display:inline-flex;align-items:center;gap:8px;padding:7px 10px 7px 0;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.04em}.aftercare-action img{flex:0 0 18px}.aftercare-action:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.42}
.visit-date{display:flex;align-items:center;justify-content:center;flex-direction:column;width:48px;height:54px;background:var(--rose);color:var(--pink)}
.visit-date strong{font:400 22px/1 var(--serif)}
.visit-date small{font-size:10px}
.birthday-panel{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-top:30px;border-left:5px solid var(--pink)}
.birthday-panel>div:first-child{max-width:760px}
.birthday-panel h2{margin-bottom:10px}
.birthday-panel p:not(.eyebrow){margin:0;color:var(--muted)}
.benefit-status{display:grid;min-width:190px;padding:18px 22px;background:#e7f5ee;color:var(--green)}
.benefit-status strong{font-size:14px;text-transform:uppercase;letter-spacing:.1em}
.benefit-status span{font-size:13px}
.settings-card{max-width:920px}
.settings-note{padding:22px;border-left:4px solid var(--pink);background:var(--rose)}
.settings-note p{margin:5px 0 0;color:var(--muted)}
:focus-visible{outline:3px solid rgba(213,43,115,.35);outline-offset:3px}
@media(max-width:1200px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.row-list-wide{grid-template-columns:1fr}}
@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid article{border:0!important}.attention-grid{grid-template-columns:1fr}.customer-table .table-row{grid-template-columns:1fr auto}.customer-table .table-row>*:nth-child(2),.customer-table .table-row>*:nth-child(3),.customer-table .table-row>*:nth-child(5){display:none}.birthday-panel{align-items:flex-start;flex-direction:column;gap:24px}}
@media(max-width:560px){.stat-grid{grid-template-columns:1fr}.stat-grid article{border:0!important}.attention-panel>header{display:grid}.attention-panel>header>a{margin-top:6px}.visit-history{max-height:none}.birthday-panel{padding-left:20px}.birthday-panel form,.birthday-panel .button,.benefit-status{width:100%}}
/* Privacyvriendelijke websitestatistieken */
.analytics-heading>div:first-child>p:last-child{margin:22px 0 0;color:var(--muted)}
.period-picker{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border:1px solid var(--line);background:var(--paper)}
.period-picker a{padding:9px 14px;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.period-picker a[aria-current=page]{background:var(--wine);color:#fff}
.analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:30px;border:1px solid var(--line);background:var(--line);box-shadow:var(--shadow)}
.analytics-metrics article{display:flex;min-height:190px;flex-direction:column;padding:28px;background:var(--paper)}
.analytics-metrics article>span:first-child{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.analytics-metrics article>strong{margin:auto 0 16px;font:400 clamp(42px,4vw,64px)/1 var(--serif);font-variant-numeric:tabular-nums}
.metric-trend{font-size:12px;font-weight:700}.metric-trend.up{color:var(--green)}.metric-trend.down{color:var(--red)}.metric-trend.neutral{color:var(--muted)}
.analytics-chart-panel{margin-bottom:30px}.chart-legend{display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:12px}.chart-legend span{display:flex;align-items:center;gap:7px}.chart-legend i{width:10px;height:10px;border-radius:50%}.chart-legend .views,.chart-bars .views{background:var(--pink)}.chart-legend .visitors,.chart-bars .visitors{background:var(--wine)}
.chart-scroll{overflow-x:auto;overscroll-behavior-inline:contain;padding:10px 0 4px}.analytics-chart{display:grid;gap:5px;min-width:760px;height:320px;padding:20px 8px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 74px,rgba(50,17,33,.09) 75px)}.analytics-chart.chart-days-7{grid-template-columns:repeat(7,minmax(42px,1fr))}.analytics-chart.chart-days-30{grid-template-columns:repeat(30,minmax(18px,1fr))}.analytics-chart.chart-days-90{grid-template-columns:repeat(90,minmax(14px,1fr));min-width:1500px}.analytics-chart.chart-days-365{grid-template-columns:repeat(365,minmax(8px,1fr));min-width:3300px}
.chart-day{display:grid;grid-template-rows:1fr 25px;min-width:0}.chart-bars{display:block;width:100%;height:100%;overflow:visible}.chart-bars rect{shape-rendering:geometricPrecision}.chart-bars .views{fill:var(--pink)}.chart-bars .visitors{fill:var(--wine)}.chart-day small{align-self:end;color:var(--muted);font-size:9px;white-space:nowrap;transform:rotate(-35deg);transform-origin:left bottom}
.analytics-empty{margin-top:8px}.analytics-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:30px}.analytics-side{display:grid;align-content:start;gap:30px}.analytics-table .table-head,.analytics-table .table-row{grid-template-columns:minmax(220px,1fr) 100px 100px}.analytics-table .table-row:hover{padding-left:15px}.analytics-table .table-row>strong{font-variant-numeric:tabular-nums}.mini-ranking{display:grid}.mini-ranking>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid var(--line)}.mini-ranking>div:first-child{border-top:0}.mini-ranking strong{font-variant-numeric:tabular-nums}.privacy-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px;padding:20px 24px;border-left:4px solid var(--green);background:#e7f5ee;color:var(--green)}.privacy-strip span{font-size:13px}
@media(max-width:1100px){.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-layout{grid-template-columns:1fr}.analytics-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.analytics-heading{gap:28px}.period-picker{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.period-picker a{text-align:center}.analytics-metrics{grid-template-columns:1fr}.analytics-metrics article{min-height:140px}.analytics-chart{height:270px}.analytics-side{grid-template-columns:1fr}.analytics-table .table-row{grid-template-columns:1fr auto}.analytics-table .table-row>*:nth-child(2){display:none}.privacy-strip{align-items:flex-start;flex-direction:column;gap:8px}}
.message-heading>div:first-child>p:last-child{max-width:620px;margin:22px 0 0;color:var(--muted)}.message-consent{margin:-6px 0 30px}.message-list{display:grid;gap:24px}.message-card{position:relative;overflow:hidden}.message-card:before{position:absolute;top:0;left:0;width:5px;height:100%;background:var(--pink);content:""}.message-card>header{align-items:flex-start}.message-due{padding:9px 12px;background:var(--rose);color:var(--pink);font-size:12px;font-weight:800;letter-spacing:.08em}.message-preview{max-width:760px;margin:24px 0;white-space:pre-line;line-height:1.7}.message-meta{display:flex;gap:18px;color:var(--muted);font-size:12px}.message-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px}.message-actions form{margin:0}.message-actions .text-button{padding:12px}.message-empty strong{display:block;margin-bottom:8px;font:400 28px/1.1 var(--serif)}.message-empty p{margin:0}.message-history{margin-top:30px}.message-history .row-list>div{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.message-history .row-list>div:first-child{border-top:0}.message-history small{display:block;color:var(--muted)}.message-status{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e7f5ee;color:var(--green)}.consent-field{padding:18px;border:1px solid var(--line);background:var(--rose)}.consent-field>span{display:flex;align-items:center;gap:10px;font-weight:700}.consent-field input{width:20px;height:20px;margin:0;accent-color:var(--pink)}.consent-field small{display:block;margin:8px 0 0 30px;color:var(--muted);font-weight:400}.consent-summary{margin-top:10px!important;font-size:13px}.consent-summary strong{color:var(--pink)}
.review-request-card:before{background:linear-gradient(var(--pink),#ef9bc2)}.submitted-reviews{margin:30px 0}.submitted-reviews>header{align-items:flex-start}.submitted-review-list{display:grid;gap:18px;margin-top:26px}.submitted-review-list>article{padding:24px;border:1px solid var(--line);background:var(--rose)}.submitted-review-list article>header{align-items:flex-start}.submitted-review-list blockquote{margin:22px 0;font:italic 24px/1.5 var(--serif)}.review-stars{display:block;margin-top:6px;color:var(--pink);font-size:20px;letter-spacing:.08em}.review-consent{display:inline-flex;margin:0;padding:7px 10px;font-size:11px;font-weight:800;letter-spacing:.05em}.review-consent.has-consent{background:#e7f5ee;color:var(--green)}.review-consent.no-consent{background:#f5eadf;color:#8a5a26}.review-public{max-width:780px}.review-public>p:not(.eyebrow){max-width:620px;color:var(--muted);line-height:1.7}.review-form{display:grid;gap:28px;margin-top:35px}.review-form fieldset{margin:0;padding:22px;border:1px solid var(--line)}.review-form legend{padding:0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.star-choice{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}.star-choice input{position:absolute;opacity:0;pointer-events:none}.star-choice label{cursor:pointer;color:#d7c9cf;font-size:42px;line-height:1;transition:color .15s,transform .15s}.star-choice label:hover,.star-choice label:hover~label,.star-choice input:checked~label{color:var(--pink)}.star-choice input:focus-visible+label{outline:2px solid var(--wine);outline-offset:3px}.star-choice label:hover{transform:translateY(-2px)}.review-form textarea{min-height:150px}.review-publish-consent{display:grid!important;grid-template-columns:22px 1fr;align-items:start;gap:12px;padding:18px;border:1px solid var(--line);background:var(--rose)}.review-publish-consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--pink)}.review-thanks{margin:30px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.message-consent{margin-top:0}.message-card>header{gap:14px}.message-actions,.message-actions form,.message-actions .button{width:100%}.message-history .row-list>div{grid-template-columns:40px 1fr}.message-history form{grid-column:2}.message-meta{align-items:flex-start;flex-direction:column;gap:5px}}
.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.danger-link{color:#a32626!important}.button-danger{border-color:#a32626;background:#a32626;color:#fff}.button-danger:hover{border-color:#7e1818;background:#7e1818}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px;padding:22px 26px;border:1px solid #e7bebe;background:#fff5f5}.danger-zone div{display:grid;gap:5px}.danger-zone span{color:var(--muted);font-size:13px}.archive-confirm{max-width:760px;margin:40px auto}.archive-confirm h1{margin:14px 0 20px;font-size:clamp(44px,6vw,76px)}.archive-confirm>p:not(.eyebrow){color:var(--muted);line-height:1.7}.archive-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:28px 0;background:var(--line);border:1px solid var(--line)}.archive-details div{display:grid;gap:8px;padding:18px;background:var(--paper)}.archive-details span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.archive-details strong{font:400 24px/1.1 var(--serif)}.archive-warning{display:flex;flex-direction:column;gap:5px;margin-bottom:28px;padding:18px;border-left:4px solid var(--green);background:#e7f5ee}.archive-warning span,.archived-record>p{color:var(--muted)}.archived-record{border-left:5px solid var(--pink)}.archived-record .action-row form{margin:0}
@media(max-width:700px){.danger-zone{align-items:flex-start;flex-direction:column}.danger-zone .button{width:100%}.archive-details{grid-template-columns:1fr}.header-actions{align-items:flex-start;flex-direction:column;gap:8px}}
/* Compacte afsprakenagenda */
.appointment-heading>div:first-child>p:last-child,.appointment-detail-heading>div:first-child>p:last-child{color:var(--muted)}
.week-toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:22px}
.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));align-items:start;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 18px}
.calendar-day-column{min-width:180px;border:1px solid var(--line);background:var(--paper);box-shadow:0 12px 34px rgba(44,17,32,.05)}
.calendar-day-column>header{border-bottom:1px solid var(--line)}
.calendar-day-plan{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px;padding:18px;color:var(--ink);text-decoration:none}.calendar-day-plan:hover,.calendar-day-plan:focus-visible{background:var(--rose);outline:0}.calendar-day-plan b{grid-column:1/-1;margin-top:8px;color:var(--pink);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.calendar-day-column>header span{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.calendar-day-column>header strong{grid-row:1/3;grid-column:2;font:400 38px/1 var(--serif)}
.calendar-day-column>header small{color:var(--muted);font-size:11px}
.calendar-day-column.is-today{border-top:4px solid var(--pink)}.calendar-day-column.is-today .calendar-day-plan{padding-top:15px}.calendar-day-column.is-weekend{background:#fbf4f7}.calendar-day-column.is-weekend>header{background:linear-gradient(145deg,#fff9fb,var(--rose))}.calendar-day-column.is-weekend>header small{color:var(--pink);font-weight:800}
.calendar-appointments{display:grid;align-content:start;gap:10px;padding:10px}
.appointment-card{position:relative;display:grid;gap:5px;min-height:138px;padding:15px;border-left:4px solid var(--pink);background:var(--rose);text-decoration:none}
.appointment-card:hover{background:#f2dce6}.appointment-card.customer-tone-0{--customer-card:#f7e8ef;--customer-card-hover:#f1d8e4}.appointment-card.customer-tone-1{--customer-card:#eee9f7;--customer-card-hover:#e4dcf2}.appointment-card.customer-tone-2{--customer-card:#e8f1f5;--customer-card-hover:#dce9ef}.appointment-card.customer-tone-3{--customer-card:#e7f2ec;--customer-card-hover:#d9e9e1}.appointment-card.customer-tone-4{--customer-card:#f8ede4;--customer-card-hover:#f1dfd1}.appointment-card.customer-tone-5{--customer-card:#f3efdf;--customer-card-hover:#eae4cf}.appointment-card.customer-tone-6{--customer-card:#f8e7e2;--customer-card-hover:#f1d8d1}.appointment-card.customer-tone-7{--customer-card:#f1e7f0;--customer-card-hover:#e8d9e6}.appointment-card.customer-tone-8{--customer-card:#e7f2f0;--customer-card-hover:#d7e8e5}.appointment-card.customer-tone-9{--customer-card:#f5eadf;--customer-card-hover:#ecdccc}.appointment-card.customer-tone-10{--customer-card:#e9edf7;--customer-card-hover:#dce2f1}.appointment-card.customer-tone-11{--customer-card:#f4e8e8;--customer-card-hover:#ead8d8}.appointment-card[class*="customer-tone-"]{background:var(--customer-card)}.appointment-card[class*="customer-tone-"]:hover{background:var(--customer-card-hover)}.appointment-card.status-confirmed{border-left-color:var(--green)}.appointment-card.status-completed{border-left-color:#796f74;opacity:.78}.appointment-card.status-cancelled,.appointment-card.status-no_show{border-left-color:var(--red);opacity:.62}
.appointment-time{font-size:12px;font-weight:900;letter-spacing:.06em}.appointment-card strong{font:400 21px/1.1 var(--serif)}.appointment-card small{color:var(--muted);line-height:1.35}.appointment-status{align-self:end;margin-top:7px;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.empty-slot{display:grid;place-items:center;min-height:138px;padding:18px;border:1px dashed var(--line);color:var(--muted);text-align:center;text-decoration:none}.empty-slot strong{color:var(--pink);font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.calendar-note{margin:18px 0 0;padding:18px 22px;border-left:4px solid var(--green);background:#e7f5ee;color:var(--green);font-size:13px}.calendar-note strong{margin-right:5px}
.opening-hours-summary{display:grid;align-content:center;gap:6px;padding:16px 18px;border-left:4px solid var(--pink);background:var(--rose)}.opening-hours-summary strong{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.opening-hours-summary small{color:var(--muted);line-height:1.6}
.appointment-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:30px}.appointment-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:24px;border:1px solid var(--line);background:var(--line)}.appointment-facts>div{display:grid;gap:10px;padding:22px;background:var(--paper)}.appointment-facts .wide{grid-column:1/-1}.appointment-facts span,.appointment-notes>span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.appointment-facts strong{font:400 28px/1.15 var(--serif)}.appointment-notes{margin-top:28px}.appointment-notes p{margin:8px 0 0;white-space:pre-line;color:var(--muted)}
.appointment-actions{align-content:start}.appointment-actions h2{margin-bottom:20px}.status-form{display:grid;gap:16px}.appointment-actions>form+form{margin-top:12px}.appointment-actions .button{width:100%}.whatsapp-action{border-color:#168347;background:#168347;color:#fff}.whatsapp-action:hover{border-color:#0f6536;background:#0f6536}.muted-note{color:var(--muted);font-size:13px}.customer-appointment-link{display:grid;gap:4px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);text-decoration:none}.customer-appointment-link span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.detail-note{margin-top:30px}
@media(max-width:1100px){.week-calendar{grid-template-columns:repeat(7,minmax(220px,1fr))}.appointment-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.week-toolbar{display:grid;grid-template-columns:1fr 1fr}.week-toolbar .button:nth-child(2){grid-column:1/-1;grid-row:2}.week-calendar{grid-template-columns:1fr;overflow:visible}.calendar-day-column{min-width:0}.calendar-appointments{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-facts{grid-template-columns:1fr}.appointment-facts .wide{grid-column:auto}}
@media(max-width:520px){.calendar-appointments{grid-template-columns:1fr}.week-toolbar{grid-template-columns:1fr}.week-toolbar .button:nth-child(2){grid-column:auto;grid-row:auto}.appointment-form .opening-hours-summary{grid-column:auto}}
/* Wen's Nails premium formulierbediening */
::selection{background:rgba(213,43,115,.2);color:var(--ink)}
[hidden]{display:none!important}
.enhanced-native-control{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.custom-control{position:relative;display:block;min-width:0;color:var(--ink);font-size:16px;font-weight:400;letter-spacing:0;text-align:left;text-transform:none}
.custom-control-trigger{display:flex;width:100%;min-height:49px;align-items:center;justify-content:space-between;gap:16px;border:0;border-bottom:1px solid #b9acb2;padding:11px 2px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;outline:0}
.custom-control-trigger:hover{border-color:var(--pink)}
.custom-control-trigger:focus-visible{border-color:var(--pink);box-shadow:0 2px 0 var(--pink)}
.custom-control.is-open>.custom-control-trigger{border-color:var(--pink);box-shadow:0 2px 0 var(--pink)}
.custom-control-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.custom-control-icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;color:var(--pink);font-size:18px;line-height:1;transition:transform .2s ease}
.custom-control.is-open>.custom-control-trigger .custom-control-icon{transform:rotate(180deg)}
.control-popover{position:absolute;z-index:90;top:calc(100% + 8px);left:0;display:block;width:100%;min-width:100%;border:1px solid var(--line);background:var(--paper);box-shadow:0 28px 70px rgba(44,17,32,.18);text-transform:none}
.control-popover.align-right{right:0;left:auto}
.custom-select-menu{max-height:320px;overflow:auto;overscroll-behavior:contain;padding:8px}
.custom-select-option{display:block;width:100%;min-height:44px;border:0;padding:11px 14px;background:transparent;color:var(--ink);font:400 15px/1.35 var(--sans);text-align:left;text-transform:none;cursor:pointer}
.custom-select-option:hover,.custom-select-option:focus-visible{background:var(--rose);outline:0}
.custom-select-option.is-selected{background:var(--pink);color:#fff;font-weight:800}
.custom-select-option:disabled{color:#b7abb1;cursor:not-allowed}
.date-calendar-panel{width:min(390px,calc(100vw - 48px));padding:18px}
.date-calendar-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:18px}
.date-calendar-header strong{font:400 22px/1.1 var(--serif);text-align:center;text-transform:capitalize}
.date-calendar-nav{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.date-calendar-nav:hover,.date-calendar-nav:focus-visible{border-color:var(--pink);background:var(--rose);outline:0}
.date-calendar-nav:disabled{opacity:.3;cursor:not-allowed}
.date-calendar-weekdays,.date-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:5px}
.date-calendar-weekdays{margin-bottom:7px}.date-calendar-weekdays>span{padding:7px 0;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.date-calendar-grid{min-height:246px;align-content:start}
.date-calendar-day,.date-calendar-blank{display:grid;place-items:center;aspect-ratio:1;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink);font:700 13px/1 var(--sans)}
.date-calendar-day{cursor:pointer}.date-calendar-day:hover,.date-calendar-day:focus-visible{border-color:var(--pink);background:var(--rose);outline:0}
.date-calendar-day.is-today{border-color:var(--pink)}.date-calendar-day.is-selected{border-color:var(--pink);background:var(--pink);color:#fff}
.date-calendar-day.is-weekend:not(.is-selected){background:#f5edf1;color:#8e8188}
.date-calendar-day:disabled{border-color:transparent;background:#f5f0f2;color:#c7bcc1;text-decoration:line-through;cursor:not-allowed}
.date-calendar-footer{display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.date-calendar-clear{border:0;background:transparent;color:var(--pink);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
@media(max-width:560px){.date-calendar-panel{position:fixed;z-index:101;top:50%;right:12px!important;left:12px!important;width:auto;max-height:calc(100vh - 32px);overflow:auto;transform:translateY(-50%)}.custom-date-control.is-open:before{position:fixed;z-index:100;inset:0;background:rgba(36,20,30,.38);content:""}.date-calendar-grid{min-height:220px}.date-calendar-day,.date-calendar-blank{min-height:38px}}
/* Club layoutcorrecties: agenda, opties en saldo */
.appointment-heading h1{margin-bottom:clamp(42px,4vw,58px)}
.appointment-heading>div:first-child>p:last-child{position:relative;display:block;margin:0;color:var(--muted);line-height:1.5}
.appointment-actions>.whatsapp-action{margin-top:12px}
.balance-orb span{margin-bottom:14px}
.balance-orb strong{margin:0 0 12px;line-height:.82}
.balance-orb small{line-height:1.3}
.record-options{position:relative;z-index:8}
.record-options>summary{display:flex;min-width:118px;align-items:center;justify-content:space-between;gap:16px;list-style:none;border:1px solid var(--line);padding:10px 13px;background:var(--paper);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.record-options>summary::-webkit-details-marker{display:none}
.record-options>summary:after{color:var(--pink);font-size:16px;line-height:1;content:"⌄";transition:transform .2s}
.record-options[open]>summary{border-color:var(--pink);box-shadow:0 2px 0 var(--pink)}
.record-options[open]>summary:after{transform:rotate(180deg)}
.record-options>div{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;min-width:240px;padding:8px;border:1px solid var(--line);background:var(--paper);box-shadow:0 24px 60px rgba(44,17,32,.16)}
.record-options>div a{padding:12px 14px;text-decoration:none;font-size:13px;font-weight:700}
.record-options>div a:hover,.record-options>div a:focus-visible{background:var(--rose);outline:0}
@media(max-width:1200px){.desktop-nav{display:none}.appointment-heading{align-items:flex-start;flex-direction:column;gap:24px}.appointment-heading .action-row{width:auto}}
@media(max-width:700px){.appointment-heading h1{margin-bottom:36px}.record-options{width:100%}.record-options>summary{width:100%}.record-options>div{right:auto;left:0;width:100%}.balance-orb span{margin-bottom:10px}.balance-orb strong{margin-bottom:10px}}
/* Tijdelijke bevestigingen */
.flash{transition:opacity .28s ease,transform .28s ease}
.flash.is-leaving{opacity:0;transform:translateX(22px);pointer-events:none}
@media(prefers-reduced-motion:reduce){.flash{transition:none}}

@media(max-width:700px){html{scroll-padding-top:86px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Privé agenda-abonnement */
.calendar-connect{scroll-margin-top:110px;margin-top:42px}.calendar-connect>header{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(320px,1fr);align-items:end;gap:70px;margin-bottom:34px}.calendar-connect h2{margin:8px 0 0;font-size:clamp(44px,6vw,76px)}.calendar-connect>header>p{max-width:650px;margin:0;color:var(--muted);line-height:1.75}.calendar-connect-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:1px;border:1px solid var(--line);background:var(--line);box-shadow:var(--shadow)}.calendar-link-card,.calendar-provider-list{background:var(--paper)}.calendar-link-card{padding:36px}.calendar-step{color:var(--pink);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.calendar-link-card h3{margin:10px 0 12px;font:400 32px/1.1 var(--serif)}.calendar-link-card>p{margin:0 0 28px;color:var(--muted);line-height:1.65}.calendar-url-label{margin-bottom:24px}.calendar-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.calendar-url-row input{min-width:0;color:var(--muted);font-size:13px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.calendar-copy-button{white-space:nowrap}.calendar-provider-list{display:grid}.calendar-provider-list article{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:28px;border-top:1px solid var(--line)}.calendar-provider-list article:first-child{border-top:0}.calendar-provider-list article>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--pink);border-radius:50%;color:var(--pink);font-size:11px;font-weight:900}.calendar-provider-list h3{margin:0 0 8px;font:400 24px/1.1 var(--serif)}.calendar-provider-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.calendar-availability{display:flex;align-items:flex-start;gap:20px;margin-top:22px;padding:20px 24px;border-left:4px solid}.calendar-availability strong{min-width:250px}.calendar-availability span{color:var(--muted);font-size:13px;line-height:1.55}.calendar-availability.is-ready{border-color:var(--green);background:#e7f5ee}.calendar-availability.is-local{border-color:#b57820;background:#fff7e8}.calendar-security{margin-top:18px;border:1px solid var(--line);background:var(--paper)}.calendar-security>summary{padding:18px 22px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.calendar-security>div{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 22px 22px}.calendar-security p{max-width:760px;margin:0;color:var(--muted);font-size:13px;line-height:1.6}.calendar-security>div>a{flex:0 0 auto}
@media(max-width:900px){.calendar-connect>header,.calendar-connect-grid{grid-template-columns:1fr;gap:28px}.calendar-connect-grid{gap:1px}.calendar-availability,.calendar-security>div{flex-direction:column}.calendar-availability strong{min-width:0}}
@media(max-width:560px){.calendar-connect{scroll-margin-top:85px}.calendar-connect>header{gap:22px}.calendar-link-card{padding:24px}.calendar-url-row{grid-template-columns:1fr}.calendar-url-row .button,.calendar-link-card .action-row,.calendar-link-card .button,.calendar-security>div>a{width:100%}.calendar-provider-list article{padding:22px}.calendar-availability{padding:18px}}
/* Afspraakherinneringen en verfijnde uitlijning */
.stat-grid .accent strong{max-width:100%;font-size:clamp(28px,3.1vw,52px);font-variant-numeric:tabular-nums;line-height:.95;white-space:nowrap}
.balance-orb span{margin:0 0 18px}
.balance-orb strong{margin:0;line-height:.82}
.balance-orb small{margin:18px 0 0;line-height:1.2}
.appointment-availability{margin:-8px 0 0;padding:12px 15px;border-left:3px solid var(--green);background:#e7f5ee;color:var(--green);font-size:12px;line-height:1.45}
.analytics-conversion-panel{margin-top:30px}.conversion-funnel{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:20px}.conversion-funnel article{min-height:150px;padding:28px;border:1px solid var(--line);background:var(--paper)}.conversion-funnel article>span{color:var(--pink);font-size:10px;font-weight:900;letter-spacing:.15em}.conversion-funnel article>strong{display:block;margin:8px 0 3px;font:400 52px/1 var(--serif)}.conversion-funnel article>small{color:var(--muted)}.conversion-funnel>i{color:var(--pink);font-style:normal;font-size:24px}.conversion-sources{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.conversion-sources>strong{margin-right:auto;text-transform:uppercase;font-size:11px;letter-spacing:.1em}.conversion-sources>span{display:grid;min-width:150px;padding:10px 14px;background:var(--soft)}.conversion-sources small{color:var(--muted)}
@media(max-width:760px){.conversion-funnel{grid-template-columns:1fr}.conversion-funnel>i{display:none}.conversion-funnel article{min-height:0}.conversion-sources{align-items:stretch}.conversion-sources>strong{width:100%}.conversion-sources>span{flex:1 1 140px}}
.merge-confirm{max-width:1050px;margin-inline:auto}.merge-cards{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-bottom:28px}.merge-cards article{min-height:190px;padding:28px;border:1px solid var(--line);background:var(--paper)}.merge-cards article:first-child{border-top:4px solid var(--green)}.merge-cards article:last-child{border-top:4px solid var(--pink)}.merge-cards span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.merge-cards h2{margin:10px 0;font-size:34px}.merge-cards i{color:var(--pink);font-size:28px;font-style:normal}@media(max-width:680px){.merge-cards{grid-template-columns:1fr}.merge-cards i{transform:rotate(90deg);text-align:center}}
.appointment-reminder-mark{position:absolute;right:12px;bottom:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:0 5px 16px rgba(36,20,30,.14)}
.appointment-reminder-mark img{width:22px;height:22px}
.appointment-card:has(.appointment-reminder-mark) .appointment-status{padding-right:34px}
.appointment-reminder-card{border-top:3px solid #25d366}
.whatsapp-button{border-color:#1fae55;background:#1fae55}.whatsapp-button:hover{border-color:#168347;background:#168347}
.outcome-confirmed{border-color:var(--green);color:var(--green)}.outcome-confirmed:hover{background:var(--green);color:#fff}
.outcome-cancelled{border-color:var(--red);color:var(--red)}.outcome-cancelled:hover{background:var(--red);color:#fff}
@media(max-width:700px){.stat-grid .accent strong{font-size:clamp(34px,11vw,50px)}.balance-orb span{margin-bottom:12px}.balance-orb small{margin-top:12px}}
.button.is-disabled{opacity:.38;cursor:not-allowed;pointer-events:none}

/* Behandelingenregister, klantdossier en omzet */
.dossier-fields{min-width:0;margin:8px 0 0;padding:26px;border:1px solid var(--line);background:var(--cream)}.dossier-fields legend{padding:0 10px;color:var(--pink);font:700 13px var(--sans);letter-spacing:.12em;text-transform:uppercase}.dossier-fields>p{margin:0 0 22px;color:var(--muted);font-size:13px;font-weight:400;letter-spacing:0;text-transform:none}.dossier-fields>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dossier-fields .wide{grid-column:1/-1}.customer-dossier{margin-bottom:30px}.dossier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}.dossier-grid>div{min-width:0;padding:20px;background:var(--paper)}.dossier-grid span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.dossier-grid p{margin:8px 0 0;white-space:pre-line;overflow-wrap:anywhere}.dossier-grid .dossier-alert{border-left:4px solid var(--red);background:#fff5f5}.dossier-alert span,.visit-history .payment-outstanding b{color:var(--red)}
.register-heading>div>p:last-child,.revenue-heading>div>p:last-child{max-width:660px;margin:22px 0 0;color:var(--muted)}.register-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:30px;border:1px solid var(--line);background:var(--line);box-shadow:var(--shadow)}.register-summary article{display:flex;min-height:145px;flex-direction:column;justify-content:space-between;padding:24px;background:var(--paper)}.register-summary span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.register-summary strong{font:400 48px/1 var(--serif)}.treatment-list{display:grid}.treatment-list-head,.treatment-row{display:grid;grid-template-columns:minmax(260px,1.7fr) .6fr .5fr .5fr .6fr;align-items:center;gap:20px;padding:15px;border-bottom:1px solid var(--line)}.treatment-list-head{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.treatment-row{text-decoration:none}.treatment-row:hover{background:var(--rose)}.treatment-row strong,.treatment-row small{display:block}.treatment-row small{color:var(--muted)}.treatment-row b{font:400 21px/1 var(--serif)}.treatment-row.is-inactive{opacity:.58}.treatment-form{max-width:980px}
.month-picker{display:flex;align-items:flex-end;gap:12px;min-width:330px}.month-picker label{flex:1}.revenue-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-bottom:30px;border:1px solid var(--line);background:var(--line);box-shadow:var(--shadow)}.revenue-metrics article{display:flex;min-height:180px;flex-direction:column;padding:24px;background:var(--paper)}.revenue-metrics span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.revenue-metrics strong{margin:auto 0 12px;font:400 clamp(28px,3vw,48px)/1 var(--serif);font-variant-numeric:tabular-nums;white-space:nowrap}.revenue-metrics small{color:var(--muted)}.revenue-metrics .accent{background:var(--wine);color:#fff}.revenue-metrics .accent span,.revenue-metrics .accent small{color:#dfbdcd}.revenue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.financial-list{display:grid}.financial-list>div,.financial-list>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 4px;border-top:1px solid var(--line);text-decoration:none}.financial-list>div:first-child,.financial-list>a:first-child{border-top:0}.financial-list>a[aria-current=page]{padding-right:12px;padding-left:12px;background:var(--rose)}.financial-list small{display:block;color:var(--muted)}.financial-list b,.financial-list>div>strong,.financial-list>a>strong{font:400 20px/1 var(--serif);white-space:nowrap}.outstanding-panel{margin-top:30px;border-top:4px solid var(--red)}.outstanding-list{display:grid}.outstanding-list article{display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(280px,auto);align-items:center;gap:24px;padding:18px 0;border-top:1px solid var(--line)}.outstanding-list article:first-child{border-top:0}.outstanding-list article>div{display:grid}.outstanding-list article>div>span,.outstanding-list small{color:var(--muted);font-size:11px}.outstanding-list article>b{font:400 25px/1 var(--serif)}.outstanding-list form{display:flex;align-items:end;gap:10px}.outstanding-list form label{min-width:170px}.financial-note{margin:24px 0 0;color:var(--muted);font-size:12px}.visit-history .payment-outstanding{border-left:3px solid var(--red);padding-left:12px}
@media(max-width:1200px){.revenue-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dossier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.treatment-list-head,.treatment-row{grid-template-columns:minmax(220px,1.6fr) .6fr .5fr .5fr}.treatment-list-head>*:last-child,.treatment-row>*:last-child{display:none}.outstanding-list article{grid-template-columns:1fr auto}.outstanding-list article>form,.outstanding-list article>a{grid-column:1/-1}}
@media(max-width:800px){.revenue-grid{grid-template-columns:1fr}.revenue-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.month-picker{width:100%;min-width:0}.dossier-fields>div,.dossier-grid{grid-template-columns:1fr}.dossier-fields .wide{grid-column:auto}.treatment-list-head{display:none}.treatment-row{grid-template-columns:1fr auto;gap:8px}.treatment-row>*:nth-child(3),.treatment-row>*:nth-child(4),.treatment-row>*:nth-child(5){display:none}.register-summary{grid-template-columns:1fr}.register-summary article{min-height:110px}.outstanding-list article{grid-template-columns:1fr}.outstanding-list article>b,.outstanding-list article>form,.outstanding-list article>a{grid-column:auto}.outstanding-list form{align-items:stretch;flex-direction:column}.outstanding-list form label,.outstanding-list form .button{width:100%}}
@media(max-width:520px){.revenue-metrics{grid-template-columns:1fr}.revenue-metrics article{min-height:135px}.month-picker{align-items:stretch;flex-direction:column}.month-picker .button{width:100%}.customer-dossier{padding:20px}.dossier-grid>div{padding:17px}}
/* Voor- en nafoto's en terugkomadvies */
.return-advice-panel{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:30px 0;border-left:4px solid var(--pink);background:linear-gradient(120deg,var(--paper),var(--rose))}.return-advice-panel>div{max-width:780px}.return-advice-panel h2{margin-bottom:12px}.return-advice-panel p:last-child{margin-bottom:0}.return-advice-panel>.button{flex:0 0 auto}.customer-photos{scroll-margin-top:110px;margin:30px 0}.photo-upload-form{margin:0 0 34px;padding:26px;border:1px solid var(--line);background:var(--cream)}.photo-file-field{display:grid;align-content:start;gap:9px}.photo-file-field>span{font:800 11px var(--sans);letter-spacing:.1em;text-transform:uppercase}.photo-file-field input[type=file]{padding:14px;border:1px dashed #c8b5bd;background:var(--paper);font:600 13px var(--sans)}.photo-file-field input[type=file]::file-selector-button{margin-right:14px;padding:10px 14px;border:1px solid var(--wine);background:transparent;color:var(--wine);font:800 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.photo-consent{min-width:0;padding:20px;border:1px solid var(--line);background:var(--paper)}.photo-consent legend{padding:0 8px;color:var(--pink);font:800 11px var(--sans);letter-spacing:.1em;text-transform:uppercase}.photo-consent>p{margin:0 0 16px;color:var(--muted);font-size:13px}.photo-consent>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.photo-consent label{font-size:13px}.photo-consent input[type=checkbox]{width:18px;height:18px;margin:0 8px 0 0;accent-color:var(--pink)}.photo-consent .consent-confirm{grid-column:1/-1;display:flex;align-items:center}.photo-records{display:grid;gap:24px}.photo-records>article{display:grid;grid-template-columns:minmax(320px,1.25fr) minmax(260px,.75fr);gap:28px;padding:22px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.photo-pair figure{position:relative;min-width:0;margin:0;overflow:hidden;background:var(--rose);aspect-ratio:4/5}.photo-pair img{width:100%;height:100%;object-fit:cover}.photo-pair figcaption{position:absolute;right:10px;bottom:10px;padding:6px 9px;background:rgba(43,16,34,.86);color:#fff;font:800 10px var(--sans);letter-spacing:.1em;text-transform:uppercase}.photo-record-info{display:flex;min-width:0;flex-direction:column;align-items:flex-start}.photo-record-info>span{color:var(--pink);font:800 10px var(--sans);letter-spacing:.1em;text-transform:uppercase}.photo-record-info h3{margin:8px 0 12px;font:400 30px/1.05 var(--serif)}.photo-record-info>p{white-space:pre-line}.photo-record-info>small{margin:12px 0;color:var(--muted)}.photo-record-info>form{margin-top:auto}.consent-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.consent-badges span{padding:7px 9px;border-radius:999px;font-size:10px;font-weight:800}.consent-badges .allowed{background:#e5f6ea;color:#116531}.consent-badges .private{background:#eee8eb;color:#624e59}.return-advice-card{border-left:4px solid var(--pink)}
@media(max-width:850px){.return-advice-panel{align-items:flex-start;flex-direction:column}.photo-records>article{grid-template-columns:1fr}.photo-consent>div{grid-template-columns:1fr}.photo-consent .consent-confirm{grid-column:auto}}
@media(max-width:560px){.return-advice-panel>.button,.photo-upload-form>.button{width:100%}.photo-upload-form{padding:20px}.photo-pair{gap:8px}.photo-records>article{padding:12px}.photo-record-info{padding:10px}.customer-photos{scroll-margin-top:85px}}
.portfolio-heading>div>p:last-child{max-width:720px;margin:22px 0 0;color:var(--muted)}
.portfolio-summary{margin-bottom:30px}.portfolio-upload-panel{margin-bottom:30px;border-top:4px solid var(--pink)}.portfolio-upload-panel>header>span,.portfolio-library>header>strong{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.portfolio-upload-form{margin-bottom:0}.portfolio-mobile-note{align-self:end;padding:14px 16px;border-left:3px solid var(--pink);background:var(--rose);color:var(--muted);font-size:12px;line-height:1.55}.photo-consent .publish-now{grid-column:1/-1;padding:14px;border:1px solid var(--pink);background:var(--rose);font-weight:800}.portfolio-library{margin-top:30px}.portfolio-records>article{grid-template-columns:minmax(260px,.8fr) minmax(280px,1.2fr)}.portfolio-records .photo-pair{max-width:480px}.portfolio-customer-link{margin:-4px 0 10px;color:var(--pink);font-size:12px;font-weight:800;text-decoration:none}.portfolio-customer-link:hover{text-decoration:underline}.portfolio-record-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:18px}.portfolio-record-actions form{margin:0}.portfolio-record-actions .button{min-height:44px}.portfolio-record-actions .text-button{padding:10px 0}
@media(max-width:850px){.portfolio-records>article{grid-template-columns:1fr}.portfolio-records .photo-pair{max-width:none}}
@media(max-width:560px){.portfolio-heading>.button{width:100%}.portfolio-upload-panel,.portfolio-library{padding:20px}.portfolio-mobile-note{grid-row:auto}.portfolio-record-actions{display:grid;width:100%}.portfolio-record-actions form,.portfolio-record-actions button{width:100%}}
/* Voorraadbeheer en no-showregistratie */
.stat-grid .inventory-stat-warning{border-top:4px solid #d98922;background:#fff8ed}.inventory-attention{border-top-color:#d98922}.inventory-summary .inventory-warning-card{background:#fff8ed}.inventory-toolbar{display:flex;gap:8px;margin:0 0 20px}.inventory-toolbar a{padding:10px 14px;border:1px solid var(--line);background:var(--paper);font-size:11px;font-weight:900;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.inventory-toolbar a[aria-current=page]{border-color:var(--pink);background:var(--rose);color:var(--pink)}.inventory-list{display:grid}.inventory-list-head,.inventory-row{display:grid;grid-template-columns:minmax(260px,1.7fr) .7fr .7fr .8fr;align-items:center;gap:20px;padding:15px;border-bottom:1px solid var(--line)}.inventory-list-head{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.inventory-row{text-decoration:none}.inventory-row:hover{background:var(--rose)}.inventory-row strong,.inventory-row small{display:block}.inventory-row small{color:var(--muted)}.inventory-row b{font:400 21px/1 var(--serif)}.inventory-row.is-low{border-left:4px solid #d98922;background:#fffaf2}.status-dot.status-low{background:#d98922}.status-dot.status-empty{background:var(--red)}.inventory-heading>div>p:last-child{max-width:700px;margin:22px 0 0;color:var(--muted)}.inventory-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);align-items:start;gap:30px}.inventory-detail-grid .form-card{max-width:none}.inventory-movement-panel{position:sticky;top:120px;border-top:4px solid var(--pink)}.inventory-movement-panel h2{font-size:58px}.inventory-movement-panel h2 small{font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase}.inventory-movement-form{display:grid;gap:18px}.inventory-history{margin-top:30px}.customer-incident-warning{padding:16px 18px;border-left:4px solid #d98922;background:#fff8ed}.customer-incident-warning[hidden]{display:none}.customer-incident-warning strong,.customer-incident-warning span{display:block}.customer-incident-warning span{margin-top:4px;color:var(--muted);font-size:13px}.incident-control{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.incident-control.has-incident{padding:18px;border:1px solid #e8c3aa;background:#fff8ed}.incident-form{display:grid;gap:16px}.incident-current{display:grid;gap:5px}.incident-current>strong{font:400 25px/1.1 var(--serif)}.incident-current>span{color:var(--muted);font-size:12px}.incident-current>p{margin:8px 0 0;white-space:pre-line}.customer-incidents{margin:0 0 30px;border-left:5px solid #d98922}.incident-history{display:grid}.incident-history>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none}.incident-history small{display:block;color:var(--muted)}
.today-overview{margin:0 0 30px;padding:30px;border:1px solid var(--line);background:var(--wine);color:#fff;box-shadow:var(--shadow)}.today-overview>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.today-overview h2{margin:0;color:#fff}.today-overview .eyebrow{color:#f5a8ca}.today-overview>header time{color:#dfbdcd;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.today-overview-grid{display:grid;grid-template-columns:minmax(260px,1.55fr) repeat(4,minmax(120px,1fr));border:1px solid rgba(255,255,255,.2)}.today-overview-grid>a{min-height:128px;padding:20px;color:#fff;text-decoration:none;border-right:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;justify-content:space-between;transition:background .2s ease,transform .2s ease}.today-overview-grid>a:last-child{border-right:0}.today-overview-grid>a:hover,.today-overview-grid>a:focus-visible{background:rgba(255,255,255,.08)}.today-overview-grid span{font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.today-overview-grid strong{font:400 42px/1 var(--serif)}.today-overview-grid small{color:#dfbdcd}.today-task.needs-attention{background:rgba(216,38,111,.2);box-shadow:inset 0 4px 0 var(--pink)}
.dashboard-header-tools{width:min(100%,700px);display:grid;justify-items:end;gap:16px}.dashboard-search{width:min(100%,390px);display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);background:transparent}.dashboard-search input{width:100%;min-width:0;margin:0;padding:9px 4px;border:0;background:transparent;font-size:13px}.dashboard-search input:focus{outline:0;box-shadow:inset 0 -2px 0 var(--pink)}.dashboard-search button{border:0;background:transparent;color:var(--pink);padding:8px 4px 8px 16px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.today-overview-meta{display:flex;align-items:flex-end;gap:12px;flex-direction:column}
.next-free-slot{display:grid;gap:4px;min-width:215px;padding:11px 13px;border-left:3px solid var(--pink);background:rgba(255,255,255,.08);color:#fff;text-align:left;text-decoration:none}.next-free-slot span{color:#f5a8ca;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.next-free-slot strong{font:400 18px/1.15 var(--serif)}.next-free-slot:hover,.next-free-slot:focus-visible{background:rgba(255,255,255,.14)}

@media(max-width:1100px){.today-overview-grid{grid-template-columns:repeat(2,1fr)}.today-overview-grid>a{border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.today-overview-grid>a:nth-child(even){border-right:0}.today-primary{grid-column:1/-1}}
@media(max-width:900px){.dashboard-header-tools{width:100%;justify-items:stretch}.dashboard-search{width:min(100%,520px)}}
@media(max-width:560px){.dashboard-search{width:100%}.today-overview{padding:22px}.today-overview>header{display:grid}.today-overview-meta{display:grid;align-items:flex-start;grid-template-columns:1fr auto}.next-free-slot{grid-column:1/-1;min-width:0;width:100%}.today-overview-grid{grid-template-columns:1fr 1fr}.today-overview-grid>a{min-height:112px;padding:16px}.today-overview-grid strong{font-size:36px}.today-primary{grid-column:1/-1}.today-overview-grid>a:nth-last-child(-n+2){border-bottom:0}}

/* Daily close: one calm control point for appointments, revenue and payments. */
@media(min-width:1101px){.today-overview-grid{grid-template-columns:minmax(230px,1.45fr) repeat(5,minmax(108px,1fr))}}
.daily-close-heading>div>p:last-child{max-width:680px;margin:22px 0 0;color:var(--muted)}
.date-jump{display:flex;align-items:end;gap:12px;min-width:min(100%,360px)}
.date-jump label{flex:1}
.daily-close-status{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;padding:30px;border-left:6px solid #d98922;background:#fff8ed;box-shadow:var(--shadow)}
.daily-close-status.is-ready,.daily-close-status.is-closed{border-left-color:#20945a;background:#f1faf5}
.daily-close-status h2{margin:4px 0 6px}
.daily-close-status p{margin:0;color:var(--muted)}
.daily-close-mark{display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;border-radius:50%;background:var(--wine);color:#fff;font:400 36px/1 var(--serif)}
.daily-close-status.is-ready .daily-close-mark,.daily-close-status.is-closed .daily-close-mark{background:#168a50}
.daily-close-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.daily-close-stats article{min-height:145px}
.daily-close-stats .attention-stat{box-shadow:inset 0 4px 0 #d98922;background:#fff8ed}
.daily-close-list{margin-bottom:24px}
.daily-close-list .row-needs-attention{background:#fff8ed;box-shadow:inset 4px 0 0 #d98922}
.daily-close-list .row-needs-attention b{color:#9a4e00}
.daily-close-extra{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.daily-close-extra h3{margin-top:0}
.daily-close-extra>a{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--line);text-decoration:none}
.daily-close-action{margin-bottom:30px}
.daily-close-action form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}
.daily-close-action form .button{min-width:230px}
.daily-close-action button:disabled{cursor:not-allowed;opacity:.42}
.optional{color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:lowercase}
@media(max-width:900px){.daily-close-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.date-jump{width:100%}}
@media(max-width:560px){.date-jump,.daily-close-action form{display:grid;grid-template-columns:1fr}.daily-close-status{align-items:flex-start;padding:22px}.daily-close-mark{width:56px;height:56px;flex-basis:56px}.daily-close-stats{grid-template-columns:1fr}.daily-close-action form .button{width:100%;min-width:0}.daily-close-extra>a{display:grid}}

/* Customer data quality: actionable, but deliberately never coercive. */
.data-quality-heading>div>p:last-child{max-width:670px;margin:22px 0 0;color:var(--muted)}
.quality-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:24px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.quality-filters a{display:flex;min-height:94px;align-items:flex-end;justify-content:space-between;gap:12px;padding:20px;border-right:1px solid var(--line);text-decoration:none}
.quality-filters a:last-child{border-right:0}
.quality-filters a:hover,.quality-filters a[aria-current=page]{background:var(--wine);color:#fff}
.quality-filters span{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.quality-filters strong{color:var(--pink);font:400 30px/1 var(--serif)}
.retention-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px;border:1px solid var(--line);background:var(--wine);color:#fff}.retention-overview article{min-height:150px;padding:24px;border-right:1px solid rgba(255,255,255,.18)}.retention-overview article:last-child{border-right:0}.retention-overview span,.retention-overview small{display:block}.retention-overview span{min-height:34px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.retention-overview strong{display:block;margin:14px 0 5px;color:var(--pink-soft);font:400 42px/1 var(--serif)}.retention-overview small{color:#d8cbd1}.retention-overview a{color:#fff}
.quality-list>header>span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.quality-rows{display:grid}
.quality-rows>article{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(280px,1.2fr) auto;align-items:center;gap:24px;padding:18px 0;border-top:1px solid var(--line)}
.quality-customer{display:flex;align-items:center;gap:14px;text-decoration:none}
.quality-customer small{display:block;margin-top:3px;color:var(--muted)}
.quality-signals{display:flex;flex-wrap:wrap;gap:7px}
.quality-signals span{padding:7px 9px;background:#f2edf0;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.quality-signals .is-urgent{background:#fff0e4;color:#994b00}
@media(max-width:900px){.quality-filters{display:flex;overflow-x:auto}.quality-filters a{flex:0 0 180px}.quality-rows>article{grid-template-columns:1fr auto}.quality-signals{grid-column:1/-1;grid-row:2}.retention-overview{grid-template-columns:1fr}.retention-overview article{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.retention-overview article:last-child{border-bottom:0}}
@media(max-width:560px){.quality-filters{margin-right:-12px;margin-left:-12px}.quality-rows>article{grid-template-columns:1fr}.quality-signals{grid-column:auto;grid-row:auto}.quality-rows>article>.button{width:100%}}

/* Conversion actions stay separate from page views, so visitor figures remain honest. */
.analytics-actions-panel{margin-bottom:30px}
.analytics-actions-panel>header>span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.analytics-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.analytics-actions-grid article{min-height:145px;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.analytics-actions-grid article>span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.analytics-actions-grid article>strong{margin:auto 0 4px;font:400 46px/1 var(--serif)}
.analytics-actions-grid article>small{color:var(--muted)}
@media(max-width:900px){.analytics-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.analytics-actions-grid{grid-template-columns:1fr}.analytics-actions-grid article{min-height:120px}}
@media(max-width:1000px){.inventory-detail-grid{grid-template-columns:1fr}.inventory-movement-panel{position:static}.inventory-list-head,.inventory-row{grid-template-columns:minmax(220px,1.5fr) .7fr .8fr}.inventory-list-head>*:nth-child(3),.inventory-row>*:nth-child(3){display:none}}
@media(max-width:650px){.inventory-list-head{display:none}.inventory-row{grid-template-columns:1fr auto;gap:8px}.inventory-row>*:nth-child(3),.inventory-row>*:nth-child(4){display:none}.inventory-toolbar{display:grid;grid-template-columns:1fr 1fr}.inventory-toolbar a{text-align:center}.incident-history>a{grid-template-columns:auto 1fr}.incident-history>a>b{grid-column:2}.customer-incidents>header{display:grid}}
/* Rapporten, activiteitenlogboek en app-installatie */
.report-heading>div:first-child>p:last-child,.activity-heading>div:first-child>p:last-child,.install-heading>div:first-child>p:last-child{max-width:650px;margin:24px 0 0;color:var(--muted);line-height:1.7}
.report-period{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:18px;width:min(560px,100%);padding:26px}.report-period .button{grid-column:1/-1}
.report-notice{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:28px;margin-bottom:30px;padding:22px 26px;border-left:4px solid var(--pink);background:var(--rose)}.report-notice strong{font:400 23px/1.1 var(--serif)}.report-notice span{color:var(--muted);font-size:13px;line-height:1.65}
.report-grid{display:grid;gap:18px}.report-card{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:28px;padding:28px 30px;border:1px solid var(--line);background:var(--paper);box-shadow:0 16px 45px rgba(44,17,32,.06)}.report-number{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--pink);border-radius:50%;color:var(--pink);font:italic 21px var(--serif)}.report-card h2{margin:0 0 8px}.report-card p:not(.eyebrow){max-width:660px;margin:0;color:var(--muted)}.report-actions{display:flex;gap:10px}.report-total{display:block;margin-top:10px;color:var(--pink);font:400 28px/1 var(--serif)}
.activity-filters{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:18px;width:min(650px,100%);padding:26px}.activity-filters .button{grid-column:1/-1}.activity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px}.activity-toolbar form{margin:0}.activity-summary{display:flex;align-items:baseline;gap:14px;min-height:62px;flex:1;padding:18px 24px;border-left:4px solid var(--pink);background:var(--rose)}.activity-summary strong{font:400 40px/1 var(--serif)}.activity-summary span{color:var(--muted)}
.activity-timeline{margin:0;padding:0;list-style:none}.activity-timeline>li{display:grid;grid-template-columns:150px 24px minmax(0,1fr);gap:20px;position:relative}.activity-timeline>li:before{position:absolute;top:22px;bottom:-22px;left:181px;width:1px;background:var(--line);content:""}.activity-timeline>li:last-child:before{display:none}.activity-timeline time{padding-top:22px;color:var(--muted);font-size:12px;text-align:right}.activity-mark{z-index:1;width:13px;height:13px;margin-top:25px;border:3px solid var(--cream);border-radius:50%;background:var(--pink);box-shadow:0 0 0 1px var(--pink)}.activity-timeline article{margin-bottom:18px;padding:24px 28px;border:1px solid var(--line);background:var(--paper);box-shadow:0 12px 35px rgba(44,17,32,.05)}.activity-timeline article>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.activity-timeline h2{margin:0;font-size:28px;text-align:right}.activity-subject{margin:10px 0 18px;font:400 21px/1.25 var(--serif)}.activity-timeline dl{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.activity-timeline dl>div{display:flex;gap:7px;padding:7px 9px;background:var(--rose);font-size:11px}.activity-timeline dt{color:var(--muted)}.activity-timeline dd{margin:0;font-weight:800}.activity-card-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}.activity-card-footer>small{color:var(--muted)}.activity-card-footer form{margin:0}.activity-delete{padding:6px 0;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.activity-empty{padding:60px}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px}.pagination span{color:var(--muted);font-size:12px}
.install-app-preview{display:grid;place-items:center;width:210px;min-height:240px;padding:24px;border:1px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:18px 22px 0 var(--rose),var(--shadow);text-align:center}.install-app-preview img{width:110px;height:110px;object-fit:contain}.install-app-preview strong{margin-top:12px;font:italic 28px/1 var(--serif)}.install-app-preview span{color:var(--muted);font-size:11px}.install-status{display:flex;gap:28px;margin-bottom:30px;padding:22px 26px;border-left:4px solid}.install-status strong{flex:0 0 230px}.install-status span{color:var(--muted)}.install-status.is-ready{border-color:var(--green);background:#e7f5ee}.install-status.is-warning{border-color:#d98922;background:#fff7e8}.install-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.install-grid article{display:flex;min-height:390px;flex-direction:column}.install-step{color:var(--pink);font-size:11px;font-weight:900;letter-spacing:.14em}.install-grid h2{margin:12px 0 20px}.install-grid ol{margin:0 0 24px;padding-left:20px}.install-grid li{margin-bottom:12px}.install-grid p{margin-top:auto;color:var(--muted);font-size:13px}.install-grid .button{margin:0 0 16px}.offline-page .site-header,.offline-page .site-footer{display:none}.offline-page .page-shell{display:grid;min-height:100vh;place-items:center;padding:40px 0}.offline-card{width:min(660px,100%);padding:55px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);text-align:center}.offline-card img{width:110px;margin:0 auto 24px}.offline-card h1{font-size:clamp(48px,7vw,76px)}.offline-card>p:not(.eyebrow){color:var(--muted)}
@media(max-width:1050px){.report-card{grid-template-columns:60px minmax(0,1fr)}.report-actions{grid-column:2}.install-grid{grid-template-columns:1fr}.install-grid article{min-height:0}.activity-heading{align-items:stretch}.activity-filters{width:100%}}
@media(max-width:700px){.report-period,.activity-filters{grid-template-columns:1fr}.report-period .button,.activity-filters .button{grid-column:auto}.report-notice{grid-template-columns:1fr}.report-card{grid-template-columns:1fr;padding:24px}.report-number{width:44px;height:44px}.report-actions{grid-column:auto;display:grid}.activity-timeline>li{grid-template-columns:16px minmax(0,1fr);gap:12px}.activity-timeline>li:before{left:7px}.activity-timeline time{grid-column:2;padding:0;text-align:left}.activity-mark{grid-column:1;grid-row:1/3;margin-top:5px}.activity-timeline article{grid-column:2;padding:21px}.activity-timeline article>div:first-child{align-items:flex-start;flex-direction:column;gap:5px}.activity-timeline h2{text-align:left}.install-heading{align-items:center}.install-status{flex-direction:column;gap:8px}.install-status strong{flex-basis:auto}.install-app-preview{align-self:center}.offline-card{padding:30px}.pagination{flex-wrap:wrap}}
/* Website-afspraakaanvragen */
.request-stat-new{border-top:4px solid var(--pink)!important;background:linear-gradient(145deg,var(--paper),var(--rose))!important}.request-heading>div:first-child>p:last-child,.request-detail-heading>div:first-child>p:last-child{max-width:720px;margin-top:20px;color:var(--muted)}.request-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.request-filters a{display:flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid var(--line);background:var(--paper);font-size:11px;font-weight:900;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.request-filters a[aria-current=page]{border-color:var(--pink);background:var(--wine);color:#fff}.request-filters span{display:grid;min-width:22px;height:22px;place-items:center;border-radius:50%;background:var(--rose);color:var(--pink)}.request-panel{padding-bottom:18px}.request-panel>header>span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.request-list{display:grid}.request-row{display:grid;grid-template-columns:56px minmax(240px,1fr) 110px 100px;align-items:center;gap:18px;padding:18px 8px;border-top:1px solid var(--line);text-decoration:none;transition:.18s ease}.request-row:hover{padding-right:16px;padding-left:16px;background:var(--rose)}.request-row.status-new{border-left:4px solid var(--pink)}.request-row.status-declined{opacity:.65}.request-date{display:grid;width:48px;height:48px;place-items:center;background:var(--wine);color:#fff}.request-date strong{font:400 21px/1 var(--serif)}.request-date small{font-size:9px;letter-spacing:.12em}.request-row>span:nth-child(2)>strong,.request-row>span:nth-child(2)>small{display:block}.request-row>span:nth-child(2)>small{margin-top:4px;color:var(--muted)}.request-channel,.request-status{justify-self:end;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.request-row.status-new .request-status{color:var(--pink)}.request-facts strong{overflow-wrap:anywhere}.request-facts a{text-decoration:none}.request-actions>form{margin:12px 0 0}.request-actions>.button{width:100%;margin-top:12px}.request-actions .text-button{width:100%;margin-top:8px;text-align:center}.appointment-form[data-source-request] {border-top:4px solid var(--pink)}
@media(max-width:760px){.request-row{grid-template-columns:48px 1fr auto}.request-channel{display:none}.request-status{grid-column:2;justify-self:start}.request-panel{padding:22px}.request-filters{display:grid;grid-template-columns:repeat(2,1fr)}.request-filters a{justify-content:space-between}.request-detail-grid{grid-template-columns:1fr}}
@media(max-width:480px){.request-row{grid-template-columns:42px 1fr;gap:12px}.request-status{grid-column:2}.request-date{width:40px;height:44px}.request-channel{display:none}.request-filters{grid-template-columns:1fr}.request-facts{grid-template-columns:1fr}.request-facts .wide{grid-column:auto}}
/* Appointment completion workflow */
.appointment-fixed-status{display:flex;align-items:center;gap:10px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.appointment-fixed-status .status-dot{flex:0 0 auto}.completion-panel{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(540px,1.28fr);gap:0;margin-top:30px;padding:0;overflow:hidden;border:1px solid #dfc9d3;background:var(--paper);box-shadow:var(--shadow)}.completion-copy{padding:48px;color:#fff;background:var(--wine)}.completion-copy .eyebrow{color:#f195bc}.completion-copy h2{color:#fff;font-size:clamp(42px,4.3vw,66px)}.completion-copy h2 em{color:#f195bc}.completion-copy>p{color:#e6c9d7;line-height:1.65}.completion-copy ul{display:grid;gap:11px;margin:26px 0 0;padding:0;list-style:none}.completion-copy li{position:relative;padding-left:22px;color:#fff;font-size:13px}.completion-copy li:before{position:absolute;top:.55em;left:0;width:8px;height:8px;border-radius:50%;background:var(--pink);content:""}.completion-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:24px;padding:48px;background:var(--paper)}.completion-form .wide{grid-column:1/-1}.completion-check{display:flex;align-items:center;align-self:end;gap:10px;padding:13px 0;color:var(--ink);font-size:12px;letter-spacing:0;text-transform:none}.completion-check input{width:18px;height:18px;flex:0 0 auto;padding:0;accent-color:var(--pink)}.completion-complete{align-items:center;gap:56px;padding:48px;background:linear-gradient(125deg,var(--paper),var(--rose))}.completion-complete h2{font-size:clamp(42px,4.2vw,64px)}.completion-complete>div>p:last-child{max-width:620px;color:var(--muted)}.completion-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:1px solid var(--line);background:var(--line)}.completion-result>div{display:grid;align-content:center;min-height:160px;padding:22px;background:var(--paper)}.completion-result dt{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.completion-result dd{margin:14px 0 0;font:400 clamp(28px,3vw,46px)/1 var(--serif)}.completion-result small{display:block;margin-top:8px;color:var(--muted);font:700 10px var(--sans);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1050px){.completion-panel{grid-template-columns:1fr}.completion-copy{padding:40px 48px}.completion-form{padding:40px 48px}.completion-complete{gap:30px;padding:40px 48px}}
@media(max-width:620px){.completion-copy{padding:30px 24px}.completion-form{grid-template-columns:1fr;padding:30px 24px}.completion-form .wide{grid-column:auto}.completion-complete{padding:30px 24px}.completion-result{grid-template-columns:1fr}.completion-result>div{min-height:110px}.completion-check{align-self:auto}}
/* Treatment inventory recipes */
.treatment-materials{margin-top:30px;border-top:4px solid var(--pink)}.treatment-materials-intro{max-width:820px;margin:-4px 0 28px;color:var(--muted)}.material-usage-list{display:grid;margin-bottom:24px;border:1px solid var(--line)}.material-usage-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,.35fr) minmax(210px,.45fr);align-items:center;gap:24px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--paper);letter-spacing:0;text-transform:none}.material-usage-row:last-child{border-bottom:0}.material-usage-row>span:first-of-type{display:grid;gap:4px}.material-usage-row strong{font-size:15px}.material-usage-row small{color:var(--muted);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}.material-stock{display:grid;gap:5px}.material-stock b{font:400 20px/1 var(--serif)}.material-amount{display:grid;gap:5px}.material-amount>span{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.material-amount input{padding:7px 2px;font-weight:800}.material-amount b{padding-bottom:8px;color:var(--muted);font-size:11px}.material-usage-row.is-low{border-left:4px solid #d98922;background:#fffaf2}.material-usage-row.is-inactive{opacity:.62}.treatment-materials .form-notice{margin:0 0 24px}.material-empty{display:grid;justify-items:start;gap:8px}.material-empty p{margin:0 0 10px}
@media(max-width:760px){.material-usage-row{grid-template-columns:1fr 1fr}.material-usage-row>span:first-of-type{grid-column:1/-1}.material-stock,.material-amount{min-width:0}}
@media(max-width:480px){.material-usage-row{grid-template-columns:1fr}.material-usage-row>span:first-of-type{grid-column:auto}.treatment-materials>header{display:grid}.treatment-materials>header>a{margin-top:8px}.material-amount>span{grid-template-columns:minmax(0,1fr) auto}}
/* Systeemstatus */
.system-heading>div:first-child>p:last-child{max-width:660px;margin:24px 0 0;color:var(--muted);line-height:1.7}.system-overall{display:grid;grid-template-columns:auto minmax(240px,1fr);align-items:start;gap:16px;min-width:360px;padding:22px 24px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.system-overall>div{display:grid;gap:4px}.system-overall small{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.system-overall strong{font:400 24px/1.1 var(--serif)}.system-overall span:last-child{color:var(--muted);font-size:12px}.system-light{display:block;width:13px;height:13px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(25,135,84,.1)}.is-warning>.system-light,.system-status-card.is-warning .system-light{background:#d98922;box-shadow:0 0 0 6px rgba(217,137,34,.12)}.is-error>.system-light,.system-status-card.is-error .system-light{background:var(--red);box-shadow:0 0 0 6px rgba(181,45,64,.1)}.system-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.system-status-card{display:flex;min-height:285px;flex-direction:column;padding:28px;border-top:4px solid var(--green);background:var(--paper);box-shadow:var(--shadow)}.system-status-card.is-warning{border-top-color:#d98922}.system-status-card.is-error{border-top-color:var(--red)}.system-status-card>header{display:flex;align-items:center;gap:14px}.system-status-card>header .eyebrow{margin:0}.system-status-card h2{margin:24px 0 10px}.system-status-card>strong{font:400 25px/1.15 var(--serif)}.system-status-card>p{margin:14px 0 22px;color:var(--muted);line-height:1.65}.system-status-card>a{margin-top:auto;color:var(--pink);font-size:11px;font-weight:900;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.system-note{margin-top:28px}
@media(max-width:850px){.system-heading{align-items:stretch}.system-overall{min-width:0}.system-status-grid{grid-template-columns:1fr}}
@media(max-width:520px){.system-overall{grid-template-columns:1fr;padding:20px}.system-status-card{min-height:0;padding:24px}}
/* Snel zoeken */
.search-heading>p{max-width:610px}
.club-search-card{position:relative;overflow:hidden;padding:38px 42px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.club-search-card:after{position:absolute;right:-85px;bottom:-115px;width:250px;height:250px;border:1px solid rgba(213,43,115,.2);border-radius:50%;content:"";pointer-events:none}
.club-search-card h2{margin-bottom:24px}
.club-search-form{position:relative;z-index:1}
.club-search-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px}
.club-search-field input{min-width:0;height:62px;border:0;border-bottom:2px solid var(--pink);padding:8px 4px;background:transparent;font:400 clamp(20px,2.2vw,30px)/1.2 var(--serif);outline:none}
.club-search-field input:focus{border-color:var(--wine);box-shadow:0 4px 0 rgba(213,43,115,.08)}
.club-search-field .button{min-width:150px}
.club-search-form>small{display:block;margin-top:12px;color:var(--muted)}
.search-validation{display:block;margin-top:8px;color:var(--red);font-size:13px;font-weight:700}
.search-result-summary{display:flex;align-items:baseline;gap:10px;margin:32px 0 20px}
.search-result-summary span{color:var(--pink);font:400 34px/1 var(--serif)}
.search-result-summary strong{font-size:13px}
.search-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.search-result-panel{min-width:0}
.search-result-panel>header>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--rose);color:var(--pink);font-weight:900}
.search-result-panel .row-list>a span:nth-child(2){min-width:0}
.search-result-panel .row-list strong,.search-result-panel .row-list small{overflow:hidden;text-overflow:ellipsis}
.search-result-panel .row-list strong{display:block;white-space:nowrap}
.search-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--pink);font:italic 20px var(--serif)}
.search-empty{margin-top:24px}
.search-empty strong{display:block;margin-bottom:6px;color:var(--ink);font:400 30px/1.1 var(--serif)}
.search-empty p{margin:0}
.search-start-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:26px;border:1px solid var(--line);background:var(--paper)}
.search-start-grid article{display:grid;min-height:165px;padding:26px;border-right:1px solid var(--line)}
.search-start-grid article:last-child{border-right:0}
.search-start-grid span{color:var(--pink);font-size:11px;font-weight:900;letter-spacing:.14em}
.search-start-grid strong{align-self:end;font:400 25px/1.1 var(--serif)}
.search-start-grid small{margin-top:6px;color:var(--muted)}
@media(max-width:900px){.search-results-grid{grid-template-columns:1fr}.search-start-grid{grid-template-columns:repeat(2,1fr)}.search-start-grid article:nth-child(2){border-right:0}.search-start-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.club-search-card{padding:26px 22px}.club-search-field{grid-template-columns:1fr}.club-search-field .button{width:100%}.search-result-summary{align-items:flex-start;flex-direction:column}.search-start-grid{grid-template-columns:1fr}.search-start-grid article{min-height:130px;border-right:0;border-bottom:1px solid var(--line)}.search-start-grid article:last-child{border-bottom:0}.search-result-panel .row-list>a{grid-template-columns:auto minmax(0,1fr)}.search-result-panel .row-list>a>b{grid-column:2}}

/* Klantselecties */
.customer-segments{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:24px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.customer-segments a{display:flex;min-width:0;min-height:92px;align-items:flex-end;justify-content:space-between;gap:12px;padding:20px;border-right:1px solid var(--line);text-decoration:none;transition:.2s}
.customer-segments a:last-child{border-right:0}
.customer-segments a:hover,.customer-segments a[aria-current=page]{background:var(--wine);color:#fff}
.customer-segments span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.customer-segments strong{color:var(--pink);font:400 28px/1 var(--serif)}
.customer-segments a[aria-current=page] strong,.customer-segments a:hover strong{color:#f291bb}
.customer-overview-panel{padding-top:26px}
.customer-search-form{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,260px) auto;gap:14px;align-items:end;margin-bottom:28px}
.customer-search-form input,.customer-search-form select{width:100%;height:50px;border:0;border-bottom:1px solid var(--ink);padding:10px 4px;background:transparent}
.customer-search-form input:focus,.customer-search-form select:focus{border-color:var(--pink);outline:none;box-shadow:0 2px 0 var(--pink)}
.customer-search-form .button{height:50px}
.customer-labels{display:flex!important;flex-wrap:wrap;gap:6px;margin-top:8px}
.customer-labels i{display:inline-flex;padding:3px 8px;border-radius:20px;background:var(--rose);color:var(--muted);font-size:9px;font-style:normal;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.customer-labels i.is-alert{background:#fff0e6;color:#994815}
.customer-empty a{display:inline-block;margin-top:10px;font-weight:700}
@media(max-width:1050px){.customer-segments{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.customer-segments a{flex:0 0 190px;scroll-snap-align:start}.customer-search-form{grid-template-columns:minmax(0,1fr) minmax(180px,230px) auto}}
@media(max-width:680px){.customer-search-form{grid-template-columns:1fr}.customer-search-form .button{width:100%}.customer-segments{margin-right:-12px;margin-left:-12px}.customer-segments a{flex-basis:170px;min-height:82px}.customer-overview-panel{padding-top:22px}}

/* Wachtlijst */
.waitlist-heading>div:first-child{max-width:760px}.waitlist-heading>div:first-child>p:last-child{max-width:650px;color:var(--muted)}
.waitlist-note{margin-bottom:26px}
.waitlist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.waitlist-card{position:relative;min-width:0;border-top:4px solid var(--pink)}
.waitlist-card.status-contacted{border-top-color:#d98922}
.waitlist-card.status-scheduled{border-top-color:var(--green)}
.waitlist-card.status-closed{border-top-color:var(--line)}
.waitlist-period{padding:6px 10px;border-radius:20px;background:var(--rose);color:var(--pink);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.waitlist-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0}
.waitlist-details>div{min-width:0;padding-top:14px;border-top:1px solid var(--line)}
.waitlist-details .wide{grid-column:1/-1}
.waitlist-details dt{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.waitlist-details dd{margin:4px 0 0;overflow-wrap:anywhere}
.waitlist-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px}
.waitlist-actions form{margin:0}
.waitlist-actions .text-button{font-size:12px}
.waitlist-empty strong{display:block;margin-bottom:8px;color:var(--ink);font:400 32px/1.1 var(--serif)}
.waitlist-empty .button{margin-top:16px}
.waitlist-form{max-width:1000px;margin:0 auto}
.waitlist-form-heading>p{max-width:560px;color:var(--muted)}
.waitlist-date-range{min-width:0;margin:0;padding:0;border:0}.waitlist-date-range>legend{margin-bottom:13px;font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase}.waitlist-date-range>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.waitlist-date-range label{min-width:0}
@media(max-width:900px){.waitlist-grid{grid-template-columns:1fr}}
@media(max-width:560px){.waitlist-card{padding:24px}.waitlist-card>header{align-items:flex-start;flex-direction:column}.waitlist-details{grid-template-columns:1fr}.waitlist-details .wide{grid-column:auto}.waitlist-actions{align-items:stretch;flex-direction:column}.waitlist-actions .button,.waitlist-actions form,.waitlist-actions form button{width:100%}}

/* Slimme afspraaktijden */
.appointment-slot-suggestions{display:grid;grid-template-columns:minmax(190px,.45fr) minmax(0,1fr);align-items:center;gap:22px;margin:-8px 0 2px;padding:19px 21px;border:1px solid var(--line);background:linear-gradient(115deg,var(--cream),var(--paper))}
.appointment-slot-suggestions[hidden]{display:none}.appointment-slot-suggestions>span{display:grid;gap:4px}.appointment-slot-suggestions strong{font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase}.appointment-slot-suggestions small{color:var(--muted);font-size:11px;line-height:1.45}.appointment-slot-suggestions>div{display:flex;flex-wrap:wrap;gap:8px}
.appointment-slot-button{min-height:40px;padding:9px 13px;border:1px solid #cdbdc4;background:var(--paper);color:var(--wine);font:800 12px var(--sans);font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s}
.appointment-slot-button:hover,.appointment-slot-button:focus-visible{border-color:var(--pink);background:var(--pink);color:#fff;outline:0;transform:translateY(-1px)}
@media(max-width:700px){.appointment-slot-suggestions{grid-template-columns:1fr}.appointment-slot-button{flex:1 1 calc(50% - 8px)}}
/* Rustige dashboardacties */
.dashboard-primary-actions{align-items:stretch;justify-content:flex-end;max-width:700px}.dashboard-primary-actions>.button,.dashboard-more>summary{display:inline-flex;align-items:center;justify-content:center;min-height:48px}.dashboard-more>summary{min-width:145px;padding:11px 16px}.dashboard-more>div{right:0;left:auto;min-width:270px;max-height:min(420px,calc(100vh - 220px));overflow-y:auto}.dashboard-more>div a{display:block}
@media(max-width:900px){.dashboard-primary-actions{justify-content:flex-start;max-width:none}}
@media(max-width:560px){.dashboard-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-primary-actions>.button{width:100%}.dashboard-more{grid-column:1/-1}.dashboard-more>summary{width:100%}}
/* Dubbele klantcontrole */
.duplicate-customer-warning{display:grid;gap:18px;margin-bottom:28px;padding:22px;border-left:5px solid #d98922;background:#fff7e8}.duplicate-customer-warning>div:first-child{display:grid;gap:4px}.duplicate-customer-warning>div:first-child>strong{font:400 29px/1.1 var(--serif)}.duplicate-customer-warning>div:first-child>span{color:var(--muted);font-size:13px}.duplicate-customer-list{display:grid;border-top:1px solid #e7ccb0}.duplicate-customer-list>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #e7ccb0;text-decoration:none}.duplicate-customer-list>a>span{display:grid}.duplicate-customer-list small{color:var(--muted);font-size:11px}.duplicate-customer-list b{color:var(--pink);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.duplicate-confirm{padding:15px;background:var(--paper)}.duplicate-confirm>span{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:0;text-transform:none}.duplicate-confirm input{width:19px;height:19px;margin:0;accent-color:var(--pink)}
@media(max-width:560px){.duplicate-customer-list>a{align-items:flex-start;flex-direction:column;gap:6px}}
/* Handmatige systeemback-up */
.system-backup-action{display:flex;align-items:center;justify-content:space-between;gap:42px;margin-top:28px;padding:28px 30px;border-left:5px solid var(--pink);background:linear-gradient(115deg,var(--paper),var(--rose));box-shadow:var(--shadow)}.system-backup-action>div{max-width:760px}.system-backup-action h2{margin:0 0 10px;font-size:clamp(30px,3.4vw,46px)}.system-backup-action p:last-child{margin:0;color:var(--muted);line-height:1.65}.system-backup-action form{flex:0 0 auto;margin:0}
@media(max-width:700px){.system-backup-action{align-items:flex-start;flex-direction:column;padding:24px}.system-backup-action form,.system-backup-action .button{width:100%}}
/* Bestaande dubbele klantkaarten */
.customer-duplicate-note{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:20px;padding:18px 22px;border-left:4px solid #d98922;background:#fff7e8}.customer-duplicate-note strong{font-size:12px;letter-spacing:.09em;text-transform:uppercase}.customer-duplicate-note span{color:var(--muted);font-size:13px}.customer-labels .is-duplicate{border-color:#d98922;background:#fff0dc;color:#92540b}
@media(max-width:680px){.customer-duplicate-note{align-items:flex-start;flex-direction:column;gap:5px}}

@media(max-width:700px){.activity-toolbar{align-items:stretch;flex-direction:column}.activity-toolbar .button{width:100%}.activity-card-footer{align-items:flex-start;flex-direction:column}.site-footer{grid-template-columns:1fr;text-align:center}.site-footer>span:last-child{text-align:center}.footer-system-status{grid-row:1}}

/* Slimme vrije-plekmatching */
.slot-match-heading>div:first-child>p:last-child{max-width:680px;color:var(--muted)}
.slot-match-form{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(300px,1.4fr) auto;align-items:end;gap:20px;margin-bottom:28px}
.slot-match-form label{margin:0}.slot-match-form .button{min-height:51px}.slot-match-time-range{min-width:0;margin:0;padding:0;border:0}.slot-match-time-range legend{margin-bottom:8px;font:700 12px var(--sans);letter-spacing:.1em;text-transform:uppercase}.slot-match-time-range>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.slot-match-error{display:grid;gap:6px;margin-bottom:28px;border-left-color:var(--red);background:#fff0f0}
.slot-match-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 24px;padding:24px 28px;background:var(--wine);color:#fff}
.slot-match-summary .eyebrow{color:#f195bc}.slot-match-summary h2{margin:5px 0 0;color:#fff;font-size:clamp(28px,3vw,42px)}
.slot-match-summary>span{padding:9px 13px;border:1px solid rgba(255,255,255,.28);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.slot-match-card{box-shadow:var(--shadow)}.slot-match-card .waitlist-period{font-variant-numeric:tabular-nums}
@media(max-width:850px){.slot-match-form{grid-template-columns:1fr}.slot-match-form .button{width:100%}}
@media(max-width:560px){.slot-match-summary{align-items:flex-start;flex-direction:column}}
/* Rustige invulhulp, geboortejaar en veilige registeracties */
input::placeholder,textarea::placeholder{color:var(--muted);font-size:.82em;font-weight:400;opacity:.48;transition:opacity .16s ease,color .16s ease}
input:focus::placeholder,textarea:focus::placeholder{color:transparent;opacity:0}

/* Veilige klantreactie op afspraakherinneringen */
.appointment-response-card{max-width:760px}
.appointment-response-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:36px 0;border-block:1px solid var(--line)}
.appointment-response-summary>div{padding:22px 18px;border-right:1px solid var(--line)}
.appointment-response-summary>div:last-child{border-right:0}
.appointment-response-summary dt{margin-bottom:8px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.appointment-response-summary dd{margin:0;font-weight:750}
.appointment-response-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.appointment-response-result{margin:28px 0;padding:24px;border-left:4px solid var(--pink);background:var(--rose)}
.appointment-response-result strong{font-family:var(--serif);font-size:1.55rem}
.appointment-response-result p{margin:8px 0 0;color:var(--muted)}
.appointment-response-contact{display:inline-block;margin-top:30px;font-weight:750}
@media(max-width:640px){.appointment-response-summary{grid-template-columns:1fr}.appointment-response-summary>div{border-right:0;border-bottom:1px solid var(--line)}.appointment-response-summary>div:last-child{border-bottom:0}.appointment-response-actions,.appointment-response-actions .button{width:100%}.appointment-response-actions .text-button{padding:16px 0}}
.date-calendar-year-jump{display:grid;grid-template-columns:1fr 112px;align-items:center;gap:14px;margin:-4px 0 14px;padding:11px 12px;background:var(--rose);font-size:10px;letter-spacing:.09em}
.date-calendar-year-jump input{min-height:40px;padding:7px 9px;border:1px solid var(--line);background:var(--paper);font-size:16px;font-weight:700;text-align:center}
.treatment-list-head,.treatment-row{grid-template-columns:minmax(240px,1.55fr) .48fr .5fr .7fr .38fr .52fr minmax(165px,.68fr)}
.treatment-row{color:var(--ink)}.treatment-row:hover{background:var(--rose)}
.treatment-margin strong,.treatment-margin small{display:block}.treatment-margin strong{font:600 16px/1.2 var(--sans)}
.treatment-name{min-width:0;text-decoration:none}.treatment-name:hover strong{text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:4px}
.treatment-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.treatment-actions>a,.treatment-actions .text-button{padding:8px 9px;font-size:10px;font-weight:900;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.treatment-actions form{margin:0}.treatment-actions form.is-confirming .text-button{border-color:var(--red);background:#fff0f0;color:var(--red)}
@media(max-width:1200px){.treatment-list-head,.treatment-row{grid-template-columns:minmax(220px,1.5fr) .5fr .65fr .45fr .55fr minmax(155px,.7fr)}.treatment-list-head>*:nth-child(3),.treatment-row>*:nth-child(3){display:none}.treatment-list-head>*:last-child,.treatment-row>*:last-child{display:flex}}
@media(max-width:800px){.treatment-row{grid-template-columns:1fr auto}.treatment-row>*:nth-child(2),.treatment-row>*:nth-child(3),.treatment-row>*:nth-child(4),.treatment-row>*:nth-child(5),.treatment-row>*:nth-child(6){display:none}.treatment-row>*:last-child{display:flex}.treatment-actions{align-items:flex-end;flex-direction:column}.date-calendar-year-jump{grid-template-columns:1fr 100px}}
.calendar-block-card{display:grid;gap:4px;padding:13px;border-left:4px solid #8d7280;background:#f0e8ec}.calendar-block-card strong{font-size:13px}.calendar-block-card small{color:var(--muted)}
.customer-value-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:-12px 0 30px;border:1px solid var(--line);background:var(--line);box-shadow:var(--shadow)}.customer-value-summary article{display:flex;min-height:126px;flex-direction:column;justify-content:space-between;padding:22px;background:var(--paper)}.customer-value-summary span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.customer-value-summary strong{font:400 clamp(22px,2.2vw,36px)/1.05 var(--serif)}.customer-value-summary small{color:var(--muted)}
@media(max-width:900px){.customer-value-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.customer-value-summary{grid-template-columns:1fr}.customer-value-summary article{min-height:105px}}
.request-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gift-request-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.gift-request-card>header>strong{font:400 38px/1 var(--serif)}.gift-request-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:20px 0;background:var(--line)}.gift-request-card dl div{padding:16px;background:var(--paper)}.gift-request-card dl .wide{grid-column:1/-1}.gift-request-card dt{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.gift-request-card dd{margin:6px 0 0}.filter-tabs{display:flex;flex-wrap:wrap;gap:1px;margin-bottom:24px;background:var(--line)}.filter-tabs a{padding:14px 18px;background:var(--paper);color:var(--ink);font-size:11px;font-weight:900;text-decoration:none;text-transform:uppercase}.filter-tabs a.active{background:var(--wine);color:#fff}@media(max-width:800px){.request-cards{grid-template-columns:1fr}}
.order-check{display:flex;align-items:center;gap:.55rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.order-check input{width:1.15rem;height:1.15rem;accent-color:var(--pink)}
.day-switcher{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 2rem}.preparation-list{display:grid;gap:1.25rem}.preparation-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.preparation-card>header span{color:var(--pink);font-weight:800;letter-spacing:.08em}.preparation-card h2{margin:.25rem 0 0}.preparation-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:1rem 0}.preparation-card dl div{padding:1rem;border:1px solid var(--line);margin:-1px 0 0 -1px}.preparation-card dt{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.preparation-card dd{margin:.35rem 0 0}.preparation-card .attention{background:#fff6f9}.retention-contact-panel{margin-bottom:1.5rem}.retention-contact-panel .row-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.day-plan-tools{display:grid;gap:12px;justify-items:end}.day-plan-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 28px;border:1px solid var(--line);background:var(--line);gap:1px}.day-plan-summary article{display:grid;gap:8px;min-height:150px;padding:24px;background:var(--paper)}.day-plan-summary article.needs-attention{box-shadow:inset 0 -4px var(--pink)}.day-plan-summary span,.day-plan-summary small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.day-plan-summary strong{font:400 clamp(32px,3.4vw,52px)/1 var(--serif)}.day-plan-gaps{margin-bottom:24px}.day-plan-gaps>div{display:flex;flex-wrap:wrap;gap:10px}.day-plan-gaps>div>a{display:grid;gap:3px;min-width:180px;padding:14px 18px;border:1px solid var(--line);color:var(--ink);text-decoration:none}.day-plan-gaps span{color:var(--muted);font-size:11px}.preparation-card.has-medical-attention{border-left:5px solid var(--pink)}.preparation-treatment{display:grid;gap:5px;text-align:right}.preparation-treatment small{color:var(--muted)}.preparation-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0;border:1px solid var(--line);background:var(--line);gap:1px}.preparation-sections>section{padding:20px;background:var(--paper)}.preparation-sections h3{margin:0 0 12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.preparation-sections dl{display:grid;grid-template-columns:1fr;margin:0}.preparation-sections dl div{padding:9px 0;border:0;border-top:1px solid var(--line);margin:0}.preparation-sections p{margin:.45rem 0}.preparation-attention{background:#fff6f9!important}.deposit-note{color:var(--muted);font-size:13px}.preparation-actions{justify-content:flex-end}
@media(max-width:900px){.day-plan-tools{justify-items:stretch}.day-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.day-switcher{flex-wrap:wrap}.day-switcher strong{order:-1;width:100%;text-align:center}.day-plan-summary,.preparation-sections{grid-template-columns:1fr}.preparation-card>header{align-items:flex-start;flex-direction:column}.preparation-treatment{text-align:left}.preparation-card dl{grid-template-columns:1fr}.retention-contact-panel .row-list>div{align-items:flex-start;flex-direction:column}}
@media print{.day-plan-page .site-header,.day-plan-page .site-footer,.day-plan-page .day-plan-heading,.day-plan-page .day-switcher,.day-plan-page .day-plan-gaps,.day-plan-page .preparation-actions{display:none!important}.day-plan-page .page-shell{width:100%;padding:0}.day-plan-page .day-plan-summary{margin-bottom:8mm}.day-plan-page .preparation-card{break-inside:avoid;box-shadow:none;padding:8mm}.day-plan-page .preparation-list{gap:5mm}.day-plan-page .preparation-sections{margin-bottom:0}.day-plan-page .preparation-card h2{font-size:28px}}
.appointment-series{display:grid;grid-template-columns:1fr 1fr;gap:18px;border:1px solid var(--line);padding:22px;margin:8px 0 0}.appointment-series legend{padding:0 8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.appointment-series p{grid-column:1/-1;margin:0;color:var(--muted)}.appointment-series label{margin:0}.revenue-forecast{margin-top:28px}.forecast-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.forecast-grid article{display:grid;gap:8px;padding:28px}.forecast-grid article+article{border-left:1px solid var(--line)}.forecast-grid span,.forecast-grid small,.treatment-performance small{color:var(--muted)}.forecast-grid strong{font:400 clamp(2.2rem,4vw,4.25rem)/1 var(--serif)}.treatment-performance>div>span:last-child{display:grid;gap:3px;text-align:right}@media(max-width:760px){.appointment-series,.forecast-grid{grid-template-columns:1fr}.forecast-grid article+article{border-top:1px solid var(--line);border-left:0}}
.month-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:28px;border:1px solid var(--line);background:var(--line);gap:1px}.month-summary article{display:grid;gap:7px;padding:22px 26px;background:var(--paper)}.month-summary span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.month-summary strong{font:400 clamp(28px,3vw,46px)/1 var(--serif)}.month-calendar{overflow-x:auto;margin-bottom:30px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.month-weekdays,.month-days{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:980px}.month-weekdays span{padding:13px;border-right:1px solid var(--line);background:var(--wine);color:#fff;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.month-days{background:var(--line);gap:1px}.month-day{position:relative;min-height:154px;padding:12px;background:var(--paper)}.month-day.outside-month{opacity:.36}.month-day.is-today{box-shadow:inset 0 0 0 2px var(--pink)}.month-day>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.month-day>header a{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:var(--ink);font-weight:900;text-decoration:none}.month-day.is-today>header a{background:var(--pink);color:#fff}.month-day>header span{font-size:9px;font-weight:900}.month-day.occupancy-high>header span{color:#a21c34}.month-day.occupancy-medium>header span{color:#9a6500}.month-day.occupancy-low>header span{color:#38704e}.month-day-items{display:grid;gap:5px}.month-appointment{display:grid;grid-template-columns:auto 1fr auto;gap:6px;padding:6px 7px;border-left:3px solid var(--pink);background:var(--rose);color:var(--ink);font-size:10px;text-decoration:none}.month-appointment.status-cancelled,.month-appointment.status-no_show{border-color:#999;opacity:.55}.month-appointment time{font-weight:900}.month-appointment i{font-style:normal}.month-more,.month-block{font-size:9px;font-weight:800;text-decoration:none}.month-block{color:var(--muted)}.month-add{position:absolute;right:9px;bottom:7px;color:var(--pink);font-size:20px;text-decoration:none}.quiet-days{margin-top:28px}.quiet-days>div{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}.quiet-days>div>a{display:grid;gap:5px;padding:18px;color:var(--ink);text-decoration:none}.quiet-days>div>a+a{border-left:1px solid var(--line)}.quiet-days span{color:var(--muted);font-size:11px}.series-mark{color:var(--pink);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.appointment-series-panel{margin:28px 0}.series-appointments{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:20px 0;border:1px solid var(--line);background:var(--line);gap:1px}.series-appointments a{display:grid;gap:4px;padding:16px;background:var(--paper);color:var(--ink);text-decoration:none}.series-appointments a[aria-current=page]{background:var(--rose);box-shadow:inset 0 -3px var(--pink)}.series-appointments span{color:var(--muted);font-size:11px}@media(max-width:760px){.month-summary{grid-template-columns:1fr}.quiet-days>div{grid-template-columns:1fr}.quiet-days>div>a+a{border-top:1px solid var(--line);border-left:0}}

/* Mobiele Club-app: vaste breedte, verticale pagina en duimnavigatie */
.mobile-app-nav{display:none}
.account-menu-panel[hidden]{display:none!important}
@media(max-width:900px){
html,body{width:100%;max-width:100%;overflow-x:hidden}
body.club-authenticated{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
body.club-authenticated.public-card-page{padding-bottom:0}
.public-card-page .mobile-app-nav{display:none}
.site-header,.page-shell,.site-footer{max-width:100%}
.site-header{-webkit-backdrop-filter:none;backdrop-filter:none}
.page-shell,.page-shell>*{min-width:0}
.page-shell :is(section,article,header,div,form,fieldset,dl,ul,ol){min-width:0}
.page-shell :is(pre,code,.calendar-url-row input){max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.month-calendar,.chart-scroll,.week-calendar{width:100%;max-width:100%;overscroll-behavior-inline:contain}
.action-row,.week-toolbar,.filter-tabs{max-width:100%}
.action-row .button,.week-toolbar .button{min-width:0;white-space:normal;text-align:center}
.account-menu>summary{display:none}
.account-menu-panel{position:fixed;z-index:79;top:auto;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:12px;width:auto;min-width:0;max-height:min(68vh,620px);max-height:min(68dvh,620px);border-radius:22px 22px 8px 8px;padding:12px;box-shadow:0 22px 80px rgba(36,20,30,.28)}
.account-menu-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.account-menu a,.account-menu .text-button{min-width:0;min-height:48px;overflow-wrap:anywhere}
.account-menu-panel.is-mobile-sheet a,.account-menu-panel.is-mobile-sheet .text-button{display:flex;align-items:center;min-width:0;min-height:48px;padding:11px;color:var(--ink);text-align:left;text-decoration:none;overflow-wrap:anywhere}.account-menu-panel.is-mobile-sheet a:hover,.account-menu-panel.is-mobile-sheet a:focus-visible,.account-menu-panel.is-mobile-sheet .text-button:hover{background:var(--rose)}
.account-menu-footer{grid-template-columns:1fr 1fr}.account-menu-footer form{display:grid}
.mobile-menu-open:before{position:fixed;z-index:18;inset:0;background:rgba(36,20,30,.34);content:""}
.mobile-app-nav{position:fixed;z-index:80;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;min-height:68px;padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(50,17,33,.14);background:rgba(255,253,250,.97);box-shadow:0 -12px 34px rgba(44,17,32,.12);backdrop-filter:blur(18px)}
.mobile-app-nav a,.mobile-app-nav button{display:grid;min-width:0;min-height:54px;place-items:center;align-content:center;gap:3px;border:0;background:transparent;color:var(--muted);font:800 9px/1.1 var(--sans);letter-spacing:.035em;text-decoration:none;text-transform:uppercase;cursor:pointer}
.mobile-app-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-app-nav circle{fill:currentColor;stroke:none}
.mobile-app-nav a[aria-current=page],.mobile-app-nav button.is-active{color:var(--pink)}
.mobile-app-nav-primary{position:relative;color:#fff!important}.mobile-app-nav-primary:before{position:absolute;z-index:-1;top:-15px;left:50%;width:52px;height:52px;transform:translateX(-50%);border:5px solid var(--cream);border-radius:50%;background:var(--pink);box-shadow:0 7px 22px rgba(213,43,115,.27);content:""}.mobile-app-nav-primary svg{position:absolute;top:0;left:50%;width:25px;height:25px;margin:0;transform:translateX(-50%)}
}
@media(max-width:560px){
.site-header{min-height:66px;padding:5px 14px}.brand img{width:52px;height:52px}
.page-shell{width:calc(100% - 24px);padding:30px 0 56px}
h1{max-width:100%;font-size:clamp(42px,13vw,54px);overflow-wrap:anywhere}
h2{font-size:clamp(29px,9vw,36px)}
.panel,.form-card,.login-card,.public-card,.error-card{max-width:100%;padding:21px}
.split-heading,.panel>header{max-width:100%}
.action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.action-row .button{width:100%;padding-inline:12px}
.row-list>a{grid-template-columns:auto minmax(0,1fr);max-width:100%}.row-list>a>*:last-child:nth-child(n+3){grid-column:2;justify-self:start}
.table-row,.gift-table .table-row,.customer-table .table-row{max-width:100%;grid-template-columns:minmax(0,1fr) auto}
.control-popover{right:0;left:auto;width:min(100%,calc(100vw - 32px));min-width:0}.date-calendar-panel{width:auto}
.calendar-url-row{grid-template-columns:1fr}.calendar-url-row .button{width:100%}
.account-menu-links{grid-template-columns:1fr}.account-menu-panel{right:8px;bottom:calc(72px + env(safe-area-inset-bottom,0px));left:8px;max-height:72dvh}
.account-menu-footer{grid-template-columns:1fr 1fr}
.mobile-app-nav{min-height:64px;padding-inline:3px}.mobile-app-nav a,.mobile-app-nav button{font-size:8px;letter-spacing:0}.mobile-app-nav svg{width:21px;height:21px}
}
@media(max-width:390px){.action-row{grid-template-columns:1fr}.account-menu-footer{grid-template-columns:1fr}}

/* Mobiele appschermen: compact overzicht en rustige verticale agenda */
.mobile-agenda-options{display:none}
@media(max-width:700px){
.dashboard-page .page-shell,.appointments-page .page-shell{padding-top:22px}
.dashboard-page .page-intro,.appointments-page .page-intro{gap:20px;margin-bottom:26px}
.dashboard-page .page-intro h1,.appointments-page .page-intro h1{margin-bottom:12px;font-size:clamp(42px,13vw,56px);line-height:.9}
.dashboard-page .page-intro .eyebrow,.appointments-page .page-intro .eyebrow{margin-bottom:9px}
.dashboard-page .dashboard-header-tools{gap:13px}
.dashboard-page .dashboard-primary-actions{grid-template-columns:1fr}
.dashboard-page .dashboard-primary-actions>.button:not(.button-primary),.dashboard-page .dashboard-more{display:none}
.dashboard-page .dashboard-primary-actions>.button-primary{min-height:52px}
.dashboard-page .today-overview{margin-bottom:22px;border-radius:18px}
.dashboard-page .today-overview>header{gap:14px;margin-bottom:16px}
.dashboard-page .today-overview h2{font-size:30px}
.dashboard-page .stat-grid,.dashboard-page .attention-grid,.dashboard-page .dashboard-grid{margin-bottom:22px}
.dashboard-page .dashboard-section{margin-top:22px}
.appointments-page .appointment-heading>.action-row{display:none}
.appointments-page .mobile-agenda-options{position:relative;display:block;width:100%}
.appointments-page .mobile-agenda-options>summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:14px 17px;border:1px solid var(--wine);background:var(--paper);font-size:11px;font-weight:900;letter-spacing:.1em;list-style:none;text-transform:uppercase;cursor:pointer}.appointments-page .mobile-agenda-options>summary::-webkit-details-marker{display:none}.appointments-page .mobile-agenda-options>summary span{color:var(--pink);font-size:17px;transition:transform .2s}.appointments-page .mobile-agenda-options[open]>summary span{transform:rotate(180deg)}
.appointments-page .mobile-agenda-options>div{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-top:0;background:var(--paper);box-shadow:var(--shadow)}.appointments-page .mobile-agenda-options a{min-height:48px;padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-size:12px;font-weight:700;text-decoration:none}.appointments-page .mobile-agenda-options a:nth-child(2n){border-right:0}.appointments-page .mobile-agenda-options a:last-child{grid-column:1/-1;border-right:0;border-bottom:0}.appointments-page .mobile-agenda-options a:hover,.appointments-page .mobile-agenda-options a:focus-visible{background:var(--rose);outline:0}
.appointments-page .week-toolbar{position:sticky;z-index:12;top:66px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px 0;background:var(--cream)}
.appointments-page .week-toolbar .button{min-height:44px;padding:9px 8px;font-size:9px}
.appointments-page .week-calendar{grid-template-columns:minmax(0,1fr);gap:14px;width:100%;min-width:0;overflow-x:visible;padding-bottom:8px}
.appointments-page .calendar-day-column{width:100%;min-width:0}
.appointments-page .calendar-day-plan{width:100%;min-width:0}
.appointments-page .calendar-day-column{scroll-margin-top:130px;border-radius:16px;overflow:hidden;box-shadow:0 12px 34px rgba(44,17,32,.07)}
.appointments-page .calendar-day-column>header{position:relative;z-index:1;top:auto;background:var(--paper);box-shadow:0 1px 0 var(--line)}
.appointments-page .calendar-day-column>header small{grid-column:1/-1}
.appointments-page .calendar-appointments{grid-template-columns:1fr;gap:9px;padding:10px}
.appointments-page .appointment-card{min-height:0;padding:16px 16px 15px;border-radius:10px}
.appointments-page .empty-slot{min-height:76px;padding:18px;border-radius:10px}
.appointments-page .calendar-note{margin-top:18px;padding:16px;border-radius:12px;background:var(--rose);font-size:12px}
}
@media(max-width:560px){
.dashboard-page .today-overview{padding:18px 14px;border-radius:16px}
.dashboard-page .today-overview>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 12px;margin-bottom:14px}
.dashboard-page .today-overview>header>div:first-child{min-width:0}
.dashboard-page .today-overview .eyebrow{margin-bottom:5px;font-size:9px}
.dashboard-page .today-overview h2{max-width:230px;font-size:25px;line-height:1.05}
.dashboard-page .today-overview-meta{display:contents}
.dashboard-page .today-overview>header time{align-self:start;padding:7px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:8px}
.dashboard-page .next-free-slot{grid-column:1/-1;min-width:0;width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-left:3px solid var(--pink);border-radius:10px}
.dashboard-page .today-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0}
.dashboard-page .today-overview-grid>a{min-height:70px;padding:12px;border:1px solid rgba(255,255,255,.16)!important;border-radius:11px;background:rgba(255,255,255,.045);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px}
.dashboard-page .today-overview-grid>a:hover,.dashboard-page .today-overview-grid>a:focus-visible{background:rgba(255,255,255,.1)}
.dashboard-page .today-overview-grid span{font-size:8px;line-height:1.35}
.dashboard-page .today-overview-grid strong{justify-self:end;font-size:29px}
.dashboard-page .today-overview-grid small{grid-column:1/-1;font-size:10px;line-height:1.35}
.dashboard-page .today-overview-grid .today-primary{grid-column:1/-1;min-height:86px;padding:14px 15px;background:rgba(255,255,255,.075)}
.dashboard-page .today-overview-grid .today-primary strong{grid-row:1/3;grid-column:2;font-size:40px}
.dashboard-page .today-overview-grid .today-primary small{grid-column:1;align-self:start}
.dashboard-page .today-overview-grid .today-task.needs-attention{background:rgba(216,38,111,.2);box-shadow:inset 0 3px 0 var(--pink)}
.dashboard-page .today-overview-grid>a:last-child{grid-column:1/-1}
}
@media(max-width:680px){
.customers-page .page-shell{padding-top:22px}
.customers-page .page-intro{gap:20px;margin-bottom:24px}
.customers-page .page-intro .eyebrow{margin-bottom:8px;font-size:9px}
.customers-page .page-intro h1{font-size:clamp(44px,13vw,56px);line-height:.91}
.customers-page .page-intro>.action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.customers-page .page-intro>.action-row .button{min-height:46px;padding:9px 8px;font-size:9px}
.customers-page .page-intro>.action-row .button-primary{grid-column:1/-1;grid-row:1;order:-1;min-height:52px;font-size:10px}
.customers-page .page-intro>.action-row .button:not(.button-primary):hover,.customers-page .page-intro>.action-row .button:not(.button-primary):focus-visible{border-color:var(--pink);background:var(--rose);color:var(--ink)}
.customers-page .customer-segments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 16px;border-radius:14px;overflow:hidden;box-shadow:0 14px 38px rgba(44,17,32,.07)}
.customers-page .customer-segments a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:62px;padding:12px 13px;border:0;background:var(--paper);scroll-snap-align:none}
.customers-page .customer-segments span{font-size:9px;line-height:1.35;letter-spacing:.045em}
.customers-page .customer-segments strong{font-size:24px}
.customers-page .customer-segments a:hover,.customers-page .customer-segments a:focus-visible{background:var(--rose);color:var(--ink)}
.customers-page .customer-segments a:hover span,.customers-page .customer-segments a:focus-visible span{color:var(--ink)}
.customers-page .customer-segments a:hover strong,.customers-page .customer-segments a:focus-visible strong{color:var(--pink)}
.customers-page .customer-segments a[aria-current=page],.customers-page .customer-segments a[aria-current=page]:hover,.customers-page .customer-segments a[aria-current=page]:focus-visible{background:var(--wine);color:#fff}
.customers-page .customer-segments a[aria-current=page] span{color:#fff}
.customers-page .customer-segments a[aria-current=page] strong{color:#f291bb}
.customers-page .customer-overview-panel{padding:16px 14px;border-radius:14px}
.customers-page .customer-search-form{gap:10px;margin-bottom:17px}
.customers-page .customer-search-form input,.customers-page .customer-search-form select{height:46px;font-size:14px}
.customers-page .customer-search-form .button{height:46px;min-height:46px}
.customers-page .customer-table{gap:8px}
.customers-page .customer-table .table-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.customers-page .customer-table .table-row:hover{padding-left:14px;background:var(--rose)}
.customers-page .customer-table .table-row>span:first-child{min-width:0}
.customers-page .customer-table .table-row>span:first-child>b{display:block;overflow-wrap:anywhere;font-size:15px}
.customers-page .customer-table .table-row>span:first-child>small{margin-top:3px;overflow-wrap:anywhere;font-size:11px;line-height:1.4}
.customers-page .customer-table .table-row>strong:nth-child(4){align-self:start;padding:7px 9px;border-radius:999px;background:var(--rose);color:var(--pink);font-size:12px;white-space:nowrap}
.customers-page .customer-labels{gap:4px;margin-top:7px}
.customers-page .customer-labels i{padding:3px 6px;font-size:7px}
.customers-page .customer-empty{padding:22px 14px;border-radius:10px}
}
@media(max-width:680px) and (hover:none){
.customers-page .customer-segments a:not([aria-current=page]):hover{background:var(--paper);color:var(--ink)}
.customers-page .page-intro>.action-row .button:not(.button-primary):hover{border-color:var(--ink);background:transparent;color:var(--ink)}
}

/* Gegevenscontrole als rustig mobiel appscherm */
@media(max-width:680px){
.quality-page .page-shell{padding-top:22px}
.quality-page .page-intro{gap:20px;margin-bottom:24px}
.quality-page .page-intro .eyebrow{margin-bottom:8px;font-size:9px}
.quality-page .page-intro h1{font-size:clamp(44px,13vw,56px);line-height:.91}
.quality-page .data-quality-heading>div>p:last-child{margin-top:14px;font-size:13px;line-height:1.55}
.quality-page .page-intro>.action-row{display:grid;grid-template-columns:1fr;gap:8px}
.quality-page .page-intro>.action-row .button{min-height:46px;padding:9px 10px;font-size:9px}
.quality-page .page-intro>.action-row .button-primary{grid-row:1;order:-1;min-height:52px;font-size:10px}
.quality-page .page-intro>.action-row .button:not(.button-primary):hover,.quality-page .page-intro>.action-row .button:not(.button-primary):focus-visible{border-color:var(--pink);background:var(--rose);color:var(--ink)}
.quality-page .quality-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 16px;border-radius:14px;overflow:hidden;box-shadow:0 14px 38px rgba(44,17,32,.07)}
.quality-page .quality-filters a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:62px;padding:12px 13px;border:0;background:var(--paper)}
.quality-page .quality-filters span{color:inherit;font-size:8px;line-height:1.35;letter-spacing:.07em}
.quality-page .quality-filters strong{font-size:24px}
.quality-page .quality-filters a:hover,.quality-page .quality-filters a:focus-visible{background:var(--rose);color:var(--ink)}
.quality-page .quality-filters a:hover strong,.quality-page .quality-filters a:focus-visible strong{color:var(--pink)}
.quality-page .quality-filters a[aria-current=page],.quality-page .quality-filters a[aria-current=page]:hover,.quality-page .quality-filters a[aria-current=page]:focus-visible{background:var(--wine);color:#fff}
.quality-page .quality-filters a[aria-current=page] strong{color:#f291bb}
.quality-page .retention-overview{gap:1px;margin-bottom:16px;border-radius:14px;overflow:hidden}
.quality-page .retention-overview article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;min-height:0;padding:14px 15px}
.quality-page .retention-overview span{min-height:0;font-size:8px;line-height:1.4}
.quality-page .retention-overview strong{grid-row:1/3;grid-column:2;margin:0;font-size:32px}
.quality-page .retention-overview small{grid-column:1;font-size:10px;line-height:1.4}
.quality-page .quality-list{padding:17px 14px;border-radius:14px}
.quality-page .quality-list>header{display:grid;gap:6px;margin-bottom:14px}
.quality-page .quality-list>header h2{font-size:27px}
.quality-page .quality-list>header>span{justify-self:start;padding:5px 8px;border-radius:999px;background:var(--rose);font-size:8px}
.quality-page .quality-rows{gap:9px}
.quality-page .quality-rows>article{display:grid;grid-template-columns:1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.quality-page .quality-customer{min-width:0}
.quality-page .quality-customer>span:last-child{min-width:0}
.quality-page .quality-customer strong,.quality-page .quality-customer small{overflow-wrap:anywhere}
.quality-page .quality-signals{gap:5px}
.quality-page .quality-signals span{padding:5px 7px;font-size:8px;line-height:1.3}
.quality-page .quality-rows>article>.button{min-height:44px;border-color:var(--pink);background:var(--rose);color:var(--ink);font-size:9px}
.quality-page .quality-rows>article>.button:hover,.quality-page .quality-rows>article>.button:focus-visible{border-color:var(--pink);background:#f2dce6;color:var(--ink)}
.quality-page .detail-note{margin-top:16px;border-radius:12px;font-size:11px;line-height:1.55}
}
@media(max-width:680px) and (hover:none){
.quality-page .quality-filters a:not([aria-current=page]):hover{background:var(--paper);color:var(--ink)}
.quality-page .page-intro>.action-row .button:not(.button-primary):hover{border-color:var(--ink);background:transparent;color:var(--ink)}
.quality-page .quality-rows>article>.button:hover{border-color:var(--pink);background:var(--rose);color:var(--ink)}
}
/* Mobiel afspraakdetail: één compacte bedieningsroute */
.mobile-appointment-options{display:none}
.appointment-secondary-control>summary{display:none}
@media(max-width:700px){
.appointment-detail-page .page-shell{padding-top:22px}
.appointment-detail-page .appointment-detail-heading{gap:14px;margin-bottom:16px}
.appointment-detail-page .appointment-detail-heading h1{margin-bottom:0;font-size:clamp(42px,13vw,56px);line-height:.9}
.appointment-detail-page .appointment-detail-heading>.action-row{display:none}
.appointment-detail-page .mobile-appointment-options{display:block;margin:0 0 16px}
.appointment-detail-page .mobile-appointment-options>summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:14px 17px;border:1px solid var(--wine);background:var(--paper);font-size:11px;font-weight:900;letter-spacing:.1em;list-style:none;text-transform:uppercase;cursor:pointer}
.appointment-detail-page .mobile-appointment-options>summary::-webkit-details-marker{display:none}
.appointment-detail-page .mobile-appointment-options>summary span{color:var(--pink);font-size:17px;transition:transform .2s}
.appointment-detail-page .mobile-appointment-options[open]>summary span{transform:rotate(180deg)}
.appointment-detail-page .mobile-appointment-options nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-top:0;background:var(--paper);box-shadow:var(--shadow)}
.appointment-detail-page .mobile-appointment-options a{display:flex;align-items:center;min-height:48px;padding:13px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-size:11px;font-weight:800;line-height:1.35;text-decoration:none}
.appointment-detail-page .mobile-appointment-options a:nth-child(2n){border-right:0}
.appointment-detail-page .mobile-appointment-options a:hover,.appointment-detail-page .mobile-appointment-options a:focus-visible{background:var(--rose);outline:0}
.appointment-detail-page .mobile-appointment-options .is-danger{grid-column:1/-1;border-right:0;border-bottom:0;color:#a32626}
.appointment-detail-page .appointment-detail-grid{grid-template-columns:minmax(0,1fr);gap:14px}
.appointment-detail-page .appointment-detail-grid>.panel{width:100%;min-width:0}
.appointment-detail-page .appointment-summary{order:1}
.appointment-detail-page .appointment-actions{order:2;scroll-margin-top:86px}
.appointment-detail-page .appointment-intake-summary{order:3}
.appointment-detail-page .appointment-detail-grid>.panel{padding:20px}
.appointment-detail-page .appointment-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.appointment-detail-page .appointment-facts>div{min-width:0;padding:16px 14px}
.appointment-detail-page .appointment-facts .wide{grid-column:1/-1}
.appointment-detail-page .appointment-facts strong{overflow-wrap:anywhere;font-size:23px}
.appointment-detail-page .appointment-actions h2{margin-bottom:14px;font-size:34px}
.appointment-detail-page .status-form,.appointment-detail-page .incident-form{gap:13px}
.appointment-detail-page .appointment-whatsapp-actions{display:grid;gap:9px;margin-top:16px}
.appointment-detail-page .appointment-whatsapp-actions .button{min-height:50px;padding-inline:12px;font-size:10px;line-height:1.35;text-align:center;white-space:normal}
.appointment-detail-page .customer-appointment-link{margin-top:20px}
.appointment-detail-page .appointment-delete-button{margin-top:16px}
.appointment-detail-page .appointment-secondary-control>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:11px 12px;border-radius:8px;background:rgba(255,255,255,.7);font-size:9px;font-weight:900;letter-spacing:.08em;list-style:none;text-transform:uppercase;cursor:pointer}
.appointment-detail-page .appointment-secondary-control>summary::-webkit-details-marker{display:none}
.appointment-detail-page .appointment-secondary-control>summary strong{min-width:0;color:var(--muted);font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.appointment-detail-page .appointment-secondary-control>summary:after{color:currentColor;content:'+';font:700 20px/1 var(--serif)}
.appointment-detail-page .appointment-secondary-control[open]>summary:after{content:'−'}
.appointment-detail-page .appointment-secondary-control[open]>summary{margin-bottom:13px}
}
@media(max-width:390px){
.appointment-detail-page .mobile-appointment-options nav{grid-template-columns:1fr}
.appointment-detail-page .mobile-appointment-options a,.appointment-detail-page .mobile-appointment-options a:nth-child(2n){border-right:0}
.appointment-detail-page .mobile-appointment-options .is-danger{grid-column:auto}
}
@media(max-width:360px){
.appointment-detail-page .appointment-facts{grid-template-columns:1fr}
.appointment-detail-page .appointment-facts .wide{grid-column:auto}
.appointment-detail-page .appointment-facts>div:not(.wide) strong{white-space:nowrap}
}
/* Mobiel afspraakformulier: duidelijke stappen en vaste primaire actie */
.mobile-form-section-heading{display:none}
@media(max-width:700px){
.appointment-form-page .page-shell{padding-top:22px}
.appointment-form-page .page-intro{margin-bottom:20px}
.appointment-form-page .page-intro h1{margin-bottom:12px;font-size:clamp(42px,13vw,56px);line-height:.9}
.appointment-form-page .page-intro>p:last-child{font-size:13px;line-height:1.55}
.appointment-form-page .appointment-form{max-width:100%;padding:18px 16px 14px;border-radius:16px}
.appointment-form-page .appointment-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
.appointment-form-page .appointment-form .form-grid>.wide,.appointment-form-page .mobile-form-section-heading,.appointment-form-page .appointment-date-field,.appointment-form-page .opening-hours-summary,.appointment-form-page .appointment-availability,.appointment-form-page .appointment-slot-suggestions,.appointment-form-page .appointment-series{grid-column:1/-1}
.appointment-form-page .mobile-form-section-heading{display:flex;align-items:center;gap:10px;margin:6px 0 -3px;padding-top:14px;border-top:1px solid var(--line);font:900 10px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.appointment-form-page .mobile-form-section-heading:first-child{margin-top:0;padding-top:0;border-top:0}
.appointment-form-page .mobile-form-section-heading span{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:var(--wine);color:#fff;font-size:9px}
.appointment-form-page .appointment-form label{min-width:0;gap:6px;font-size:9px;letter-spacing:.08em}
.appointment-form-page .appointment-form :is(input,select,textarea){min-width:0;min-height:48px;padding:11px 2px;font-size:16px}
.appointment-form-page .appointment-form textarea{min-height:112px}
.appointment-form-page .appointment-customer-field small{line-height:1.45}
.appointment-form-page .opening-hours-summary{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px 13px;padding:13px 14px;border-radius:10px}
.appointment-form-page .opening-hours-summary small{font-size:11px;line-height:1.5}
.appointment-form-page .appointment-availability{margin:0;padding:11px 12px;border-radius:9px;font-size:11px}
.appointment-form-page .appointment-slot-suggestions{gap:13px;margin:0;padding:14px;border-radius:10px}
.appointment-form-page .appointment-slot-suggestions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.appointment-form-page .appointment-slot-button{width:100%;min-height:46px;padding:10px 7px}
.appointment-form-page .customer-incident-warning{padding:13px 14px;border-radius:9px;font-size:12px}
.appointment-form-page .appointment-series{grid-template-columns:1fr;gap:14px;padding:17px 14px;border-radius:10px}
.appointment-form-page .appointment-series p{grid-column:auto;font-size:12px;line-height:1.5}
.appointment-form-page .appointment-form>.action-row{position:sticky;z-index:17;bottom:calc(70px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:18px -16px -14px;padding:10px 16px;border-top:1px solid var(--line);border-radius:0 0 16px 16px;background:rgba(255,253,250,.97);box-shadow:0 -10px 25px rgba(44,17,32,.08);backdrop-filter:blur(12px)}
.appointment-form-page .appointment-form>.action-row .button{min-height:48px;padding:10px 12px;font-size:9px}
.appointment-form-page .appointment-form>.action-row .button-primary{min-width:0}
}
@media(max-width:390px){
.appointment-form-page .appointment-form>.action-row{grid-template-columns:minmax(0,1fr) auto}
.appointment-form-page .appointment-form>.action-row .button:last-child{width:auto}
}
/* Mobiele klantkaart: compacte identiteit, saldo en klantwaarde */
@media(max-width:700px){
.customer-detail-page .page-shell{padding-top:22px}
.customer-detail-page .customer-heading{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:start;gap:14px;margin-bottom:20px}
.customer-detail-page .customer-heading>div:first-child{min-width:0}
.customer-detail-page .customer-heading .eyebrow{margin-bottom:8px;font-size:9px}
.customer-detail-page .customer-heading h1{margin-bottom:14px;font-size:clamp(40px,12vw,52px);line-height:.9;overflow-wrap:anywhere}
.customer-detail-page .customer-heading>div:first-child>p:not(.eyebrow){margin-bottom:8px;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.customer-detail-page .customer-heading .consent-summary{font-size:10px!important}
.customer-detail-page .balance-orb{width:112px;height:112px;padding:12px;box-shadow:8px 8px 0 var(--rose)}
.customer-detail-page .balance-orb span{margin:0 0 5px;font-size:7px;letter-spacing:.08em}
.customer-detail-page .balance-orb strong{margin:0;font-size:39px;line-height:.9}
.customer-detail-page .balance-orb small{margin:5px 0 0;font-size:7px}
.customer-detail-page .customer-value-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 18px;border-radius:14px;overflow:hidden;box-shadow:0 14px 38px rgba(44,17,32,.07)}
.customer-detail-page .customer-value-summary article{min-height:92px;padding:14px}
.customer-detail-page .customer-value-summary span{font-size:8px;line-height:1.35}
.customer-detail-page .customer-value-summary strong{font-size:clamp(21px,7vw,28px);overflow-wrap:anywhere}
.customer-detail-page .customer-value-summary small{font-size:10px;line-height:1.35}
.customer-detail-page .customer-dossier{margin-bottom:18px;padding:18px 15px;border-radius:14px}
.customer-detail-page .customer-dossier>header{align-items:start;gap:12px}
.customer-detail-page .customer-dossier h2{font-size:28px}
.customer-detail-page .customer-dossier>header>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 2px;font-size:10px;white-space:nowrap}
.customer-detail-page .dossier-grid>div{padding:14px}
.customer-detail-page .dossier-grid span{font-size:8px}
.customer-detail-page .dossier-grid p{font-size:12px;line-height:1.5}
}
@media(max-width:370px){
.customer-detail-page .customer-heading{grid-template-columns:minmax(0,1fr) 90px;gap:10px}
.customer-detail-page .customer-heading h1{font-size:38px;letter-spacing:-.06em}
.customer-detail-page .balance-orb{width:90px;height:90px;padding:10px}
.customer-detail-page .balance-orb strong{font-size:34px}
}
/* Mobiele klantkaart: punten, opties en digitale kaart */
@media(max-width:700px){
.customer-detail-page .customer-points-grid{display:grid;gap:14px;margin-bottom:18px}
.customer-detail-page .customer-points-panel{order:1;padding:18px 15px;border-radius:14px}
.customer-detail-page .customer-share-card{order:2;padding:18px 15px;border-radius:14px}
.customer-detail-page .customer-points-panel>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin-bottom:18px}
.customer-detail-page .customer-points-panel h2{font-size:29px}
.customer-detail-page .customer-points-panel .record-options{width:auto}
.customer-detail-page .customer-points-panel .record-options>summary{width:auto;min-width:104px;min-height:44px;padding:9px 11px}
.customer-detail-page .customer-points-panel .record-options>div{position:fixed;z-index:78;top:auto;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:12px;width:auto;max-height:62dvh;overflow-y:auto;padding:9px;border-radius:16px 16px 8px 8px;box-shadow:0 22px 80px rgba(36,20,30,.28)}
.customer-detail-page .customer-points-panel .record-options>div a{display:flex;align-items:center;min-height:48px;padding:12px 13px;border-bottom:1px solid var(--line);font-size:12px}
.customer-detail-page .customer-points-panel .record-options>div a:last-child{border-bottom:0}
.customer-detail-page .customer-points-panel .compact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 10px}
.customer-detail-page .customer-points-panel .compact-form label{min-width:0;font-size:9px}
.customer-detail-page .customer-points-panel .compact-form :is(input,select){min-width:0;min-height:48px;font-size:16px}
.customer-detail-page .customer-points-panel .compact-form .wide,.customer-detail-page .customer-points-panel .compact-form .button{grid-column:1/-1}
.customer-detail-page .customer-points-panel .compact-form .button{min-height:50px}
.customer-detail-page .customer-share-card h2{margin-bottom:12px;font-size:29px}
.customer-detail-page .customer-share-card>img{width:132px;margin:5px auto 13px}
.customer-detail-page .customer-share-card>p{margin-bottom:15px;font-size:11px;line-height:1.5}
.customer-detail-page .customer-share-card .button-stack{gap:8px}
.customer-detail-page .customer-share-card .button-stack .button{width:100%;min-height:48px;padding:10px;font-size:9px}
.customer-detail-page .customer-share-card .button-stack form{display:grid}
.customer-detail-page .customer-share-card .danger-link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px;font-size:10px;text-align:center}
}
@media(max-width:370px){
.customer-detail-page .customer-points-panel>header{grid-template-columns:1fr}
.customer-detail-page .customer-points-panel .record-options,.customer-detail-page .customer-points-panel .record-options>summary{width:100%}
}
/* Mobiele klantkaart: behandeling registreren en bezoekhistorie */
@media(max-width:700px){
.customer-detail-page .visit-grid{gap:14px;margin:0 0 18px}
.customer-detail-page .customer-visit-panel,.customer-detail-page .customer-visit-history-panel{padding:18px 15px;border-radius:14px}
.customer-detail-page .customer-visit-panel>header,.customer-detail-page .customer-visit-history-panel>header{margin-bottom:17px}
.customer-detail-page .customer-visit-panel h2,.customer-detail-page .customer-visit-history-panel h2{font-size:29px}
.customer-detail-page .customer-visit-panel .visit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 10px}
.customer-detail-page .customer-visit-panel .visit-form label{min-width:0;font-size:9px}
.customer-detail-page .customer-visit-panel .visit-form :is(input,select,textarea){min-width:0;min-height:48px;font-size:16px}
.customer-detail-page .customer-visit-panel .visit-treatment-field,.customer-detail-page .customer-visit-panel .visit-payment-method-field,.customer-detail-page .customer-visit-panel .visit-form .wide,.customer-detail-page .customer-visit-panel .visit-form .button{grid-column:1/-1}
.customer-detail-page .customer-visit-panel .visit-form label small{font-size:10px;line-height:1.4}
.customer-detail-page .customer-visit-panel .visit-form textarea{min-height:96px}
.customer-detail-page .customer-visit-panel .visit-form .button{min-height:50px}
.customer-detail-page .customer-visit-history-panel>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}
.customer-detail-page .customer-visit-history-panel>header>strong{padding:6px 8px;border-radius:999px;background:var(--rose);color:var(--pink);font-size:8px;white-space:nowrap}
.customer-detail-page .visit-history{gap:8px;max-height:none;padding:0;overflow:visible}
.customer-detail-page .visit-history article{grid-template-columns:45px minmax(0,1fr);gap:11px;padding:13px 0}
.customer-detail-page .visit-date{width:43px;height:49px;border-radius:8px}
.customer-detail-page .visit-date strong{font-size:20px}
.customer-detail-page .visit-history article>div:last-child{min-width:0}
.customer-detail-page .visit-history article>div:last-child>strong{display:block;font-size:13px;overflow-wrap:anywhere}
.customer-detail-page .visit-history small{font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.customer-detail-page .visit-history article p{font-size:11px;line-height:1.5}
.customer-detail-page .aftercare-action{min-height:44px;padding:8px 10px 8px 0;font-size:10px}
}
@media(max-width:370px){
.customer-detail-page .customer-visit-panel .visit-form{grid-template-columns:1fr}
.customer-detail-page .customer-visit-panel .visit-form>*{grid-column:auto!important}
}
/* Mobiele klantkaart: telefoonfoto-upload en portfolioacties */
@media(max-width:700px){
.customer-detail-page .customer-photos{margin:18px 0;padding:18px 15px;border-radius:14px}
.customer-detail-page .customer-photos>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:17px}
.customer-detail-page .customer-photos>header h2{font-size:29px}
.customer-detail-page .customer-photos>header>strong{padding:6px 8px;border-radius:999px;background:var(--rose);color:var(--pink);font-size:8px;white-space:nowrap}
.customer-detail-page .photo-upload-form{margin:0 0 20px;padding:14px;border-radius:12px}
.customer-detail-page .photo-upload-form .form-grid{grid-template-columns:1fr;gap:15px}
.customer-detail-page .photo-upload-form .form-grid>*{grid-column:auto}
.customer-detail-page .photo-upload-form label{min-width:0;font-size:9px}
.customer-detail-page .photo-upload-form :is(input,select,textarea){min-width:0;min-height:48px;font-size:16px}
.customer-detail-page .photo-file-field{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.customer-detail-page .photo-file-field input[type=file]{width:100%;min-height:54px;padding:8px;font-size:11px;overflow:hidden}
.customer-detail-page .photo-file-field input[type=file]::file-selector-button{min-height:38px;margin-right:8px;padding:8px 10px;font-size:9px}
.customer-detail-page .photo-input-preview{position:relative;display:block;overflow:hidden;margin-top:4px;border-radius:9px;background:var(--rose);aspect-ratio:4/3}
.customer-detail-page .photo-input-preview[hidden]{display:none}
.customer-detail-page .photo-input-preview img{width:100%;height:100%;object-fit:cover}
.customer-detail-page .photo-input-preview b{position:absolute;right:8px;bottom:8px;padding:5px 7px;border-radius:999px;background:rgba(43,16,34,.84);color:#fff;font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.customer-detail-page .photo-consent{padding:14px;border-radius:10px}
.customer-detail-page .photo-consent>p{margin-bottom:12px;font-size:11px;line-height:1.5}
.customer-detail-page .photo-consent>div{gap:10px}
.customer-detail-page .photo-consent label{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:9px;border:1px solid var(--line);border-radius:8px;font-size:11px;line-height:1.4;letter-spacing:0;text-transform:none}
.customer-detail-page .photo-consent label:has(select){grid-template-columns:1fr}
.customer-detail-page .photo-consent input[type=checkbox]{margin:0}
.customer-detail-page .photo-upload-form>.button{width:100%;min-height:50px;margin-top:14px}
.customer-detail-page .photo-records{gap:14px}
.customer-detail-page .photo-records>article{gap:13px;padding:10px;border-radius:12px;box-shadow:0 12px 30px rgba(44,17,32,.07)}
.customer-detail-page .photo-pair{gap:7px}
.customer-detail-page .photo-pair figure{border-radius:9px}
.customer-detail-page .photo-pair figure:only-child{grid-column:1/-1;aspect-ratio:4/3}
.customer-detail-page .photo-pair figcaption{right:7px;bottom:7px;padding:5px 7px;font-size:8px}
.customer-detail-page .photo-record-info{padding:5px 3px 3px}
.customer-detail-page .photo-record-info h3{margin:6px 0 9px;font-size:25px}
.customer-detail-page .photo-record-info>p,.customer-detail-page .photo-record-info>small{font-size:10px;line-height:1.5}
.customer-detail-page .consent-badges{gap:5px}
.customer-detail-page .consent-badges span{padding:5px 7px;font-size:8px}
.customer-detail-page .photo-record-info>form{display:grid;width:100%;margin-top:8px}
.customer-detail-page .photo-record-info>form .text-button{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);text-align:center}
.customer-detail-page .photo-record-info>form .danger-link{border-color:#e7bebe;background:#fff5f5}
}
/* Mobiele klantkaart: terugkomadvies en verjaardagsvoordeel */
@media(max-width:700px){
.customer-detail-page .return-advice-panel,.customer-detail-page .birthday-panel{align-items:stretch;gap:15px;margin:18px 0;padding:18px 15px;border-radius:14px}
.customer-detail-page .return-advice-panel h2,.customer-detail-page .birthday-panel h2{margin-bottom:9px;font-size:29px}
.customer-detail-page .return-advice-panel p:last-child,.customer-detail-page .birthday-panel p:not(.eyebrow){font-size:11px;line-height:1.55}
.customer-detail-page .return-advice-panel>.button,.customer-detail-page .birthday-panel>.button,.customer-detail-page .birthday-panel>form,.customer-detail-page .birthday-panel>form .button{width:100%;min-height:48px}
.customer-detail-page .return-advice-panel>.button,.customer-detail-page .birthday-panel>form .button,.customer-detail-page .birthday-panel>.button{padding:10px;font-size:9px}
.customer-detail-page .benefit-status{width:100%;min-width:0;padding:13px 14px;border-radius:10px}
.customer-detail-page .benefit-status strong{font-size:10px}
.customer-detail-page .benefit-status span{font-size:11px}
}
/* Mobiele klantkaart: beloningen en puntenhistorie */
@media(max-width:700px){
.customer-detail-page .customer-loyalty-grid{gap:14px;margin:18px 0}
.customer-detail-page .customer-rewards-panel,.customer-detail-page .customer-points-history-panel{padding:18px 15px;border-radius:14px}
.customer-detail-page .customer-rewards-panel>header,.customer-detail-page .customer-points-history-panel>header{margin-bottom:15px}
.customer-detail-page .customer-rewards-panel h2,.customer-detail-page .customer-points-history-panel h2{font-size:29px}
.customer-detail-page .reward-list{gap:8px}
.customer-detail-page .reward-list form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.customer-detail-page .reward-list form>div{min-width:0}
.customer-detail-page .reward-list strong,.customer-detail-page .reward-list small{display:block;overflow-wrap:anywhere}
.customer-detail-page .reward-list strong{font-size:12px}
.customer-detail-page .reward-list small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}
.customer-detail-page .reward-list .button{width:auto;min-height:44px;padding:8px 9px;font-size:9px;white-space:normal}
.customer-detail-page .history-list{display:grid;gap:7px}
.customer-detail-page .history-list>div{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:10px;padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.customer-detail-page .history-list .delta{width:46px;height:32px;font-size:11px}
.customer-detail-page .history-list>div>span:last-child{min-width:0}
.customer-detail-page .history-list strong,.customer-detail-page .history-list small{display:block;overflow-wrap:anywhere}
.customer-detail-page .history-list strong{font-size:11px;line-height:1.4}
.customer-detail-page .history-list small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}
}
@media(max-width:370px){
.customer-detail-page .reward-list form{grid-template-columns:1fr}
.customer-detail-page .reward-list .button{width:100%}
}
/* Mobiele klantcadeaubonnen en Portfolio beheren */
@media(max-width:700px){
.customer-detail-page .customer-gifts{margin:18px 0;padding:18px 15px;border-radius:14px}
.customer-detail-page .customer-gifts>header{margin-bottom:15px}
.customer-detail-page .customer-gifts h2{font-size:29px}
.customer-detail-page .customer-gifts .gift-table{gap:8px}
.customer-detail-page .customer-gifts .customer-gift-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line)}
.customer-detail-page .customer-gifts .customer-gift-card:hover{padding-left:0}
.customer-detail-page .customer-gifts .customer-gift-card>span{display:grid!important;justify-self:stretch!important;gap:4px;min-width:0;padding:12px;background:var(--paper)}
.customer-detail-page .customer-gifts .customer-gift-card small{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.customer-detail-page .customer-gifts .customer-gift-card strong{font:400 18px/1.1 var(--serif);overflow-wrap:anywhere}
.portfolio-manage-page .page-shell{padding-top:22px}
.portfolio-manage-page .portfolio-heading{gap:16px;margin-bottom:20px}
.portfolio-manage-page .portfolio-heading h1{margin-bottom:12px;font-size:clamp(42px,13vw,56px);line-height:.9}
.portfolio-manage-page .portfolio-heading>div>p:last-child{font-size:12px;line-height:1.55}
.portfolio-manage-page .portfolio-heading>.button{width:100%;min-height:48px}
.portfolio-manage-page .portfolio-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 16px;border-radius:14px;overflow:hidden}
.portfolio-manage-page .portfolio-summary article{min-height:82px;padding:12px}
.portfolio-manage-page .portfolio-summary span{font-size:8.5px;line-height:1.35;letter-spacing:.04em}
.portfolio-manage-page .portfolio-summary strong{font-size:28px}
.portfolio-manage-page .portfolio-upload-panel,.portfolio-manage-page .portfolio-library{margin:0 0 16px;padding:18px 15px;border-radius:14px}
.portfolio-manage-page .portfolio-upload-panel>header,.portfolio-manage-page .portfolio-library>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:16px}
.portfolio-manage-page .portfolio-upload-panel h2,.portfolio-manage-page .portfolio-library h2{font-size:29px}
.portfolio-manage-page .portfolio-upload-panel>header>span,.portfolio-manage-page .portfolio-library>header>strong{padding:6px 8px;border-radius:999px;background:var(--rose);color:var(--pink);font-size:8.5px;letter-spacing:.04em;white-space:nowrap}
.portfolio-manage-page .portfolio-upload-form{padding:14px;border-radius:12px}
.portfolio-manage-page .portfolio-upload-form .form-grid{grid-template-columns:1fr;gap:15px}
.portfolio-manage-page .portfolio-upload-form .form-grid>*{grid-column:auto}
.portfolio-manage-page .portfolio-upload-form label{min-width:0;font-size:9px}
.portfolio-manage-page .portfolio-upload-form :is(input,select,textarea){min-width:0;min-height:48px;font-size:16px}
.portfolio-manage-page .portfolio-mobile-note{padding:11px 12px;border-radius:8px;font-size:10px}
.portfolio-manage-page .photo-file-field{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.portfolio-manage-page .photo-file-field input[type=file]{width:100%;min-height:54px;padding:8px;font-size:11px;overflow:hidden}
.portfolio-manage-page .photo-file-field input[type=file]::file-selector-button{min-height:38px;margin-right:8px;padding:8px 10px;font-size:9px}
.portfolio-manage-page .photo-input-preview{position:relative;display:block;overflow:hidden;margin-top:4px;border-radius:9px;background:var(--rose);aspect-ratio:4/3}
.portfolio-manage-page .photo-input-preview[hidden]{display:none}
.portfolio-manage-page .photo-input-preview img{width:100%;height:100%;object-fit:cover}
.portfolio-manage-page .photo-input-preview b{position:absolute;right:8px;bottom:8px;padding:5px 7px;border-radius:999px;background:rgba(43,16,34,.84);color:#fff;font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.portfolio-manage-page .photo-consent{padding:14px;border-radius:10px}
.portfolio-manage-page .photo-consent>p{font-size:11px;line-height:1.5}
.portfolio-manage-page .photo-consent>div{gap:10px}
.portfolio-manage-page .photo-consent label{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:9px;border:1px solid var(--line);border-radius:8px;font-size:11px;line-height:1.4;letter-spacing:0;text-transform:none}
.portfolio-manage-page .photo-consent label:has(select){grid-template-columns:1fr}
.portfolio-manage-page .photo-consent .publish-now{background:var(--rose)}
.portfolio-manage-page .portfolio-upload-form>.button{width:100%;min-height:50px;margin-top:14px}
.portfolio-manage-page .portfolio-records{gap:14px}
.portfolio-manage-page .portfolio-records>article{gap:13px;padding:10px;border-radius:12px;box-shadow:0 12px 30px rgba(44,17,32,.07)}
.portfolio-manage-page .portfolio-records .photo-pair figure:only-child{grid-column:1/-1;aspect-ratio:4/3}
.portfolio-manage-page .portfolio-records .photo-record-info{padding:5px 3px 3px}
.portfolio-manage-page .portfolio-record-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%;padding-top:12px}
.portfolio-manage-page .portfolio-record-actions form,.portfolio-manage-page .portfolio-record-actions button{width:100%}
.portfolio-manage-page .portfolio-record-actions .button,.portfolio-manage-page .portfolio-record-actions .text-button{min-height:46px;padding:10px;text-align:center}
.portfolio-manage-page .portfolio-record-actions .danger-link{border:1px solid #e7bebe;background:#fff5f5}
}
.gift-form-group{min-width:0;margin:0;padding:20px;border:1px solid var(--line);background:var(--paper)}.gift-form-group legend{padding:0 9px;color:var(--wine);font:800 11px var(--sans);letter-spacing:.11em;text-transform:uppercase}.gift-form-group legend span{display:inline-grid;width:24px;height:24px;margin-right:7px;place-items:center;border-radius:50%;background:var(--pink);color:#fff;letter-spacing:0}.gift-form-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.gift-form-group-grid .wide{grid-column:1/-1}
.gift-card-link-hint{display:none}
/* Mobiele cadeaubonnen */
@media(max-width:700px){
.gift-cards-page .page-shell,.gift-card-form-page .page-shell,.gift-card-detail-page .page-shell{padding-top:22px}
.gift-cards-page .gift-cards-heading,.gift-card-detail-page .gift-card-detail-heading{gap:18px;margin-bottom:20px}
.gift-cards-page .gift-cards-heading h1,.gift-card-form-page .gift-card-form-heading h1,.gift-card-detail-page .gift-card-detail-heading h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.gift-cards-page .gift-cards-heading .action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.gift-cards-page .gift-cards-heading .action-row .button{width:100%;min-height:48px;padding:9px 7px;font-size:9px;letter-spacing:.06em}
.gift-cards-page .gift-cards-heading .action-row .button-primary:last-child{grid-column:1/-1}
.gift-cards-page .gift-redeem-panel,.gift-cards-page .gift-register-panel{margin-bottom:16px;padding:18px 15px;border-radius:14px}
.gift-cards-page .gift-redeem-panel>header,.gift-cards-page .gift-register-panel>header{margin-bottom:15px}
.gift-cards-page .gift-redeem-panel>header p:last-child{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
.gift-cards-page .gift-redeem-panel h2,.gift-cards-page .gift-register-panel h2{font-size:30px}
.gift-cards-page .gift-redeem-panel .compact-form{grid-template-columns:1fr;gap:14px}
.gift-cards-page .gift-redeem-panel :is(input,select,textarea){min-height:48px;font-size:16px}
.gift-cards-page .gift-redeem-panel .button{width:100%;min-height:48px}
.gift-cards-page .gift-table{gap:9px}
.gift-cards-page .gift-table .gift-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px;padding:0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--line)}
.gift-cards-page .gift-table .gift-card-row:hover{padding-left:0}
.gift-cards-page .gift-card-row>*{display:grid!important;justify-self:stretch!important;align-content:start;gap:4px;min-width:0;padding:11px;background:var(--paper)}
.gift-cards-page .gift-card-row .gift-card-recipient{grid-column:1/-1;padding:14px}
.gift-cards-page .gift-card-row .gift-card-expiry{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center}
.gift-cards-page .gift-card-row .gift-card-link-hint{display:block;margin-top:4px;color:var(--pink);font-size:8px}
.gift-cards-page .gift-card-row small{color:var(--muted);font-size:8.5px;font-style:normal;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.gift-cards-page .gift-card-row b{font:400 23px/1.1 var(--serif)}
.gift-cards-page .gift-card-row em{color:var(--muted);font-size:9px;font-style:normal}
.gift-cards-page .gift-card-row strong{font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.gift-cards-page .gift-card-row .gift-card-balance strong{font:400 20px/1 var(--serif)}
.gift-cards-page .gift-card-row .status-dot{margin-right:5px}
.gift-card-form-page .gift-card-form-heading{margin-bottom:18px}
.gift-card-form-page .gift-card-form{margin:0;padding:18px 15px 96px;border-radius:14px}
.gift-card-form-page .gift-card-form .form-grid{grid-template-columns:1fr;gap:15px}
.gift-card-form-page .gift-card-form .form-grid>*{grid-column:auto}
.gift-card-form-page .gift-form-group{padding:14px 12px;border-radius:11px;background:var(--cream)}.gift-card-form-page .gift-form-group legend{padding:0 7px;font-size:9px}.gift-card-form-page .gift-form-group legend span{width:22px;height:22px}.gift-card-form-page .gift-form-group-grid{grid-template-columns:1fr;gap:14px}.gift-card-form-page .gift-form-group-grid>*{grid-column:auto}
.gift-card-form-page .gift-card-form :is(input,select,textarea){min-width:0;min-height:48px;font-size:16px}
.gift-card-form-page .gift-card-form textarea{min-height:120px}
.gift-card-form-page .gift-card-form .form-notice{padding:12px;border-radius:9px;font-size:10px;line-height:1.5}
.gift-card-form-page .gift-card-form>.action-row{position:fixed;z-index:34;right:0;bottom:68px;left:0;display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,252,249,.96);box-shadow:0 -10px 30px rgba(44,17,32,.09);backdrop-filter:blur(14px)}
.gift-card-form-page .gift-card-form>.action-row .button{min-height:48px}
.gift-card-detail-page .gift-card-detail-heading{align-items:center}
.gift-card-detail-page .gift-card-detail-heading>div:first-child{width:100%}
.gift-card-detail-page .gift-card-detail-heading .gift-orb{align-self:center;width:156px;height:156px;padding:15px;box-shadow:11px 9px 0 var(--rose)}
.gift-card-detail-page .gift-card-detail-heading .gift-orb strong{font-size:29px}
.gift-card-detail-page .gift-customer-panel,.gift-card-detail-page .gift-payment-panel,.gift-card-detail-page .gift-share-grid .share-card,.gift-card-detail-page .gift-lower-grid>.panel{padding:18px 15px;border-radius:14px}
.gift-card-detail-page .gift-customer-panel{display:grid;gap:15px;margin-bottom:16px}
.gift-card-detail-page .gift-customer-panel h2,.gift-card-detail-page .gift-payment-panel h2,.gift-card-detail-page .gift-lower-grid h2{font-size:29px}
.gift-card-detail-page .gift-customer-panel .compact-form,.gift-card-detail-page .gift-payment-panel .compact-form,.gift-card-detail-page .gift-lower-grid .compact-form{grid-template-columns:1fr;gap:13px;width:100%}
.gift-card-detail-page :is(.gift-customer-panel,.gift-payment-panel,.gift-lower-grid) :is(input,select,textarea){min-height:48px;font-size:16px}
.gift-card-detail-page :is(.gift-customer-panel,.gift-payment-panel,.gift-lower-grid) .button{width:100%;min-height:48px}
.gift-card-detail-page .gift-payment-panel{grid-template-columns:1fr;gap:18px;margin-bottom:16px}
.gift-card-detail-page .gift-share-grid{gap:16px}
.gift-card-detail-page .gift-certificate{min-height:470px;padding:22px;border-radius:14px}
.gift-card-detail-page .gift-top img{width:62px;height:62px}
.gift-card-detail-page .gift-copy{margin:48px 0 42px}
.gift-card-detail-page .gift-copy h2{font-size:43px}
.gift-card-detail-page .gift-copy blockquote{font-size:19px}
.gift-card-detail-page .gift-code b{font-size:12px;overflow-wrap:anywhere}.gift-card-detail-page .gift-code-copy{justify-self:start;margin:5px 0;padding:8px 0;color:var(--pink);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.gift-card-detail-page .gift-code-copy:hover,.gift-card-detail-page .gift-code-copy:focus-visible{background:transparent;color:var(--wine);text-decoration:underline;text-underline-offset:4px}
.gift-card-detail-page .gift-share-grid .share-card img{width:min(190px,70%)}
.gift-card-detail-page .gift-share-grid .button{min-height:46px}
.gift-card-detail-page .gift-lower-grid{gap:16px;margin-top:16px}
.gift-card-detail-page .gift-lower-grid .history-list>div{display:grid;grid-template-columns:55px minmax(0,1fr);gap:10px}
.gift-card-detail-page .gift-danger-zone{display:grid;gap:14px;margin-top:16px;padding:18px 15px;border-radius:14px}
.gift-card-detail-page .gift-danger-zone .button{width:100%;min-height:46px}
.gift-card-detail-page .page-shell{display:flex;flex-direction:column}
.gift-card-detail-page .gift-card-detail-heading{order:1}
.gift-card-detail-page .gift-customer-panel{order:2}
.gift-card-detail-page .gift-payment-panel{order:3}
.gift-card-detail-page .gift-lower-grid{order:4}
.gift-card-detail-page .gift-share-grid{order:5}
.gift-card-detail-page .gift-danger-zone{order:6}
}
.gift-request-filters a{display:inline-flex;align-items:center;gap:8px}.gift-request-filters a strong{display:inline-grid;min-width:23px;height:23px;padding:0 6px;place-items:center;border-radius:999px;background:var(--rose);color:var(--pink);font-size:10px}.gift-request-filters a.active strong{background:#fff;color:var(--wine)}.gift-request-state{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;background:var(--rose);color:var(--pink);font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.gift-request-state.status-issued{background:#e7f5ee;color:var(--green)}.gift-request-state.status-declined{background:#f3e8ec;color:var(--muted)}.gift-request-contact-links{display:grid;gap:4px}
/* Mobiele cadeaubonaanvragen */
@media(max-width:700px){
.gift-card-requests-page .page-shell{padding-top:22px}
.gift-card-requests-page .gift-requests-heading{gap:16px;margin-bottom:16px}
.gift-card-requests-page .gift-requests-heading h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.gift-card-requests-page .gift-requests-heading p:last-child{font-size:12px;line-height:1.55}
.gift-card-requests-page .gift-requests-heading>.button{width:100%;min-height:46px}
.gift-card-requests-page .gift-request-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:14px;border-radius:11px;overflow:hidden}
.gift-card-requests-page .gift-request-filters a{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:44px;padding:8px 10px;font-size:9px;text-align:left}.gift-card-requests-page .gift-request-filters a strong{min-width:22px;height:22px}.gift-card-requests-page .gift-request-contact-links{gap:7px}.gift-card-requests-page .gift-request-contact-links a{display:flex;align-items:center;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--paper);overflow-wrap:anywhere}.gift-card-requests-page .gift-request-state{font-size:8px}
.gift-card-requests-page .gift-request-list{gap:12px}
.gift-card-requests-page .gift-request-card{padding:16px 14px;border-radius:14px}
.gift-card-requests-page .gift-request-card>header{align-items:center;gap:10px}
.gift-card-requests-page .gift-request-card>header h2{font-size:29px}
.gift-card-requests-page .gift-request-card>header>strong{font-size:30px;white-space:nowrap}
.gift-card-requests-page .gift-request-card dl{grid-template-columns:1fr;margin:14px 0;border-radius:10px;overflow:hidden}
.gift-card-requests-page .gift-request-card dl div,.gift-card-requests-page .gift-request-card dl .wide{grid-column:auto;padding:12px}
.gift-card-requests-page .gift-request-card dt{font-size:7px}
.gift-card-requests-page .gift-request-card dd{font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.gift-card-requests-page .gift-request-actions{display:grid;grid-template-columns:1fr;gap:8px}
.gift-card-requests-page .gift-request-actions>*{width:100%;margin:0}
.gift-card-requests-page .gift-request-actions :is(.button,.text-button){display:grid;place-items:center;width:100%;min-height:46px;padding:9px;text-align:center}
.gift-card-requests-page .gift-request-actions .danger-link{border:1px solid #e7bebe;background:#fff5f5}
}
/* Mobiele berichten */
@media(max-width:700px){
.messages-page .page-shell{padding-top:22px}
.messages-page .message-heading{gap:16px;margin-bottom:16px}
.messages-page .message-heading h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.messages-page .message-heading>div:first-child>p:last-child{margin-top:14px;font-size:12px;line-height:1.55}
.messages-page .message-heading .action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.messages-page .message-heading .action-row .button{width:100%;min-height:46px;padding:8px 6px;font-size:8px;text-align:center}
.messages-page .message-consent{display:grid;grid-template-columns:1fr;gap:5px;margin:0 0 14px;padding:13px 14px;border-radius:11px}
.messages-page .message-consent strong{font-size:10px}
.messages-page .message-consent span{font-size:10px;line-height:1.5}
.messages-page .message-list{gap:12px}
.messages-page .message-card{padding:17px 14px;border-radius:14px}
.messages-page .message-card:before{width:4px}
.messages-page .message-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}
.messages-page .message-card>header h2{font-size:30px;overflow-wrap:anywhere}
.messages-page .message-due{padding:7px 8px;border-radius:999px;font-size:8px;white-space:nowrap}
.messages-page .message-preview{max-height:none;overflow:visible;margin:15px 0;padding:13px;border-radius:9px;background:var(--cream);font-size:12px;line-height:1.55;white-space:pre-line}
.messages-page .message-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.messages-page .message-meta span{min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:8px;font-size:9px;line-height:1.35;overflow-wrap:anywhere}
.messages-page .message-meta span:last-child:nth-child(odd){grid-column:1/-1}
.messages-page .message-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:14px}
.messages-page .message-actions>*{width:100%;min-width:0;margin:0}
.messages-page .message-actions>.whatsapp-button{grid-column:1/-1}
.messages-page .message-actions :is(.button,.text-button){display:grid;place-items:center;width:100%;min-height:44px;padding:8px 7px;font-size:9px;line-height:1.3;text-align:center;white-space:normal}
.messages-page .message-actions .whatsapp-button{min-height:49px;font-size:10px}
.messages-page .message-actions .is-disabled{opacity:.52}
.messages-page .message-actions form:last-child:nth-child(even){grid-column:1/-1}
.messages-page .message-actions form:last-child .text-button{border:1px solid var(--line);background:var(--paper)}
.messages-page .message-empty{padding:24px 18px;border-radius:14px}
.messages-page .submitted-reviews{margin-top:16px;padding:18px 14px;border-radius:14px}
.messages-page .submitted-reviews>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.messages-page .submitted-reviews h2{font-size:29px}
.messages-page .submitted-review-list{gap:12px}
.messages-page .submitted-review-list>article{padding:14px;border-radius:10px}
.messages-page .submitted-review-list blockquote{font-size:17px;line-height:1.45}
.messages-page .submitted-review-list .message-actions{grid-template-columns:1fr}
.messages-page .submitted-review-list .message-actions>*{grid-column:1}
.messages-page .message-history{margin-top:16px;padding:18px 14px;border-radius:14px}
.messages-page .message-history h2{font-size:29px}
.messages-page .message-history .row-list{display:grid;gap:8px}
.messages-page .message-history .row-list>div{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.messages-page .message-history .row-list>div:first-child{border-top:1px solid var(--line)}
.messages-page .message-history .message-status{width:32px;height:32px}
.messages-page .message-history strong{font-size:11px}
.messages-page .message-history small{font-size:9px;line-height:1.4}
.messages-page .message-history form{grid-column:2;width:100%}
.messages-page .message-history .text-button{width:100%;min-height:40px;border:1px solid var(--line);text-align:center}
}
/* Mobiele omzet */
@media(max-width:700px){
.revenue-page .page-shell{padding-top:22px}
.revenue-page .revenue-heading{gap:16px;margin-bottom:16px}
.revenue-page .revenue-heading h1{font-size:clamp(44px,14vw,60px);line-height:.9}
.revenue-page .revenue-heading>div>p:last-child{margin-top:14px;font-size:12px;line-height:1.5}
.revenue-page .month-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.revenue-page .month-picker select{min-width:0;min-height:46px;font-size:16px}
.revenue-page .month-picker .button{width:auto;min-height:46px;padding:8px 15px}
.revenue-page .revenue-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:14px;border-radius:14px;overflow:hidden}
.revenue-page .revenue-metrics article{min-height:108px;padding:14px}
.revenue-page .revenue-metrics article:first-child,.revenue-page .revenue-metrics .accent{grid-column:1/-1;min-height:122px}
.revenue-page .revenue-metrics span{font-size:9px;line-height:1.35}
.revenue-page .revenue-metrics strong{max-width:100%;margin:auto 0 8px;font-size:clamp(25px,9vw,38px);overflow:hidden;text-overflow:ellipsis}
.revenue-page .revenue-metrics article:first-child strong,.revenue-page .revenue-metrics .accent strong{font-size:clamp(35px,12vw,48px)}
.revenue-page .revenue-metrics small{font-size:10px;line-height:1.4}
.revenue-page :is(.revenue-forecast,.expense-panel,.revenue-grid>.panel,.outstanding-panel){margin:0 0 14px;padding:18px 14px;border-radius:14px}
.revenue-page :is(.revenue-forecast,.expense-panel,.revenue-grid>.panel,.outstanding-panel)>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:14px}
.revenue-page :is(.revenue-forecast,.expense-panel,.revenue-grid>.panel,.outstanding-panel) h2{font-size:29px}
.revenue-page .revenue-forecast>header>small{max-width:110px;font-size:10px;line-height:1.35;text-align:right}
.revenue-page .forecast-grid{grid-template-columns:1fr;border-radius:10px;overflow:hidden}
.revenue-page .forecast-grid article{gap:5px;padding:14px}
.revenue-page .forecast-grid strong{font-size:34px}
.revenue-page .forecast-grid span{font-size:9px}
.revenue-page .forecast-grid small{font-size:10px;line-height:1.45}
.revenue-page .expense-panel .compact-form{grid-template-columns:1fr;gap:13px}
.revenue-page .revenue-expense-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:12px 14px;border:1px solid var(--pink);border-radius:10px;background:var(--rose);font-size:10px;font-weight:900;letter-spacing:.06em;list-style:none;cursor:pointer}
.revenue-page .revenue-expense-disclosure>summary::-webkit-details-marker{display:none}
.revenue-page .revenue-expense-disclosure>summary strong{color:var(--pink);font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.revenue-page .revenue-expense-disclosure>summary:after{color:var(--pink);content:'+';font:700 21px/1 var(--serif)}
.revenue-page .revenue-expense-disclosure[open]>summary{border-radius:10px 10px 0 0}
.revenue-page .revenue-expense-disclosure[open]>summary:after{content:'−'}
.revenue-page .revenue-expense-disclosure[open]>summary strong{display:none}
.revenue-page .revenue-expense-disclosure .compact-form{margin-top:1px;padding:14px;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px}
.revenue-page .expense-panel :is(input,select,textarea){min-width:0;min-height:48px;font-size:16px}
.revenue-page .expense-panel .compact-form>.button{width:100%;min-height:48px}
.revenue-page .expense-panel .row-list{display:grid;gap:8px;margin-top:14px}
.revenue-page .expense-panel .row-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px;border:1px solid var(--line);border-radius:9px}
.revenue-page .expense-panel .row-list form{grid-column:1/-1;width:100%}
.revenue-page .expense-panel .row-list .text-button{width:100%;min-height:40px;border:1px solid #e7bebe;background:#fff5f5;text-align:center}
.revenue-page .revenue-grid,.revenue-page .revenue-grid.lower-grid{grid-template-columns:1fr;gap:0;margin:0}
.revenue-page .financial-list>div,.revenue-page .financial-list>a{gap:10px;padding:11px 3px}
.revenue-page .financial-list span{min-width:0;font-size:11px;overflow-wrap:anywhere}
.revenue-page .financial-list b,.revenue-page .financial-list>div>strong,.revenue-page .financial-list>a>strong{font-size:18px}
.revenue-page .treatment-performance>div{align-items:flex-start}
.revenue-page .treatment-performance>div>span:last-child{min-width:86px}
.revenue-page .outstanding-panel{border-top-width:3px}
.revenue-page .outstanding-panel>header>strong{font:400 27px/1 var(--serif);white-space:nowrap}
.revenue-page .outstanding-panel>header p{font-size:9px;line-height:1.4}
.revenue-page .outstanding-list{gap:9px}
.revenue-page .outstanding-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px;border:1px solid var(--line);border-left-width:5px;border-radius:10px;background:var(--paper)}
.revenue-page .outstanding-list article:first-child{border-top:1px solid var(--line)}
.revenue-page .outstanding-list article>div:first-child{min-width:0}
.revenue-page .outstanding-list article>div>span,.revenue-page .outstanding-list article small{font-size:10px;line-height:1.45}
.revenue-page .outstanding-list article>div>strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.revenue-page .outstanding-list article>b{font-size:22px;white-space:nowrap}
.revenue-page .outstanding-list .payment-actions,.revenue-page .outstanding-list article>a{grid-column:1/-1;width:100%}
.revenue-page .outstanding-list .payment-actions{display:grid;grid-template-columns:1fr;gap:8px}
.revenue-page .outstanding-list .payment-actions form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%}
.revenue-page .outstanding-list .payment-actions form:first-child{grid-template-columns:1fr}
.revenue-page .outstanding-list .payment-actions :is(select,.button),.revenue-page .outstanding-list article>a{min-height:45px;font-size:10px}
.revenue-page .outstanding-list article>a{display:grid;place-items:center}
.revenue-page .financial-note{margin:4px 3px 0;font-size:10px;line-height:1.5}
}
@media(max-width:370px){
.revenue-page .month-picker{grid-template-columns:1fr}
.revenue-page .month-picker .button{width:100%}
.revenue-page .revenue-forecast>header{grid-template-columns:1fr}
.revenue-page .revenue-forecast>header>small{max-width:none;text-align:left}
.revenue-page .revenue-metrics span{font-size:8px;letter-spacing:.06em}
}
/* Mobiele afspraakaanvragen */
@media(max-width:700px){
.appointment-requests-page .page-shell,.appointment-request-detail-page .page-shell{padding-top:22px}
.appointment-requests-page .request-heading,.appointment-request-detail-page .request-detail-heading{gap:16px;margin-bottom:16px}
.appointment-requests-page .request-heading h1,.appointment-request-detail-page .request-detail-heading h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.appointment-requests-page .request-heading>div:first-child>p:last-child,.appointment-request-detail-page .request-detail-heading>div:first-child>p:last-child{margin-top:14px;font-size:12px;line-height:1.5}
.appointment-requests-page .request-heading .action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.appointment-requests-page .request-heading .action-row .button,.appointment-request-detail-page .request-detail-heading>.button{width:100%;min-height:46px;padding:8px 6px;font-size:10px;text-align:center}
.appointment-requests-page .request-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:14px;border-radius:11px;overflow:hidden;background:var(--line)}
.appointment-requests-page .request-filters a{justify-content:space-between;min-width:0;min-height:44px;padding:8px 10px;border:0;font-size:10px}
.appointment-requests-page .request-filters span{min-width:22px;height:22px;font-size:9px}
.appointment-requests-page .request-panel{padding:17px 14px;border-radius:14px}
.appointment-requests-page .request-panel>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:10px}
.appointment-requests-page .request-panel h2{font-size:29px}
.appointment-requests-page .request-total{padding:6px 8px;border-radius:999px;background:var(--rose);font-size:9px!important;white-space:nowrap}
.appointment-requests-page .request-list{gap:8px}
.appointment-requests-page .request-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;padding:11px;border:1px solid var(--line);border-left-width:4px;border-radius:10px;background:var(--paper)}
.appointment-requests-page .request-row:hover{padding:11px;background:var(--rose)}
.appointment-requests-page .request-date{width:42px;height:46px;border-radius:7px}
.appointment-requests-page .request-date strong{font-size:19px}
.appointment-requests-page .request-date small{font-size:9px}
.appointment-requests-page .request-row>span:nth-child(2){min-width:0}
.appointment-requests-page .request-row>span:nth-child(2)>strong{font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.appointment-requests-page .request-row>span:nth-child(2)>small{font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.appointment-requests-page .request-channel{display:none}
.appointment-requests-page .request-status{grid-column:3;grid-row:1;align-self:start;justify-self:end;padding:5px 7px;border-radius:999px;background:var(--cream);font-size:9px;white-space:nowrap}
.appointment-requests-page .request-row.status-new .request-status{background:var(--rose)}
.appointment-requests-page .request-row.status-declined{opacity:.75}
.appointment-request-detail-page .request-detail-heading>.button{margin-top:0}
.appointment-request-detail-page .request-detail-grid{grid-template-columns:1fr;gap:14px}
.appointment-request-detail-page .request-detail-grid>.panel{padding:18px 14px;border-radius:14px}
.appointment-request-detail-page .request-detail-grid>.panel h2{font-size:30px}
.appointment-request-detail-page .request-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-radius:10px;overflow:hidden}
.appointment-request-detail-page .request-facts>div{min-width:0;padding:12px}
.appointment-request-detail-page .request-facts span{font-size:9px}
.appointment-request-detail-page .request-facts strong{font-size:13px;line-height:1.4}
.appointment-request-detail-page .request-facts a{overflow-wrap:anywhere}
.appointment-request-detail-page .appointment-notes{margin-top:12px;padding:13px;border-radius:9px}
.appointment-request-detail-page .appointment-notes span{font-size:9px}
.appointment-request-detail-page .appointment-notes p{font-size:12px;line-height:1.5}
.appointment-request-detail-page .customer-appointment-link{margin-top:12px;padding:12px;border-radius:9px}
.appointment-request-detail-page .request-actions{display:grid;gap:8px}
.appointment-request-detail-page .request-actions>p,.appointment-request-detail-page .request-actions>h2,.appointment-request-detail-page .request-actions>.muted-note{margin-bottom:3px}
.appointment-request-detail-page .request-actions>.muted-note{font-size:11px;line-height:1.5}
.appointment-request-detail-page .request-actions :is(form,.button,.text-button){width:100%;margin:0}
.appointment-request-detail-page .request-actions :is(.button,.text-button){display:grid;place-items:center;min-height:46px;padding:9px 7px;font-size:10px;text-align:center}
.appointment-request-detail-page .request-actions .button-primary{order:1;min-height:50px}
.appointment-request-detail-page .request-actions .whatsapp-action{order:2;grid-auto-flow:column;grid-auto-columns:max-content;justify-content:center;gap:8px}
.appointment-request-detail-page .request-actions>a:not(.button-primary):not(.whatsapp-action){order:3}
.appointment-request-detail-page .request-actions form{order:4}
.appointment-request-detail-page .request-actions .danger-link{border:1px solid #e7bebe;background:#fff5f5}
}
/* Mobiele behandelingen */
@media(max-width:700px){
.treatments-page .page-shell,.treatment-form-page .page-shell{padding-top:22px}
.treatments-page .register-heading{gap:16px;margin-bottom:16px}
.treatments-page .register-heading h1,.treatment-form-page .page-intro h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.treatments-page .register-heading>div>p:last-child,.treatment-form-page .page-intro>p:last-child{margin-top:14px;font-size:12px;line-height:1.5}
.treatments-page .register-heading>.button{width:100%;min-height:48px}
.treatments-page .register-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:14px;border-radius:14px;overflow:hidden}
.treatments-page .register-summary article{min-height:86px;padding:12px}
.treatments-page .register-summary span{font-size:9px;line-height:1.35}
.treatments-page .register-summary strong{font-size:30px}
.treatments-page .treatment-register{padding:18px 14px;border-radius:14px}
.treatments-page .treatment-register>header{margin-bottom:12px}
.treatments-page .treatment-register h2{font-size:29px}
.treatments-page .treatment-list{gap:10px}
.treatments-page .treatment-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--line)}
.treatments-page .treatment-row:hover{background:var(--line)}
.treatments-page .treatment-row>*{display:grid!important;justify-self:stretch;align-content:start;min-width:0;padding:10px;background:var(--paper)}
.treatments-page .treatment-row>.treatment-name{grid-column:1/-1;padding:14px}
.treatments-page .treatment-name strong{font:400 23px/1.1 var(--serif);overflow-wrap:anywhere}
.treatments-page .treatment-name small{margin-top:5px;font-size:10px;line-height:1.45}
.treatments-page .treatment-row>b:before{content:'Prijs'}
.treatments-page .treatment-row>span:nth-child(3):before{content:'Duur'}
.treatments-page .treatment-row>.treatment-margin:before{content:'Marge'}
.treatments-page .treatment-row>span:nth-child(5):before{content:'Punten'}
.treatments-page .treatment-row>span:nth-child(6):before{content:'Status'}
.treatments-page .treatment-row>:is(b,span):before{display:block;margin-bottom:5px;color:var(--muted);font:900 9px/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase}
.treatments-page .treatment-row>b{font-size:20px}
.treatments-page .treatment-row>span{font-size:10px;line-height:1.35}
.treatments-page .treatment-row>span small{margin-top:3px;font-size:9px;line-height:1.4}
.treatments-page .treatment-row>.treatment-margin strong{font-size:13px}
.treatments-page .treatment-actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;gap:8px;padding:10px}
.treatments-page .treatment-actions form{width:100%}
.treatments-page .treatment-actions>a,.treatments-page .treatment-actions .text-button{display:grid;place-items:center;width:100%;min-height:44px;padding:8px;border:1px solid var(--line);font-size:10px;text-align:center}
.treatments-page .treatment-actions .danger-link{border-color:#e7bebe;background:#fff5f5}
.treatments-page .treatment-row.is-inactive{opacity:.68}
.treatment-form-page .page-intro{margin-bottom:18px}
.treatment-form-page .treatment-form{margin:0;padding:18px 14px 98px;border-radius:14px}
.treatment-form-page .treatment-form .form-grid{grid-template-columns:1fr;gap:14px}
.treatment-form-page .treatment-form .form-grid>*{grid-column:auto}
.treatment-form-page .treatment-form :is(input,select,textarea){min-width:0;min-height:48px;font-size:16px}
.treatment-form-page .treatment-form textarea{min-height:110px}
.treatment-form-page .treatment-form .consent-field{padding:13px;border-radius:9px}
.treatment-form-page .treatment-form>.action-row{position:fixed;z-index:34;right:0;bottom:68px;left:0;display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,252,249,.96);box-shadow:0 -10px 30px rgba(44,17,32,.09);backdrop-filter:blur(14px)}
.treatment-form-page .treatment-form>.action-row .button{min-height:48px}
.treatment-form-page .treatment-materials{margin-top:14px;padding:18px 14px;border-radius:14px;border-top-width:3px}
.treatment-form-page .treatment-materials>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.treatment-form-page .treatment-materials h2{font-size:29px}
.treatment-form-page .treatment-materials>header>a{font-size:10px;line-height:1.4;text-align:right}
.treatment-form-page .treatment-materials-intro{margin:0 0 14px;font-size:11px;line-height:1.5}
.treatment-form-page .material-usage-list{gap:8px;border:0}
.treatment-form-page .material-usage-row{grid-template-columns:1fr;gap:10px;padding:13px;border:1px solid var(--line);border-radius:9px}
.treatment-form-page .material-usage-row>span:first-of-type{grid-column:auto}
.treatment-form-page .material-stock,.treatment-form-page .material-amount{padding-top:8px;border-top:1px solid var(--line)}.treatment-form-page .material-usage-row small{font-size:10px;line-height:1.4}.treatment-form-page .material-usage-row input{min-height:46px;font-size:16px}
.treatment-form-page .treatment-materials .form-notice{padding:12px;font-size:10px;line-height:1.5}
.treatment-form-page .treatment-materials form>.button{width:100%;min-height:48px}
}
/* Mobiele voorraad */
@media(max-width:700px){
.inventory-page .page-shell,.inventory-form-page .page-shell,.inventory-order-page .page-shell{padding-top:22px}
.inventory-page .register-heading,.inventory-form-page .inventory-heading,.inventory-order-page .inventory-order-heading{gap:16px;margin-bottom:16px}
.inventory-page .register-heading h1,.inventory-form-page .inventory-heading h1,.inventory-order-page .inventory-order-heading h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.inventory-page .register-heading>div>p:last-child,.inventory-form-page .inventory-heading>div>p:last-child,.inventory-order-page .inventory-order-heading>div>p:last-child{margin-top:14px;font-size:12px;line-height:1.5}
.inventory-page .register-heading .action-row,.inventory-order-page .inventory-order-heading .action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.inventory-page .register-heading .action-row .button,.inventory-order-page .inventory-order-heading .action-row .button,.inventory-form-page .inventory-heading>.button{width:100%;min-height:46px;padding:8px 6px;font-size:10px;text-align:center}
.inventory-page .inventory-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:14px;border-radius:14px;overflow:hidden}
.inventory-page .inventory-summary article{min-height:86px;padding:12px}
.inventory-page .inventory-summary span{font-size:9px;line-height:1.35}
.inventory-page .inventory-summary strong{font-size:30px}
.inventory-page .inventory-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}
.inventory-page .inventory-toolbar a{display:grid;place-items:center;min-height:44px;padding:8px;font-size:10px}
.inventory-page .inventory-register,.inventory-order-page .order-list-panel{padding:18px 14px;border-radius:14px}
.inventory-page .inventory-register>header{margin-bottom:12px}
.inventory-page .inventory-register h2{font-size:29px}
.inventory-page .inventory-list,.inventory-order-page .inventory-list{gap:10px}
.inventory-page .inventory-row,.inventory-order-page .inventory-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--line)}
.inventory-page .inventory-row:hover,.inventory-order-page .inventory-row:hover{background:var(--line)}
.inventory-page .inventory-row>*,.inventory-order-page .inventory-row>*{display:block!important;min-width:0;padding:11px;background:var(--paper)}
.inventory-page .inventory-row>span:first-child,.inventory-order-page .inventory-row>span:first-child{grid-column:1/-1;padding:14px}
.inventory-page .inventory-row strong,.inventory-order-page .inventory-row strong{font:400 22px/1.1 var(--serif);overflow-wrap:anywhere}
.inventory-page .inventory-row small,.inventory-order-page .inventory-row small{margin-top:5px;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.inventory-page .inventory-row>b:before,.inventory-order-page .inventory-row>b:before{content:'Huidig'}
.inventory-page .inventory-row>span:nth-child(3):before{content:'Minimum'}
.inventory-page .inventory-row>span:nth-child(4):before{content:'Status'}
.inventory-order-page .inventory-row>span:nth-child(3):before{content:'Besteladvies'}
.inventory-order-page .inventory-row>.order-check:before{content:'Afvinken'}
.inventory-page .inventory-row>:is(b,span):not(:first-child):before,.inventory-order-page .inventory-row>:is(b,span,label):not(:first-child):before{display:block;margin-bottom:6px;color:var(--muted);font:900 9px/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase}
.inventory-page .inventory-row>b,.inventory-order-page .inventory-row>b{font-size:21px}
.inventory-page .inventory-row>span:nth-child(n+3),.inventory-order-page .inventory-row>span:nth-child(3){font-size:11px;line-height:1.4}
.inventory-page .inventory-row.is-low{border-left:5px solid #d98922}
.inventory-order-page .order-check{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:7px;font-size:12px;cursor:pointer}
.inventory-order-page .order-check:before{grid-column:1/-1}
.inventory-order-page .order-check input{width:24px;height:24px}.inventory-order-page .order-check input:checked+span{color:#168347;font-weight:900}.inventory-order-page .inventory-row:has(.order-check input:checked){opacity:.58}
.inventory-form-page .inventory-heading>.button{margin-top:0}
.inventory-form-page .inventory-detail-grid{grid-template-columns:1fr;gap:14px}
.inventory-form-page .inventory-form{margin:0;padding:18px 14px 98px;border-radius:14px}
.inventory-form-page .inventory-form .form-grid{grid-template-columns:1fr;gap:14px}
.inventory-form-page .inventory-form .form-grid>*{grid-column:auto}
.inventory-form-page .inventory-form :is(input,select,textarea),.inventory-form-page .inventory-movement-panel :is(input,select,textarea){min-width:0;min-height:48px;font-size:16px}
.inventory-form-page .inventory-form textarea{min-height:100px}
.inventory-form-page .inventory-form .consent-field{padding:13px;border-radius:9px}
.inventory-form-page .inventory-form>.action-row{position:fixed;z-index:34;right:0;bottom:68px;left:0;display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,252,249,.96);box-shadow:0 -10px 30px rgba(44,17,32,.09);backdrop-filter:blur(14px)}
.inventory-form-page .inventory-form>.action-row .button{min-height:48px}
.inventory-form-page .inventory-movement-panel,.inventory-form-page .inventory-history{margin-top:0;padding:18px 14px;border-radius:14px}
.inventory-form-page .inventory-movement-panel h2{font-size:43px}
.inventory-form-page .inventory-movement-form{gap:14px}
.inventory-form-page .inventory-movement-form .button{width:100%;min-height:48px}
.inventory-form-page .inventory-history{margin-top:14px}
.inventory-form-page .inventory-history h2{font-size:29px}
.inventory-form-page .history-list>div{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:11px 0}
.inventory-form-page .history-list strong{font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.inventory-form-page .history-list small{font-size:10px;line-height:1.45}
.inventory-order-page .order-list-panel{margin-top:0}
.inventory-order-page .success-empty{padding:22px 14px;font-size:12px;line-height:1.5;text-align:center}
}
/* Mobiele wachtlijst */
@media(max-width:700px){
.waitlist-page .page-shell,.waitlist-form-page .page-shell,.waitlist-match-page .page-shell{padding-top:22px}
.waitlist-page .waitlist-heading,.waitlist-form-page .waitlist-form-heading,.waitlist-match-page .slot-match-heading{gap:16px;margin-bottom:16px}
.waitlist-page .waitlist-heading h1,.waitlist-form-page .waitlist-form-heading h1,.waitlist-match-page .slot-match-heading h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.waitlist-page .waitlist-heading>div:first-child>p:last-child,.waitlist-form-page .waitlist-form-heading>p,.waitlist-match-page .slot-match-heading>div>p:last-child{margin-top:14px;font-size:12px;line-height:1.5}
.waitlist-page .waitlist-heading .action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.waitlist-page .waitlist-heading .action-row .button{width:100%;min-height:44px;padding:8px 5px;font-size:8px;text-align:center}
.waitlist-page .waitlist-heading .action-row .button:first-child{grid-column:1/-1;min-height:49px}
.waitlist-page .waitlist-heading .action-row .button:last-child:nth-child(even){grid-column:1/-1}
.waitlist-page .waitlist-note{display:grid;grid-template-columns:1fr;gap:5px;margin:0 0 14px;padding:13px 14px;border-radius:11px}
.waitlist-page .waitlist-note strong{font-size:10px}
.waitlist-page .waitlist-note span{font-size:10px;line-height:1.5}
.waitlist-page .waitlist-grid,.waitlist-match-page .waitlist-grid{grid-template-columns:1fr;gap:12px}
.waitlist-page .waitlist-card,.waitlist-match-page .waitlist-card{padding:17px 14px;border-radius:14px;border-top-width:4px}
.waitlist-page .waitlist-card>header,.waitlist-match-page .waitlist-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}
.waitlist-page .waitlist-card h2,.waitlist-match-page .waitlist-card h2{font-size:29px;overflow-wrap:anywhere}
.waitlist-page .waitlist-period,.waitlist-match-page .waitlist-period{padding:6px 8px;font-size:7px;white-space:nowrap}
.waitlist-page .waitlist-details,.waitlist-match-page .waitlist-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:14px;border-radius:9px;overflow:hidden;background:var(--line)}
.waitlist-page .waitlist-details>div,.waitlist-match-page .waitlist-details>div{min-width:0;padding:11px;border:0;background:var(--paper)}
.waitlist-page .waitlist-details .wide,.waitlist-match-page .waitlist-details .wide{grid-column:1/-1}
.waitlist-page .waitlist-details dt,.waitlist-match-page .waitlist-details dt{font-size:7px}
.waitlist-page .waitlist-details dd,.waitlist-match-page .waitlist-details dd{font-size:10px;line-height:1.45}
.waitlist-page .waitlist-actions,.waitlist-match-page .waitlist-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:14px}
.waitlist-page .waitlist-actions>*,.waitlist-match-page .waitlist-actions>*{width:100%;min-width:0;margin:0}
.waitlist-page .waitlist-actions .whatsapp-button,.waitlist-match-page .waitlist-actions .whatsapp-button{grid-column:1/-1;min-height:49px}
.waitlist-page .waitlist-actions :is(.button,.text-button),.waitlist-match-page .waitlist-actions :is(.button,.text-button){display:grid;place-items:center;width:100%;min-height:43px;padding:8px 6px;font-size:8px;line-height:1.25;text-align:center;white-space:normal}
.waitlist-page .waitlist-actions .text-button{border:1px solid var(--line);background:var(--paper)}
.waitlist-page .waitlist-empty,.waitlist-match-page .waitlist-empty{padding:22px 16px;border-radius:14px;text-align:center}
.waitlist-page .waitlist-empty strong,.waitlist-match-page .waitlist-empty strong{font-size:28px}
.waitlist-page .waitlist-empty p,.waitlist-match-page .waitlist-empty p{font-size:11px;line-height:1.5}
.waitlist-page .waitlist-empty .button,.waitlist-match-page .waitlist-empty .button{width:100%;min-height:47px}
.waitlist-form-page .waitlist-form-heading{display:grid}
.waitlist-form-page .waitlist-form-heading>p{margin:0}
.waitlist-form-page .waitlist-form{margin:0;padding:18px 14px 98px;border-radius:14px}
.waitlist-form-page .waitlist-form .form-grid{grid-template-columns:1fr;gap:14px}
.waitlist-form-page .waitlist-form .form-grid>*{grid-column:auto}
.waitlist-form-page .waitlist-date-range{grid-column:1/-1;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--cream)}
.waitlist-form-page .waitlist-date-range>legend{float:left;width:100%;margin:0 0 12px;padding:0;color:var(--wine);font-size:10px}.waitlist-form-page .waitlist-date-range>div{clear:both;grid-template-columns:1fr;gap:14px}.waitlist-form-page .waitlist-date-range label{display:grid;gap:6px}.waitlist-form-page .waitlist-date-range small{font-size:10px;line-height:1.4}
.waitlist-form-page .waitlist-form :is(input,select,textarea){min-width:0;min-height:48px;font-size:16px}
.waitlist-form-page .waitlist-form textarea{min-height:110px}
.waitlist-form-page .waitlist-form>.action-row{position:fixed;z-index:34;right:0;bottom:68px;left:0;display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,252,249,.96);box-shadow:0 -10px 30px rgba(44,17,32,.09);backdrop-filter:blur(14px)}
.waitlist-form-page .waitlist-form>.action-row .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:9px 13px;font-size:10px;white-space:nowrap}
.waitlist-match-page .slot-match-heading>.button{width:100%;min-height:46px}
.waitlist-match-page .slot-match-form{grid-template-columns:1fr;gap:13px;margin-bottom:14px;padding:18px 14px;border-radius:14px}
.waitlist-match-page .slot-match-form :is(input,select){min-width:0;min-height:48px;font-size:16px}
.waitlist-match-page .slot-match-time-range{padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}.waitlist-match-page .slot-match-time-range legend{float:left;width:100%;margin:0 0 10px;padding:0;color:var(--wine);font-size:10px}.waitlist-match-page .slot-match-time-range>div{clear:both;gap:10px}.waitlist-match-page .slot-match-time-range label{display:grid;gap:5px;font-size:9px}
.waitlist-match-page .slot-match-form .button{width:100%;min-height:49px}
.waitlist-match-page .slot-match-error{margin-bottom:14px;padding:13px;border-radius:10px}
.waitlist-match-page .slot-match-summary{display:grid;grid-template-columns:1fr;gap:9px;margin:0 0 14px;padding:17px 14px;border-radius:14px}
.waitlist-match-page .slot-match-summary h2{font-size:28px;line-height:1.1}
.waitlist-match-page .slot-match-summary>span{justify-self:start;padding:7px 9px;border-radius:999px;font-size:8px}
}
/* Mobiele instellingen */
@media(max-width:700px){
.settings-page .page-shell{padding-top:22px}
.settings-page .settings-heading{display:grid;gap:12px;margin-bottom:16px}
.settings-page .settings-heading h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.settings-page .settings-heading>p{margin:0;font-size:12px;line-height:1.5}
.settings-page .settings-card{margin:0;padding:18px 14px;border-radius:14px}
.settings-page .settings-card .form-grid{grid-template-columns:1fr;gap:14px}
.settings-page .settings-card .form-grid>*{grid-column:auto}
.settings-page .settings-card :is(input,select,textarea){min-width:0;min-height:48px;font-size:16px}
.settings-page .settings-note{padding:13px;border-left-width:4px;border-radius:0 9px 9px 0}
.settings-page .settings-note strong{font-size:10px}
.settings-page .settings-note p{font-size:10px;line-height:1.5}
.settings-page .settings-card .action-row{position:sticky;z-index:20;bottom:68px;display:grid;grid-template-columns:1fr auto;gap:8px;margin:2px -4px -4px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,252,249,.96);box-shadow:0 -8px 24px rgba(44,17,32,.09);backdrop-filter:blur(14px)}
.settings-page .settings-card .action-row .button{min-height:48px;padding:8px;font-size:10px}
.settings-page .system-backup-action{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px;padding:18px 14px;border-left-width:4px;border-radius:0 14px 14px 0}
.settings-page .system-backup-action h2{font-size:29px}
.settings-page .system-backup-action p:last-child{font-size:11px;line-height:1.5}
.settings-page .system-backup-action .system-state{justify-self:start;padding:8px 10px;font-size:10px}
.settings-page .system-backup-action form,.settings-page .system-backup-action .button{width:100%}
.settings-page .system-backup-action .button{min-height:47px;font-size:10px}
.settings-page .calendar-connect{scroll-margin-top:84px;margin-top:22px}
.settings-page .calendar-connect>header{grid-template-columns:1fr;gap:13px;margin-bottom:16px}
.settings-page .calendar-connect h2{font-size:clamp(39px,12vw,52px);line-height:.92}
.settings-page .calendar-connect>header>p{font-size:11px;line-height:1.55}
.settings-page .calendar-connect-grid{grid-template-columns:1fr;gap:1px;border-radius:14px;overflow:hidden;box-shadow:none}
.settings-page .calendar-link-card{padding:18px 14px}
.settings-page .calendar-link-card h3{font-size:27px}
.settings-page .calendar-link-card>p{margin-bottom:18px;font-size:11px;line-height:1.5}
.settings-page .calendar-url-label{margin-bottom:14px;font-size:10px}
.settings-page .calendar-url-row{grid-template-columns:1fr;gap:8px}
.settings-page .calendar-url-row input{min-width:0;min-height:48px;font-size:11px}
.settings-page .calendar-url-row .button{width:100%;min-height:44px}
.settings-page .calendar-link-card .action-row{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
.settings-page .calendar-link-card .action-row .button{width:100%;min-height:46px;padding:8px;font-size:10px}
.settings-page .calendar-provider-list article{grid-template-columns:34px minmax(0,1fr);gap:11px;padding:15px 14px}
.settings-page .calendar-provider-list article>span{width:33px;height:33px;font-size:10px}
.settings-page .calendar-provider-list h3{font-size:21px}
.settings-page .calendar-provider-list p{font-size:10px;line-height:1.5}
.settings-page .calendar-availability{display:grid;grid-template-columns:1fr;gap:6px;margin-top:14px;padding:14px;border-radius:0 10px 10px 0}
.settings-page .calendar-availability strong{min-width:0;font-size:10px}
.settings-page .calendar-availability span{font-size:10px;line-height:1.5}
.settings-page .calendar-security{margin-top:12px;border-radius:10px;overflow:hidden}
.settings-page .calendar-security>summary{padding:15px;font-size:10px}
.settings-page .calendar-security>div{display:grid;grid-template-columns:1fr;gap:13px;padding:0 15px 15px}
.settings-page .calendar-security p{font-size:10px;line-height:1.5}
.settings-page .calendar-security>div>a{width:100%;min-height:45px;padding:8px;font-size:10px;text-align:center}
}
/* Mobiel activiteitenlogboek */
@media(min-width:701px){
.activity-page .activity-filter-disclosure{display:block;flex:0 1 650px;width:min(650px,100%)}
.activity-page .activity-filter-disclosure>summary{display:none}
.activity-page .activity-filter-disclosure .activity-filters{width:100%}
}
@media(max-width:700px){
.activity-page .page-shell{padding-top:22px}
.activity-page .activity-heading{display:grid;gap:16px;margin-bottom:16px}
.activity-page .activity-heading h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.activity-page .activity-heading>div:first-child>p:last-child{margin-top:14px;font-size:12px;line-height:1.5}
.activity-page .activity-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 9px;width:100%;padding:17px 14px;border-radius:14px}.activity-page .activity-filters label:nth-of-type(-n+2),.activity-page .activity-filters .button{grid-column:1/-1}
.activity-page .activity-filters :is(input,select){min-width:0;min-height:48px;font-size:16px}
.activity-page .activity-filters .button{grid-column:1/-1;width:100%;min-height:49px}
.activity-page .activity-toolbar{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:14px}
.activity-page .activity-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:0;padding:13px 14px;border-left-width:4px;border-radius:0 10px 10px 0}
.activity-page .activity-summary strong{font-size:34px}
.activity-page .activity-summary span{font-size:10px;line-height:1.35}
.activity-page .activity-toolbar form,.activity-page .activity-toolbar .button{width:100%}
.activity-page .activity-toolbar .button{min-height:46px;padding:8px;font-size:10px}
.activity-page .activity-timeline{display:grid;gap:10px}
.activity-page .activity-timeline>li{grid-template-columns:12px minmax(0,1fr);gap:9px}
.activity-page .activity-timeline>li:before{top:8px;bottom:-18px;left:5px}
.activity-page .activity-timeline time{grid-column:2;padding:0 0 2px;font-size:10px;line-height:1.35;text-align:left}
.activity-page .activity-mark{grid-column:1;grid-row:1/3;width:11px;height:11px;margin-top:3px;border-width:2px}
.activity-page .activity-timeline article{grid-column:2;margin:0;padding:15px 13px;border-radius:11px;box-shadow:none}
.activity-page .activity-timeline article>div:first-child{display:grid;grid-template-columns:1fr;gap:4px}
.activity-page .activity-timeline article .eyebrow{font-size:9px}
.activity-page .activity-timeline h2{font-size:25px;line-height:1.1;text-align:left;overflow-wrap:anywhere}
.activity-page .activity-subject{margin:8px 0 12px;font-size:17px;line-height:1.3;overflow-wrap:anywhere}
.activity-page .activity-timeline dl{display:grid;grid-template-columns:1fr;gap:5px;margin-bottom:12px}
.activity-page .activity-timeline dl>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;padding:8px;border-radius:7px;font-size:10px;line-height:1.4}
.activity-page .activity-timeline dd{min-width:0;overflow-wrap:anywhere}
.activity-page .activity-card-footer{display:grid;grid-template-columns:1fr;gap:9px;padding-top:10px;border-top:1px solid var(--line)}
.activity-page .activity-card-footer>small{font-size:10px;line-height:1.4}
.activity-page .activity-card-footer form{width:100%}
.activity-page .activity-delete{width:100%;min-height:44px;padding:8px;border:1px solid #e7bebe;border-radius:7px;background:#fff5f5;font-size:10px;text-align:center}
.activity-page .activity-empty{padding:24px 16px;border-radius:14px;font-size:12px;text-align:center}
.activity-page .pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.activity-page .pagination span{grid-column:1/-1;grid-row:1;text-align:center}
.activity-page .pagination .button{width:100%;min-height:44px;padding:8px;font-size:10px}
.activity-page .activity-filter-disclosure{display:block;width:100%}
.activity-page .activity-filter-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:49px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:900;letter-spacing:.06em;list-style:none;text-transform:uppercase;cursor:pointer}
.activity-page .activity-filter-disclosure>summary::-webkit-details-marker{display:none}
.activity-page .activity-filter-disclosure>summary:after{color:var(--pink);content:'+';font:700 23px/1 var(--serif)}
.activity-page .activity-filter-disclosure[open]>summary:after{content:'−'}
.activity-page .activity-filter-disclosure>summary strong{margin-left:auto;color:var(--pink);font-size:8px;letter-spacing:.08em}
.activity-page .activity-filter-disclosure[open]>summary{border-color:var(--pink);border-radius:11px 11px 0 0;background:var(--rose)}
.activity-page .activity-filter-disclosure .activity-filters{margin-top:1px;border-radius:0 0 14px 14px}
}
@media(max-width:370px){
.activity-page .activity-filters{grid-template-columns:1fr}
.activity-page .activity-filters label,.activity-page .activity-filters .button{grid-column:auto}
}
/* Mobiele rapporten en export */
@media(max-width:700px){
.reports-page .page-shell{padding-top:22px}
.reports-page .report-heading{display:grid;gap:16px;margin-bottom:16px}
.reports-page .report-heading h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.reports-page .report-heading>div:first-child>p:last-child{margin-top:14px;font-size:12px;line-height:1.5}
.reports-page .report-period{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;padding:17px 14px;border-radius:14px}
.reports-page .report-period label{min-width:0}
.reports-page .report-period input{min-width:0;min-height:48px;font-size:16px}
.reports-page .report-period .button{grid-column:1/-1;width:100%;min-height:49px}
.reports-page .report-notice{grid-template-columns:1fr;gap:5px;margin-bottom:14px;padding:13px 14px;border-left-width:4px;border-radius:0 10px 10px 0}
.reports-page .report-notice strong{font-size:20px}
.reports-page .report-notice span{font-size:10px;line-height:1.5}
.reports-page .report-grid{gap:10px}
.reports-page .report-card{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:11px;padding:15px 13px;border-radius:12px;box-shadow:none}
.reports-page .report-number{width:38px;height:38px;font-size:15px}
.reports-page .report-card>div:nth-child(2){min-width:0}
.reports-page .report-card .eyebrow{font-size:7px}
.reports-page .report-card h2{font-size:27px;line-height:1.08;overflow-wrap:anywhere}
.reports-page .report-card p:not(.eyebrow){font-size:10px;line-height:1.5}
.reports-page .report-total{margin-top:8px;font-size:25px}
.reports-page .report-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.reports-page .report-actions .button{width:100%;min-height:44px;padding:8px 5px;font-size:8px;text-align:center}
}
@media(max-width:370px){
.reports-page .report-period{grid-template-columns:1fr}
.reports-page .report-period .button{grid-column:auto}
.reports-page .report-actions{grid-template-columns:1fr}
.reports-page .report-actions .button{min-height:46px;font-size:10px}
}
/* Mobiele voetbalk en systeemstatus */
@media(max-width:700px){
.club-authenticated .site-footer{display:none!important}
.system-status-page .page-shell{padding-top:22px}
.system-status-page .system-heading{display:grid;gap:16px;margin-bottom:16px}
.system-status-page .system-heading h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.system-status-page .system-heading>div:first-child>p:last-child{margin-top:14px;font-size:12px;line-height:1.5}
.system-status-page .system-overall{grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;padding:15px 14px;border-radius:12px;box-shadow:none}
.system-status-page .system-overall .system-light{width:12px;height:12px;margin-top:3px}
.system-status-page .system-overall small{font-size:7px}
.system-status-page .system-overall strong{font-size:20px;line-height:1.2}
.system-status-page .system-overall span:last-child{font-size:10px;line-height:1.4}
.system-status-page .system-status-grid{grid-template-columns:1fr;gap:10px}
.system-status-page .system-status-card{display:grid;grid-template-columns:1fr;min-height:0;padding:16px 14px;border-top-width:4px;border-radius:12px;box-shadow:none}
.system-status-page .system-status-card>header{gap:10px}
.system-status-page .system-status-card>header .system-light{width:10px;height:10px}
.system-status-page .system-status-card>header .eyebrow{font-size:7px}
.system-status-page .system-status-card h2{margin:12px 0 5px;font-size:27px;line-height:1.1}
.system-status-page .system-status-card>strong{font-size:19px;line-height:1.25;overflow-wrap:anywhere}
.system-status-page .system-status-card>p{margin:8px 0 13px;font-size:10px;line-height:1.5}
.system-status-page .system-status-card>a{min-height:40px;padding:10px 0 0;border-top:1px solid var(--line);font-size:8px}
.system-status-page .system-backup-action{display:grid;grid-template-columns:1fr;gap:13px;margin-top:14px;padding:18px 14px;border-left-width:4px;border-radius:0 14px 14px 0;box-shadow:none}
.system-status-page .system-backup-action h2{font-size:29px;line-height:1.08}
.system-status-page .system-backup-action p:last-child{font-size:10px;line-height:1.5}
.system-status-page .system-backup-action form,.system-status-page .system-backup-action .button{width:100%}
.system-status-page .system-backup-action .button{min-height:49px}
.system-status-page .system-note{display:grid;grid-template-columns:1fr;gap:5px;margin-top:14px;padding:13px 14px;border-radius:10px}
.system-status-page .system-note strong{font-size:10px}
.system-status-page .system-note span{font-size:10px;line-height:1.5}
}
/* Mobiele app-installatie en offlineweergave */
@media(max-width:700px){
.install-page .page-shell{padding-top:22px}
.install-page .install-heading{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:end;gap:13px;margin-bottom:16px}
.install-page .install-heading h1{font-size:clamp(41px,12.5vw,56px);line-height:.9}
.install-page .install-heading>div:first-child>p:last-child{margin-top:14px;font-size:11px;line-height:1.5}
.install-page .install-app-preview{align-self:end;width:88px;min-height:112px;padding:10px;border-radius:16px;box-shadow:6px 7px 0 var(--rose)}
.install-page .install-app-preview img{width:54px;height:54px}
.install-page .install-app-preview strong{margin-top:5px;font-size:18px}
.install-page .install-app-preview span{font-size:7px;line-height:1.25}
.install-page .install-status{display:grid;grid-template-columns:1fr;gap:5px;margin-bottom:14px;padding:13px 14px;border-left-width:4px;border-radius:0 10px 10px 0}
.install-page .install-status strong{font-size:10px}
.install-page .install-status span{font-size:10px;line-height:1.5}
.install-page .install-grid{grid-template-columns:1fr;gap:10px}
.install-page .install-grid article{display:grid;grid-template-columns:34px minmax(0,1fr);align-content:start;gap:0 11px;min-height:0;padding:16px 14px;border-radius:12px}
.install-page .install-step{grid-column:1;grid-row:1/4;display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--pink);border-radius:50%;font-size:8px}
.install-page .install-grid h2{grid-column:2;margin:1px 0 10px;font-size:28px;line-height:1.05}
.install-page .install-grid ol{grid-column:2;margin:0 0 12px;padding-left:17px;font-size:10px;line-height:1.5}
.install-page .install-grid li{margin-bottom:7px}
.install-page .install-grid p{grid-column:2;margin:0;font-size:9px;line-height:1.5}
.install-page .install-grid .button{grid-column:2;width:100%;min-height:46px;margin:0 0 10px;padding:8px;font-size:8px}
.offline-page .page-shell{width:calc(100% - 24px);min-height:100svh;padding:20px 0}
.offline-page .offline-card{width:100%;padding:28px 18px;border-radius:16px;box-shadow:none}
.offline-page .offline-card img{width:82px;height:82px;margin-bottom:17px}
.offline-page .offline-card h1{font-size:clamp(42px,13vw,56px);line-height:.92}
.offline-page .offline-card>p:not(.eyebrow){font-size:11px;line-height:1.55}
.offline-page .offline-card .button{width:100%;min-height:49px;margin-top:8px}
}
@media(max-width:370px){
.install-page .install-heading{grid-template-columns:1fr}
.install-page .install-app-preview{justify-self:start;width:100%;min-height:90px;grid-template-columns:64px 1fr;column-gap:10px;text-align:left}
.install-page .install-app-preview img{grid-row:1/3}
.install-page .install-app-preview strong{justify-self:start}
}
/* Mobiel wachtwoord en veilig accountmenu */
@media(max-width:700px){
.club-authenticated .account-menu-panel{display:flex;max-height:min(72dvh,620px);padding:10px;overflow:hidden}
.club-authenticated .account-menu-links{min-height:0;padding:0 2px 8px 0;overflow-y:auto;overscroll-behavior:contain}
.club-authenticated .account-menu-footer{position:sticky;z-index:2;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:0 0 auto;gap:1px;padding-top:8px;border-top:1px solid var(--line);background:var(--paper);box-shadow:0 -12px 26px rgba(43,16,34,.09)}
.club-authenticated .account-menu-footer a,.club-authenticated .account-menu-footer .text-button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:9px 7px;border:1px solid var(--line);font-size:9px;line-height:1.3;text-align:center}
.club-authenticated .account-menu-footer .text-button{color:var(--red);background:#fff5f5}
.password-page .page-shell{padding-top:22px}
.password-page .page-intro{margin-bottom:16px}
.password-page .page-intro h1{font-size:clamp(43px,13vw,58px);line-height:.9}
.password-page .narrow-form{gap:15px;margin:0;padding:18px 14px 90px;border-radius:14px}
.password-page .narrow-form label{min-width:0}
.password-page .narrow-form input{min-width:0;min-height:50px;font-size:16px}
.password-page .narrow-form small{font-size:9px;line-height:1.45}
.password-page .narrow-form>.button{position:fixed;z-index:34;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));left:12px;width:calc(100% - 24px);min-height:50px;box-shadow:0 -10px 30px rgba(44,17,32,.09)}
}
@media(max-width:390px){
.club-authenticated .account-menu-footer{grid-template-columns:1fr}
.club-authenticated .account-menu-footer a,.club-authenticated .account-menu-footer .text-button{min-height:44px}
}
@media(max-width:700px) and (hover:none){
.club-authenticated .account-menu-footer a:hover{background:var(--paper);color:var(--ink)}
.club-authenticated .account-menu-footer .text-button:hover{background:#fff5f5;color:var(--red)}
}
/* Mobiel privacy-onderhoud */
@media (max-width:700px){
  .privacy-maintenance-page .privacy-heading{margin-bottom:22px}
  .privacy-maintenance-page .privacy-heading h1{font-size:clamp(45px,13vw,62px);line-height:.92}
  .privacy-maintenance-page .privacy-heading p:not(.eyebrow){max-width:34rem;font-size:15px;line-height:1.6}
  .privacy-maintenance-page .privacy-counts{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 16px;border:1px solid var(--line);background:var(--paper)}
  .privacy-maintenance-page .privacy-counts article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 18px;min-height:82px;padding:15px 18px;border:0;border-bottom:1px solid var(--line)}
  .privacy-maintenance-page .privacy-counts article:last-child{border-bottom:0}
  .privacy-maintenance-page .privacy-counts span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .privacy-maintenance-page .privacy-counts strong{grid-column:2;grid-row:1 / span 2;font:400 42px/1 var(--serif);font-variant-numeric:tabular-nums;color:var(--wine)}
  .privacy-maintenance-page .privacy-counts small{grid-column:1;color:var(--muted);font-size:12px}
  .privacy-maintenance-page .privacy-maintenance-panel{display:grid;gap:18px;padding:18px}
  .privacy-maintenance-page .privacy-assurance{display:grid;grid-template-columns:38px 1fr;align-items:start;gap:12px}
  .privacy-maintenance-page .privacy-assurance>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e7f5ee;color:var(--green);font-weight:900}
  .privacy-maintenance-page .privacy-assurance p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
  .privacy-maintenance-page .privacy-assurance strong{display:block;margin-bottom:3px;color:var(--ink);font-size:14px}
  .privacy-maintenance-page .privacy-maintenance-panel form,.privacy-maintenance-page .privacy-maintenance-panel button{width:100%}
  .privacy-maintenance-page .privacy-maintenance-panel button{min-height:52px}
}
@media (hover:none) and (pointer:coarse){
  .privacy-maintenance-page .privacy-counts article:hover{transform:none;background:var(--paper)}
}
/* Mobiele dagafsluiting */
@media (max-width:700px){
  .daily-close-page .daily-close-heading{gap:20px;margin-bottom:22px}
  .daily-close-page .daily-close-heading h1{font-size:clamp(46px,13vw,64px);line-height:.92}
  .daily-close-page .daily-close-heading>div>p:last-child{margin-top:16px;font-size:15px;line-height:1.55}
  .daily-close-page .date-jump{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px;border:1px solid var(--line);background:var(--paper)}
  .daily-close-page .date-jump label{min-width:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
  .daily-close-page .date-jump input{width:100%;min-height:48px;margin-top:6px;font-size:16px}
  .daily-close-page .date-jump .button{min-height:48px;padding-inline:18px}
  .daily-close-page .daily-close-status{align-items:center;gap:14px;margin-bottom:14px;padding:18px;border-left-width:4px;box-shadow:none}
  .daily-close-page .daily-close-status h2{font-size:24px;line-height:1.05}
  .daily-close-page .daily-close-status p:not(.eyebrow){font-size:13px;line-height:1.45}
  .daily-close-page .daily-close-mark{width:50px;height:50px;flex-basis:50px;font-size:28px}
  .daily-close-page .daily-close-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:16px;border:1px solid var(--line);background:var(--line)}
  .daily-close-page .daily-close-stats article{min-height:108px;padding:16px;background:var(--paper);box-shadow:none}
  .daily-close-page .daily-close-stats article.attention-stat{background:#fff8ed;box-shadow:inset 0 3px 0 #d98922}
  .daily-close-page .daily-close-stats span{font-size:10px;line-height:1.25}
  .daily-close-page .daily-close-stats strong{font-size:clamp(27px,8vw,38px);line-height:1;font-variant-numeric:tabular-nums}
  .daily-close-page .daily-close-list{padding:0;overflow:hidden}
  .daily-close-page .daily-close-list>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:18px}
  .daily-close-page .daily-close-list>header h2{font-size:25px}
  .daily-close-page .daily-close-list>header>a{min-height:42px;padding:11px 12px;border:1px solid var(--line);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-align:center}
  .daily-close-page .daily-close-list .row-list{border-top:1px solid var(--line)}
  .daily-close-page .daily-close-list .row-list>a{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 12px;align-items:start;padding:15px 18px;border-bottom:1px solid var(--line)}
  .daily-close-page .daily-close-list .row-list>a:last-child{border-bottom:0}
  .daily-close-page .daily-close-list .row-list>a>b{grid-column:2;font-size:11px;line-height:1.35}
  .daily-close-page .daily-close-list .visit-mark{grid-row:1 / span 2;width:52px;height:40px;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
  .daily-close-page .daily-close-list .empty{margin:0;padding:28px 18px}
  .daily-close-page .daily-close-extra{margin:0;padding:18px;border-top:1px solid var(--line)}
  .daily-close-page .daily-close-action{padding:18px}
  .daily-close-page .daily-close-action form{display:grid;grid-template-columns:1fr;gap:14px}
  .daily-close-page .daily-close-action textarea{min-height:92px;font-size:16px}
  .daily-close-page .daily-close-action form .button{width:100%;min-width:0;min-height:52px}
}
@media (max-width:390px){
  .daily-close-page .date-jump{grid-template-columns:1fr}
  .daily-close-page .date-jump .button{width:100%}
  .daily-close-page .daily-close-list>header{grid-template-columns:1fr}
  .daily-close-page .daily-close-list>header>a{width:100%}
}
@media (hover:none) and (pointer:coarse){
  .daily-close-page .daily-close-list .row-list>a:hover{transform:none;padding-left:18px}
}
/* Mobiele websitestatistieken */
@media (max-width:700px){
  .statistics-page .page-shell{padding-top:22px}
  .statistics-page .analytics-heading{gap:18px;margin-bottom:20px}
  .statistics-page .analytics-heading h1{font-size:clamp(45px,13vw,62px);line-height:.91}
  .statistics-page .analytics-heading>div:first-child>p:last-child{margin-top:14px;font-size:12px;line-height:1.45}
  .statistics-page .period-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;width:100%;padding:0;overflow:hidden;border-radius:12px;background:var(--line)}
  .statistics-page .period-picker a{display:grid;place-items:center;min-height:46px;padding:8px 4px;background:var(--paper);font-size:9px;line-height:1.2;text-align:center}
  .statistics-page .period-picker a[aria-current=page]{background:var(--wine);color:#fff;box-shadow:inset 0 -3px 0 var(--pink)}
  .statistics-page .analytics-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:16px;box-shadow:none}
  .statistics-page .analytics-metrics article{min-height:122px;padding:15px}
  .statistics-page .analytics-metrics article>span:first-child{font-size:9px;line-height:1.3;letter-spacing:.08em}
  .statistics-page .analytics-metrics article>strong{margin:auto 0 8px;font-size:clamp(34px,10vw,46px)}
  .statistics-page .metric-trend{font-size:9px;line-height:1.35}
  .statistics-page .panel{margin-bottom:16px;padding:18px}
  .statistics-page .panel>header{display:grid;gap:8px;margin-bottom:16px}
  .statistics-page .panel>header h2{font-size:27px;line-height:1.05}
  .statistics-page .analytics-actions-panel>header>span{justify-self:start;padding:5px 8px;border-radius:999px;background:#e7f5ee;color:var(--green);font-size:8px}
  .statistics-page .analytics-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
  .statistics-page .analytics-actions-grid article{min-height:112px;padding:14px}
  .statistics-page .analytics-actions-grid article>span{font-size:8px;line-height:1.3}
  .statistics-page .analytics-actions-grid article>strong{margin:auto 0 3px;font-size:36px}
  .statistics-page .analytics-actions-grid article>small{font-size:10px;line-height:1.35}
  .statistics-page .analytics-conversion-panel>header>strong{justify-self:start;color:var(--pink);font-size:13px}
  .statistics-page .conversion-funnel{display:grid;grid-template-columns:1fr;gap:0}
  .statistics-page .conversion-funnel article{display:grid;grid-template-columns:32px auto 1fr;align-items:center;gap:10px;min-height:76px;padding:13px 14px}
  .statistics-page .conversion-funnel article>span{grid-column:1;grid-row:1}
  .statistics-page .conversion-funnel article>strong{grid-column:2;grid-row:1;margin:0;font-size:38px}
  .statistics-page .conversion-funnel article>small{grid-column:3;grid-row:1;font-size:11px;line-height:1.35}
  .statistics-page .conversion-funnel>i{height:24px;line-height:24px;text-align:center;transform:rotate(90deg)}
  .statistics-page .conversion-sources{display:grid;gap:8px;margin-top:16px}
  .statistics-page .conversion-sources>strong{margin:0 0 3px}
  .statistics-page .conversion-sources>span{min-width:0}
  .statistics-page .analytics-chart-panel>header{grid-template-columns:1fr}
  .statistics-page .chart-legend{gap:14px;font-size:10px}
  .statistics-page .chart-scroll{margin-inline:-4px;padding-bottom:10px;scrollbar-width:thin}
  .statistics-page .analytics-chart{height:240px}
  .statistics-page .analytics-layout{gap:16px}
  .statistics-page .analytics-table .table-row{grid-template-columns:minmax(0,1fr) auto;padding:13px 0}
  .statistics-page .analytics-table .table-row:hover{padding-left:0}
  .statistics-page .analytics-table .table-row>span{min-width:0}
  .statistics-page .analytics-table .table-row>span strong,.statistics-page .analytics-table .table-row>span small{display:block;overflow-wrap:anywhere}
  .statistics-page .analytics-side{grid-template-columns:1fr;gap:16px}
  .statistics-page .mini-ranking>div{padding:11px 0}
  .statistics-page .privacy-strip{margin-top:16px;padding:15px 16px;font-size:12px;line-height:1.45}
}
@media (max-width:370px){
  .statistics-page .period-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .statistics-page .analytics-actions-grid{grid-template-columns:1fr}
}
@media (hover:none) and (pointer:coarse){
  .statistics-page .analytics-table .table-row:hover{background:transparent;transform:none}
}
/* Mobiel snel zoeken */
@media (max-width:700px){
  .search-page .page-shell{padding-top:22px}
  .search-page .search-heading{gap:14px;margin-bottom:20px}
  .search-page .search-heading h1{font-size:clamp(46px,13vw,62px);line-height:.91}
  .search-page .search-heading>p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
  .search-page .club-search-card{padding:18px;border-radius:14px;box-shadow:0 14px 38px rgba(44,17,32,.07)}
  .search-page .club-search-card:after{display:none}
  .search-page .club-search-card h2{margin-bottom:14px;font-size:27px;line-height:1.05}
  .search-page .club-search-field{grid-template-columns:1fr;gap:10px}
  .search-page .club-search-field input{width:100%;height:54px;padding:8px 2px;font-size:20px}
  .search-page .club-search-field .button{width:100%;min-width:0;min-height:50px}
  .search-page .club-search-form>small{margin-top:10px;font-size:10px;line-height:1.4}
  .search-page .search-result-summary{display:flex;align-items:baseline;flex-direction:row;flex-wrap:wrap;gap:6px;margin:20px 2px 12px}
  .search-page .search-result-summary span{font-size:28px}
  .search-page .search-result-summary strong{font-size:11px;overflow-wrap:anywhere}
  .search-page .search-results-grid{gap:14px}
  .search-page .search-result-panel{padding:0;overflow:hidden;border-radius:14px}
  .search-page .search-result-panel>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:16px 17px;border-bottom:1px solid var(--line)}
  .search-page .search-result-panel>header h2{font-size:26px}
  .search-page .search-result-panel>header>span{width:34px;height:34px}
  .search-page .search-result-panel .row-list>a{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:5px 11px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
  .search-page .search-result-panel .row-list>a:last-child{border-bottom:0}
  .search-page .search-result-panel .row-list>a>b{grid-column:3;grid-row:1 / span 2;max-width:88px;font-size:11px;text-align:right;white-space:normal}
  .search-page .search-result-panel .row-list strong{font-size:14px}
  .search-page .search-result-panel .row-list small{display:block;font-size:10px;line-height:1.4;white-space:normal}
  .search-page .search-result-panel .avatar,.search-page .search-result-panel .visit-mark,.search-page .search-result-panel .gift-mark,.search-page .search-result-panel .search-mark{grid-row:1 / span 2;width:40px;height:40px}
  .search-page .search-empty{margin-top:14px;padding:20px;border-radius:14px}
  .search-page .search-empty strong{font-size:26px}
  .search-page .search-start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:16px;overflow:hidden;border-radius:14px;background:var(--line);box-shadow:0 14px 38px rgba(44,17,32,.07)}
  .search-page .search-start-grid article{min-height:118px;padding:16px;border:0;background:var(--paper)}
  .search-page .search-start-grid span{font-size:9px}
  .search-page .search-start-grid strong{font-size:22px}
  .search-page .search-start-grid small{font-size:10px;line-height:1.4}
  .search-page.has-search-results .search-heading{margin-bottom:12px}
  .search-page.has-search-results .search-heading h1{font-size:42px}
  .search-page.has-search-results .search-heading>p{display:none}
  .search-page.has-search-results .club-search-card{padding:14px}
  .search-page.has-search-results .club-search-card h2{margin-bottom:10px;font-size:22px}
  .search-page.has-search-results .club-search-field{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .search-page.has-search-results .club-search-field input{height:48px;font-size:16px}
  .search-page.has-search-results .club-search-field .button{width:auto;min-height:48px;padding-inline:14px}
  .search-page.has-search-results .club-search-form>small{display:none}
  .search-page.has-search-results .search-result-summary{margin-top:12px}
}
@media (max-width:370px){
  .search-page .search-result-panel .row-list>a{grid-template-columns:38px minmax(0,1fr)}
  .search-page .search-result-panel .row-list>a>b{grid-column:2;grid-row:auto;max-width:none;text-align:left}
}
@media (hover:none) and (pointer:coarse){
  .search-page .search-result-panel .row-list>a:hover{padding-left:16px;background:transparent;transform:none}
}

/* Compacte mobiele inhoudskeuze op lange detailpagina's */
.mobile-section-navigator{display:none}
.customer-photo-upload-disclosure>summary{display:none}
.gift-digital-disclosure>summary{display:none}
.portfolio-upload-disclosure>summary{display:none}
.report-period-disclosure>summary{display:none}
.revenue-expense-disclosure>summary{display:none}
@media(max-width:700px){
  .mobile-section-navigator{display:block;margin:0 0 16px}
  .mobile-section-navigator>summary,
  .customer-photo-upload-disclosure>summary,
  .gift-digital-disclosure>summary,
  .portfolio-upload-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:12px 14px;border:1px solid var(--wine);border-radius:11px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:900;letter-spacing:.08em;list-style:none;text-transform:uppercase;cursor:pointer}
  .mobile-section-navigator>summary::-webkit-details-marker,
  .customer-photo-upload-disclosure>summary::-webkit-details-marker,
  .gift-digital-disclosure>summary::-webkit-details-marker,
  .portfolio-upload-disclosure>summary::-webkit-details-marker{display:none}
  .mobile-section-navigator>summary span{color:var(--pink);font-size:17px;transition:transform .2s}
  .mobile-section-navigator[open]>summary span{transform:rotate(180deg)}
  .mobile-section-navigator>nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-top:0;border-radius:0 0 11px 11px;overflow:hidden;background:var(--line);box-shadow:0 14px 38px rgba(44,17,32,.08)}
  .mobile-section-navigator>nav a{display:flex;min-width:0;min-height:47px;align-items:center;padding:11px 12px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:800;line-height:1.35;text-decoration:none}
  .mobile-section-navigator>nav a:hover,.mobile-section-navigator>nav a:focus-visible{background:var(--rose);color:var(--ink);outline:0}
  .customer-detail-page :is(#klant-dossier,#klant-punten,#klant-bezoeken,#voor-na-fotos,#klant-loyaliteit,#klant-cadeaubonnen),
  .gift-card-detail-page :is(#bon-ontvanger,#bon-betaling,#bon-saldo,#cadeaubon,#bon-historie){scroll-margin-top:86px}
  .customer-photo-upload-disclosure{margin:0 0 18px}
  .customer-photo-upload-disclosure>summary{border-color:var(--line);background:var(--rose);letter-spacing:.06em;text-transform:none}
  .customer-photo-upload-disclosure>summary strong{color:var(--pink);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
  .customer-photo-upload-disclosure>summary:after{color:var(--pink);content:'+';font:700 21px/1 var(--serif)}
  .customer-photo-upload-disclosure[open]>summary{border-color:var(--pink);border-radius:11px 11px 0 0}
  .customer-photo-upload-disclosure[open]>summary:after{content:'−'}
  .customer-photo-upload-disclosure[open]>summary strong{display:none}
  .customer-photo-upload-disclosure .photo-upload-form{margin:1px 0 0;border-radius:0 0 12px 12px}
  .gift-card-detail-page .gift-section-navigator{order:2}
  .gift-card-detail-page .gift-digital-disclosure{order:5;margin-top:16px}
  .gift-card-detail-page .gift-digital-disclosure>summary{border-color:var(--line);background:var(--rose);letter-spacing:.06em;text-transform:none}
  .gift-card-detail-page .gift-digital-disclosure>summary strong{color:var(--pink);font-size:8px;letter-spacing:.06em;text-align:right;text-transform:uppercase}
  .gift-card-detail-page .gift-digital-disclosure>summary:after{color:var(--pink);content:'+';font:700 21px/1 var(--serif)}
  .gift-card-detail-page .gift-digital-disclosure[open]>summary:after{content:'−'}
  .gift-card-detail-page .gift-digital-disclosure[open]>summary strong{display:none}
  .gift-card-detail-page .gift-digital-disclosure .gift-share-grid{margin-top:1px}
  .portfolio-manage-page .portfolio-upload-disclosure>summary{border-color:var(--pink);background:var(--rose);letter-spacing:.06em;text-transform:none}
  .portfolio-manage-page .portfolio-upload-disclosure>summary strong{color:var(--pink);font-size:8px;letter-spacing:.07em;text-transform:uppercase}
  .portfolio-manage-page .portfolio-upload-disclosure>summary:after{color:var(--pink);content:'+';font:700 21px/1 var(--serif)}
  .portfolio-manage-page .portfolio-upload-disclosure[open]>summary:after{content:'−'}
  .portfolio-manage-page .portfolio-upload-disclosure[open]>summary strong{display:none}
  .portfolio-manage-page .portfolio-upload-disclosure .portfolio-upload-form{margin-top:1px;border-radius:0 0 12px 12px}
  .settings-page :is(#instellingen-algemeen,#instellingen-whatsapp,#instellingen-veiligheid,#agenda-koppelen){scroll-margin-top:86px}
  .reports-page .report-period-disclosure{display:block;width:100%}
  .reports-page .report-period-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:12px 14px;border:1px solid var(--pink);border-radius:11px;background:var(--rose);font-size:10px;font-weight:900;letter-spacing:.07em;list-style:none;text-transform:uppercase;cursor:pointer}
  .reports-page .report-period-disclosure>summary::-webkit-details-marker{display:none}
  .reports-page .report-period-disclosure>summary strong{color:var(--pink);font-size:8px;text-align:right}
  .reports-page .report-period-disclosure>summary:after{color:var(--pink);content:'+';font:700 21px/1 var(--serif)}
  .reports-page .report-period-disclosure[open]>summary{border-radius:11px 11px 0 0}
  .reports-page .report-period-disclosure[open]>summary:after{content:'−'}
  .reports-page .report-period-disclosure[open]>summary strong{display:none}
  .reports-page .report-period-disclosure .report-period{margin-top:1px;border-radius:0 0 14px 14px}
  .inventory-page .inventory-register>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}
  .inventory-page .inventory-register>header>strong{padding:6px 8px;border-radius:999px;background:var(--rose);color:var(--pink);font-size:8px;white-space:nowrap}
}
/* Mobiele dagplanning */
@media (max-width:700px){
  .day-plan-page .page-shell{padding-top:22px}
  .day-plan-page .day-plan-heading{gap:18px;margin-bottom:18px}
  .day-plan-page .day-plan-heading h1{font-size:clamp(44px,13vw,60px);line-height:.91}
  .day-plan-page .day-plan-heading>div>p:last-child{margin-top:14px;font-size:13px;line-height:1.5}
  .day-plan-page .day-plan-tools{width:100%;justify-items:stretch;gap:8px}
  .day-plan-page .date-picker-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
  .day-plan-page .date-picker-compact label{min-width:0;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
  .day-plan-page .date-picker-compact input{width:100%;min-height:46px;margin-top:4px;font-size:16px}
  .day-plan-page .date-picker-compact .button{min-height:46px;padding-inline:16px}
  .day-plan-page .day-plan-print{width:100%;min-height:44px;font-size:9px}
  .day-plan-page .day-switcher{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;margin-bottom:14px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
  .day-plan-page .day-switcher>strong{grid-column:1/-1;grid-row:1;width:100%;padding:3px;text-align:center;font-size:12px}
  .day-plan-page .day-switcher>a,.day-plan-page .day-switcher>span{grid-row:2}
  .day-plan-page .day-switcher>a{grid-column:1}
  .day-plan-page .day-switcher>span{display:contents}
  .day-plan-page .day-switcher .text-button{grid-column:2;min-height:44px;padding:11px 9px;text-align:center}
  .day-plan-page .day-switcher>span .button{grid-column:3}
  .day-plan-page .day-switcher .button{display:grid;place-items:center;min-height:44px;padding:8px 7px;font-size:8px;line-height:1.25;text-align:center}
  .day-plan-page .day-plan-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:14px;border-radius:12px;overflow:hidden}
  .day-plan-page .day-plan-summary article{min-height:112px;padding:15px}
  .day-plan-page .day-plan-summary span,.day-plan-page .day-plan-summary small{font-size:8px;line-height:1.35;letter-spacing:.07em}
  .day-plan-page .day-plan-summary strong{font-size:clamp(29px,8vw,39px);font-variant-numeric:tabular-nums}
  .day-plan-page .day-plan-gaps{margin-bottom:14px;padding:18px;border-radius:12px}
  .day-plan-page .day-plan-gaps>header{display:grid;gap:9px;margin-bottom:13px}
  .day-plan-page .day-plan-gaps>header h2{font-size:26px}
  .day-plan-page .day-plan-gaps>header>a{font-size:11px}
  .day-plan-page .day-plan-gaps>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .day-plan-page .day-plan-gaps>div>a{min-width:0;padding:12px}
  .day-plan-page .day-plan-gaps>div>a strong{font-size:13px}
  .day-plan-page .preparation-list{gap:14px}
  .day-plan-page .preparation-card{padding:18px;border-radius:14px}
  .day-plan-page .preparation-card>header{gap:10px;padding-bottom:14px}
  .day-plan-page .preparation-card>header span{font-size:10px;line-height:1.35}
  .day-plan-page .preparation-card h2{font-size:31px;line-height:1}
  .day-plan-page .preparation-treatment{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--rose);text-align:left}
  .day-plan-page .preparation-treatment strong{font-size:13px}
  .day-plan-page .preparation-sections{grid-template-columns:1fr;margin:14px 0}
  .day-plan-page .preparation-sections>section{padding:15px}
  .day-plan-page .preparation-sections h3{font-size:10px}
  .day-plan-page .preparation-sections dl div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding:9px 0}
  .day-plan-page .preparation-sections dt{font-size:9px}
  .day-plan-page .preparation-sections dd{margin:0;overflow-wrap:anywhere;font-size:12px;line-height:1.45}
  .day-plan-page .preparation-sections p{font-size:12px;line-height:1.5}
  .day-plan-page .preparation-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .day-plan-page .preparation-actions .button{min-width:0;min-height:48px;padding:9px 7px;font-size:8px;text-align:center}
}
@media (max-width:380px){
  .day-plan-page .date-picker-compact{grid-template-columns:1fr}
  .day-plan-page .date-picker-compact .button{width:100%}
  .day-plan-page .day-plan-gaps>div{grid-template-columns:1fr}
}
@media (hover:none) and (pointer:coarse){
  .day-plan-page .day-plan-gaps>div>a:hover{background:var(--paper);transform:none}
}
/* Mobiel maandoverzicht */
.month-weekdays i,.month-mobile-count{display:none}
@media (max-width:700px){
  .appointments-month-page .page-shell{padding-top:22px}
  .appointments-month-page .appointment-heading{gap:18px;margin-bottom:18px}
  .appointments-month-page .appointment-heading h1{font-size:clamp(44px,13vw,60px);line-height:.91}
  .appointments-month-page .appointment-heading>div>p:last-child{margin-top:12px;font-size:13px}
  .appointments-month-page .appointment-heading>.action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .appointments-month-page .appointment-heading>.action-row .button{min-width:0;min-height:48px;padding:8px 5px;font-size:8px;line-height:1.25;text-align:center}
  .appointments-month-page .week-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:14px}
  .appointments-month-page .week-toolbar .button{display:grid;place-items:center;min-width:0;min-height:44px;padding:8px 5px;font-size:8px;line-height:1.25;text-align:center}
  .appointments-month-page .month-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:14px;border-radius:12px;overflow:hidden}
  .appointments-month-page .month-summary article{min-width:0;padding:13px 10px}
  .appointments-month-page .month-summary span{font-size:7px;line-height:1.35;letter-spacing:.06em}
  .appointments-month-page .month-summary strong{font-size:clamp(23px,7vw,32px);font-variant-numeric:tabular-nums;white-space:nowrap}
  .appointments-month-page .month-calendar{overflow:visible;margin-bottom:16px;border-radius:12px;box-shadow:0 14px 38px rgba(44,17,32,.07)}
  .appointments-month-page .month-weekdays,.appointments-month-page .month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;width:100%}
  .appointments-month-page .month-weekdays span{display:grid;place-items:center;min-width:0;padding:9px 1px;border-right:1px solid rgba(255,255,255,.16)}
  .appointments-month-page .month-weekdays b{display:none}
  .appointments-month-page .month-weekdays i{display:block;color:#fff;font-style:normal;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
  .appointments-month-page .month-day{display:grid;align-content:start;justify-items:center;min-width:0;min-height:70px;padding:5px 2px;border-top:3px solid transparent}
  .appointments-month-page .month-day.occupancy-high{border-top-color:#a21c34}
  .appointments-month-page .month-day.occupancy-medium{border-top-color:#d49a21}
  .appointments-month-page .month-day.occupancy-low{border-top-color:#5a9b70}
  .appointments-month-page .month-day>header{display:grid;place-items:center;width:100%;margin:0}
  .appointments-month-page .month-day>header a{width:27px;height:27px;font-size:11px}
  .appointments-month-page .month-day>header>span{display:none}
  .appointments-month-page .month-day-items{display:none}
  .appointments-month-page .month-mobile-count{display:grid;place-items:center;min-width:24px;height:22px;margin-top:5px;border-radius:999px;background:var(--rose);color:var(--pink);font-size:9px;text-decoration:none}
  .appointments-month-page .month-mobile-count span{color:var(--muted);font-size:7px;text-transform:uppercase}
  .appointments-month-page .month-day.outside-month .month-mobile-count{visibility:hidden}
  .appointments-month-page .month-add{right:50%;bottom:2px;transform:translateX(50%);font-size:14px}
  .appointments-month-page .quiet-days{margin-top:16px;padding:18px;border-radius:12px}
  .appointments-month-page .quiet-days>header{display:grid;gap:9px;margin-bottom:12px}
  .appointments-month-page .quiet-days>header h2{font-size:26px}
  .appointments-month-page .quiet-days>div{grid-template-columns:1fr;border-radius:10px;overflow:hidden}
  .appointments-month-page .quiet-days>div>a{padding:13px}
  .appointments-month-page .quiet-days>div>a strong{font-size:12px}
  .appointments-month-page .quiet-days>div>a span{font-size:10px}
}
@media (max-width:370px){
  .appointments-month-page .appointment-heading>.action-row{grid-template-columns:1fr}
  .appointments-month-page .appointment-heading>.action-row .button{min-height:44px}
  .appointments-month-page .month-summary{grid-template-columns:1fr}
  .appointments-month-page .month-summary article{display:grid;grid-template-columns:1fr auto;align-items:center}
}
@media (hover:none) and (pointer:coarse){
  .appointments-month-page .month-mobile-count:hover{background:var(--rose);color:var(--pink)}
  .appointments-month-page .quiet-days>div>a:hover{background:var(--paper);transform:none}
}
/* Mobiel tijd blokkeren */
@media (max-width:700px){
  .calendar-blocks-page .page-shell{padding-top:22px}
  .calendar-blocks-page .calendar-blocks-heading{gap:18px;margin-bottom:18px}
  .calendar-blocks-page .calendar-blocks-heading h1{font-size:clamp(44px,13vw,60px);line-height:.91}
  .calendar-blocks-page .calendar-blocks-heading>div>p:last-child{margin-top:14px;font-size:13px;line-height:1.5}
  .calendar-blocks-page .calendar-blocks-heading>.button{width:100%;min-height:46px}
  .calendar-blocks-page .calendar-block-form-card{padding:18px;border-radius:14px}
  .calendar-blocks-page .calendar-block-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
  .calendar-blocks-page .calendar-block-form>.wide{grid-column:1/-1}
  .calendar-blocks-page .calendar-block-form label{min-width:0;font-size:10px}
  .calendar-blocks-page .calendar-block-form .date-range-field small{display:block;margin-top:6px;color:var(--muted);font-size:9px;line-height:1.35}
  .calendar-blocks-page .calendar-block-form input,.calendar-blocks-page .calendar-block-form select{width:100%;min-width:0;min-height:50px;font-size:16px}
  .calendar-blocks-page .calendar-block-form .checkbox-row{min-height:52px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--rose)}
  .calendar-blocks-page .calendar-block-form .checkbox-row input{width:22px;min-height:22px}
  .calendar-blocks-page .calendar-block-form .action-row{display:grid;margin:0}
  .calendar-blocks-page .calendar-block-form .button{width:100%;min-height:52px}
  .calendar-blocks-page .calendar-block-list{margin-top:16px;padding:18px;border-radius:14px}
  .calendar-blocks-page .calendar-block-list>header{margin-bottom:12px}
  .calendar-blocks-page .calendar-block-list>header h2{font-size:27px}
  .calendar-blocks-page .calendar-block-list .row-list{display:grid;gap:8px}
  .calendar-blocks-page .calendar-block-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
  .calendar-blocks-page .calendar-block-row>span{min-width:0}
  .calendar-blocks-page .calendar-block-row strong,.calendar-blocks-page .calendar-block-row small{display:block;overflow-wrap:anywhere}
  .calendar-blocks-page .calendar-block-row strong{font-size:14px}
  .calendar-blocks-page .calendar-block-row small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}
  .calendar-blocks-page .calendar-block-row form{margin:0}
  .calendar-blocks-page .calendar-block-row .text-button{min-height:42px;padding:9px 10px;border:1px solid #e7b7bf;border-radius:8px;background:#fff5f6;color:var(--red);font-size:9px;font-weight:900;text-transform:uppercase}
}
@media (max-width:370px){
  .calendar-blocks-page .calendar-block-form{grid-template-columns:1fr}
  .calendar-blocks-page .calendar-block-form>.wide{grid-column:auto}
  .calendar-blocks-page .calendar-block-row{grid-template-columns:1fr}
  .calendar-blocks-page .calendar-block-row .text-button{width:100%}
}
@media (hover:none) and (pointer:coarse){
  .calendar-blocks-page .calendar-block-row .text-button:hover{background:#fff5f6;color:var(--red)}
}
/* Mobiel klantformulier */
@media (max-width:700px){
  .customer-form-page .page-shell{padding-top:22px}
  .customer-form-page .customer-form-heading{margin-bottom:18px}
  .customer-form-page .customer-form-heading h1{font-size:clamp(44px,13vw,60px);line-height:.91}
  .customer-form-page .customer-form{padding:18px 18px 0;border-radius:14px}
  .customer-form-page .customer-form>.form-grid{display:grid;grid-template-columns:1fr;gap:15px}
  .customer-form-page .customer-form>.form-grid>label{min-width:0;font-size:10px}
  .customer-form-page .customer-form input:not([type=checkbox]),.customer-form-page .customer-form select{width:100%;min-width:0;min-height:50px;font-size:16px}
  .customer-form-page .customer-form textarea{width:100%;min-width:0;min-height:84px;font-size:16px;line-height:1.45}
  .customer-form-page .customer-form textarea[name=notes]{min-height:110px}
  .customer-form-page .dossier-fields{margin:3px 0 0;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fffafb}
  .customer-form-page .dossier-fields legend{padding:0 7px;color:var(--wine);font:400 23px/1 var(--serif)}
  .customer-form-page .dossier-fields>p{margin:2px 0 14px;color:var(--muted);font-size:11px;line-height:1.45}
  .customer-form-page .dossier-fields>div{display:grid;grid-template-columns:1fr;gap:14px}
  .customer-form-page .dossier-fields label{min-width:0;font-size:10px}
  .customer-form-page .consent-field{padding:14px;border:1px solid #d7eadf;border-radius:12px;background:#f1faf5}
  .customer-form-page .consent-field>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;color:var(--ink);font-size:12px;line-height:1.4}
  .customer-form-page .consent-field input{width:22px;height:22px;margin:0;accent-color:var(--green)}
  .customer-form-page .consent-field small{display:block;margin-top:8px;color:var(--muted);font-size:10px;line-height:1.5}
  .customer-form-page .duplicate-customer-warning{margin-bottom:16px;padding:15px;border-radius:12px}
  .customer-form-page .duplicate-customer-warning>div:first-child span{font-size:11px;line-height:1.45}
  .customer-form-page .duplicate-customer-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px}
  .customer-form-page .duplicate-customer-list a b{font-size:9px}
  .customer-form-page .duplicate-confirm{font-size:11px;line-height:1.45}
  .customer-form-page .customer-form>.action-row{position:sticky;z-index:16;bottom:calc(68px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px -18px 0;padding:12px 18px;background:rgba(255,252,249,.96);box-shadow:0 -12px 28px rgba(43,16,34,.1);backdrop-filter:blur(12px)}
  .customer-form-page .customer-form>.action-row .button{min-width:0;min-height:50px;padding:9px 7px;font-size:9px;text-align:center}
}
@media (max-width:370px){
  .customer-form-page .customer-form>.action-row{grid-template-columns:1fr}
  .customer-form-page .duplicate-customer-list a{grid-template-columns:1fr}
}
@media (hover:none) and (pointer:coarse){
  .customer-form-page .duplicate-customer-list a:hover{background:var(--paper);transform:none}
}
/* Referentieprogramma */
.referral-field small{max-width:760px}.locked-referral{display:flex;align-items:center;min-height:54px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:16px;font-weight:700}.customer-referral-panel{margin-bottom:30px;border-left:5px solid var(--pink)}
.customer-referral-panel>header{align-items:flex-start}.referral-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}
.referral-summary-grid>article{min-width:0;padding:22px;background:var(--paper)}.referral-summary-grid>article>span{display:block;margin-bottom:12px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.referral-summary-grid a{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.referral-summary-grid a:first-of-type{padding-top:0}.referral-summary-grid a:last-child{padding-bottom:0;border-bottom:0}.referral-summary-grid a:hover strong,.referral-summary-grid a:focus-visible strong{color:var(--pink)}
.referral-summary-grid a strong{font-size:15px}.referral-summary-grid a small{max-width:300px;color:var(--muted);font-size:11px;line-height:1.45;text-align:right}.referred-customer-list{display:grid}
@media(max-width:700px){.customer-referral-panel{margin-bottom:18px;padding:18px 15px;border-radius:14px}.customer-referral-panel h2{font-size:28px}.referral-summary-grid{grid-template-columns:1fr}.referral-summary-grid>article{padding:17px}.referral-summary-grid a{display:grid;gap:5px}.referral-summary-grid a small{max-width:none;text-align:left}}
/* Pushmeldingen en mobiele appbadge */
.notification-settings {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2rem;
  border-left: 4px solid var(--pink, #d72b72);
}
.notification-settings h2 { margin: .25rem 0 .75rem; }
.notification-settings p { max-width: 58rem; }
.notification-settings-status { font-weight: 700; color: #6f626a; }
.notification-settings-status.is-active { color: #087b46; }
.notification-settings-status.is-error { color: #a51f3f; }
.notification-settings-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-end; }
.club-notification-toast {
  position: fixed;
  z-index: 1200;
  right: 1rem;
  top: 1rem;
  width: min(24rem, calc(100vw - 2rem));
  padding: 1rem 1.1rem;
  color: #fff;
  background: #321022;
  border-left: 4px solid #e2357b;
  box-shadow: 0 1rem 3rem rgba(43,16,34,.28);
  animation: club-toast-in .28s ease both;
}
.club-notification-toast strong,
.club-notification-toast span { display: block; }
.club-notification-toast span { margin-top: .25rem; color: #f4eaf0; }
@keyframes club-toast-in { from { opacity: 0; transform: translateY(-.75rem); } }
@media (max-width: 700px) {
  .notification-settings { grid-template-columns: 1fr; gap: 1rem; }
  .notification-settings-actions { justify-content: stretch; }
  .notification-settings-actions .button { width: 100%; }
  .club-notification-toast { top: .75rem; }
}
/* Mobiel klant definitief verwijderen */
@media(max-width:700px){
.customer-delete-page .page-shell{padding-top:22px}
.customer-delete-page .permanent-delete-confirm{width:100%;margin:0;padding:20px 16px 96px;border-radius:14px}
.customer-delete-page .permanent-delete-confirm h1{margin:8px 0 15px;font-size:clamp(39px,12vw,52px);line-height:.94;overflow-wrap:anywhere}
.customer-delete-page .permanent-delete-confirm>p:not(.eyebrow){margin-bottom:18px;color:var(--muted);font-size:12px;line-height:1.6}
.customer-delete-page .archive-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:18px 0}
.customer-delete-page .archive-details div{min-width:0;padding:13px 11px}
.customer-delete-page .archive-details span{font-size:8px;line-height:1.35;overflow-wrap:anywhere}
.customer-delete-page .archive-details strong{font-size:25px}
.customer-delete-page .permanent-delete-warning{gap:5px;margin-bottom:20px;padding:14px 13px;border-radius:0 10px 10px 0}
.customer-delete-page .permanent-delete-warning strong{font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.customer-delete-page .permanent-delete-warning span{font-size:10px;line-height:1.5}
.customer-delete-page .permanent-delete-confirm form>label{gap:10px;padding:14px;border:1px solid #e7bebe;border-radius:10px;background:#fff8f8;font-size:9px}
.customer-delete-page .permanent-delete-confirm form>label strong{display:block;color:#a32626;font:400 19px/1.2 var(--serif);letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.customer-delete-page .permanent-delete-confirm input{min-height:49px;padding:11px 2px;font-size:16px}
.customer-delete-page .confirmation-name-status{display:block;margin-top:2px;color:var(--muted);font-size:9px;line-height:1.45;letter-spacing:0;text-transform:none}
.customer-delete-page .confirmation-name-status.is-confirmed{color:var(--green);font-weight:800}
.customer-delete-page .permanent-delete-confirm input.is-confirmed{border-color:var(--green);box-shadow:0 0 0 3px rgba(17,122,74,.1)}
.customer-delete-page [data-name-confirmation-submit]:disabled{border-color:#c9bfc4;background:#c9bfc4;color:#fff;cursor:not-allowed;opacity:.72}
.customer-delete-page .permanent-delete-confirm .action-row{display:grid;grid-template-columns:1fr;gap:8px;margin-top:18px}
.customer-delete-page .permanent-delete-confirm .action-row .button{width:100%;min-height:49px;padding:9px 10px;font-size:9px;white-space:normal;text-align:center}
}
/* Mobiel Club inloggen */
@media(max-width:700px){
.login-page{min-height:100svh;background:linear-gradient(155deg,var(--wine) 0 58%,#4a1735 100%)}
.login-page .site-header{min-height:68px;border-bottom:1px solid var(--line);box-shadow:0 8px 28px rgba(20,6,14,.12)}
.login-page .site-header .brand{margin-inline:auto}
.login-page .page-shell{width:100%;min-height:calc(100svh - 68px);padding:22px 12px 36px;place-items:center}
.login-page .login-card{width:min(100%,440px);padding:25px 20px 23px;border:1px solid rgba(255,255,255,.65);border-radius:16px;box-shadow:0 24px 70px rgba(17,4,12,.28)}
.login-page .login-card h1{margin:8px 0 15px;font-size:clamp(45px,13vw,58px);line-height:.91}
.login-page .login-card>p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.login-page .form-stack{gap:17px;margin-top:24px}
.login-page .form-stack label{gap:7px;font-size:9px}
.login-page .form-stack input{min-height:52px;padding:12px 3px;font-size:16px}
.login-page .form-stack .button{width:100%;min-height:51px;padding:10px;font-size:10px}
.login-page .site-footer,.login-page .mobile-app-nav{display:none!important}
}
@media(max-width:360px){
.login-page .page-shell{padding-inline:9px}
.login-page .login-card{padding-inline:16px}
}
/* Mobiele klantreactie op afspraak */
@media(max-width:700px){
.appointment-response-page{min-height:100svh;background:linear-gradient(155deg,var(--wine) 0 58%,#4a1735 100%)}
.appointment-response-page .site-header{min-height:68px;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:0 8px 28px rgba(20,6,14,.12)}
.appointment-response-page .site-header .brand{margin-inline:auto}
.appointment-response-page .page-shell{width:100%;min-height:calc(100svh - 68px);padding:20px 12px 34px;place-items:center}
.appointment-response-page .appointment-response-card{width:min(100%,480px);padding:24px 19px 22px;border:1px solid rgba(255,255,255,.65);border-radius:16px;box-shadow:0 24px 70px rgba(17,4,12,.28)}
.appointment-response-page .appointment-response-card h1{margin:8px 0 16px;font-size:clamp(42px,12vw,56px);line-height:.92;overflow-wrap:anywhere}
.appointment-response-page .appointment-response-card>p:not(.eyebrow){margin:15px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.appointment-response-page .appointment-response-summary{grid-template-columns:1fr;margin:20px 0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--line);gap:1px}
.appointment-response-page .appointment-response-summary>div{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;padding:13px 14px;border:0;background:var(--paper)}
.appointment-response-page .appointment-response-summary dt{margin:0;font-size:8px}
.appointment-response-page .appointment-response-summary dd{min-width:0;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.appointment-response-page .appointment-response-actions{display:grid;grid-template-columns:1fr;gap:9px;width:100%;margin-top:20px}
.appointment-response-page .appointment-response-actions :is(.button,.text-button){display:grid;place-items:center;width:100%;min-height:51px;margin:0;padding:10px 12px;font-size:10px;line-height:1.3;text-align:center}
.appointment-response-page .appointment-response-actions .danger-link{border:1px solid #e7bebe;border-radius:0;background:#fff5f5}
.appointment-response-page .appointment-response-result{margin:20px 0;padding:16px 14px;border-radius:0 10px 10px 0}
.appointment-response-page .appointment-response-result strong{font-size:21px;line-height:1.2}
.appointment-response-page .appointment-response-result p{font-size:11px;line-height:1.5}
.appointment-response-page .appointment-response-contact{display:grid;place-items:center;width:100%;min-height:49px;margin-top:18px;padding:10px 12px;border:1px solid #1fa65a;color:#167b43;font-size:10px;font-weight:900;letter-spacing:.05em;text-align:center;text-decoration:none;text-transform:uppercase}
.appointment-response-page .site-footer,.appointment-response-page .mobile-app-nav{display:none!important}
}
@media(max-width:360px){
.appointment-response-page .page-shell{padding-inline:9px}
.appointment-response-page .appointment-response-card{padding-inline:15px}
.appointment-response-page .appointment-response-summary>div{grid-template-columns:76px minmax(0,1fr);padding-inline:11px}
}
/* Mobiele review voor klanten */
@media(max-width:700px){
.review-public-page{min-height:100svh;background:linear-gradient(155deg,var(--wine) 0 58%,#4a1735 100%)}
.review-public-page .site-header{min-height:68px;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:0 8px 28px rgba(20,6,14,.12)}
.review-public-page .site-header .brand{margin-inline:auto}
.review-public-page .page-shell{width:100%;min-height:calc(100svh - 68px);padding:20px 12px 34px;place-items:center}
.review-public-page .review-public{width:min(100%,500px);padding:24px 19px 22px;border:1px solid rgba(255,255,255,.65);border-radius:16px;box-shadow:0 24px 70px rgba(17,4,12,.28)}
.review-public-page .review-public h1{margin:8px 0 16px;font-size:clamp(42px,12vw,56px);line-height:.92;overflow-wrap:anywhere}
.review-public-page .review-public>p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.review-public-page .review-form{gap:18px;margin-top:22px}
.review-public-page .review-form fieldset{min-width:0;margin:0;padding:15px 13px 14px;border-radius:11px;background:var(--cream)}
.review-public-page .review-form legend{max-width:100%;padding:0 5px;font-size:9px;line-height:1.4;white-space:normal}
.review-public-page .star-choice{justify-content:space-between;gap:1px;width:100%;margin-top:8px}
.review-public-page .star-choice label{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;font-size:39px;touch-action:manipulation}
.review-public-page .review-form>label:not(.review-publish-consent){gap:8px;font-size:9px}
.review-public-page .review-form textarea{min-height:145px;padding:12px 3px;font-size:16px;line-height:1.5}
.review-public-page .review-publish-consent{grid-template-columns:26px minmax(0,1fr);gap:11px;padding:14px;border-radius:10px;font-size:10px;line-height:1.5;text-transform:none;letter-spacing:0}
.review-public-page .review-publish-consent input{width:24px;height:24px;margin:0}
.review-public-page .privacy-note{margin:0;padding:11px 12px;border-left:3px solid var(--pink);background:#fff8fb;font-size:9px;line-height:1.5}
.review-public-page .review-form>.button,.review-public-page .review-public>.button{width:100%;min-height:51px;padding:10px 12px;font-size:10px;text-align:center}
.review-public-page .review-thanks{margin:18px 0!important;padding:15px;border-left:4px solid var(--pink);background:var(--rose)}
.review-public-page .site-footer,.review-public-page .mobile-app-nav{display:none!important}
}
@media(max-width:360px){
.review-public-page .page-shell{padding-inline:9px}
.review-public-page .review-public{padding-inline:15px}
.review-public-page .star-choice label{width:43px;height:43px;font-size:35px}
}
@media(hover:none) and (pointer:coarse){
.review-public-page .star-choice label:hover{transform:none}
}
/* Mobiele afspraakvoorbereiding voor klanten */
@media(max-width:700px){
.appointment-intake-page{min-height:100svh;background:linear-gradient(155deg,var(--wine) 0 58%,#4a1735 100%)}
.appointment-intake-page .site-header{min-height:68px;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:0 8px 28px rgba(20,6,14,.12)}
.appointment-intake-page .site-header .brand{margin-inline:auto}
.appointment-intake-page .page-shell{width:100%;min-height:calc(100svh - 68px);padding:20px 12px 34px;place-items:start center}
.appointment-intake-page .appointment-response-card{width:min(100%,520px);padding:24px 19px 22px;border:1px solid rgba(255,255,255,.65);border-radius:16px;box-shadow:0 24px 70px rgba(17,4,12,.28)}
.appointment-intake-page .appointment-response-card h1{margin:8px 0 16px;font-size:clamp(40px,11.5vw,54px);line-height:.92;overflow-wrap:anywhere}
.appointment-intake-page .appointment-response-card>p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.appointment-intake-page .premium-form{display:grid;gap:17px;margin-top:22px}
.appointment-intake-page .premium-form>label:not(.consent-field){gap:7px;font-size:9px}
.appointment-intake-page .premium-form textarea{min-height:112px;padding:11px 3px;font-size:16px;line-height:1.5}
.appointment-intake-page .premium-form .consent-field{grid-template-columns:26px minmax(0,1fr);gap:11px;padding:14px;border-radius:10px;font-size:10px;line-height:1.5;letter-spacing:0;text-transform:none}

.appointment-intake-page .premium-form .consent-field input{width:24px;height:24px;margin:0}
.appointment-intake-page .premium-form>.button{width:100%;min-height:51px;padding:10px 12px;font-size:10px;text-align:center}
.appointment-intake-page .appointment-response-result{margin:20px 0 0;padding:16px 14px;border-radius:0 10px 10px 0}
.appointment-intake-page .appointment-response-result strong{font-size:21px;line-height:1.2}
.appointment-intake-page .appointment-response-result p{font-size:11px;line-height:1.5}
.appointment-intake-page .site-footer,.appointment-intake-page .mobile-app-nav{display:none!important}
}
@media(max-width:360px){
.appointment-intake-page .page-shell{padding-inline:9px}
.appointment-intake-page .appointment-response-card{padding-inline:15px}
}
/* Mobiele digitale klantenkaart */
@media(max-width:700px){
.customer-card-page{min-height:100svh;background:linear-gradient(155deg,var(--wine) 0 58%,#4a1735 100%)}
.customer-card-page .site-header{min-height:68px;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:0 8px 28px rgba(20,6,14,.12)}
.customer-card-page .site-header .brand{margin-inline:auto}
.customer-card-page .page-shell{width:100%;min-height:calc(100svh - 68px);padding:20px 12px 34px;place-items:start center}
.customer-card-page .public-card{width:min(100%,560px);padding:24px 19px 22px;border:1px solid rgba(255,255,255,.65);border-radius:16px;box-shadow:0 24px 70px rgba(17,4,12,.28)}
.customer-card-page .public-card>h1{margin:8px 0 17px;font-size:clamp(40px,11.5vw,54px);line-height:.92;overflow-wrap:anywhere}
.customer-card-page .public-balance{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:6px 13px;margin:18px 0 25px;padding:18px 17px;border:0;border-radius:12px;background:var(--wine);box-shadow:9px 9px 0 var(--rose)}
.customer-card-page .public-balance strong{color:#fff;font-size:clamp(52px,17vw,70px);line-height:.82}
.customer-card-page .public-balance span{align-self:end;padding-bottom:3px;color:#f5b7d2;font-size:9px;font-weight:900;letter-spacing:.12em}
.customer-card-page .public-appointments{margin:29px 0}
.customer-card-page .public-section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;margin-bottom:13px}
.customer-card-page .public-section-heading h2{font-size:28px;line-height:1.05}
.customer-card-page .public-section-heading>span{padding:6px 8px;font-size:8px}
.customer-card-page .public-appointment,.customer-card-page .public-appointment.is-next{display:grid;grid-template-columns:1fr;gap:13px;margin:0 0 10px;padding:15px 14px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.customer-card-page .public-appointment.is-next{border-color:#e9bdd0;background:var(--rose);box-shadow:0 10px 28px rgba(44,17,32,.07)}
.customer-card-page .public-appointment time{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.customer-card-page .public-appointment time strong{font-size:19px}
.customer-card-page .public-appointment h3{font-size:22px}
.customer-card-page .public-appointment-actions{gap:9px;min-width:0;width:100%}
.customer-card-page .public-appointment-actions>.button{width:100%;min-height:48px;padding:9px;font-size:9px}
.customer-card-page .public-appointment-actions>span{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}
.customer-card-page .public-appointment-actions>span a{display:grid;min-height:42px;place-items:center;padding:7px 5px;background:var(--paper);font-size:7px;line-height:1.3;text-align:center}
.customer-card-page .public-location{margin:11px 0 0;font-size:10px;line-height:1.5}
.customer-card-page .public-empty{padding:16px;border-radius:10px}
.customer-card-page .reward-progress,.customer-card-page .public-gifts,.customer-card-page .public-history{margin:28px 0}
.customer-card-page :is(.reward-progress,.public-gifts,.public-history)>h2{margin-bottom:13px;font-size:28px}
.customer-card-page .reward-progress>div{margin:0 0 10px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}
.customer-card-page .reward-progress span{gap:12px}
.customer-card-page .reward-progress small{font-size:9px;text-align:right}
.customer-card-page .reward-progress progress{height:9px;margin-top:10px}
.customer-card-page .public-gifts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px;padding:13px 0}
.customer-card-page .public-gifts>div>span:last-child{text-align:right}
.customer-card-page .public-gifts strong{font-size:24px}
.customer-card-page .public-gifts small{font-size:9px;line-height:1.4}
.customer-card-page .public-history p{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:12px 0;font-size:11px}
.customer-card-page .public-history p span{min-width:0;overflow-wrap:anywhere}
.customer-card-page .public-history p strong{font-size:16px}
.customer-card-page .privacy-note{margin:24px 0 0;padding:12px;border-left:3px solid var(--pink);background:#fff8fb;font-size:9px;line-height:1.5}
.customer-card-page .site-footer,.customer-card-page .mobile-app-nav{display:none!important}
}
@media(max-width:360px){
.customer-card-page .page-shell{padding-inline:9px}
.customer-card-page .public-card{padding-inline:15px}
.customer-card-page .public-appointment-actions>span{grid-template-columns:1fr}
.customer-card-page .public-gifts>div{grid-template-columns:1fr}
.customer-card-page .public-gifts>div>span:last-child{text-align:left}
}
/* Mobiele digitale cadeaubon */
@media(max-width:700px){
.gift-card-public-page{min-height:100svh;background:linear-gradient(155deg,var(--wine) 0 58%,#4a1735 100%)}
.gift-card-public-page .site-header{min-height:68px;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:0 8px 28px rgba(20,6,14,.12)}
.gift-card-public-page .site-header .brand{margin-inline:auto}
.gift-card-public-page .page-shell{width:100%;min-height:calc(100svh - 68px);padding:20px 12px 34px;place-items:start center}
.gift-card-public-page .gift-public{position:relative;width:min(100%,560px);overflow:hidden;padding:24px 19px 22px;border:1px solid rgba(255,255,255,.65);border-radius:16px;box-shadow:0 24px 70px rgba(17,4,12,.28)}
.gift-card-public-page .gift-public:after{position:absolute;right:-23px;bottom:-55px;z-index:0;color:rgba(213,43,115,.045);content:'W';font:italic 240px/1 var(--serif);pointer-events:none}
.gift-card-public-page .gift-public>*{position:relative;z-index:1}
.gift-card-public-page .gift-public-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px}
.gift-card-public-page .gift-public-heading .eyebrow{margin-top:4px}
.gift-card-public-page .gift-public-reference{margin:0;padding:6px 8px;border:1px solid var(--line);background:#fff8fb;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.gift-card-public-page .gift-public-reference strong{display:block;margin-top:2px;color:var(--ink);font-size:10px;letter-spacing:.12em}
.gift-card-public-page .gift-public h1{grid-column:1/-1;margin:8px 0 13px;font-size:clamp(39px,11.7vw,54px);line-height:.93;overflow-wrap:anywhere}
.gift-card-public-page .gift-public blockquote{margin:15px 0 18px;padding:14px 15px;border-left:3px solid var(--pink);background:#fff8fb;color:var(--ink);font-size:19px;line-height:1.35}
.gift-card-public-page .public-balance{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:6px 13px;margin:18px 0 25px;padding:18px 17px;border:0;border-radius:12px;background:var(--wine);box-shadow:9px 9px 0 var(--rose)}
.gift-card-public-page .public-balance strong{color:#fff;font-size:clamp(45px,14.5vw,64px);line-height:.84;white-space:nowrap}
.gift-card-public-page .public-balance span{align-self:end;padding-bottom:3px;color:#f5b7d2;font-size:9px;font-weight:900;letter-spacing:.12em}
.gift-card-public-page .gift-public dl{margin:0}
.gift-card-public-page .gift-public dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:13px 2px}
.gift-card-public-page .gift-public dt{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.gift-card-public-page .gift-public dd{margin:0;color:var(--ink);font-size:13px;text-align:right;white-space:nowrap}
.gift-card-public-page .privacy-note{display:grid;gap:4px;margin:22px 0 0;padding:13px 14px;border:0;border-radius:9px;background:var(--rose);font-size:10px;line-height:1.5}
.gift-card-public-page .privacy-note strong{color:var(--ink);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.gift-card-public-page .privacy-note span{display:block}
.gift-card-public-page .site-footer,.gift-card-public-page .mobile-app-nav{display:none!important}
}
@media(max-width:360px){
.gift-card-public-page .page-shell{padding-inline:9px}
.gift-card-public-page .gift-public{padding-inline:15px}
.gift-card-public-page .gift-public-heading{grid-template-columns:1fr}
.gift-card-public-page .gift-public-reference{justify-self:start}
.gift-card-public-page .gift-public h1{grid-column:1}
.gift-card-public-page .public-balance{grid-template-columns:1fr}
.gift-card-public-page .public-balance span{padding-bottom:0}
}
/* Mobiele agendalink-beveiliging */
@media(max-width:700px){
.calendar-rotate-page .page-shell{display:grid;width:100%;padding:20px 12px 42px;place-items:start center}
.calendar-rotate-page .calendar-rotate-confirm{width:min(100%,560px);margin:0;padding:23px 18px 20px;border:1px solid var(--line);border-radius:15px;background:var(--paper);box-shadow:0 18px 45px rgba(43,16,34,.11)}
.calendar-rotate-page .calendar-rotate-confirm h1{margin:9px 0 16px;font-size:clamp(41px,12vw,54px);line-height:.91}
.calendar-rotate-page .calendar-rotate-confirm>p:not(.eyebrow){margin:0;font-size:11px;line-height:1.55}
.calendar-rotate-page .archive-warning{gap:6px;margin:18px 0;padding:15px 14px;border-left-color:#b56b18;border-radius:0 10px 10px 0;background:#fff7e8}
.calendar-rotate-page .archive-warning strong{font-size:11px;letter-spacing:.04em}
.calendar-rotate-page .archive-warning span{font-size:10px;line-height:1.5}
.calendar-rotate-page .action-row{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin-top:0}
.calendar-rotate-page .action-row>*{width:100%;min-height:48px}
.calendar-rotate-page .action-row>a{order:1}
.calendar-rotate-page .action-row .button-danger{order:2;margin-top:5px}
}
/* Mobiele no-showregistratie */
@media(max-width:700px){
.appointment-detail-page .incident-control{margin-top:18px;padding:16px 14px;border:1px solid var(--line);border-left:4px solid #d98922;border-radius:0 11px 11px 0;background:#fffaf2}
.appointment-detail-page .incident-control.has-incident{padding:16px 14px;border-color:#e8c3aa;border-left-color:#d98922}
.appointment-detail-page .incident-control>.eyebrow{margin-bottom:10px;color:#8a5a26}
.appointment-detail-page .incident-form{display:grid;grid-template-columns:1fr;gap:13px}
.appointment-detail-page .incident-form label{min-width:0;font-size:9px}
.appointment-detail-page .incident-form :is(select,textarea){min-width:0;font-size:16px}
.appointment-detail-page .incident-form textarea{min-height:92px}
.appointment-detail-page .incident-form .button{width:100%;min-height:48px;padding:9px;font-size:10px}
.appointment-detail-page .incident-current{gap:6px}
.appointment-detail-page .incident-current>strong{font-size:27px;line-height:1.05}
.appointment-detail-page .incident-current>span{font-size:10px;line-height:1.45}
.appointment-detail-page .incident-current>p{margin:7px 0 3px;padding:11px 12px;border-radius:8px;background:var(--paper);font-size:11px;line-height:1.5}
.appointment-detail-page .incident-control>form:not(.incident-form){margin-top:12px}
.appointment-detail-page .incident-control .danger-link{display:grid;width:100%;min-height:44px;place-items:center;padding:8px;border:1px solid #e7bebe;border-radius:8px;background:#fff5f5;font-size:9px;text-align:center}
.customer-detail-page .customer-incidents{margin-bottom:16px;padding:16px 14px;border-left-width:4px;border-radius:0 11px 11px 0}
.customer-detail-page .customer-incidents>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-bottom:8px}
.customer-detail-page .customer-incidents h2{font-size:29px;line-height:1.05}
.customer-detail-page .customer-incidents>header>strong{font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.customer-detail-page .incident-history>a{grid-template-columns:28px minmax(0,1fr);gap:9px;padding:12px 0}
.customer-detail-page .incident-history>a>b{grid-column:2;justify-self:start;color:var(--pink);font-size:9px;text-transform:uppercase}
.customer-detail-page .incident-history small{margin-top:3px;font-size:9px;line-height:1.45;overflow-wrap:anywhere}
}
/* Mobiele aanbetaling */
@media(max-width:700px){
.appointment-detail-page .deposit-control{margin-top:18px;padding:16px 14px;border:1px solid #d7dfe9;border-left:4px solid #53759b;border-radius:0 11px 11px 0;background:#f5f8fc}
.appointment-detail-page .deposit-control>.eyebrow{margin-bottom:10px;color:#456482}
.appointment-detail-page .deposit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px}
.appointment-detail-page .deposit-form label{min-width:0;font-size:9px}
.appointment-detail-page .deposit-form label:nth-of-type(3){grid-column:1/-1}
.appointment-detail-page .deposit-form :is(input,select){min-width:0;min-height:47px;font-size:16px}
.appointment-detail-page .deposit-form input[name=deposit_amount]{font-variant-numeric:tabular-nums}
.appointment-detail-page .deposit-form .button{grid-column:1/-1;width:100%;min-height:48px;padding:9px;border-color:#456482;background:#456482;color:#fff;font-size:10px}
.appointment-detail-page .deposit-form .button:hover,.appointment-detail-page .deposit-form .button:focus-visible{border-color:#314b65;background:#314b65}
}
@media(max-width:370px){
.appointment-detail-page .deposit-form{grid-template-columns:1fr}
.appointment-detail-page .deposit-form label:nth-of-type(3),.appointment-detail-page .deposit-form .button{grid-column:1}
}
/* Mobiele afsprakenreeks */
@media(max-width:700px){
.appointment-detail-page .appointment-series-panel{margin:16px 0;padding:17px 14px;border-radius:13px}
.appointment-detail-page .appointment-series-panel>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-bottom:13px}
.appointment-detail-page .appointment-series-panel h2{font-size:29px;line-height:1.05}
.appointment-detail-page .appointment-series-panel>header>span{max-width:92px;color:var(--muted);font-size:8px;font-weight:800;line-height:1.35;text-align:right;text-transform:uppercase}
.appointment-detail-page .series-appointments{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px;border:0;background:transparent}
.appointment-detail-page .series-appointments a{position:relative;min-width:0;min-height:66px;padding:12px 11px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);overflow:hidden}
.appointment-detail-page .series-appointments a:before{position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--green);content:''}
.appointment-detail-page .series-appointments a.status-cancelled:before,.appointment-detail-page .series-appointments a.status-no_show:before{background:var(--muted)}
.appointment-detail-page .series-appointments a.status-cancelled,.appointment-detail-page .series-appointments a.status-no_show{opacity:.64}
.appointment-detail-page .series-appointments a[aria-current=page]{border-color:var(--pink);background:var(--rose);box-shadow:none}
.appointment-detail-page .series-appointments a[aria-current=page]:after{position:absolute;top:6px;right:7px;color:var(--pink);content:'Nu';font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.appointment-detail-page .series-appointments strong{padding-right:18px;font-size:12px;line-height:1.25;white-space:nowrap}
.appointment-detail-page .series-appointments span{font-size:9px;line-height:1.4}
.appointment-detail-page .appointment-series-panel>form,.appointment-detail-page .appointment-series-panel>form .button{width:100%}
.appointment-detail-page .appointment-series-panel>form .button{min-height:47px;padding:9px;font-size:9px;line-height:1.35;white-space:normal}
}
@media(max-width:360px){
.appointment-detail-page .series-appointments{grid-template-columns:1fr}
.appointment-detail-page .appointment-series-panel>header{grid-template-columns:1fr}
.appointment-detail-page .appointment-series-panel>header>span{max-width:none;text-align:left}
}
/* Mobiel afspraak verwijderen */
@media(max-width:700px){
.appointment-delete-page .page-shell{display:grid;width:100%;padding:20px 12px 42px;place-items:start center}
.appointment-delete-page .appointment-delete-confirm{width:min(100%,560px);margin:0;padding:22px 17px 20px;border-radius:14px;box-shadow:0 18px 45px rgba(43,16,34,.1)}
.appointment-delete-page .appointment-delete-confirm h1{margin:8px 0 15px;font-size:clamp(41px,12vw,54px);line-height:.92}
.appointment-delete-page .appointment-delete-confirm>p:not(.eyebrow){margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.appointment-delete-page .archive-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:18px 0;border-radius:10px;overflow:hidden}
.appointment-delete-page .archive-details div{min-width:0;padding:13px 11px}
.appointment-delete-page .archive-details div:first-child{grid-column:1/-1;background:var(--rose)}
.appointment-delete-page .archive-details span{font-size:8px;line-height:1.35}
.appointment-delete-page .archive-details strong{font-size:22px;line-height:1.15;overflow-wrap:anywhere}
.appointment-delete-page .archive-details div:first-child strong{font-size:27px}
.appointment-delete-page .archive-warning{gap:5px;margin-bottom:18px;padding:14px 13px;border-left-color:#a32626;border-radius:0 10px 10px 0;background:#fff5f5}
.appointment-delete-page .archive-warning strong{font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.appointment-delete-page .archive-warning span{font-size:10px;line-height:1.5}
.appointment-delete-page .action-row{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin-top:0}
.appointment-delete-page .action-row>*{width:100%;min-height:49px;padding:9px;font-size:9px;white-space:normal;text-align:center}
.appointment-delete-page .action-row>a{order:1}
.appointment-delete-page .action-row .button-danger{order:2;margin-top:5px}
}
@media(max-width:360px){
.appointment-delete-page .archive-details{grid-template-columns:1fr}
.appointment-delete-page .archive-details div:first-child{grid-column:1}
}
/* Formulier verzendstatus */
form[aria-busy=true]{cursor:progress}
form[aria-busy=true] [aria-disabled=true]{cursor:progress}
button.is-submitting,input.is-submitting{display:inline-flex;align-items:center;justify-content:center;gap:9px;opacity:.82}
button.is-submitting:after{width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:'';animation:club-submit-spin .7s linear infinite}
@keyframes club-submit-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){
button.is-submitting,input.is-submitting{min-height:48px}
}
@media(prefers-reduced-motion:reduce){
button.is-submitting:after{animation-duration:1.4s}
}
/* Toegankelijke formulierfouten */
.has-validation-error :is(input,textarea,.custom-control-trigger){border-color:#a32626!important;box-shadow:0 0 0 2px rgba(163,38,38,.1)}
.has-validation-error .custom-control-trigger{background:#fff7f7}
.field-validation-error{display:block;margin-top:7px;color:#a32626;font-size:11px;font-weight:800;line-height:1.4;letter-spacing:0;text-transform:none}
@media(max-width:700px){
.field-validation-error{margin-top:6px;padding:7px 9px;border-left:3px solid #a32626;border-radius:0 6px 6px 0;background:#fff5f5;font-size:9px;line-height:1.4}
.has-validation-error :is(input,textarea,.custom-control-trigger){box-shadow:0 0 0 3px rgba(163,38,38,.1)}
}
/* Club bevestigingsdialoog */
.confirm-dialog{width:min(520px,calc(100% - 32px));max-width:none;margin:auto;padding:0;border:0;border-radius:15px;background:transparent;color:var(--ink);box-shadow:0 28px 90px rgba(26,6,17,.34)}
.confirm-dialog::backdrop{background:rgba(35,12,28,.62);backdrop-filter:blur(3px)}
.confirm-dialog-card{padding:25px 24px 22px;border:1px solid rgba(255,255,255,.75);border-radius:15px;background:var(--paper)}
.confirm-dialog-card h2{margin:7px 0 12px;font-size:36px;line-height:1}
.confirm-dialog-card>p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.confirm-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}
.confirm-dialog-actions .button{min-height:48px}
@media(max-width:700px){
.confirm-dialog{width:calc(100% - 20px);margin:auto 10px 10px;border-radius:17px 17px 13px 13px}
.confirm-dialog-card{padding:21px 17px 17px;border-radius:17px 17px 13px 13px}
.confirm-dialog-card h2{font-size:31px}
.confirm-dialog-card>p:not(.eyebrow){font-size:11px;line-height:1.55}
.confirm-dialog-actions{grid-template-columns:1fr;gap:8px;margin-top:19px}
.confirm-dialog-actions .button{width:100%;min-height:50px;font-size:9px}
.confirm-dialog-actions [data-confirm-cancel]{order:1}
.confirm-dialog-actions [data-confirm-accept]{order:2;margin-top:4px}
}
@media(prefers-reduced-motion:no-preference){
.confirm-dialog[open]{animation:confirm-dialog-in .2s ease both}
.confirm-dialog[open]::backdrop{animation:confirm-backdrop-in .2s ease both}
@keyframes confirm-dialog-in{from{opacity:0;transform:translateY(18px) scale(.985)}}
@keyframes confirm-backdrop-in{from{opacity:0}}
}
/* Mobiele veilige bevestigingsschermen */
@media(max-width:700px){
.safe-confirm-page .page-shell{display:grid;width:100%;padding:20px 12px 42px;place-items:start center}
.safe-confirm-page .archive-confirm{width:min(100%,560px);margin:0;padding:22px 17px 20px;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(43,16,34,.1)}
.safe-confirm-page .archive-confirm h1{margin:8px 0 15px;font-size:clamp(41px,12vw,54px);line-height:.92;overflow-wrap:anywhere}
.safe-confirm-page .archive-confirm>p:not(.eyebrow){margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.safe-confirm-page .archive-details{grid-template-columns:1fr;gap:1px;margin:18px 0;border-radius:10px;overflow:hidden}
.safe-confirm-page .archive-details div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px}
.safe-confirm-page .archive-details span{font-size:8px;line-height:1.35;overflow-wrap:anywhere}
.safe-confirm-page .archive-details strong{font-size:22px;text-align:right;overflow-wrap:anywhere}
.safe-confirm-page .archive-warning{gap:5px;margin:18px 0;padding:14px 13px;border-left-color:var(--green);border-radius:0 10px 10px 0}
.safe-confirm-page .archive-warning strong{font-size:10px;letter-spacing:.05em;text-transform:uppercase}
.safe-confirm-page .archive-warning span{font-size:10px;line-height:1.5}
.card-rotate-page .archive-warning{border-left-color:#a32626;background:#fff5f5}
.safe-confirm-page .archive-confirm form{width:100%}
.safe-confirm-page .action-row{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin:0}
.safe-confirm-page .action-row>*{width:100%;min-height:49px;padding:9px;font-size:9px;text-align:center;white-space:normal}
.safe-confirm-page .action-row>a{order:1}
.safe-confirm-page .action-row .button-danger{order:2;margin-top:5px}
}
/* Mobiel dubbele klanten samenvoegen */
@media(max-width:700px){
.customer-merge-page .page-shell{display:block;width:100%;padding:20px 12px 42px}
.customer-merge-page .page-intro{margin:0 0 18px}
.customer-merge-page .page-intro h1{margin:8px 0 13px;font-size:clamp(41px,12vw,54px);line-height:.92}
.customer-merge-page .page-intro>p:last-child{max-width:42ch;font-size:11px;line-height:1.55}
.customer-merge-page .merge-confirm{padding:18px 15px 17px;border-radius:14px;box-shadow:0 18px 45px rgba(43,16,34,.1)}
.customer-merge-page .merge-cards{display:grid;grid-template-columns:1fr;gap:9px}
.customer-merge-page .merge-cards article{min-width:0;padding:15px 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.customer-merge-page .merge-cards article:first-child{border-color:#a9d7c0;background:#f1faf5}
.customer-merge-page .merge-cards article:last-child{border-color:#edc8c8;background:#fff6f6}
.customer-merge-page .merge-cards i{display:grid;width:32px;height:32px;margin:-2px auto;place-items:center;border-radius:50%;background:var(--wine);color:#fff;font-style:normal;transform:rotate(-90deg)}
.customer-merge-page .merge-cards span{font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.customer-merge-page .merge-cards h2{margin:6px 0 8px;font-size:27px;line-height:1.05;overflow-wrap:anywhere}
.customer-merge-page .merge-cards p{margin:0;color:var(--muted);font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.customer-merge-page .merge-confirm>p{margin:16px 0;padding:13px;border-left:3px solid #b56b18;border-radius:0 9px 9px 0;background:#fff8ea;font-size:10px;line-height:1.55}
.customer-merge-page .mini-ranking{margin:0 0 17px}
.customer-merge-page .mini-ranking>div{min-width:0;padding:11px 2px}
.customer-merge-page .mini-ranking span{font-size:9px;overflow-wrap:anywhere}
.customer-merge-page .mini-ranking strong{font-size:18px}
.customer-merge-page .action-row{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin:0}
.customer-merge-page .action-row>*{width:100%;min-height:49px;padding:9px;font-size:9px;text-align:center;white-space:normal}
.customer-merge-page .action-row>a{order:1}
.customer-merge-page .action-row .button-danger{order:2;margin-top:5px}
}
/* Wachtwoord tonen en verbergen */
.password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}
.password-field input{min-width:0}
.password-field [data-password-toggle]{min-width:72px;height:43px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.password-field [data-password-toggle]:hover,.password-field [data-password-toggle]:focus-visible,.password-field [data-password-toggle][aria-pressed=true]{border-color:var(--pink);background:var(--rose);color:var(--pink)}
@media(max-width:700px){
.password-page .password-field{gap:7px}
.password-page .password-field [data-password-toggle]{min-width:68px;min-height:47px}
}

/* Veilige mobiele netwerkstatus */
.network-status{
  position:fixed;
  z-index:1350;
  right:18px;
  bottom:18px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:min(520px,calc(100vw - 36px));
  padding:13px 14px;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  background:#321022;
  box-shadow:0 18px 50px rgba(43,16,34,.3)
}
.network-status[hidden]{display:none}
.network-status-indicator{width:11px;height:11px;border-radius:50%;background:#ef7a9f;box-shadow:0 0 0 5px rgba(239,122,159,.15)}
.network-status-copy{min-width:0}
.network-status-copy strong,.network-status-copy small{display:block}
.network-status-copy strong{font-size:13px;letter-spacing:.03em}
.network-status-copy small{margin-top:2px;color:#f4eaf0;font-size:11px;line-height:1.35}
.network-status button{min-height:38px;padding:0 12px;color:#321022;border:0;background:#fff;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.network-status.is-reconnecting .network-status-indicator{background:#f2bf65;animation:network-status-pulse 1s ease-in-out infinite}
.network-status.is-online{background:#0b6842}
.network-status.is-online .network-status-indicator{background:#75e4b1;box-shadow:0 0 0 5px rgba(117,228,177,.16)}
@keyframes network-status-pulse{50%{opacity:.45;transform:scale(.8)}}
@media(max-width:700px){
  .network-status{right:10px;bottom:calc(76px + env(safe-area-inset-bottom));grid-template-columns:auto minmax(0,1fr);width:calc(100vw - 20px);padding:12px;border-radius:12px}
  .network-status button{grid-column:2;width:max-content;min-height:46px;margin-top:4px}
  .offline-page .network-status{display:none!important}
}
@media(max-width:560px){
  .flash{min-height:56px;padding:11px 8px 11px 14px;align-items:center}
  .flash-copy{font-size:12px;line-height:1.45}
  .flash-dismiss{width:44px;height:44px;margin:-5px -2px -5px 0;font-size:25px}
}
.offline-page .mobile-app-nav{display:none!important}
@media(prefers-reduced-motion:reduce){.network-status.is-reconnecting .network-status-indicator{animation:none}}


/* Rustige lege toestanden met een duidelijke vervolgstap */
.empty-state{
  display:flex;
  min-height:230px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:38px 28px;
  text-align:center;
  border:1px dashed #ddcfd6;
  background:linear-gradient(145deg,#fffdfb,#faf3f6)
}
.empty-state-mark{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  margin-bottom:4px;
  color:var(--pink);
  border:1px solid #e8bbcf;
  border-radius:50%;
  background:#fff;
  font:700 18px/1 var(--serif)
}
.empty-state>strong{color:var(--ink);font:700 clamp(25px,3vw,34px)/1.05 var(--serif)}
.empty-state>p{max-width:600px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.empty-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:10px}
.empty-state-actions .button{min-width:150px}
.list-pagination .button:only-of-type,.activity-page .pagination .button:only-of-type{grid-column:1/-1}
@media(max-width:700px){
  .empty-state{min-height:0;padding:25px 17px;border-radius:14px}
  .empty-state-mark{width:40px;height:40px}
  .empty-state>strong{font-size:26px}
  .empty-state>p{font-size:11px;line-height:1.55}
  .empty-state-actions{display:grid;width:100%;grid-template-columns:1fr;margin-top:8px}
  .empty-state-actions .button{width:100%;min-width:0;min-height:48px}
  .list-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
  .list-pagination span{grid-column:1/-1;grid-row:1;text-align:center}
  .list-pagination .button{width:100%;min-height:44px;padding:8px;font-size:10px}
  .request-panel .request-empty{margin:0;border:0;border-radius:0}
}


/* Compacte mobiele registerkaarten */
.mobile-list-card{display:none}
@media(max-width:700px){
  .customers-page .customer-table>.table-row,
  .gift-cards-page .gift-table>.gift-card-row,
  .treatments-page .treatment-list>.treatment-row,
  .inventory-page .inventory-list>.inventory-row{display:none!important}
  .mobile-list-card{
    display:block;
    overflow:hidden;
    color:var(--ink);
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--paper)
  }
  .mobile-list-card+ .mobile-list-card{margin-top:9px}
  .mobile-list-card[open]{border-color:#d9a9bf;box-shadow:0 12px 28px rgba(54,21,42,.08)}
  .mobile-list-card>summary{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 22px;
    align-items:center;
    gap:10px;
    min-height:70px;
    padding:13px 12px;
    cursor:pointer;
    list-style:none
  }
  .mobile-list-card>summary::-webkit-details-marker{display:none}
  .mobile-list-card>summary:after{content:'+';color:var(--pink);font:700 22px/1 var(--serif);text-align:center}
  .mobile-list-card[open]>summary:after{content:'−'}
  .mobile-list-card>summary span{min-width:0}
  .mobile-list-card>summary strong,.mobile-list-card>summary small{display:block;overflow-wrap:anywhere}
  .mobile-list-card>summary strong{font-size:14px;line-height:1.25}
  .mobile-list-card>summary small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}
  .mobile-list-card>summary b{font:400 18px/1 var(--serif);white-space:nowrap}
  .mobile-record-body{padding:0 12px 13px;border-top:1px solid var(--line)}
  .mobile-record-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 12px;background:var(--line)}
  .mobile-record-facts>div{min-width:0;padding:11px 9px;background:#fffdfb}
  .mobile-record-facts span,.mobile-record-facts strong{display:block;overflow-wrap:anywhere}
  .mobile-record-facts span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
  .mobile-record-facts strong{margin-top:5px;font-size:11px;line-height:1.3}
  .mobile-record-open{width:100%;min-height:46px}
  .mobile-record-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mobile-record-actions form,.mobile-record-actions .button{width:100%}
  .mobile-record-actions .button{min-height:46px}
  .mobile-list-card.is-low{border-left:5px solid #d98922}
  .mobile-list-card.is-inactive{opacity:.7}
}


/* Optionele mobiele formuliersecties */
.form-optional-group{grid-column:1/-1;min-width:0}
.form-optional-group>summary{display:none}
.form-optional-group>.form-optional-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.form-optional-content>.wide,.form-optional-content>.dossier-fields{grid-column:1/-1}
@media(max-width:700px){
  .form-optional-group{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fffdfb
  }
  .form-optional-group>summary{
    display:grid;
    grid-template-columns:minmax(0,1fr) 24px;
    align-items:center;
    gap:10px;
    min-height:68px;
    padding:13px 14px;
    cursor:pointer;
    list-style:none
  }
  .form-optional-group>summary::-webkit-details-marker{display:none}
  .form-optional-group>summary:after{content:'+';color:var(--pink);font:700 23px/1 var(--serif);text-align:center}
  .form-optional-group[open]>summary:after{content:'−'}
  .form-optional-group>summary strong,.form-optional-group>summary small{display:block}
  .form-optional-group>summary strong{font-size:12px;letter-spacing:.03em}
  .form-optional-group>summary small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4}
  .form-optional-group>.form-optional-content{grid-template-columns:1fr;gap:16px;padding:14px;border-top:1px solid var(--line)}
  .form-optional-content>.wide,.form-optional-content>.dossier-fields{grid-column:auto}
  .form-optional-content .mobile-form-section-heading{display:none}
  .form-optional-content .dossier-fields{margin:0;padding:0;border:0}
  .form-optional-content .dossier-fields>div{grid-template-columns:1fr}
  .form-optional-content .appointment-series{margin:0}
}

/* Mobiele formulieren: primaire acties blijven boven de appnavigatie bereikbaar. */
@media(max-width:700px){
  :is(.customer-form-page,.waitlist-form-page) .mobile-form-section-heading{
    display:flex;
    grid-column:1/-1!important;
    align-items:center;
    gap:10px;
    margin:5px 0 -2px;
    padding-top:14px;
    border-top:1px solid var(--line);
    font:900 10px/1 var(--sans);
    letter-spacing:.11em;
    text-transform:uppercase
  }
  :is(.customer-form-page,.waitlist-form-page) .mobile-form-section-heading:first-child{margin-top:0;padding-top:0;border-top:0}
  :is(.customer-form-page,.waitlist-form-page) .mobile-form-section-heading span{
    display:grid;
    flex:0 0 27px;
    width:27px;
    height:27px;
    place-items:center;
    border-radius:50%;
    background:var(--wine);
    color:#fff;
    font-size:9px;
    letter-spacing:0
  }
  body.club-authenticated:is(.appointment-form-page,.customer-form-page,.gift-card-form-page,.treatment-form-page,.inventory-form-page,.waitlist-form-page,.calendar-blocks-page,.settings-page) .page-shell{
    padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))
  }
  .mobile-sticky-actions{
    position:fixed!important;
    z-index:70;
    right:0;
    bottom:calc(68px + env(safe-area-inset-bottom,0px))!important;
    left:0;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:stretch!important;
    gap:8px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:10px 12px!important;
    border:0!important;
    border-top:1px solid rgba(50,17,33,.14)!important;
    border-radius:0!important;
    background:rgba(255,253,250,.98)!important;
    box-shadow:0 -12px 30px rgba(44,17,32,.11)!important;
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px)
  }
  .mobile-sticky-actions.wide{grid-column:auto!important}
  .mobile-sticky-actions .button{
    width:auto!important;
    min-width:104px;
    min-height:50px!important;
    padding:10px 12px!important;
    font-size:9px!important;
    line-height:1.2;
    text-align:center
  }
  .mobile-sticky-actions .button-primary{width:100%!important;min-width:0}
  .calendar-blocks-page .mobile-sticky-actions{grid-template-columns:1fr!important}
}
@media(max-width:360px){
  .mobile-sticky-actions .button{min-width:88px;padding-inline:9px!important}
}

/* Mobiele formulieren: duimvriendelijke selectievakjes en keuzerondjes. */
@media(max-width:700px){
  body.club-authenticated form label:has(>input[type=checkbox]),
  body.club-authenticated form label:has(>input[type=radio]),
  body.club-authenticated form label>span:has(>input[type=checkbox]),
  body.club-authenticated form label>span:has(>input[type=radio]){
    min-height:48px;
    cursor:pointer;
    touch-action:manipulation
  }
  body.club-authenticated form label:has(>input[type=checkbox]),
  body.club-authenticated form label:has(>input[type=radio]){
    align-items:center
  }
  body.club-authenticated form label>span:has(>input[type=checkbox]),
  body.club-authenticated form label>span:has(>input[type=radio]){
    display:flex;
    align-items:center;
    gap:11px
  }
  body.club-authenticated form input[type=checkbox],
  body.club-authenticated form input[type=radio]{
    flex:0 0 22px;
    width:22px;
    height:22px;
    min-height:22px;
    margin:0;
    accent-color:var(--pink)
  }
  body.club-authenticated form input:is([type=checkbox],[type=radio]):focus-visible{
    outline:3px solid rgba(217,39,111,.26);
    outline-offset:3px
  }
}

/* Beloningenbeheer */
.reward-form{max-width:860px}
.reward-register-list{display:grid}
.reward-register-head,.reward-register-row{display:grid;grid-template-columns:minmax(250px,1.5fr) .45fr .65fr .7fr minmax(220px,.9fr);align-items:center;gap:18px;padding:15px;border-bottom:1px solid var(--line)}
.reward-register-head{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.reward-register-row:hover{background:var(--rose)}
.reward-register-row.is-inactive{opacity:.62}
.reward-register-name{text-decoration:none}
.reward-register-name strong,.reward-register-name small{display:block}
.reward-register-name strong{font:400 22px/1.15 var(--serif)}
.reward-register-name small{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}
.reward-register-row>b{font:400 22px/1 var(--serif)}
.reward-register-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px}
.reward-register-actions form{margin:0}
.reward-register-actions a,.reward-register-actions .text-button{font-size:10px}
.reward-register-actions .danger-link{color:var(--red)}
@media(max-width:700px){
  .rewards-page .page-shell,.reward-form-page .page-shell{padding-top:22px}
  .rewards-page .register-heading{gap:16px;margin-bottom:16px}
  .rewards-page .register-heading h1,.reward-form-page .page-intro h1{font-size:clamp(43px,13vw,58px);line-height:.9}
  .rewards-page .register-heading>div>p:last-child,.reward-form-page .page-intro>p:last-child{margin-top:14px;font-size:12px;line-height:1.5}
  .rewards-page .register-heading>.button{width:100%;min-height:48px}
  .rewards-page .register-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:14px;border-radius:14px;overflow:hidden}
  .rewards-page .register-summary article{min-height:86px;padding:12px}
  .rewards-page .register-summary span{font-size:9px;line-height:1.35}
  .rewards-page .register-summary strong{font-size:30px}
  .rewards-page .reward-register{padding:18px 14px;border-radius:14px}
  .reward-register-head,.reward-register-row{display:none}
  .reward-mobile-card .mobile-record-body>p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
  .reward-mobile-card .mobile-record-actions{grid-template-columns:1fr}
  .reward-mobile-card .mobile-record-actions form,.reward-mobile-card .mobile-record-actions .button{width:100%}
}

/* Premium mobiel ontwerpsysteem: gedeelde oppervlakken, bediening en focus. */
@media(max-width:700px){
  body.club-authenticated{
    background:
      radial-gradient(circle at 100% 0,rgba(213,43,115,.055),transparent 32rem),
      var(--cream)
  }
  body.club-authenticated .site-header{
    border-bottom-color:rgba(50,17,33,.09);
    background:rgba(255,253,250,.97);
    box-shadow:0 7px 24px rgba(44,17,32,.045)
  }
  body.club-authenticated .page-shell :is(.panel,.form-card){
    border-color:rgba(50,17,33,.12);
    border-radius:var(--radius-card);
    box-shadow:var(--shadow-card)
  }
  body.club-authenticated .button{
    min-height:var(--control-height);
    border-radius:var(--radius-control);
    transition:
      color var(--motion-fast),
      background-color var(--motion-fast),
      border-color var(--motion-fast),
      box-shadow var(--motion-fast),
      transform var(--motion-fast)
  }
  body.club-authenticated .button-primary{
    box-shadow:0 9px 22px rgba(213,43,115,.16)
  }
  body.club-authenticated :is(.button,a,button,summary,input,select,textarea):focus-visible{
    outline:2px solid var(--pink);
    outline-offset:3px;
    box-shadow:var(--focus-ring)
  }
  body.club-authenticated .mobile-section-navigator>summary{
    min-height:var(--control-height);
    border-color:rgba(50,17,33,.2);
    border-radius:var(--radius-control);
    box-shadow:0 7px 20px rgba(44,17,32,.045);
    transition:border-color var(--motion-fast),background-color var(--motion-fast)
  }
  body.club-authenticated .mobile-section-navigator[open]>summary{
    border-color:var(--pink);
    border-radius:var(--radius-control) var(--radius-control) 0 0;
    background:var(--rose)
  }
  body.club-authenticated .mobile-section-navigator>nav{
    border-radius:0 0 var(--radius-control) var(--radius-control);
    box-shadow:var(--shadow-card)
  }
  body.club-authenticated .mobile-app-nav{
    border-top-color:rgba(50,17,33,.1);
    background:rgba(255,253,250,.98);
    box-shadow:0 -10px 32px rgba(44,17,32,.1)
  }
  body.club-authenticated .mobile-app-nav :is(a,button){
    border-radius:9px;
    transition:color var(--motion-fast),background-color var(--motion-fast)
  }
  body.club-authenticated .mobile-app-nav :is(a[aria-current=page],button.is-active){
    background:linear-gradient(180deg,rgba(247,233,239,.15),rgba(247,233,239,.72))
  }
  body.club-authenticated .mobile-app-nav-primary{
    background:transparent!important
  }
  body.club-authenticated .account-menu-panel{
    border-color:rgba(50,17,33,.12);
    border-radius:var(--radius-sheet) var(--radius-sheet) 10px 10px;
    box-shadow:var(--shadow-float)
  }
  body.club-authenticated .flash{
    border-radius:var(--radius-control);
    box-shadow:var(--shadow-float)
  }
  body.club-authenticated .empty{
    border-radius:var(--radius-control)
  }
}

@media(max-width:700px) and (hover:hover){
  body.club-authenticated .button:not(:disabled):hover{transform:translateY(-1px)}
}

/* Premium fase 2: rustige en compacte paginaopeningen. */
@media(max-width:700px){
  body.club-authenticated .page-shell>.page-intro{
    display:grid;
    gap:16px;
    margin-bottom:20px
  }
  body.club-authenticated .page-shell>.page-intro>div:first-child{
    min-width:0
  }
  body.club-authenticated .page-shell>.page-intro .eyebrow{
    margin-bottom:8px;
    font-size:10px;
    letter-spacing:.15em
  }
  body.club-authenticated .page-shell>.page-intro h1{
    max-width:100%;
    margin:0;
    font-size:clamp(43px,13vw,58px);
    line-height:.91;
    letter-spacing:-.048em;
    overflow-wrap:anywhere
  }
  body.club-authenticated .page-shell>.page-intro>p:last-child,
  body.club-authenticated .page-shell>.page-intro>div:first-child>p:last-child{
    max-width:36rem;
    margin:13px 0 0;
    color:var(--muted);
    font-size:13px;
    line-height:1.55
  }
  body.club-authenticated .page-shell>.page-intro :is(.action-row,form){
    width:100%;
    margin-top:0
  }
}

/* Premium fase 3: luxe kaarten en heldere informatieblokken. */
@media(max-width:700px){
  body.club-authenticated .page-shell :is(.stat-grid,.register-summary,.analytics-metrics,.revenue-metrics,.customer-value-summary,.month-summary){
    border-color:rgba(50,17,33,.1);
    border-radius:var(--radius-card);
    overflow:hidden;
    box-shadow:var(--shadow-card)
  }
  body.club-authenticated .page-shell .panel>header{
    gap:14px;
    margin-bottom:18px
  }
  body.club-authenticated .page-shell :is(.detail-note,.form-notice,.report-notice,.calendar-note,.financial-note,.privacy-note,.muted-note){
    border-radius:var(--radius-control);
    line-height:1.55
  }
  body.club-authenticated .page-shell :is(.status-dot,.system-light){
    box-shadow:0 0 0 5px rgba(36,123,85,.1)
  }
  body.club-authenticated .page-shell :is(.danger-zone,.return-advice-panel,.birthday-panel){
    border-radius:var(--radius-card);
    box-shadow:var(--shadow-card)
  }
}

/* Premium fase 4: typografische hiërarchie en stabiele cijfers. */
@media(max-width:700px){
  body.club-authenticated{
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility
  }
  body.club-authenticated .page-shell h2{
    font-size:clamp(28px,8.5vw,36px);
    line-height:1.04;
    letter-spacing:-.035em
  }
  body.club-authenticated .page-shell :is(.eyebrow,label,legend,.table-head){
    letter-spacing:.095em
  }
  body.club-authenticated .page-shell :is(time,.balance-orb strong,.stat-grid strong,.register-summary strong,.revenue-metrics strong,.analytics-metrics strong,.public-balance strong,.delta,.visit-date,.appointment-facts strong,.financial-list strong,.financial-list b){
    font-variant-numeric:tabular-nums lining-nums
  }
  body.club-authenticated .page-shell :is(p,small,dd){
    overflow-wrap:anywhere
  }
  body.club-authenticated .page-shell small{
    line-height:1.45
  }
}

/* Premium fase 5: rustige, duimvriendelijke formulieren. */
@media(max-width:700px){
  body.club-authenticated form label{
    gap:7px;
    color:var(--ink);
    font-size:10px;
    line-height:1.35
  }
  body.club-authenticated form :is(.form-grid,.compact-form){
    grid-template-columns:minmax(0,1fr)
  }
  body.club-authenticated form :is(.form-grid,.compact-form)>*{
    min-width:0;
    max-width:100%
  }
  body.club-authenticated form :is(
    input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),
    select,
    textarea
  ){
    width:100%;
    min-height:var(--control-height);
    border:1px solid rgba(50,17,33,.2);
    border-radius:var(--radius-control);
    background:rgba(255,253,250,.92);
    padding:12px 13px;
    font-size:16px;
    line-height:1.35;
    box-shadow:0 4px 14px rgba(44,17,32,.025);
    transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background-color var(--motion-fast)
  }
  body.club-authenticated form textarea{
    min-height:96px;
    resize:vertical
  }
  body.club-authenticated form :is(input,select,textarea):focus{
    border-color:var(--pink);
    background:var(--paper);
    box-shadow:var(--focus-ring)
  }
  body.club-authenticated form :is(input,textarea)::placeholder{
    color:#9b8f95;
    font-size:.9em;
    opacity:.72
  }
  body.club-authenticated form :is(input,select,textarea):disabled{
    border-color:var(--line);
    background:#eee9e7;
    color:var(--muted);
    opacity:.72
  }
  body.club-authenticated form .action-row{
    gap:10px;
    margin-top:20px
  }
  body.club-authenticated :is(.field-validation-error,.form-error){
    border-radius:8px;
    font-size:12px;
    line-height:1.45
  }
}

/* Premium fase 6: duidelijke app- en inhoudsnavigatie. */
@media(max-width:700px){
  body.club-authenticated .mobile-app-nav :is(a,button){
    position:relative
  }
  body.club-authenticated .mobile-app-nav :is(a,button):not(.mobile-app-nav-primary)[aria-current=page]:after,
  body.club-authenticated .mobile-app-nav button.is-active:after{
    position:absolute;
    right:28%;
    bottom:1px;
    left:28%;
    height:2px;
    border-radius:999px;
    background:var(--pink);
    content:''
  }
  body.club-authenticated .account-menu-group h2{
    padding-top:8px;
    color:var(--pink)
  }
  body.club-authenticated .account-menu-panel.is-mobile-sheet :is(a,.text-button){
    border-radius:8px;
    transition:background-color var(--motion-fast),color var(--motion-fast)
  }
  body.club-authenticated .mobile-section-navigator>nav a{
    min-height:var(--control-height);
    padding:12px 13px
  }
}

/* Premium fase 7: subtiele en toegankelijke interacties. */
@keyframes premium-reveal{
  from{opacity:.45;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:700px){
  body.club-authenticated details[open]>*:not(summary){
    animation:premium-reveal var(--motion-smooth) both
  }
  body.club-authenticated .page-shell :is(.row-list>a,.table-row,.mobile-list-card,.request-row,.gift-card-row,.appointment-card){
    transition:background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)
  }
  body.club-authenticated :is(.button,.mobile-app-nav a,.mobile-app-nav button,.mobile-section-navigator>summary):active{
    transform:scale(.985)
  }
}

/* Premium fase 8: verzorgde lege, fout- en waarschuwingsstatussen. */
@media(max-width:700px){
  body.club-authenticated .empty{
    display:grid;
    min-height:104px;
    align-content:center;
    justify-items:center;
    gap:7px;
    border:1px dashed rgba(50,17,33,.18);
    background:linear-gradient(145deg,rgba(255,253,250,.84),rgba(247,233,239,.48));
    padding:22px 16px;
    color:var(--muted);
    line-height:1.5;
    text-align:center
  }
  body.club-authenticated .empty.success-empty{
    border-color:rgba(36,123,85,.24);
    background:linear-gradient(145deg,var(--paper),#edf7f1);
    color:#286348
  }
  body.club-authenticated :is(.error-card,.offline-card){
    border-top:4px solid var(--pink);
    border-radius:var(--radius-card);
    box-shadow:var(--shadow-card)
  }
  body.club-authenticated :is(.daily-close-status.needs-attention,.calendar-availability.is-local,.form-notice){
    border-color:#d98922;
    background:#fff8ed
  }
}

/* Premium fase 9: consistente afspraak-, klant- en cadeaubondetails. */
@media(max-width:700px){
  body.club-authenticated:is(.appointment-detail-page,.customer-detail-page,.gift-card-detail-page) .page-shell{
    padding-top:22px
  }
  body.club-authenticated:is(.appointment-detail-page,.customer-detail-page,.gift-card-detail-page) :is(.detail-grid,.appointment-detail-grid){
    gap:16px
  }
  body.club-authenticated:is(.appointment-detail-page,.customer-detail-page,.gift-card-detail-page) .balance-orb{
    border:1px solid rgba(255,255,255,.18);
    box-shadow:12px 10px 0 var(--rose),0 18px 38px rgba(50,17,33,.12)
  }
  body.club-authenticated.customer-detail-page .dossier-grid{
    border-radius:var(--radius-control);
    overflow:hidden
  }
  body.club-authenticated.appointment-detail-page .appointment-facts{
    border-radius:var(--radius-control);
    overflow:hidden
  }
  body.club-authenticated:is(.appointment-detail-page,.customer-detail-page,.gift-card-detail-page) :is(.appointment-facts>div,.dossier-grid>div,.customer-value-summary>article){
    background:linear-gradient(145deg,var(--paper),rgba(247,233,239,.25))
  }
  body.club-authenticated.appointment-detail-page .appointment-secondary-control{
    border-radius:var(--radius-control);
    overflow:hidden
  }
  body.club-authenticated:is(.customer-detail-page,.gift-card-detail-page) :is(.history-list>div,.visit-history>article,.customer-gift-card){
    border-radius:9px
  }
  body.club-authenticated:is(.appointment-detail-page,.customer-detail-page,.gift-card-detail-page) .danger-zone{
    border-radius:var(--radius-card)
  }
}

@media(prefers-reduced-motion:reduce){
  :root{--motion-fast:0ms;--motion-smooth:0ms}
  body.club-authenticated *,body.club-authenticated *:before,body.club-authenticated *:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important
  }
}
