/* Gedeelde stijlen voor modules */
html,body{margin:0}
.mchip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.8rem;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;line-height:1.35}
.mchip:hover{border-color:var(--teal)}
.msec{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--surface);display:grid;gap:12px}
.msec-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.msec-h h3{display:flex;align-items:center;gap:8px;margin:0}
.mrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.mstat{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg)}
.mstat span{display:block;font-size:.75rem;color:var(--muted)}
.mstat b{font-size:1.05rem}
.mnote{font-size:.8rem;color:var(--muted);line-height:1.5}
.mwarn{border-left:3px solid var(--warn);background:var(--warn-bg);padding:10px 12px;border-radius:8px;font-size:.87rem}
.mok{border-left:3px solid var(--ok);background:var(--ok-bg);padding:10px 12px;border-radius:8px;font-size:.87rem}
.mcrit{border-left:3px solid var(--crit);background:var(--crit-bg);padding:10px 12px;border-radius:8px;font-size:.87rem}
.minfo{border-left:3px solid var(--info);background:var(--info-bg);padding:10px 12px;border-radius:8px;font-size:.87rem}
.mtbl td,.mtbl th{vertical-align:top}
.mtbl input,.mtbl select{width:100%;min-width:0}
.msig{width:100%;height:150px;border:1px dashed var(--line);border-radius:10px;background:#fff;touch-action:none;display:block}
.mpub{max-width:760px;margin:0 auto}
.mpub .card{border:1px solid var(--line);border-radius:16px;padding:22px;background:var(--surface);display:grid;gap:14px}
.mbar{height:8px;border-radius:99px;background:var(--line);overflow:hidden;position:relative}
.mbar i{position:absolute;inset:0 auto 0 0;background:var(--teal);border-radius:99px}
.mbar.warn i{background:var(--warn)}.mbar.crit i{background:var(--crit)}
@media print{body.mprint *{visibility:hidden}body.mprint .mprint-area,body.mprint .mprint-area *{visibility:visible}body.mprint .mprint-area{position:absolute;inset:0;margin:0}}
.panel.c12>.msec{border:0;padding:0;background:transparent}.rk-dash>.msec+.msec,.alv-dash>.msec+.msec{border-top:1px solid var(--line);padding-top:14px;border-radius:0}
/* zoekbare keuzelijst */
.zl{position:relative;width:100%}
.zl-hidden{position:absolute!important;opacity:0;pointer-events:none;width:1px!important;height:1px!important;overflow:hidden}
.zl-in{width:100%;font:inherit;padding:10px 34px 10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235A6C7E' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='M11 11l3 3'/%3E%3C/svg%3E") no-repeat right 11px center;color:var(--ink)}
.zl-in:focus{outline:2px solid color-mix(in srgb,var(--teal) 55%,transparent);outline-offset:1px;border-color:var(--teal)}
.zl-list{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 4px);max-height:300px;overflow:auto;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg)}
.zl-list li{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.9rem;line-height:1.35;display:grid}
.zl-list li[aria-selected=true]{background:var(--teal-soft)}
.zl-list li:hover{background:var(--bg)}
.zl-list mark{background:color-mix(in srgb,var(--teal) 25%,transparent);color:inherit;border-radius:3px}
.zl-g{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.zl-none{color:var(--muted);cursor:default}
input[type=password],input[type=search],input[type=url]{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:400;font-size:.95rem}
.drawer:not(.open){box-shadow:none}
