.app-body{margin:0;background:#f4f8fb;color:#102448}.app-shell{min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:#fff;border-right:1px solid #dfe8ef;padding:18px 12px;z-index:40;display:flex;flex-direction:column}.app-sidebar .brand{padding:0 8px 18px}.side-nav{display:flex;flex-direction:column;gap:5px}.side-link{display:flex;align-items:center;gap:14px;min-height:48px;padding:0 15px;border-radius:9px;color:#17365f;font-weight:500;text-decoration:none}.side-link:hover{background:#eef7f5;text-decoration:none}.side-link.is-active{background:linear-gradient(135deg,#285f60,#327c7a);color:#fff}.side-icon{width:28px;text-align:center;font-size:20px}.sidebar-help{margin-top:auto;border-radius:10px;padding:20px;background:linear-gradient(145deg,#edf7f4,#e7edf0);overflow:hidden}.sidebar-help p{font-size:13px;margin:.3rem 0 1rem}.leaf-art{float:right;font-size:42px;color:#4c8b71}.app-main{margin-left:260px;min-height:100vh;display:flex;flex-direction:column}.app-topbar{height:68px;background:rgba(255,255,255,.96);border-bottom:1px solid #dfe8ef;display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:30}.menu-toggle{background:transparent;color:#17365f;font-size:22px;padding:8px;min-height:auto}.topbar-spacer{flex:1}.user-chip{display:flex;align-items:center;gap:10px}.user-chip small{display:block;color:#65758d;font-size:12px}.avatar-placeholder{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dbe7e9;color:#1d5e59;font-weight:800}.app-content{flex:1;padding:28px 22px 10px}.app-content>.container{width:100%;max-width:1240px}.app-footer{display:flex;justify-content:space-between;gap:20px;margin:0 22px;padding:22px 0;border-top:1px solid #dfe8ef;color:#65758d;font-size:12px}.dashboard-page{padding:0 0 35px}.dashboard-hero{position:relative;min-height:112px;padding:24px 28px;margin-bottom:18px;border-radius:12px;background:linear-gradient(90deg,#f0f7fb 0%,rgba(240,247,251,.88) 48%,rgba(240,247,251,.5) 100%),url('/img/backgrounds/login-background.webp') right center/auto 100% no-repeat;overflow:hidden}.dashboard-hero h1{font-size:31px;margin:0 0 7px}.dashboard-hero p{margin:0;color:#415978}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 18px}.dashboard-card{background:#fff;border:1px solid #e2eaf0;border-radius:12px;padding:18px;box-shadow:0 5px 20px rgba(35,62,84,.055)}.stat-card{display:flex;align-items:center;gap:14px}.stat-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:50%;background:#e4f3f0;color:#237c6c;font-size:24px}.stat-number{display:block;font-size:25px;font-weight:800;line-height:1}.stat-label{display:block;margin-top:5px;color:#53657e;font-size:13px}.dashboard-panel{background:#fff;border:1px solid #e2eaf0;border-radius:12px;padding:20px;box-shadow:0 5px 20px rgba(35,62,84,.055);margin-bottom:18px}.dashboard-panel h2{font-size:18px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e2eaf0;border-radius:12px;padding:16px;text-decoration:none}.quick-card:hover{text-decoration:none;transform:translateY(-1px)}.quick-art{width:72px;height:64px;object-fit:cover;object-position:left;border-radius:8px}.table-wrapper{overflow-x:auto;border:1px solid #e2eaf0;border-radius:12px;background:#fff}.app-content table{background:#fff}.app-content th{background:#f6f9fb}.progress-track{height:10px;background:#e7edef;border-radius:99px;overflow:hidden}.progress-bar{height:100%;background:#2b8a74}.empty-state{background:#fff;border:1px dashed #cfdce5;border-radius:12px;padding:30px;text-align:center}.private-note{border-left:4px solid #d9a85f;background:#fbf4e8;padding:14px;border-radius:8px}.profile-summary{display:grid;grid-template-columns:1fr 2fr;gap:20px}

/* Klant ↔ masseur koppelingen */
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.panel-heading p,.dashboard-panel>p{color:#53657e}.filter-bar{display:flex;gap:10px;align-items:end;margin:18px 0}.filter-bar input{flex:1;min-width:220px}.button-small{padding:8px 12px;min-height:auto;font-size:13px}.row-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.link-button{border:0;background:none;padding:0;min-height:auto;font:inherit;cursor:pointer}.danger-link{color:#a13d3d}.status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:700}.status-active{background:#e3f3ed;color:#226b58}.status-pending{background:#fff3d8;color:#886119}.request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.request-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #e2eaf0;border-radius:12px;padding:18px;background:#fff}.request-card h3{font-size:17px;margin:0 0 5px}.request-card p{margin:0;color:#607089;font-size:14px}.request-panel{border-left:4px solid #d9a85f}

/* ===== Clusterupdate: profielen en lichaamskaart ===== */
.profile-photo-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.profile-photo,.practice-image,.avatar-img{object-fit:cover;background:#eef3f4}.profile-photo{width:110px;height:110px;border-radius:24px;border:1px solid #dfe7e9}.practice-image{width:180px;height:110px;border-radius:18px;border:1px solid #dfe7e9}.profile-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.upload-card{border:1px solid #e4e9eb;border-radius:18px;padding:18px;background:#fff}.upload-card img{display:block;margin-bottom:14px}.person-cell{display:flex;align-items:center;gap:10px}.person-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#e9f0ef;flex:0 0 42px}.person-avatar.placeholder{display:grid;place-items:center;font-weight:700;color:#39796b}.practitioner-card-head{display:flex;align-items:center;gap:14px}.practitioner-logo{width:56px;height:56px;border-radius:14px;object-fit:cover;background:#f0f4f4}
.bodymap-history{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.bodymap-history-item{min-width:190px;border:1px solid #e1e7e8;border-radius:14px;padding:12px 14px;text-decoration:none;color:inherit;background:#fff}.bodymap-history-item small{display:block;color:#78868f;margin-top:3px}.bodymap-history-item.is-active{border-color:#39796b;box-shadow:0 0 0 2px rgba(57,121,107,.1)}.bodymap-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}.body-tool{border:1px solid #d9e2e4;background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer;font-weight:600}.body-tool.is-active{border-color:#39796b;box-shadow:0 0 0 2px rgba(57,121,107,.12)}.bodymap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 26px}.bodymap-card{border:1px solid #e3e9ea;border-radius:18px;padding:16px;background:#fff}.bodymap-card h3{margin-top:0}.bodymap-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bodymap-card-head>div{display:flex;gap:10px}.body-drawing{position:relative;display:flex;justify-content:center;align-items:center;min-height:260px;background:linear-gradient(180deg,#fbfcfc,#f5f8f8);border-radius:14px;overflow:hidden;touch-action:none}.body-drawing img{display:block;max-width:100%;max-height:420px;width:auto;height:auto;user-select:none;pointer-events:none}.body-drawing canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);cursor:crosshair;touch-action:none}.body-drawing.is-readonly canvas{cursor:default;pointer-events:none}.bodymap-savebar{position:sticky;bottom:12px;display:flex;justify-content:flex-end;padding:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:14px}.compact-form{align-items:end}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-span-2{grid-column:span 2}


/* ===== Lichaamskaart v4: genderneutraal, vier hoofd-aanzichten en detailkaarten ===== */
.bodymap-toolbar{justify-content:space-between;align-items:flex-start;padding:14px;border:1px solid #e0e8ea;border-radius:16px;background:#f9fbfb}
.bodymap-tool-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tool-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#71808d;margin-right:2px}
.body-size-tool{border:1px solid #d9e2e4;background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer;font-weight:600}
.body-size-tool.is-active{border-color:#39796b;box-shadow:0 0 0 2px rgba(57,121,107,.12)}

.bodymap-section-title{margin:26px 0 12px}
.bodymap-main-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:28px}
.bodymap-main-card{min-width:0}
.bodymap-main-card .body-drawing{min-height:520px}
.bodymap-main-card .body-drawing img{max-height:700px}

.bodymap-detail-section{border-top:1px solid #e3eaec;padding-top:24px;margin-top:10px}
.bodymap-detail-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.bodymap-detail-heading h3{margin:0 0 5px}
.bodymap-detail-heading p{margin:0;color:#65758d}

.bodymap-detail-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;margin:18px 0}
.bodypart-icon{appearance:none;border:1px solid #dfe7e9;background:#fff;border-radius:14px;padding:9px;min-height:112px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#31445d}
.bodypart-icon:hover{border-color:#9dbbb5;background:#f8fbfa}
.bodypart-icon.is-active{border-color:#39796b;background:#eef7f5;box-shadow:0 0 0 2px rgba(57,121,107,.10)}
.bodypart-icon img{width:58px;height:58px;object-fit:contain;filter:saturate(.9)}
.bodypart-icon span{font-size:12px;font-weight:700;line-height:1.15;text-align:center}

.bodymap-detail-viewer{max-width:860px;margin:0 auto}
.bodymap-detail-card[hidden]{display:none!important}
.bodymap-detail-card{padding:18px}
.bodymap-detail-card .body-drawing{min-height:560px}
.bodymap-detail-card .body-drawing img{max-height:760px;max-width:100%}

.body-drawing{position:relative}
.body-drawing canvas{position:absolute;z-index:4;transform:none!important;cursor:crosshair;touch-action:none}
.body-drawing img{position:relative;z-index:1}
.body-drawing.is-readonly canvas{cursor:default;pointer-events:none}
.bodymap-readonly-page .bodypart-icon{cursor:pointer}

@media(max-width:800px){
    .bodymap-main-pair{grid-template-columns:1fr}
    .bodymap-main-card .body-drawing{min-height:420px}
    .bodymap-detail-card .body-drawing{min-height:420px}
    .bodymap-toolbar{gap:14px}
    .bodymap-tool-group{width:100%}
    .bodymap-detail-icons{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:520px){
    .bodymap-detail-icons{grid-template-columns:repeat(3,minmax(0,1fr))}
    .bodypart-icon{min-height:94px;padding:7px}
    .bodypart-icon img{width:48px;height:48px}
    .bodymap-main-card .body-drawing,.bodymap-detail-card .body-drawing{min-height:330px}
}


/* =========================================================
   LICHAAMSKAART V3 — GROOT TEKENOPPERVLAK
   ========================================================= */

.bodymap-main-pair{
    gap:24px;
    align-items:stretch;
}

.bodymap-main-card{
    padding:18px;
}

.bodymap-main-card .body-drawing{
    min-height:700px;
    height:clamp(620px,72vh,820px);
    padding:18px;
}

.bodymap-main-card .body-drawing img{
    width:auto;
    height:92%;
    max-height:none;
    max-width:94%;
    object-fit:contain;
}

.bodymap-detail-viewer{
    max-width:1100px;
}

.bodymap-detail-card{
    padding:18px;
}

.bodymap-detail-card .body-drawing{
    min-height:720px;
    height:clamp(650px,76vh,900px);
    padding:18px;
}

.bodymap-detail-card .body-drawing img{
    width:auto;
    height:94%;
    max-height:none;
    max-width:96%;
    object-fit:contain;
}

.bodymap-detail-icons{
    grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
    gap:12px;
}

.bodypart-icon{
    min-height:118px;
}

.bodypart-icon img{
    width:72px;
    height:72px;
    object-fit:contain;
}

@media (max-width: 900px){
    .bodymap-main-pair{
        grid-template-columns:1fr;
    }

    .bodymap-main-card .body-drawing{
        min-height:620px;
        height:68vh;
    }

    .bodymap-detail-card .body-drawing{
        min-height:620px;
        height:70vh;
    }
}

@media (max-width: 650px){
    .bodymap-main-card .body-drawing,
    .bodymap-detail-card .body-drawing{
        min-height:500px;
        height:62vh;
        padding:10px;
    }

    .bodymap-main-card .body-drawing img,
    .bodymap-detail-card .body-drawing img{
        height:96%;
        max-width:98%;
    }

    .bodymap-detail-icons{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

/* Snel aan de slag: titel en omschrijving netjes onder elkaar */
.quick-card > span{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;line-height:1.35}
.quick-card > span strong{display:block;margin:0 0 7px;line-height:1.3;color:#15594f}
.quick-card > span small{display:block;margin:0;line-height:1.45;color:#415978;font-size:14px}


/* ===== Lichaamskaart V5: aantekeningen per afbeelding ===== */
.bodymap-main-workspace,
.bodymap-detail-workspace{
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px;
    gap:14px;
    align-items:stretch;
}

.bodymap-main-workspace .body-drawing,
.bodymap-detail-workspace .body-drawing{
    min-width:0;
}

.bodymap-side-note{
    display:flex;
    flex-direction:column;
    min-width:0;
    background:#f7faf9;
    border:1px solid #dfe8e6;
    border-radius:12px;
    padding:12px;
}

.bodymap-side-note label,
.bodymap-side-note strong{
    display:block;
    margin:0 0 8px;
    color:#244f49;
    font-size:13px;
    font-weight:800;
}

.bodymap-side-note textarea{
    width:100%;
    flex:1;
    min-height:180px;
    resize:vertical;
    box-sizing:border-box;
    border:1px solid #ccd9d7;
    border-radius:9px;
    padding:10px;
    background:#fff;
    color:#17365f;
    font:inherit;
    line-height:1.45;
}

.bodymap-side-note textarea:focus{
    outline:none;
    border-color:#39796b;
    box-shadow:0 0 0 3px rgba(57,121,107,.10);
}

.bodymap-note-readonly p{
    margin:0;
    white-space:normal;
    overflow-wrap:anywhere;
    color:#415978;
    font-size:13px;
    line-height:1.5;
}

@media(max-width:1050px){
    .bodymap-main-workspace,
    .bodymap-detail-workspace{
        grid-template-columns:1fr;
    }

    .bodymap-side-note textarea{
        min-height:110px;
    }
}

@media(max-width:800px){
    .bodymap-side-note{
        margin-top:2px;
    }
}


/* ===== V6 Uitgebreide intake ===== */
.intake-form{display:grid;gap:18px}
.intake-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.intake-profile-photo{width:110px;height:110px;object-fit:cover;border-radius:22px;border:1px solid #d9e6e3}
.intake-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.intake-tabs a{padding:10px 14px;border:1px solid #d9e4e2;border-radius:999px;text-decoration:none;background:#fff;color:#244f49;font-weight:700}
.intake-tabs a.is-active{background:#e5f3ef;border-color:#8ebdb3}
.intake-section{padding:24px}
.intake-section-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5eceb}
.intake-section-head>div{display:flex;gap:11px;align-items:center}
.intake-section-head h2{margin:0}
.intake-section-head p{margin:2px 0 0;max-width:620px;color:#5d6f7c}
.intake-step{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border-radius:50%;background:#e4f3ef;color:#17695d;font-weight:800}
.intake-grid .intake-field:has(textarea){grid-column:span 2}
.intake-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important}
.intake-check input{width:auto;margin-top:3px}
.intake-savebar{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;bottom:12px;z-index:5;box-shadow:0 8px 30px rgba(15,50,70,.12)}
.intake-savebar div{display:flex;flex-direction:column;gap:4px}
.intake-savebar span{font-size:14px;color:#637581}
.intake-read-group{padding:14px 0 22px;border-bottom:1px solid #e5eceb}
.intake-read-group:last-child{border-bottom:0}
.intake-read-group h3{margin:0 0 12px}
.intake-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.intake-answer{padding:12px 14px;border:1px solid #e1e9e7;border-radius:12px;background:#fafcfc}
.intake-answer strong{display:block;margin-bottom:6px;color:#244f49;font-size:13px}
.intake-answer p{margin:0;line-height:1.5;color:#40566c}
.therapist-only{border:2px solid #a9cfc6;background:linear-gradient(180deg,#fbfffe,#f5fbf9)}
.intake-private-grid .form-group{grid-column:span 1}
.intake-private-grid textarea{min-height:125px}
@media(max-width:800px){
  .intake-hero,.intake-section-head,.intake-savebar{flex-direction:column;align-items:stretch}
  .intake-answer-grid{grid-template-columns:1fr}
  .intake-grid .intake-field:has(textarea){grid-column:auto}
  .intake-savebar{position:static}
}


/* =========================================================
   V7 — DIGITALE STRIPPENKAART
   ========================================================= */
.strippenkaart-page{padding-bottom:42px}
.strippenkaart-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}
.strippenkaart-hero-badge{
    flex:0 0 78px;width:78px;height:78px;border-radius:24px;
    display:grid;place-items:center;
    background:linear-gradient(145deg,#39796b,#285e53);
    box-shadow:0 10px 26px rgba(40,94,83,.20);
    transform:rotate(4deg)
}
.strippenkaart-hero-badge span{
    width:44px;height:44px;border-radius:50%;
    display:grid;place-items:center;
    background:#fff;color:#39796b;font-size:25px;font-weight:900
}
.strippenkaart-create{margin-bottom:28px}
.strippenkaart-form{margin-top:20px}
.strippenkaart-form textarea{min-height:92px}
.strippenkaart-form-actions{display:flex;justify-content:flex-end}
.money-input{display:flex;align-items:stretch}
.money-input>span{
    display:grid;place-items:center;
    min-width:44px;padding:0 10px;
    border:1px solid var(--border);border-right:0;
    border-radius:9px 0 0 9px;
    background:#f4f8f7;color:#39796b;font-weight:800
}
.money-input input{border-radius:0 9px 9px 0!important}
.strippenkaart-list-section{margin-top:10px}
.strippenkaart-list-heading{margin:0 0 15px}
.strippenkaart-list-heading h2{margin-bottom:4px}
.strippenkaart-list-heading p{margin:0;color:#65758d}
.strippenkaart-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px
}
.strippenkaart-grid-client{grid-template-columns:repeat(2,minmax(0,1fr))}
.digital-strip-card{
    position:relative;overflow:hidden;
    background:linear-gradient(145deg,#ffffff 0%,#fbfdfc 62%,#eff7f4 100%);
    border:1px solid #dbe7e3;
    border-radius:22px;
    padding:24px;
    box-shadow:0 12px 34px rgba(31,55,48,.08)
}
.digital-strip-card::before,
.digital-strip-card::after{
    content:"";position:absolute;top:50%;width:22px;height:22px;
    background:#f4f8fb;border-radius:50%;transform:translateY(-50%);z-index:2
}
.digital-strip-card::before{left:-11px}
.digital-strip-card::after{right:-11px}
.strip-card-head{
    display:flex;justify-content:space-between;gap:18px;align-items:flex-start;
    padding-bottom:16px;margin-bottom:18px;
    border-bottom:1px dashed #cbdad5
}
.strip-card-head h2,.strip-card-head h3{margin:2px 0 5px;color:#173f39}
.strip-card-head p{margin:0;color:#60736d;font-size:14px}
.strip-card-eyebrow{
    display:block;margin-bottom:5px;
    color:#9a6a26;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em
}
.strip-card-status{
    flex:0 0 auto;display:inline-flex;align-items:center;
    padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800
}
.strip-card-status.status-actief{background:#e4f3ed;color:#246c58}
.strip-card-status.status-vol{background:#eef0f2;color:#647078}
.strip-card-status.status-overig{background:#fff1dc;color:#8a6327}
.strip-card-balance{
    display:flex;align-items:baseline;gap:8px;margin-bottom:18px
}
.strip-card-balance strong{
    font-size:44px;line-height:1;color:#39796b;letter-spacing:-.04em
}
.strip-card-balance span{color:#60736d;font-weight:700}
.strip-card-balance-client{margin:2px 0 22px}
.strip-card-balance-client strong{font-size:56px}
.strip-punches{
    display:grid;
    grid-template-columns:repeat(5,minmax(42px,1fr));
    gap:10px;
    margin:0 0 18px
}
.strip-punch{
    aspect-ratio:1/1;min-width:0;
    display:grid;place-items:center;
    border:2px solid #74a89c;
    border-radius:50%;
    background:#fff;color:#39796b;
    font-size:14px;font-weight:800;
    box-shadow:inset 0 0 0 4px #f0f7f5
}
.strip-punch.is-used{
    border-color:#d5b072;
    background:linear-gradient(145deg,#e3bd79,#ca9850);
    color:#fff;
    box-shadow:inset 0 0 0 4px rgba(255,255,255,.23);
    text-decoration:none
}
.strip-punches-client .strip-punch{font-size:15px}
.strip-card-progress-text{
    display:flex;justify-content:space-between;
    margin:-6px 0 18px;color:#73837e;font-size:12px;font-weight:700
}
.strip-card-meta{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;padding-top:16px;border-top:1px dashed #cbdad5
}
.strip-card-meta div{
    min-width:0;padding:10px 11px;
    border-radius:11px;background:#f5f9f8
}
.strip-card-meta span{display:block;color:#788883;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.strip-card-meta strong{display:block;margin-top:2px;color:#304b45;font-size:13px;overflow-wrap:anywhere}
.strip-card-note{
    margin-top:14px;padding:12px 14px;
    border-left:4px solid #d9a85f;border-radius:9px;
    background:#fbf5ea;color:#56635f;font-size:13px;line-height:1.5
}
.strip-card-note strong{display:block;color:#6f552f;margin-bottom:3px}
.strip-card-note p{margin:0}
.strip-card-foot{
    display:flex;justify-content:space-between;gap:14px;
    margin:18px -24px -24px;padding:13px 24px;
    background:linear-gradient(90deg,#2e6d62,#39796b);
    color:rgba(255,255,255,.92);font-size:12px;font-weight:700
}
.digital-strip-card-client{
    border-top:5px solid #39796b;
    padding-top:21px
}
@media(max-width:900px){
    .strippenkaart-grid,.strippenkaart-grid-client{grid-template-columns:1fr}
}
@media(max-width:650px){
    .strippenkaart-hero{align-items:flex-start}
    .strippenkaart-hero-badge{width:58px;height:58px;flex-basis:58px;border-radius:18px}
    .strippenkaart-hero-badge span{width:34px;height:34px;font-size:20px}
    .strippenkaart-form{grid-template-columns:1fr}
    .strippenkaart-form .form-span-2{grid-column:auto}
    .strippenkaart-form-actions{justify-content:stretch}
    .strippenkaart-form-actions .button{width:100%}
    .digital-strip-card{padding:18px}
    .strip-card-head{flex-direction:column}
    .strip-card-balance-client strong{font-size:48px}
    .strip-punches{grid-template-columns:repeat(4,minmax(38px,1fr));gap:8px}
    .strip-card-meta{grid-template-columns:1fr}
    .strip-card-foot{margin:18px -18px -18px;padding:12px 18px;flex-direction:column;gap:2px}
}


/* ===== V8 Strippenkaart: tijd / behandelingen + historie ===== */
.strip-type-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.strip-type-option{display:flex!important;gap:12px;align-items:flex-start;padding:15px;border:1px solid #d8e5e1;border-radius:14px;background:#fafdfc;cursor:pointer}
.strip-type-option input{width:auto;margin-top:4px}
.strip-type-option span{display:flex;flex-direction:column;gap:3px}
.strip-type-option strong{color:#275c52}
.strip-type-option small{color:#6c7e78;font-weight:400;line-height:1.4}
.strip-type-option:has(input:checked){border-color:#6ca192;background:#edf7f4;box-shadow:0 0 0 3px rgba(57,121,107,.08)}
.strip-mode-minuten[hidden],.strip-mode-behandelingen[hidden]{display:none!important}
.strip-card-spec,.time-card-total{margin:-3px 0 16px;padding:11px 13px;border-radius:11px;background:#f1f7f5;color:#365f57;font-size:13px;font-weight:800}
.strip-card-spec span{display:block;margin-top:3px;color:#778983;font-size:12px;font-weight:500}
.strip-time-progress{height:14px;overflow:hidden;border-radius:999px;background:#e1ebe8;margin:2px 0 12px}
.strip-time-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d9aa62,#39796b)}
.strip-deduct-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,130px) auto;align-items:end;gap:9px;margin:16px 0;padding:13px;border-radius:12px;background:#f4f8f7;border:1px solid #dfe9e6}
.strip-deduct-form label{grid-column:1/-1;margin:0;color:#315e55;font-weight:800;font-size:13px}
.strip-deduct-form input,.strip-deduct-form select{margin:0}
.strip-history{margin-top:16px;border-top:1px dashed #cbdad5;padding-top:14px}
.strip-history summary{cursor:pointer;color:#315e55;font-weight:800;font-size:13px;list-style-position:inside}
.strip-history-list{display:grid;gap:9px;margin-top:12px}
.strip-history-item{display:flex;gap:10px;align-items:flex-start;padding:10px 11px;border-radius:10px;background:#f7faf9}
.strip-history-dot{flex:0 0 25px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#e2f1ec;color:#2b7061;font-weight:900;font-size:12px}
.strip-history-item div{display:flex;flex-direction:column;gap:2px;min-width:0}
.strip-history-item strong{font-size:13px;color:#304c46}
.strip-history-item small{font-size:11px;color:#74847f;line-height:1.4}
.strip-history-empty{margin:10px 0 0;color:#75847f;font-size:13px}
@media(max-width:650px){
  .strip-type-picker{grid-template-columns:1fr}
  .strip-deduct-form{grid-template-columns:1fr}
}


/* ===== V9 Account verwijderen ===== */
.danger-zone{margin-top:28px;border:1px solid #e8c4be!important;background:linear-gradient(145deg,#fff,#fff8f7)!important}
.danger-zone-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:10px}
.danger-label{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f7dfdb;color:#9a3f38;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.danger-zone h2{margin:8px 0 0;color:#713b34}
.delete-warning-box{margin:18px 0;padding:15px 17px;border-radius:12px;background:#fff1ef;border:1px solid #ecc8c2;color:#70453f;line-height:1.55}
.delete-warning-box strong{color:#963f38}
.delete-warning-box p{margin:5px 0 0}
.button-danger{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:11px 16px;background:#a6433d;color:#fff!important;font-weight:800;cursor:pointer;text-decoration:none}
.button-danger:hover{background:#8e3732}
.account-delete-confirm{max-width:720px;padding:60px 0}
.delete-confirm-card{padding:30px;border:1px solid #dfe8e5;border-radius:20px;background:#fff;box-shadow:0 12px 36px rgba(31,55,48,.08)}
.delete-confirm-card h1{margin:8px 0 15px;color:#244e46}
.delete-confirm-danger{border-color:#e7c5bf}
.delete-confirm-success{text-align:center}
.delete-confirm-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#e3f3ed;color:#2f7566;font-size:28px;font-weight:900}
.account-delete-button{margin-top:4px}
.delete-expiry{margin:16px 0 0;color:#788782;font-size:12px}
@media(max-width:650px){
  .account-delete-confirm{padding:30px 0}
  .delete-confirm-card{padding:20px}
  .button-danger{width:100%}
}


/* ===== V11 Abonnementen, facturen en SEPA ===== */
.subscription-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;font-size:13px;font-weight:700;border-bottom:1px solid transparent}
.subscription-banner a{font-weight:800;text-decoration:underline}
.subscription-banner-proef{background:#edf7f3;color:#285e53;border-color:#cfe7de}
.subscription-banner-proef a{color:#285e53}
.subscription-banner-waarschuwing{background:#fff1e6;color:#885126;border-color:#f2d6bc}
.subscription-banner-waarschuwing a{color:#713f1d}
.subscription-banner-actief{background:#f5f7f6;color:#52645e;border-color:#e2e8e6}
.subscription-banner-actief a{color:#39796b}
.billing-profile-section{margin:34px 0 24px;padding:24px;border-radius:18px;background:#f7faf9;border:1px solid #dce9e5}
.billing-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.billing-profile-head h2{margin:2px 0 10px}
.billing-trial-note{margin:16px 0 22px;padding:12px 14px;border-radius:10px;background:#eef6f3;color:#2f665a}
.billing-consent-request{display:flex;gap:10px;align-items:flex-start;margin:18px 0 5px;padding:15px;border-radius:12px;background:#fff;border:1px solid #dbe6e2;font-weight:700}
.billing-consent-request input{margin-top:3px}
.form-help{font-size:12px;color:#6a7974;line-height:1.5}
.billing-active-note{padding:12px 14px;border-radius:10px;background:#e8f5ef;color:#276456;font-weight:700}
.billing-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;text-transform:capitalize;white-space:nowrap;background:#eef1f0;color:#53615d}
.billing-status-actief{background:#e3f3ed;color:#2f7566}
.billing-status-in_afwachting{background:#fff2dc;color:#8a6125}
.billing-status-ingetrokken{background:#f8e8e5;color:#98463f}
.billing-status-geen{background:#edf0ef;color:#65736f}
.billing-stats{margin-bottom:24px}
.panel-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.incasso-create-card{margin:20px 0;padding:18px;border-radius:14px;background:#f5f9f7;border:1px solid #dbe8e3}
.incasso-create-card h3{margin-top:0}
.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline-form label{display:flex;gap:8px;align-items:center}
.inline-form input,.inline-form select,.mandate-form input,.mandate-form select{min-height:38px;border:1px solid #cddbd6;border-radius:8px;padding:7px 9px;background:#fff}
.billing-table-wrap{overflow-x:auto;margin-top:18px}
.billing-table{width:100%;border-collapse:collapse;min-width:820px}
.billing-table th,.billing-table td{padding:12px 10px;text-align:left;border-bottom:1px solid #e6edeb;vertical-align:top}
.billing-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#61726c}
.billing-table td small{display:block;margin-top:4px;color:#73817d}
.mandate-form{display:flex;gap:6px;flex-wrap:wrap;min-width:310px}
.text-muted{color:#7b8985}
.invoice-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf1ef;color:#586a64;font-size:11px;font-weight:800}
.invoice-status-open{background:#fff1d9;color:#865f21}
.invoice-status-ingepland{background:#e8eef8;color:#405f8e}
.invoice-status-geincasseerd{background:#e3f3ed;color:#2f7566}
.invoice-status-mislukt{background:#f8e3e0;color:#99423c}
.invoice-status-gecrediteerd{background:#eee9f6;color:#655184}
.invoice-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}
.invoice-sheet{max-width:850px;margin:0 auto;background:#fff;border:1px solid #dde6e3;border-radius:18px;padding:42px;box-shadow:0 10px 30px rgba(36,78,70,.06)}
.invoice-head{display:flex;justify-content:space-between;gap:30px;border-bottom:2px solid #39796b;padding-bottom:24px}
.invoice-head h1{margin:0 0 6px;color:#285e53}
.invoice-company{text-align:right;line-height:1.55}
.invoice-to{margin:28px 0;line-height:1.55}
.invoice-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}
.invoice-meta span{padding:10px;border-radius:10px;background:#f5f8f7;font-size:12px}
.invoice-meta strong{display:block;margin-top:3px}
.invoice-table{width:100%;border-collapse:collapse}
.invoice-table th,.invoice-table td{padding:13px 10px;border-bottom:1px solid #e4ebe8;text-align:left}
.invoice-total{display:flex;justify-content:flex-end;gap:20px;margin-top:22px;font-size:18px}
.invoice-total strong{font-size:24px;color:#285e53}
.invoice-note{margin-top:30px;padding-top:18px;border-top:1px solid #e4ebe8;color:#657570;font-size:12px}
@media(max-width:760px){
 .subscription-banner{align-items:flex-start;flex-direction:column;padding:10px 15px}
 .billing-profile-head,.panel-heading-row,.invoice-head{flex-direction:column}
 .invoice-company{text-align:left}
 .invoice-sheet{padding:22px}
 .invoice-meta{grid-template-columns:1fr}
}
@media print{
 .app-sidebar,.app-topbar,.subscription-banner,.no-print,.site-footer{display:none!important}
 .app-shell,.app-main,.app-content{display:block!important;margin:0!important;padding:0!important}
 .invoice-sheet{box-shadow:none;border:0;padding:0;max-width:none}
 body{background:#fff!important}
}


/* V12 betaalgegevensbewaking */
.billing-block-message{margin-bottom:20px;border-left:5px solid #a6433d!important;padding:16px 18px!important}
.billing-profile-section:target{scroll-margin-top:90px;box-shadow:0 0 0 3px rgba(217,168,95,.20)}

/* ===== V13 Anatomie & naslagwerk ===== */
.side-nav-group-label{margin:17px 14px 7px;padding-top:13px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.anatomy-kicker{display:inline-block;margin-bottom:6px;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#39796b}
.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading-row h2{margin:2px 0 6px}.section-heading-row p{margin:0;color:#64736f}
.anatomy-dashboard-panel{margin-top:22px}.quick-anatomy-icon{width:62px;height:62px;flex:0 0 62px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#e6f3ef,#f6ead6);color:#39796b;font-size:28px;font-weight:900}.anatomy-quick-card{min-height:100px}
.anatomy-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:26px;align-items:stretch}.anatomy-position-card{padding:18px 20px;border-radius:16px;background:linear-gradient(145deg,#eef7f4,#fff8ed);border:1px solid #d9e9e3}.anatomy-position-card strong{color:#285e53}.anatomy-position-card p{margin:7px 0 0!important;font-size:14px;line-height:1.55!important;color:#52645f!important}
.anatomy-search-panel{position:sticky;top:74px;z-index:5;margin-bottom:20px;padding:18px}.anatomy-search-row{display:flex;gap:10px;align-items:center}.anatomy-search-box{display:flex;align-items:center;gap:10px;flex:1;padding:0 14px;border:1px solid #cfddd8;border-radius:12px;background:#fff}.anatomy-search-box span{font-size:22px;color:#39796b}.anatomy-search-box input{width:100%;border:0;outline:0;padding:13px 0;font:inherit;background:transparent}.anatomy-reset{white-space:nowrap}.anatomy-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.anatomy-chip{border:1px solid #cbdcd6;background:#fff;color:#34534b;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer}.anatomy-chip:hover,.anatomy-chip.is-active{background:#39796b;color:#fff;border-color:#39796b}.anatomy-result-count{margin:10px 2px 0;color:#73827e;font-size:12px}
.anatomy-term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:22px}.anatomy-term-card{padding:20px;border:1px solid #dce7e3;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(31,70,60,.055)}.anatomy-term-card[hidden]{display:none}.anatomy-term-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.anatomy-term-head h2{margin:0;color:#285e53;font-size:19px}.latin-name{display:block;margin-top:2px;color:#84908d;font-size:12px;font-style:italic}.anatomy-category-pill{flex:0 0 auto;border-radius:999px;background:#edf5f2;color:#39796b;padding:5px 8px;font-size:10px;font-weight:900}.anatomy-plain{margin:14px 0 10px;line-height:1.55}.anatomy-example{margin:0;padding:11px 12px;border-radius:11px;background:#fbf5ea;color:#5f594c;font-size:13px;line-height:1.5}.anatomy-example span,.anatomy-english span{display:block;margin-bottom:2px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#9a7a45}.anatomy-english{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-top:12px;padding-top:11px;border-top:1px solid #edf0ef;font-size:12px;color:#70807b}.anatomy-english span{margin:0;color:#70807b}.anatomy-no-results{padding:28px;text-align:center;border:1px dashed #bdcec8;border-radius:16px;background:#fff;color:#657670;margin-bottom:20px}
.anatomy-memory-panel,.anatomy-examples-panel{margin-top:20px}.opposites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.opposite-card{padding:13px 14px;border-radius:12px;background:#f7faf9;border:1px solid #e0e8e5}.opposite-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#285e53}.opposite-card>div span{color:#d49b4a;font-size:18px}.opposite-card small{display:block;margin-top:5px;color:#75817e}.report-example-list{display:grid;gap:9px;margin-top:16px}.report-example{display:grid;grid-template-columns:minmax(190px,.7fr) 25px minmax(0,1.3fr);gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:#f8faf9}.report-example strong{color:#285e53}.report-example>span{text-align:center;color:#d49b4a;font-weight:900}.report-example p{margin:0}.anatomy-note{margin:20px 0;padding:16px 18px;border-left:4px solid #d9a85f;border-radius:10px;background:#fff8ed;color:#665b48}.anatomy-note p{margin:5px 0 0}
.anatomy-hero-models{display:flex;align-items:center;justify-content:space-between;gap:25px}.anatomy-hero-models>div{max-width:760px}.anatomy-model-section{margin-top:20px}.anatomy-2d-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.anatomy-2d-grid figure{margin:0;border:1px solid #dbe6e2;border-radius:15px;overflow:hidden;background:#f7faf9}.anatomy-2d-grid figcaption{padding:10px 12px;font-weight:800;color:#35554d;text-align:center}.anatomy-image-button{display:block;width:100%;height:330px;padding:8px;border:0;background:#f1f6f4;cursor:zoom-in}.anatomy-image-button img{width:100%;height:100%;object-fit:contain;display:block}.anatomy-viewer-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.anatomy-viewer-source{border:1px solid #cbdcd6;background:#fff;border-radius:10px;padding:9px 12px;color:#34534b;font-weight:800;cursor:pointer}.anatomy-viewer-source.is-active{background:#39796b;color:#fff;border-color:#39796b}.anatomy-viewer-toolbar .button{margin-left:auto}.anatomy-viewer-frame-wrap{position:relative;min-height:650px;border:1px solid #d5e2de;border-radius:17px;overflow:hidden;background:#eef3f1}.anatomy-viewer-frame{display:block;width:100%;height:650px;border:0;background:#eef3f1}.anatomy-viewer-help{position:absolute;left:14px;bottom:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:calc(100% - 28px);padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.92);box-shadow:0 4px 18px rgba(0,0,0,.08);font-size:11px;color:#52645f;pointer-events:none}.anatomy-viewer-help strong{color:#285e53}.anatomy-viewer-help span+span:before{content:'•';margin-right:8px;color:#d9a85f}.anatomy-license-box{margin-top:12px;padding:14px 16px;border-radius:12px;background:#f7faf9;border:1px solid #e0e8e5}.anatomy-license-box p{margin:5px 0 8px;font-size:12px;line-height:1.55;color:#657570}.license-links{display:flex;flex-wrap:wrap;gap:13px}.license-links a{font-size:12px;font-weight:800;color:#39796b}.anatomy-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}.anatomy-resource-card{padding:20px}.anatomy-resource-card .resource-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e8f3ef;color:#39796b;font-size:22px}.anatomy-resource-card h3{margin:12px 0 6px;color:#285e53}.anatomy-resource-card p{margin:0 0 10px;color:#687872}.anatomy-resource-card a{font-weight:800;color:#39796b}
.anatomy-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:30px;background:rgba(18,31,27,.86)}.anatomy-lightbox[hidden]{display:none}.anatomy-lightbox>div{position:relative;width:min(900px,95vw);height:min(88vh,900px);padding:18px;border-radius:18px;background:#fff}.anatomy-lightbox h2{margin:0 0 10px;color:#285e53}.anatomy-lightbox img{display:block;width:100%;height:calc(100% - 42px);object-fit:contain}.anatomy-lightbox-close{position:absolute;right:12px;top:10px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:#edf4f2;color:#285e53;font-size:25px;cursor:pointer}.lightbox-open{overflow:hidden}
@media(max-width:1000px){.anatomy-2d-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.anatomy-term-grid{grid-template-columns:1fr}.anatomy-viewer-frame-wrap,.anatomy-viewer-frame{min-height:560px;height:560px}}
@media(max-width:720px){.anatomy-hero{grid-template-columns:1fr}.anatomy-search-panel{position:static}.anatomy-search-row{flex-direction:column;align-items:stretch}.anatomy-reset{width:100%}.opposites-grid,.anatomy-resource-grid{grid-template-columns:1fr}.report-example{grid-template-columns:1fr;gap:4px}.report-example>span{text-align:left;transform:rotate(90deg);width:20px}.anatomy-hero-models{align-items:flex-start;flex-direction:column}.anatomy-2d-grid{grid-template-columns:1fr 1fr}.anatomy-image-button{height:280px}.anatomy-viewer-toolbar .button{margin-left:0;width:100%}.anatomy-viewer-frame-wrap,.anatomy-viewer-frame{min-height:500px;height:500px}.anatomy-viewer-help{display:none}}
@media(max-width:480px){.anatomy-2d-grid{grid-template-columns:1fr}.anatomy-image-button{height:390px}.anatomy-term-card{padding:16px}.anatomy-term-head{flex-direction:column}.anatomy-viewer-frame-wrap,.anatomy-viewer-frame{min-height:460px;height:460px}}

/* ===== V13.3 veilig ontkoppelen & klant-snelkeuzes ===== */
.client-quick-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:320px}
.client-quick{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:8px;border:1px solid #cfe0dc;background:#fff;color:#285e53;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}
.client-quick:hover{background:#eef7f4;border-color:#9fc8be}
.client-quick.primary{background:#39796b;color:#fff;border-color:#39796b}
.unlink-confirm-panel{border:1px solid #e6c2bd!important;background:linear-gradient(145deg,#fff,#fff9f8)!important}
.unlink-confirm-panel h2{margin:10px 0 8px}
.unlink-confirm-form{margin-top:16px}
.confirm-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;padding:13px 15px;border:1px solid #ead5d1;border-radius:10px;background:#fff;line-height:1.45}
.confirm-check input{margin-top:3px;flex:0 0 auto}
@media(max-width:900px){.client-quick-actions{min-width:0}.client-quick{flex:1 1 calc(50% - 7px)}}


/* V14 Professionele modules */
.module-settings{display:grid;gap:12px}.module-switch{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid #e6e7e9;border-radius:14px;background:#fff}.module-switch input{margin-top:5px;transform:scale(1.2)}.module-switch span{display:grid;gap:4px}.module-switch small{color:#687076}
.tcm-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.7fr);gap:22px;align-items:start}.tcm-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.meridian-map-wrap{background:linear-gradient(180deg,#f8faf9,#fff);border:1px solid #e5e9e7;border-radius:18px;padding:12px}.meridian-map{width:100%;max-height:720px}.body-silhouette{fill:#f1f3f2;stroke:#cbd2ce;stroke-width:2}.meridian-lines path{fill:none;stroke-width:4;stroke-linecap:round;opacity:.86;transition:.2s}.meridian-lines path:nth-child(3n+1){stroke:#5f7f6f}.meridian-lines path:nth-child(3n+2){stroke:#9b7460}.meridian-lines path:nth-child(3n){stroke:#6f7894}.meridian-lines .is-muted,.acu-dot.is-muted{opacity:.08}.acu-dot{fill:#1f2522;stroke:#fff;stroke-width:1.2;transition:.2s}.tcm-side{display:grid;gap:8px}.meridian-card{display:grid;text-align:left;gap:2px;width:100%;padding:11px 12px;border:1px solid #e4e7e5;background:#fff;border-radius:12px;cursor:pointer}.meridian-card:hover,.meridian-card.is-active{border-color:#8aa796;background:#f7faf8}.meridian-card small{color:#6f7772}.reference-note{margin-top:16px;padding:14px 16px;border-radius:12px;background:#f7f4ec;border:1px solid #e6ddc4;color:#5b5547}.source-note{font-size:.9rem;color:#6d746f}
.acu-search{display:grid;grid-template-columns:minmax(240px,1fr) minmax(210px,.5fr) auto;gap:10px;margin:22px 0}.acu-search input,.acu-search select,.form-stack input,.form-stack textarea,.form-stack select,.inline-goal input{width:100%;padding:11px 12px;border:1px solid #d9dedb;border-radius:10px;background:#fff}.result-bar{margin:8px 0 14px;color:#667069}.acu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.acu-card{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid #e3e7e4;border-radius:14px;background:#fff}.acu-code{min-width:58px;height:42px;display:grid;place-items:center;border-radius:10px;background:#eef3f0;font-weight:800}.acu-card h3{margin:0 0 2px;font-size:1rem}.acu-card p,.acu-card small{margin:0;color:#69716c}
.two-col{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(360px,1.15fr);gap:24px;align-items:start}.form-stack{display:grid;gap:13px}.form-stack label{display:grid;gap:6px;font-weight:600}.form-stack textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.traject-list{display:grid;gap:12px}.traject-card{display:block;padding:17px;border:1px solid #e1e5e3;border-radius:16px;background:#fff;color:inherit;text-decoration:none}.traject-card:hover{border-color:#8aa796;box-shadow:0 6px 18px rgba(0,0,0,.05)}.traject-card h3{margin:8px 0 4px}.status-pill{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.78rem;background:#eef1ef}.status-actief,.status-open{background:#e8f4ed;color:#2d6848}.status-afgerond,.status-behaald{background:#edf0f4}.status-gepauzeerd,.status-gestopt{background:#f6eee7}.inline-goal{display:grid;grid-template-columns:1fr 150px auto;gap:8px}.goal-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid #eceeed}.session-card{padding:17px;border:1px solid #e1e5e3;border-radius:16px;background:#fff;margin-bottom:12px}.session-date{font-size:.86rem;color:#6d746f}.session-card h3{margin:5px 0 8px}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:3px 8px;border-radius:999px;background:#eef2f0;font-size:.8rem}.private-field{padding:12px;border-radius:12px;background:#f7f4ec}.private-note{margin-top:12px;padding:12px;border-radius:10px;background:#f7f4ec}.check-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;font-weight:500!important}.check-row input{width:auto}.empty-state{padding:20px;border:1px dashed #ccd3cf;border-radius:14px;color:#747b77;text-align:center}
@media(max-width:900px){.tcm-layout,.two-col{grid-template-columns:1fr}.acu-search{grid-template-columns:1fr}.inline-goal{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}

/* V14.1 - compacte, inklapbare zijbalk */
.app-sidebar{overflow:hidden}
.app-sidebar .brand{flex:0 0 auto}
.side-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#a9c5c4 transparent}
.side-nav::-webkit-scrollbar{width:7px}.side-nav::-webkit-scrollbar-track{background:transparent}.side-nav::-webkit-scrollbar-thumb{background:#b9cecd;border-radius:99px}.side-nav::-webkit-scrollbar-thumb:hover{background:#87aaa8}
.sidebar-help{flex:0 0 auto;margin-top:10px}
.side-link-dashboard{margin-bottom:4px}
.side-nav-group{border-top:1px solid #edf1f4;padding-top:5px;margin-top:4px}
.side-nav-group-toggle{width:100%;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:0;border-radius:9px;background:transparent;color:#17365f;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.side-nav-group-toggle:hover{background:#eef7f5;color:#174f4e}
.side-nav-group-toggle>span:first-child{display:flex;align-items:center;min-width:0;gap:12px}
.side-group-icon{width:24px;flex:0 0 24px;text-align:center;font-size:17px;font-weight:500}
.side-group-chevron{flex:0 0 auto;font-size:18px;line-height:1;transition:transform .18s ease;color:#648078}
.side-nav-group-items{display:none;padding:2px 0 4px 8px}
.side-nav-group.is-open>.side-nav-group-items{display:block}
.side-nav-group.is-open>.side-nav-group-toggle .side-group-chevron{transform:rotate(180deg)}
.side-nav-group.is-active-group>.side-nav-group-toggle{color:#226b67;background:#f3f8f7}
.side-nav-group-items .side-link{min-height:42px;padding-left:11px;font-size:14px}
.side-nav-group-items .side-icon{width:24px;font-size:17px}
@media(max-height:760px){.sidebar-help{padding:13px 16px}.sidebar-help p{margin:.2rem 0 .65rem}.leaf-art{font-size:32px}.side-link{min-height:43px}}


/* ===== V15 TCM kaart + acupunctuurpunten in dossier ===== */
.tcm-layout-v15{grid-template-columns:minmax(0,1.55fr) minmax(250px,.55fr)}
.tcm-viewbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.view-switch{display:inline-flex;padding:4px;border:1px solid #dfe7e4;border-radius:12px;background:#f4f7f6}.view-button{border:0;background:transparent;padding:8px 14px;border-radius:9px;color:#526660;font-weight:800;cursor:pointer}.view-button.is-active{background:#39796b;color:#fff;box-shadow:0 2px 7px rgba(57,121,107,.18)}.point-toggle{display:flex;align-items:center;gap:7px;font-size:.9rem;font-weight:700;color:#526660}.point-toggle input{width:auto}
.meridian-natural-wrap{position:relative;min-height:720px;border:1px solid #e1e7e4;border-radius:18px;background:linear-gradient(180deg,#fbfcfb,#f4f7f5);overflow:hidden}.meridian-stage{position:relative;width:min(100%,620px);height:760px;margin:0 auto}.meridian-body-image,.meridian-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.meridian-body-image{opacity:.48;filter:saturate(.82) contrast(.96)}.meridian-overlay{overflow:visible}.meridian-routes path{fill:none;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;opacity:.88;filter:drop-shadow(0 1px 1px rgba(255,255,255,.9));transition:opacity .18s,stroke-width .18s}.meridian-routes path[data-code="LU"]{stroke:#78a9bf}.meridian-routes path[data-code="LI"]{stroke:#b7a94f}.meridian-routes path[data-code="ST"]{stroke:#d89b44}.meridian-routes path[data-code="SP"]{stroke:#a8a447}.meridian-routes path[data-code="HT"]{stroke:#be6161}.meridian-routes path[data-code="SI"]{stroke:#d47d5a}.meridian-routes path[data-code="BL"]{stroke:#5d769c}.meridian-routes path[data-code="KI"]{stroke:#5d7d74}.meridian-routes path[data-code="PC"]{stroke:#8f698d}.meridian-routes path[data-code="TE"]{stroke:#8a7964}.meridian-routes path[data-code="GB"]{stroke:#678856}.meridian-routes path[data-code="LR"]{stroke:#638b70}.meridian-routes path[data-code="GV"]{stroke:#735f8f}.meridian-routes path[data-code="CV"]{stroke:#9b5f75}.meridian-routes path.is-muted{opacity:.06;stroke-width:3}.meridian-point-layer .acu-dot{fill:#152923;stroke:#fff;stroke-width:1.25;opacity:.92;transition:opacity .18s,r .18s}.meridian-point-layer .acu-dot.is-muted{opacity:.03}.hide-acu-points .meridian-point-layer{display:none}.tcm-side .button{margin-top:4px}
.tcm-treatment-picker{margin:20px 0;padding:18px;border:1px solid #dce9e5;border-radius:16px;background:linear-gradient(150deg,#fbfdfc,#f5faf8)}.tcm-picker-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.tcm-picker-head h3{margin:4px 0 5px}.tcm-picker-head p{margin:0;color:#687872;max-width:720px}.selection-counter{white-space:nowrap;padding:8px 11px;border-radius:999px;background:#e8f3ef;color:#285e53;font-size:.85rem}.point-picker-tools{display:grid;grid-template-columns:1fr 240px;gap:10px;margin:16px 0 10px}.point-picker-tools input,.point-picker-tools select{width:100%;padding:10px 11px;border:1px solid #d7e1dd;border-radius:10px;background:#fff}.point-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:430px;overflow:auto;padding-right:4px}.point-pick-row{border:1px solid #e3e9e6;border-radius:11px;background:#fff;overflow:hidden}.point-pick-row.is-selected{border-color:#85b1a6;background:#f8fcfa}.point-pick-row>label{display:grid;grid-template-columns:auto 55px 1fr;gap:9px;align-items:center;padding:10px 11px;cursor:pointer}.point-pick-row input[type=checkbox]{width:auto}.point-pick-code{font-weight:900;color:#285e53}.point-pick-row strong,.point-pick-row small{display:block}.point-pick-row small{color:#76807a;font-size:.78rem}.point-pick-note{padding:0 10px 10px 75px}.point-pick-note input{width:100%;padding:8px 9px;border:1px solid #dfe6e3;border-radius:8px;font-size:.85rem}.treatment-history-card{margin-bottom:15px}.treatment-acu-list{margin-top:12px;padding-top:11px;border-top:1px solid #e8ecea}.acu-pill-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.acu-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#edf6f3;border:1px solid #cfe2dc;color:#285e53;font-size:.84rem;font-weight:800;text-decoration:none}.acu-pill:hover{background:#dff0ea;border-color:#9bc5ba}.client-acu-box{margin-top:14px;padding:14px;border-radius:13px;background:#f5faf8;border:1px solid #dce9e5}.client-acu-box>strong{color:#285e53}.client-acu-help{margin:4px 0 0;color:#687872;font-size:.9rem}.client-acu-pill{background:#fff}.acu-client-detail{display:flex;align-items:center;gap:18px;margin:18px 0 22px;padding:20px;border:1px solid #dfe7e4;border-radius:18px;background:linear-gradient(145deg,#fff,#f4faf7)}.acu-client-code{display:grid;place-items:center;min-width:92px;height:92px;border-radius:22px;background:#39796b;color:#fff;font-size:1.55rem;font-weight:900;box-shadow:0 8px 25px rgba(57,121,107,.18)}.acu-client-detail h1{margin:3px 0 2px}.acu-client-meridian{margin:0;color:#64736d}.acu-client-columns{margin-top:0}.therapist-point-note{margin-top:14px;padding:14px 15px;border-left:4px solid #39796b;border-radius:10px;background:#f4f9f7}.therapist-point-note p{margin:6px 0 0}.back-link{display:inline-flex;margin-bottom:4px;color:#39796b;font-weight:800;text-decoration:none}
@media(max-width:900px){.tcm-layout-v15{grid-template-columns:1fr}.meridian-natural-wrap{min-height:640px}.meridian-stage{height:680px}.point-picker-grid{grid-template-columns:1fr}.point-picker-tools{grid-template-columns:1fr}.tcm-picker-head{flex-direction:column}.point-pick-note{padding-left:10px}}
@media(max-width:600px){.meridian-natural-wrap{min-height:560px}.meridian-stage{height:590px}.tcm-viewbar{align-items:flex-start;flex-direction:column}.acu-client-detail{align-items:flex-start}.acu-client-code{min-width:72px;height:72px;font-size:1.2rem}}

/* ===== V16 Transparante interactieve meridianenkaart ===== */
.meridian-natural-wrap{background:linear-gradient(180deg,#fbfdfc,#f6f9f8)}
.meridian-body-image{opacity:1;filter:none;pointer-events:none}
.meridian-routes path{stroke-width:4;opacity:.9;filter:none}
.meridian-routes path:not(.is-muted){filter:drop-shadow(0 1px 0 rgba(255,255,255,.9))}
.meridian-point-layer .acu-dot{fill:var(--point-color,#285e53);stroke:#fff;stroke-width:1.4;opacity:.98;pointer-events:none;transition:opacity .15s,r .15s,stroke-width .15s}
.meridian-point-layer .acu-dot.is-selected{r:5.8;stroke:#163f39;stroke-width:2.2}
.meridian-point-layer .acu-dot.is-muted{opacity:.025}
.meridian-point-layer .acu-dot-hit{fill:transparent;stroke:none;cursor:pointer;pointer-events:all;outline:none}
.meridian-point-layer .acu-dot-hit.is-muted{pointer-events:none}
.meridian-point-layer .acu-dot-hit:focus-visible{fill:rgba(45,111,103,.16);stroke:#285e53;stroke-width:1.5}
.acu-map-tooltip{position:absolute;z-index:8;padding:6px 9px;border-radius:8px;background:#163f39;color:#fff;font-size:.78rem;font-weight:800;pointer-events:none;box-shadow:0 5px 16px rgba(20,55,48,.18);white-space:nowrap}
.acu-map-pointinfo{position:absolute;z-index:6;top:16px;right:16px;width:min(280px,38%);padding:14px 15px;border:1px solid rgba(177,198,191,.85);border-radius:14px;background:rgba(255,255,255,.93);backdrop-filter:blur(7px);box-shadow:0 6px 22px rgba(30,68,60,.08);color:#173f39}
.acu-map-pointinfo>strong{display:block;margin:2px 0 5px;font-size:1rem}.acu-map-pointinfo>p{margin:0;color:#64736d;font-size:.86rem;line-height:1.4}.acu-map-info-kicker{display:block;margin-bottom:5px;color:#578078;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.acu-map-info-head{display:flex;gap:10px;align-items:center}.acu-map-info-head>div{min-width:0}.acu-map-info-head strong{display:block}.acu-map-info-code{display:grid;place-items:center;min-width:54px;height:46px;padding:0 8px;border-radius:10px;background:#39796b;color:#fff;font-weight:900}.acu-map-pinyin{display:block;margin-top:2px;font-size:.86rem;font-weight:800;color:#355f57}.acu-map-info-head small{display:block;margin-top:1px;color:#78847f;font-size:.75rem}.acu-map-location{margin:10px 0 0!important;padding-top:9px;border-top:1px solid #e5ece9}.acu-map-more{display:inline-flex;margin-top:10px;color:#285e53;font-size:.82rem;font-weight:900;text-decoration:none}.acu-map-more:hover{text-decoration:underline}
@media(max-width:720px){.acu-map-pointinfo{position:relative;top:auto;right:auto;width:auto;margin:12px}.acu-map-tooltip{display:none}.meridian-natural-wrap{padding-bottom:2px}}
/* V17 - acupunctuurpunt encyclopedie */
.acu-card-link{color:inherit;text-decoration:none;position:relative;transition:transform .15s ease,border-color .15s ease}.acu-card-link:hover{transform:translateY(-2px);border-color:#2e817b}.acu-read-more{font-size:.82rem;font-weight:700;color:#1f756f;margin-left:auto;align-self:center}.acu-point-hero{display:flex;gap:20px;align-items:center;margin:18px 0 22px;padding:24px;border:1px solid #dfe8e6;border-radius:18px;background:#fff}.acu-point-hero h1{margin:3px 0}.acu-encyclopedia .acu-client-code{min-width:78px;min-height:78px;display:grid;place-items:center}.acu-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.acu-detail-grid .feature{margin:0}.acu-status-note{padding:13px 16px;border-radius:12px;background:#fff8e9;border:1px solid #ead8ad;color:#66501c}.acu-safety{border-left:4px solid #b66b4a}.acu-detail-grid small{display:block;margin-top:10px;color:#64716f}@media(max-width:760px){.acu-detail-grid{grid-template-columns:1fr}.acu-point-hero{align-items:flex-start}.acu-read-more{width:100%;margin-top:6px}}

/* ===== V18 - Acupunctuurpunten overzicht verfijning ===== */
.acu-search{
  grid-template-columns:minmax(320px,1.65fr) minmax(220px,.8fr) auto;
  gap:12px;
  align-items:stretch;
  margin:24px 0 22px;
}
.acu-search input,.acu-search select{min-height:48px;border-radius:12px;padding:0 14px}
.acu-search .button{min-height:48px;padding:0 20px;border-radius:12px;white-space:nowrap}
.result-bar{margin:0 0 16px;font-size:.95rem}
.acu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.acu-card{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto auto 1fr auto;
  align-items:start;
  gap:0;
  min-height:176px;
  padding:18px 18px 16px;
  border-radius:16px;
  box-shadow:0 3px 12px rgba(31,69,61,.045);
}
.acu-card .acu-code{
  min-width:0;width:max-content;height:auto;min-height:36px;
  padding:7px 11px;margin-bottom:13px;border-radius:9px;
  background:#edf4f1;color:#173f39;font-size:.9rem;line-height:1;font-weight:900;
}
.acu-card>div:not(.acu-code){min-width:0}
.acu-card h3{margin:0 0 5px;font-size:1.03rem;line-height:1.25;color:#102e2a;overflow-wrap:anywhere}
.acu-card p{margin:0 0 4px;font-size:.91rem;line-height:1.35;color:#697872}
.acu-card small{display:block;margin-top:5px;font-size:.76rem;line-height:1.35;color:#7a8782}
.acu-read-more{
  display:inline-flex;align-items:center;align-self:end;width:max-content;
  margin:15px 0 0;padding-top:10px;border-top:1px solid #edf1ef;
  font-size:.82rem;font-weight:800;color:#1f756f;white-space:nowrap;
}
.acu-card-link:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(31,69,61,.08)}

@media(max-width:1180px){.acu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.acu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.acu-search{grid-template-columns:1fr}}
@media(max-width:600px){.acu-grid{grid-template-columns:1fr}.acu-card{min-height:150px}.acu-search .button{width:100%}}

/* V15 Behandelkaarten */
.knowledge-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0 40px}.knowledge-hub-card{display:flex;flex-direction:column;min-height:245px;padding:28px;border:1px solid var(--border,#dfe7e5);border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(28,51,66,.06);text-decoration:none;color:inherit;transition:.18s ease}.knowledge-hub-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(28,51,66,.10);border-color:#a9cbc3}.knowledge-hub-card h2{margin:14px 0 8px}.knowledge-hub-card p{margin:0 0 20px;color:#607080;line-height:1.65}.knowledge-hub-card strong{margin-top:auto;color:#39796b}.hub-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#e6f1ee;color:#39796b;font-size:27px}.muscle-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.muscle-map-card{border:1px solid #dfe7e5;border-radius:22px;background:#fff;padding:18px;text-align:left;cursor:pointer;box-shadow:0 8px 26px rgba(28,51,66,.06)}.muscle-map-card img{display:block;width:100%;height:560px;object-fit:contain;background:#fff;border-radius:16px}.muscle-map-card strong,.muscle-map-card span{display:block;margin-top:10px}.muscle-map-card span{color:#39796b}.muscle-dialog{width:min(94vw,1050px);max-height:94vh;border:0;border-radius:22px;padding:24px}.muscle-dialog::backdrop{background:rgba(20,34,45,.68)}.muscle-dialog img{width:100%;max-height:78vh;object-fit:contain}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:#eef4f2;border-radius:50%;width:40px;height:40px;font-size:25px;cursor:pointer}.reflex-map-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.reflex-map-stage{min-height:600px;display:grid;place-items:center;background:#fff;border:1px solid #e4ecea;border-radius:20px;overflow:hidden}.reflex-map-stage img{width:100%;max-height:720px;object-fit:contain}.reflex-zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reflex-zone-card{border:1px solid #e1e9e7;border-radius:16px;padding:16px;background:#fff}.reflex-zone-card p{font-size:.9rem;color:#697887}.reflex-zone-check{display:flex;gap:10px;align-items:flex-start}.reflex-zone-check span{display:flex;flex-direction:column}.reflex-zone-check small{color:#71808c;margin-top:2px}.reflex-zone-fields{display:grid;grid-template-columns:120px 140px 1fr;gap:8px}.reflex-zone-fields select,.reflex-zone-fields input{min-width:0}.button.is-active{background:#39796b;color:#fff;border-color:#39796b}@media(max-width:850px){.knowledge-hub-grid,.muscle-map-grid,.reflex-zone-grid{grid-template-columns:1fr}.muscle-map-card img{height:460px}.reflex-zone-fields{grid-template-columns:1fr}.reflex-map-stage{min-height:420px}}


/* ===== V19 Professionele voetreflexologie ===== */
.reflex-page{padding-bottom:58px}
.reflex-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.reflex-hero-stat{display:grid;place-items:center;min-width:132px;padding:18px 22px;border:1px solid #dce9e5;border-radius:20px;background:linear-gradient(145deg,#f1f8f5,#fff8ec);text-align:center}
.reflex-hero-stat strong{font-size:2.3rem;line-height:1;color:#285e53}.reflex-hero-stat span{margin-top:6px;color:#6a7974;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.reflex-clientbar{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap}.reflex-clientbar .filter-bar{margin:0;flex:1}.reflex-clientbar .filter-bar label{min-width:min(100%,340px)}
.reflex-new-card{justify-content:flex-end}.reflex-new-card input{min-width:210px}
.reflex-reference-panel{overflow:hidden}.reflex-reference-head{align-items:center}.reflex-reference-head h2{margin:2px 0 6px}.reflex-reference-head p{margin:0;color:#657570}
.reflex-license{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid #d5e4df;border-radius:999px;background:#f7fbf9;color:#39796b;font-size:.76rem;font-weight:900;text-decoration:none;white-space:nowrap}
.reflex-professional-map{display:grid;place-items:center;min-height:520px;margin-top:18px;padding:20px;border:1px solid #e0e9e6;border-radius:20px;background:linear-gradient(180deg,#fff,#f7faf9)}
.reflex-professional-map img{display:block;width:100%;max-width:1220px;max-height:840px;object-fit:contain;border-radius:12px}
.reflex-source-note{margin-top:14px;padding:11px 14px;border-radius:12px;background:#f7faf9;color:#61716c;font-size:.84rem}.reflex-source-note summary{cursor:pointer;font-weight:800;color:#3b5d55}.reflex-source-note p{margin:9px 0 1px;line-height:1.55}
.reflex-zones-panel{padding-bottom:0;overflow:hidden}.reflex-zones-heading{align-items:center}.reflex-zones-heading h2{margin:2px 0 5px}.reflex-zones-heading p{margin:0;color:#657570}
.reflex-tools{position:sticky;top:74px;z-index:4;margin:18px -2px 24px;padding:15px;border:1px solid #dfe9e6;border-radius:16px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(31,69,61,.055)}
.reflex-search{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #cadbd5;border-radius:12px;background:#fff}.reflex-search span{font-size:1.35rem;color:#39796b}.reflex-search input{width:100%;min-height:44px;border:0;outline:0;background:transparent;font:inherit}
.reflex-category-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.reflex-category-chip{border:1px solid #cbdcd6;border-radius:999px;padding:7px 10px;background:#fff;color:#3f5f57;font-size:.75rem;font-weight:800;cursor:pointer}.reflex-category-chip:hover,.reflex-category-chip.is-active{background:#39796b;border-color:#39796b;color:#fff}
.reflex-filter-count{margin-top:10px;color:#72827d;font-size:.76rem}.reflex-filter-count span{font-weight:900;color:#285e53}
.reflex-category-list{display:grid;gap:24px}.reflex-category-section{border:1px solid #dfe8e5;border-radius:19px;background:#fbfdfc;overflow:hidden}.reflex-category-section[hidden]{display:none}
.reflex-category-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:linear-gradient(135deg,#eef7f4,#fbf6ed);border-bottom:1px solid #dfe8e5}.reflex-category-heading h3{margin:0;color:#254e46;font-size:1.05rem}.reflex-category-heading span{display:block;margin-top:3px;color:#7a8883;font-size:.72rem}
.reflex-zone-list{display:grid}.reflex-zone-row{padding:16px 18px;background:#fff;border-bottom:1px solid #e8eeec}.reflex-zone-row:last-child{border-bottom:0}.reflex-zone-row[hidden]{display:none}.reflex-zone-row:has(input[type=checkbox]:checked){background:#f5faf8;box-shadow:inset 4px 0 0 #39796b}
.reflex-zone-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.reflex-zone-check{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:11px;flex:1;cursor:pointer}.reflex-zone-check input{margin-top:11px;width:18px;height:18px;accent-color:#39796b}
.reflex-zone-number{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#edf4f1;color:#285e53;font-size:.78rem;font-weight:900}.reflex-zone-title{min-width:0}.reflex-zone-title strong{display:block;margin-top:1px;color:#173f39;font-size:.97rem}.reflex-zone-title small{display:block;margin-top:4px;color:#71817c;line-height:1.45}
.reflex-zone-category{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#f1f4f3;color:#667570;font-size:.68rem;font-weight:800;white-space:nowrap}
.reflex-zone-fields{display:grid;grid-template-columns:140px 155px minmax(220px,1fr);gap:10px;margin:13px 0 0 69px}.reflex-zone-fields label{display:grid;gap:4px}.reflex-zone-fields label>span{font-size:.68rem;font-weight:800;color:#71807b;text-transform:uppercase;letter-spacing:.04em}.reflex-zone-fields select,.reflex-zone-fields input{width:100%;min-height:39px;border:1px solid #cad8d4;border-radius:9px;padding:7px 9px;background:#fff}
.reflex-savebar{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px -24px 0;padding:14px 24px;border-top:1px solid #dce7e3;background:rgba(255,255,255,.97);backdrop-filter:blur(8px)}.reflex-savebar span{color:#71807b;font-size:.78rem}
@media(max-width:900px){.reflex-hero{align-items:flex-start}.reflex-clientbar{display:block}.reflex-new-card{margin-top:14px;justify-content:flex-start}.reflex-zone-fields{grid-template-columns:1fr 1fr;margin-left:69px}.reflex-note-field{grid-column:1/-1}.reflex-zone-category{display:none}}
@media(max-width:650px){.reflex-hero{display:block}.reflex-hero-stat{margin-top:14px;min-width:0;width:max-content}.reflex-professional-map{min-height:300px;padding:8px}.reflex-tools{top:62px}.reflex-category-heading{padding:14px}.reflex-zone-row{padding:14px}.reflex-zone-main{display:block}.reflex-zone-fields{grid-template-columns:1fr;margin:12px 0 0 0}.reflex-note-field{grid-column:auto}.reflex-zone-check{grid-template-columns:auto auto 1fr}.reflex-savebar{margin:22px -14px 0;padding:12px 14px;align-items:stretch;flex-direction:column}.reflex-savebar .button{width:100%}}


/* ===== V19.1 Interactieve voetreflexkaart ===== */
.reflex-map-help{display:flex;align-items:center;gap:12px;margin:18px 0 10px;padding:12px 15px;border-radius:14px;background:#eef7f4;color:#345e55}
.reflex-map-help strong{white-space:nowrap;color:#245b50}.reflex-map-help span{font-size:.84rem;line-height:1.5}
.reflex-professional-map{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:18px;min-height:0;padding:18px}
.reflex-map-canvas{position:relative;width:100%;max-width:1220px;margin:auto;overflow:hidden;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px #edf1ef}
.reflex-map-canvas>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:14px}
.reflex-hotspot-layer{position:absolute;inset:0;pointer-events:none}
.reflex-hotspot{position:absolute;z-index:2;width:17px;height:17px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;padding:0;background:#168b7d;box-shadow:0 1px 5px rgba(10,51,45,.35);cursor:pointer;pointer-events:auto;transition:transform .15s,opacity .15s,box-shadow .15s,background .15s}
.reflex-hotspot:hover,.reflex-hotspot:focus-visible{z-index:5;transform:translate(-50%,-50%) scale(1.5);outline:0;box-shadow:0 0 0 5px rgba(22,139,125,.18),0 2px 8px rgba(10,51,45,.35)}
.reflex-hotspot.is-muted{opacity:.13}
.reflex-hotspot.is-active{z-index:6;width:25px;height:25px;opacity:1;background:#e88445;box-shadow:0 0 0 7px rgba(232,132,69,.20),0 3px 10px rgba(80,40,12,.25);animation:reflexPulse 1.6s ease-in-out infinite}
@keyframes reflexPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.18)}}
.reflex-map-info{position:sticky;top:92px;display:flex;flex-direction:column;min-height:170px;padding:18px;border:1px solid #d8e6e1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(31,69,61,.07)}
.reflex-map-info-kicker{margin-bottom:7px;color:#6f817b;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.reflex-map-info strong{color:#173f39;font-size:1.13rem;line-height:1.25}
.reflex-map-info p{margin:8px 0 16px;color:#697a74;font-size:.84rem;line-height:1.55}
.reflex-map-select{margin-top:auto;width:100%;font-size:.8rem}
.reflex-zone-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.reflex-show-map{border:1px solid #bcd5ce;border-radius:999px;padding:6px 9px;background:#fff;color:#287064;font-size:.69rem;font-weight:850;cursor:pointer;white-space:nowrap}
.reflex-show-map:hover,.reflex-show-map:focus-visible{background:#39796b;border-color:#39796b;color:#fff;outline:0}
.reflex-zone-title{cursor:pointer}
.reflex-zone-row.is-map-active{background:#fff9f3!important;box-shadow:inset 4px 0 0 #e88445!important}
.reflex-zone-row.is-map-active .reflex-zone-number{background:#fff0e5;color:#a65320}
@media(max-width:1050px){.reflex-professional-map{grid-template-columns:1fr}.reflex-map-info{position:static;min-height:0}.reflex-map-info p{margin-bottom:10px}}
@media(max-width:650px){.reflex-map-help{display:block}.reflex-map-help strong{display:block;margin-bottom:4px}.reflex-professional-map{padding:7px}.reflex-hotspot{width:14px;height:14px}.reflex-hotspot.is-active{width:22px;height:22px}.reflex-zone-actions{margin-top:8px}.reflex-zone-main{gap:8px}}

/* ===== V19.2 herziening interactieve voetreflexkaart ===== */
.reflex-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px;padding:10px 12px;border:1px solid #dce8e4;border-radius:13px;background:#fbfdfc;color:#687a74;font-size:.79rem}
.reflex-map-zoom{display:flex;align-items:center;gap:7px;flex:0 0 auto}.reflex-map-zoom button{min-width:34px;height:32px;border:1px solid #c8d9d3;border-radius:9px;padding:0 10px;background:#fff;color:#285e53;font-weight:900;cursor:pointer}.reflex-map-zoom button:hover{background:#39796b;border-color:#39796b;color:#fff}.reflex-map-zoom span{min-width:47px;text-align:center;color:#284f47;font-weight:900}
.reflex-professional-map{display:block!important;padding:12px!important}.reflex-map-info{position:static!important;display:grid!important;grid-template-columns:minmax(170px,.7fr) minmax(230px,1.7fr) auto;align-items:center;gap:14px;min-height:0!important;margin-bottom:12px;padding:13px 15px!important}.reflex-map-info-kicker{grid-column:1;margin:0!important}.reflex-map-info strong{grid-column:1;font-size:1.05rem!important}.reflex-map-info p{grid-column:2;grid-row:1/3;margin:0!important}.reflex-map-select{grid-column:3;grid-row:1/3;margin:0!important;min-width:135px}
.reflex-map-scroll{width:100%;overflow:auto;border:1px solid #e4ece9;border-radius:14px;background:#fff;scrollbar-color:#b8cdc6 #f3f7f5;scrollbar-width:thin}.reflex-map-canvas{max-width:none!important;margin:0!important;transition:width .18s ease;cursor:crosshair;transform-origin:top left}.reflex-map-canvas>img{user-select:none;-webkit-user-drag:none}
.reflex-hotspot-layer{pointer-events:none!important}.reflex-focus-marker{position:absolute;z-index:8;width:34px;height:34px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;background:rgba(232,132,69,.38);box-shadow:0 0 0 4px #e88445,0 4px 16px rgba(74,38,16,.2);pointer-events:none;animation:reflexFocusPulse 1.6s ease-in-out infinite}.reflex-focus-marker span{position:absolute;inset:8px;border-radius:50%;background:#e88445}.reflex-focus-marker b{position:absolute;left:50%;top:50%;width:3px;height:3px;transform:translate(-50%,-50%);border-radius:50%;background:#fff}
@keyframes reflexFocusPulse{0%,100%{box-shadow:0 0 0 4px rgba(232,132,69,.95),0 4px 16px rgba(74,38,16,.18)}50%{box-shadow:0 0 0 10px rgba(232,132,69,.16),0 4px 16px rgba(74,38,16,.22)}}
.reflex-focus-label{position:absolute;z-index:9;max-width:180px;transform:translate(-50%,calc(-100% - 28px));padding:7px 10px;border-radius:9px;background:#173f39;color:#fff;font-size:.72rem;font-weight:900;line-height:1.2;text-align:center;box-shadow:0 5px 16px rgba(23,63,57,.2);pointer-events:none}.reflex-focus-label:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);border-width:6px 6px 0;border-style:solid;border-color:#173f39 transparent transparent}
/* oude permanente stippen nooit meer tonen */
.reflex-hotspot{display:none!important}
@media(max-width:850px){.reflex-map-toolbar{align-items:flex-start;flex-direction:column}.reflex-map-info{grid-template-columns:1fr auto!important}.reflex-map-info-kicker,.reflex-map-info strong{grid-column:1}.reflex-map-info p{grid-column:1/-1;grid-row:auto!important}.reflex-map-select{grid-column:2;grid-row:1/3!important}.reflex-focus-label{max-width:145px;font-size:.68rem}}
@media(max-width:600px){.reflex-map-info{display:block!important}.reflex-map-info>*{display:block;margin-bottom:6px!important}.reflex-map-select{width:100%;margin-top:10px!important}.reflex-map-toolbar>span{display:none}.reflex-focus-marker{width:28px;height:28px}.reflex-focus-label{max-width:130px;transform:translate(-50%,calc(-100% - 24px))}}

/* ===== V19.3 Nederlandse interactieve voetreflexkaart ===== */
.reflex-v193{padding:4px}.reflex-v193-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.reflex-v193-head h2{margin:4px 0 6px;color:#173f39}.reflex-v193-head p{max-width:760px;margin:0;color:#687a74;line-height:1.55}
.reflex-v193-viewtabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.reflex-v193-tab{border:1px solid #c8d9d3;border-radius:999px;padding:9px 13px;background:#fff;color:#315f56;font-weight:800;cursor:pointer}.reflex-v193-tab:hover,.reflex-v193-tab.is-active{background:#276e61;border-color:#276e61;color:#fff}
.reflex-v193-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.reflex-v193-stage{min-width:0;border:1px solid #dce8e4;border-radius:18px;background:linear-gradient(180deg,#fbfdfc,#f5f9f7);padding:18px}.reflex-v193-view{display:none}.reflex-v193-view.is-active{display:block}.reflex-v193-footwrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:auto}.reflex-v193-foot{text-align:center}.reflex-v193-foot h3{margin:0 0 8px;color:#204f46;font-size:1rem}.reflex-v193-foot svg{display:block;width:100%;max-height:650px;filter:drop-shadow(0 8px 18px rgba(39,76,67,.08))}.reflex-v193-footshape{stroke:#436f65;stroke-width:1.2}.reflex-v193-guide{fill:none;stroke:#d5c8bc;stroke-width:.7;stroke-dasharray:2 2}
.reflex-v193-marker{cursor:pointer;outline:none}.reflex-v193-marker circle{fill:#e6f2ee;stroke:#2d7567;stroke-width:1.1;transition:.15s}.reflex-v193-marker text{fill:#173f39;font-size:3.15px;font-weight:900;pointer-events:none}.reflex-v193-marker:hover circle,.reflex-v193-marker:focus circle{fill:#bfe2d8;stroke-width:1.6}.reflex-v193-marker.is-active circle{fill:#e88849;stroke:#9e4d1f;stroke-width:1.8;filter:drop-shadow(0 0 3px rgba(232,136,73,.65))}.reflex-v193-marker.is-active text{fill:#fff}
.reflex-v193-info{position:sticky;top:90px;padding:18px;border:1px solid #d8e6e1;border-radius:17px;background:#fff;box-shadow:0 8px 25px rgba(31,69,61,.07)}.reflex-v193-info strong{display:block;margin-top:5px;color:#173f39;font-size:1.15rem}.reflex-v193-info p{color:#687a74;line-height:1.55}.reflex-v193-meta{margin:15px 0}.reflex-v193-meta div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #edf2f0}.reflex-v193-meta dt{font-weight:800;color:#567169}.reflex-v193-meta dd{margin:0;text-align:right;color:#173f39}.reflex-v193-note{margin-top:14px;padding:10px 13px;border-radius:12px;background:#f7f3ed;color:#786e62;font-size:.76rem}
@media(max-width:1050px){.reflex-v193-head{align-items:flex-start;flex-direction:column}.reflex-v193-viewtabs{justify-content:flex-start}.reflex-v193-layout{grid-template-columns:1fr}.reflex-v193-info{position:static}}
@media(max-width:650px){.reflex-v193-stage{padding:10px}.reflex-v193-footwrap{gap:7px}.reflex-v193-foot h3{font-size:.83rem}.reflex-v193-tab{padding:8px 10px;font-size:.76rem}.reflex-v193-marker circle{r:4.5}.reflex-v193-marker text{font-size:3.45px}}


/* V19.5 - statische professionele voetreflexkaart; interactieve kaart verwijderd */
.reflex-reference-static{overflow:hidden}
.reflex-static-v195{padding:4px}
.reflex-static-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}
.reflex-static-head h2{margin:4px 0 7px;color:#173f39;font-size:1.55rem}
.reflex-static-head p{max-width:850px;margin:0;color:#657872;line-height:1.6}
.reflex-static-badge{flex:0 0 auto;padding:10px 14px;border-radius:999px;background:#eaf4f1;color:#22685c;font-weight:900;border:1px solid #cce0da}
.reflex-static-mapcard{border:1px solid #dce8e4;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(29,70,61,.06)}
.reflex-static-map{position:relative;width:100%;aspect-ratio:1935/1255;background:#fff;overflow:hidden}
.reflex-static-map img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
/* Bedek uitsluitend de Engelstalige legenda/titel van de CC0-bron; de genummerde kaart zelf blijft onaangetast. */
.reflex-cover{position:absolute;background:#fff;pointer-events:none}
.reflex-cover-left{left:0;top:0;width:18.2%;height:100%}
.reflex-cover-title{left:18%;top:0;width:31%;height:15%}
.reflex-cover-letters{left:58.2%;top:14%;width:18%;height:28%}
.reflex-static-mapcaption{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #edf2f0;background:#f8fbfa;color:#526d65;font-size:.88rem}
.reflex-static-mapcaption strong{color:#214f46}
.reflex-static-legends{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,.8fr);gap:18px;margin-top:20px}
.reflex-static-legend-card{border:1px solid #dce8e4;border-radius:17px;background:#fff;padding:18px}
.reflex-static-legend-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #edf2f0}
.reflex-static-legend-head h3{margin:0;color:#173f39}.reflex-static-legend-head span{font-size:.78rem;font-weight:800;color:#6f827c}
.reflex-static-number-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;margin-top:8px}
.reflex-static-letter-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:8px}
.reflex-static-legend-row{display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;min-height:38px;padding:6px 0;border-bottom:1px solid #f0f4f2;color:#314f48;font-size:.86rem}
.reflex-static-legend-row b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#eaf4f1;color:#1e6659;font-size:.78rem}
.reflex-static-source{display:flex;flex-wrap:wrap;gap:5px 8px;margin-top:16px;padding:12px 15px;border-radius:13px;background:#f7f3ed;color:#756c62;font-size:.76rem;line-height:1.45}
.reflex-static-source strong{color:#544d45}
@media(max-width:1100px){.reflex-static-legends{grid-template-columns:1fr}.reflex-static-number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reflex-static-letter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}}
@media(max-width:720px){.reflex-static-head{align-items:flex-start;flex-direction:column}.reflex-static-number-grid,.reflex-static-letter-grid{grid-template-columns:1fr}.reflex-static-map{min-width:760px}.reflex-static-mapcard{overflow-x:auto}.reflex-static-mapcaption{min-width:760px}.reflex-static-badge{align-self:flex-start}}

/* ===== V20 geïntegreerd behandeldossier ===== */
.dossier-v20{padding-top:34px;padding-bottom:60px}.dossier-hero{align-items:center}.dossier-form{display:block}.dossier-top-grid{display:grid;grid-template-columns:1.3fr 1.2fr .9fr .55fr;gap:14px}.dossier-empty-prompt{margin:14px 0;padding:13px 16px;border:1px dashed #cbdcd6;border-radius:14px;background:#f7fbf9;color:#5b726b}.dossier-section{margin-top:18px;padding:20px;border:1px solid #dde9e5;border-radius:18px;background:#fbfdfc}.dossier-section h3{margin:0 0 5px;color:#173f39}.dossier-section-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:13px}.dossier-section-head p{margin:3px 0 0;color:#6b7d77}.button-small{padding:8px 11px!important;font-size:.78rem!important}.dossier-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.check-chip{cursor:pointer}.check-chip input{position:absolute;opacity:0;pointer-events:none}.check-chip span{display:block;padding:8px 12px;border:1px solid #ceded9;border-radius:999px;background:#fff;color:#365e55;font-weight:800;font-size:.82rem;transition:.15s}.check-chip input:checked+span{background:#2f7568;border-color:#2f7568;color:#fff;box-shadow:0 3px 10px rgba(47,117,104,.16)}.dossier-search{width:100%;margin:0 0 12px;padding:12px 14px;border:1px solid #ccdcd7;border-radius:12px;background:#fff}.picker-scroll{max-height:340px;overflow:auto;padding:3px 7px 3px 0}.picker-group{margin-bottom:15px}.picker-group h4{margin:0 0 7px;color:#46675f;font-size:.83rem;text-transform:uppercase;letter-spacing:.035em}.picker-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.picker-option{display:flex;gap:10px;align-items:flex-start;padding:10px 11px;border:1px solid #dce8e4;border-radius:12px;background:#fff;cursor:pointer;min-width:0}.picker-option:hover{border-color:#9fc6ba;background:#f8fcfa}.picker-option:has(input:checked){border-color:#4c8f81;background:#edf7f4}.picker-option input{margin-top:3px}.picker-option span{min-width:0}.picker-option strong,.picker-option small{display:block}.picker-option strong{color:#244f46;font-size:.84rem}.picker-option small{margin-top:2px;color:#75837f;font-size:.72rem;white-space:normal}.favorite-group{padding:10px;border:1px solid #e1d5a9;border-radius:14px;background:#fffdf6}.dossier-savebar{position:sticky;bottom:0;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding:14px 16px;border:1px solid #cfe0da;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 -5px 18px rgba(35,75,66,.08);backdrop-filter:blur(8px)}.dossier-savebar span{color:#61756f;font-size:.84rem}.treatment-timeline-list{display:grid;gap:14px}.treatment-v20{padding:19px}.treatment-v20-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.treatment-v20-head h3{margin:3px 0;color:#173f39}.treatment-v20-head p{margin:0;color:#6f817b}.timeline-date{color:#3f776c;font-weight:900;font-size:.78rem}.linked-badge{padding:7px 10px;border-radius:999px;background:#eef6f3;color:#2c675c;font-weight:800;font-size:.75rem}.treatment-summary-block{margin-top:12px;padding:11px 13px;border-radius:12px;background:#f8fbfa}.treatment-summary-block p{margin:4px 0 0;color:#4f625d}.treatment-tag-groups{display:grid;gap:10px;margin-top:13px}.treatment-tag-groups>div>strong{display:block;margin-bottom:5px;color:#4b625b;font-size:.77rem}.dossier-pill-row{display:flex;flex-wrap:wrap;gap:6px}.dossier-pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#edf5f2;color:#315f55;font-weight:800;font-size:.73rem}.treatment-followup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.treatment-followup-grid>div{padding:11px 13px;border:1px solid #e4ece9;border-radius:12px}.treatment-followup-grid p{margin:4px 0 0;color:#566a64}.smart-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.smart-stat{padding:16px 17px;border:1px solid #dce8e4;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(31,69,61,.05)}.smart-stat>span{display:block;color:#6d817a;font-size:.76rem;font-weight:800}.smart-stat>strong{display:block;margin:5px 0 2px;color:#173f39;font-size:1.15rem}.smart-stat>small{color:#71847d}.smart-stat-wide{grid-column:span 3}.client-profile-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;border:1px solid #dce8e4;border-radius:18px;background:#fff}.client-profile-actions{display:flex;flex-wrap:wrap;gap:8px}.profile-photo-fallback{display:grid;place-items:center;background:#e7f1ee;color:#2b6c60;font-size:1.25rem;font-weight:900}.client-dossier-grid{margin-top:18px}.client-timeline{position:relative;margin-top:22px;padding-left:28px}.client-timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#d7e5e0}.timeline-item{position:relative;margin-bottom:14px}.timeline-dot{position:absolute;left:-25px;top:20px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#4b8d7f;box-shadow:0 0 0 2px #b8d3cb}.timeline-card{padding:16px 18px}.timeline-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.timeline-type{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#337267}.timeline-card time{color:#7b8b86;font-size:.78rem}.timeline-card h3{margin:6px 0;color:#173f39}.timeline-card p{margin:6px 0;color:#566963}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-card{padding:16px;border:1px solid #dce8e4;border-radius:15px;background:#fbfdfc}.template-card h3{margin:4px 0;color:#173f39}.template-card p{color:#6b7c77}.template-card-kicker{font-size:.72rem;text-transform:uppercase;font-weight:900;color:#3f7a6e}.template-card-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.template-rename-form{display:flex;gap:6px;flex:1}.template-rename-form input{min-width:150px;flex:1}.button-danger{background:#fff0ed!important;border-color:#e9b2a8!important;color:#9a3f32!important}.muscle-catalog{margin-top:18px}.muscle-catalog-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.muscle-catalog-group{border:1px solid #e0e9e6;border-radius:15px;overflow:hidden}.muscle-catalog-group h3{margin:0;padding:11px 13px;background:#f2f7f5;color:#315e55;font-size:.9rem}.muscle-catalog-list{padding:6px}.muscle-catalog-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 8px;border-bottom:1px solid #eef3f1}.muscle-catalog-row:last-child{border-bottom:0}.muscle-catalog-row strong,.muscle-catalog-row small{display:block}.muscle-catalog-row strong{color:#274f47}.muscle-catalog-row small{color:#7b8884;font-size:.72rem}.reflex-favorite-toggle{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:800;color:#8b6b14;cursor:pointer}.reflex-favorite-toggle input{accent-color:#bf9b28}.reflex-select-category{border:1px solid #cbdcd6;border-radius:999px;padding:6px 9px;background:#fff;color:#397165;font-weight:800;font-size:.72rem;cursor:pointer}.reflex-select-category:hover{background:#edf6f3}.muted{color:#778781}
@media(max-width:1100px){.dossier-top-grid{grid-template-columns:1fr 1fr}.picker-options{grid-template-columns:repeat(2,minmax(0,1fr))}.smart-overview-grid{grid-template-columns:1fr 1fr}.smart-stat-wide{grid-column:span 2}.muscle-catalog-groups{grid-template-columns:1fr}}
@media(max-width:720px){.dossier-top-grid,.picker-options,.treatment-followup-grid,.smart-overview-grid,.template-grid{grid-template-columns:1fr}.smart-stat-wide{grid-column:span 1}.dossier-section-head,.dossier-savebar,.client-profile-hero{align-items:flex-start;flex-direction:column}.dossier-savebar .button{width:100%}.client-profile-actions{width:100%}.client-profile-actions .button{flex:1}.template-rename-form{width:100%;flex-basis:100%}.timeline-card-head{align-items:flex-start;flex-direction:column}}

/* V22.6: compacte navigatie en vindbare hulp */
.app-sidebar{background:#2e3c51;color:#fff;padding:12px 10px}.app-sidebar .brand{color:#fff}.app-sidebar .brand small{color:#d7e5ef}.side-nav{overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;gap:2px}.side-nav-group{border-top:0;margin:0;padding:0}.side-nav-group-toggle{color:#fff;min-height:42px;padding:8px 10px;font-size:14px}.side-nav-group-toggle:hover,.side-nav-group.is-active-group>.side-nav-group-toggle{background:#147fae;color:#fff}.side-nav-group-items{padding:2px 0 5px 18px;background:#253349;border-radius:7px}.side-nav-group-items .side-link{color:#eaf4fa;min-height:36px;padding:6px 10px;font-size:13px}.side-nav-group-items .side-link:hover{background:#36506c;color:#fff}.side-nav-group-items .side-link.is-active{background:#147fae;color:#fff}.side-link-dashboard{color:#fff;min-height:42px}.side-link-dashboard:hover{background:#147fae;color:#fff}.sidebar-help{padding:12px;background:#243349;color:#fff;margin-top:8px}.sidebar-help p{color:#d7e5ef}.sidebar-help .button{font-size:12px}.topbar-find{display:flex;align-items:center;gap:6px;max-width:380px;width:35%}.topbar-find input{min-width:0;width:100%;margin:0;min-height:38px;padding:6px 10px}.topbar-find button{white-space:nowrap;min-height:38px;padding:6px 10px}.topbar-help{margin-left:15px;white-space:nowrap}.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}.help-search{width:100%;max-width:650px;padding:12px}.help-topic{margin-bottom:12px}.help-topic summary{cursor:pointer;font-weight:700;padding:13px}.help-topic .help-answer{padding:0 15px 15px}.help-topic .help-answer p{margin:9px 0}.help-topic .help-answer ol{padding-left:24px}.help-tag{font-size:12px;color:#476277}.help-empty{display:none}.help-card{scroll-margin-top:100px}@media(max-width:900px){.topbar-find{width:100%;max-width:none}.topbar-help{display:none}}@media(max-width:520px){.topbar-find button{display:none}.topbar-find input{font-size:14px}}

/* V22.7.1: hoog contrast voor alle rollen, ook bezochte links op mobiel. */
.app-sidebar .side-nav a.side-link:link,
.app-sidebar .side-nav a.side-link:visited {color:#f5faff; text-decoration:none;}
.app-sidebar .side-nav a.side-link:hover,
.app-sidebar .side-nav a.side-link:focus-visible {color:#ffffff; background:#176f99;}
.app-sidebar .side-nav a.side-link.is-active:link,
.app-sidebar .side-nav a.side-link.is-active:visited {color:#ffffff; background:#147fae;}
.app-sidebar .side-nav .side-icon {color:inherit;}
.app-sidebar .side-nav a.side-link:focus-visible {outline:2px solid #fff;outline-offset:2px;}
