:root{--red:#b8404b;--red-dark:#8f2d39;--ink:#25252a;--muted:#73747b;--line:#e6e3e4;--paper:#fff;--wash:#f7f4f2;--cream:#fbf9f7;--green:#3c815f;--orange:#c47d22;--blue:#5278aa;--shadow:0 14px 40px rgba(74,40,36,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--wash)}
*{box-sizing:border-box}body{margin:0;background:var(--wash);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}
.hidden{display:none!important}
.import-preview{margin-top:14px;display:grid;gap:12px}.import-preview .table-wrap{max-height:360px;overflow:auto}.import-preview .notice{max-height:190px;overflow:auto}.import-preview .btn{justify-self:start}
.app-shell{min-height:100vh;--header-height:71px;padding-top:var(--header-height)}
.topbar{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:12px clamp(16px,4vw,44px)}
.brand{display:flex;align-items:center;gap:10px;min-width:235px}
.brand img{width:46px;height:46px;object-fit:contain}
.brand strong{display:block;font-size:15px}
.brand small{display:block;color:var(--muted);margin-top:2px}
.topbar-spacer{flex:1}
.year-pill,.user-pill{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 12px;font-size:12px;color:#5f5d62}
.user-pill{display:flex;align-items:center;gap:8px}
.avatar{width:25px;height:25px;border-radius:50%;background:#dce7dd;color:#37634b;display:grid;place-items:center;font-size:10px;font-weight:800}
.layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100dvh - var(--header-height))}
.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 14px}
.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#a09ca0;font-weight:800;padding:8px 12px}
.nav-btn{width:100%;border:0;background:transparent;text-align:left;border-radius:12px;padding:11px 12px;color:#66636a;display:flex;gap:10px;align-items:center;margin:2px 0}
.nav-btn:hover,.nav-btn.active{background:#f8eceb;color:var(--red-dark);font-weight:700}
.nav-icon{width:20px;text-align:center}
.sidebar-note{margin:22px 10px 0;padding:14px;background:var(--cream);border:1px solid #eee5df;border-radius:14px;color:var(--muted);font-size:11px;line-height:1.45}
.main{padding:clamp(18px,3vw,36px);max-width:1600px;width:100%;margin:auto}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:800}
.page-head h1{font-size:clamp(24px,3vw,34px);margin:4px 0 5px;letter-spacing:-.03em}
.page-head p{margin:0;color:var(--muted);font-size:14px}
.head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.btn{border:1px solid var(--line);background:#fff;border-radius:10px;color:#58555b;padding:9px 12px;font-size:12px;font-weight:700}
.btn:hover{border-color:#d3afb0;color:var(--red-dark)}
.btn.primary{background:var(--red);border-color:var(--red);color:#fff}
.btn.primary:hover{background:var(--red-dark)}
.btn.ghost{background:transparent}
.btn.danger{color:#a3343f}
.env-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.env-tab{border:1px solid var(--line);background:#fff;color:#66636a;border-radius:999px;padding:10px 15px;font-weight:800;font-size:12px}
.env-tab.active{background:var(--red);border-color:var(--red);color:#fff}
.subnav{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:9px}
.subnav button{border:0;background:transparent;color:#77747a;padding:8px 11px;border-radius:8px;font-size:12px}
.subnav button.active{background:#eee2df;color:var(--red-dark);font-weight:800}
.grid{display:grid;gap:16px}
.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.card{padding:18px}
.metric-label{font-size:11px;color:var(--muted);font-weight:700}
.metric-value{font-size:27px;font-weight:850;letter-spacing:-.04em;margin-top:8px}
.metric-foot{font-size:11px;color:var(--muted);margin-top:4px}
.panel{overflow:hidden}
.panel-head{padding:17px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.panel-head h2{font-size:15px;margin:0 0 4px}
.panel-head p{font-size:12px;color:var(--muted);margin:0}
.panel-body{padding:18px}
.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.search{flex:1;min-width:210px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);outline:none}
.search:focus{border-color:#c98487;box-shadow:0 0 0 3px rgba(184,64,75,.1)}
.filters{display:flex;gap:6px;flex-wrap:wrap}
.contact-sort-control{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);white-space:nowrap}
.contact-sort-control select{max-width:230px;border:1px solid var(--line);border-radius:9px;padding:8px 9px;background:#fff;color:var(--ink);font:inherit}
.filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-size:11px;color:#6c6970}
.filter-btn.active{background:#f4e3e1;border-color:#e5c4c2;color:var(--red-dark);font-weight:800}
/* Eén centrale overflow-regel voor alle tabelcontainers. */
.table-wrap{width:100%;min-width:0;max-width:100%;max-height:520px;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;border:0;border-radius:0}
.table{border-collapse:collapse;width:100%;min-width:0;font-size:12px;table-layout:auto}
.table th{position:sticky;top:0;background:#faf8f7;text-align:left;color:#77747a;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:11px 12px;border-bottom:1px solid var(--line);z-index:1}
.table td{padding:12px;border-bottom:1px solid #f0edec;vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tbody tr:hover{background:#fcf7f6}
.table button.link{padding:0;border:0;background:none;color:var(--ink);font-weight:800;text-align:left}
.table button.link.contact-name-link{color:var(--ink);font-weight:650}
.table td,.table td *{color:var(--ink)!important}
.table .badge,.table .chip{color:var(--ink)!important}
.contact-name-prefix,.contact-prefix-cell,.pieten-table td:nth-child(3),.pieten-staff-table td:nth-child(3){font-weight:400!important}
.table button.link.contact-name-link:hover{text-decoration:underline}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;background:#f0eff0;color:#6c6970;white-space:nowrap}
.badge.open{background:#f0eff0}
.badge.wait{background:#fff0d7;color:#9b6313}
.badge.done{background:#e4f3e8;color:#2f754d}
.badge.no{background:#f9e3e3;color:#a52f3c}
.badge.blue{background:#e8eef8;color:#486a9c}
.chip{display:inline-block;border-radius:999px;padding:4px 7px;font-size:10px;background:#f2eeee;color:#655f63;margin:2px 3px 2px 0}
.money{text-align:right;white-space:nowrap}
.group{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}
.group-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fbf9f8;cursor:pointer}
.group-head strong{font-size:13px}
.group-head span{color:var(--muted);font-size:11px}
.group-body{padding:0 12px 12px}
.group.collapsed .group-body{display:none}
.chevron{margin-left:auto;color:var(--muted)}
.empty{padding:28px;text-align:center;color:var(--muted);font-size:13px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.field{display:flex;flex-direction:column;gap:5px}
.field.full{grid-column:1/-1}
.field label{font-size:11px;font-weight:800;color:#6c6970}
.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff;color:var(--ink);min-width:0}
.field textarea{min-height:80px;resize:vertical}
.modal-backdrop{position:fixed;inset:0;background:rgba(27,18,18,.42);display:grid;place-items:center;padding:18px;z-index:50}
.modal{width:min(720px,100%);max-height:min(88vh,760px);background:#fff;border-radius:17px;box-shadow:0 30px 80px rgba(35,19,19,.25);display:flex;flex-direction:column}
.modal-head,.modal-foot{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.modal-foot{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}
.modal-head h2{font-size:17px;margin:0}
.modal-head p{font-size:11px;color:var(--muted);margin:4px 0 0}
.modal-close{border:0;background:transparent;font-size:22px;color:#777}
.contact-org-role{display:grid;gap:3px;min-width:120px}
.person-name-row{display:grid;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:13px;align-items:end}
.person-name-row>.field{min-width:0}
.person-name-row .person-prefix-field input{width:100%}
.contacts-table .contact-status-col{width:118px}
.contacts-table .contact-role-col{min-width:130px}
.contacts-table .contact-org-col{min-width:240px}
.contacts-table .contact-notes-col{min-width:180px}
.contacts-table .contact-summary-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-width:100%;min-height:22px;white-space:normal}
.contacts-table .contact-company-name{font-size:12px;font-weight:800}
.contacts-table .contact-person-name{font-size:10px;font-weight:400;line-height:1.25}
.contacts-table .contact-person-primary{font-size:12px;font-weight:800}
.contact-org-role strong{font-size:12px}
.contact-org-role small{font-size:10px;color:var(--muted)}
.contact-picker{position:relative}
.contact-picker>input{width:100%}
.contact-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:8;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(35,19,19,.16);padding:4px;display:grid;gap:2px}
.contact-suggestions[hidden]{display:none}
.contact-suggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-radius:7px;background:#fff;padding:9px 10px;text-align:left;color:var(--ink)}
.contact-suggestion:hover,.contact-suggestion:focus-visible{background:var(--cream);outline:none}
.contact-suggestion span{display:grid;gap:2px;min-width:0}
.contact-suggestion strong{font-size:12px;font-weight:700}
.contact-suggestion small,.contact-suggestion-empty{font-size:10px;color:var(--muted)}
.contact-suggestion-empty{padding:10px}
.contact-unlink{justify-self:start}
.contact-link-actions{display:flex;gap:8px;flex-wrap:wrap}
.modal-body{padding:18px;overflow:auto}
.detail-list{display:grid;grid-template-columns:150px 1fr;gap:10px 16px;font-size:13px}
.detail-list dt{color:var(--muted);font-size:11px;font-weight:800}
.detail-list dd{margin:0}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.day{min-height:105px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}
.day.muted{background:#faf8f7;color:#b0abad}
.day-number{font-size:11px;font-weight:800}
.event{display:block;margin-top:6px;padding:5px 6px;border-radius:7px;background:#f2e3e2;color:#773840;font-size:10px;line-height:1.2}
.notice{padding:12px 14px;border-radius:10px;background:#fff7e7;border:1px solid #f0dcad;color:#805b22;font-size:12px;line-height:1.45}
.mobile-nav{display:none}
.version-note{font-size:10px;color:#aaa;margin-top:30px;text-align:center}
.datebox{width:52px;height:52px;border-radius:12px;background:#f8eceb;color:var(--red-dark);display:grid;place-items:center;align-content:center;line-height:1}
.datebox strong{font-size:20px}
.datebox small{font-size:9px;margin-top:3px}
@media(max-width:1050px){.layout{grid-template-columns:205px 1fr}
.brand{min-width:200px}
.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.topbar{padding:10px 13px}
.brand{min-width:0}
.brand img{width:38px;height:38px}
.brand strong{font-size:13px}
.brand small{font-size:10px}
.year-pill{display:none}
.layout{display:block}
.sidebar{display:none}
.mobile-nav{display:flex;position:sticky;bottom:0;z-index:25;background:#fff;border-top:1px solid var(--line);padding:8px;gap:4px;justify-content:space-around}
.mobile-nav button{border:0;background:none;color:#777;font-size:10px;padding:5px}
.mobile-nav button.active{color:var(--red-dark);font-weight:800}
.main{padding:18px 12px 84px}
.page-head{display:block}
.head-actions{justify-content:flex-start;margin-top:13px}
.grid.cards,.grid.two{grid-template-columns:1fr}
.panel-head{padding:14px}
.panel-body{padding:14px}
.form-grid{grid-template-columns:1fr}
.field.full{grid-column:auto}
.table-wrap{max-height:none}
.calendar{gap:3px}
.day{min-height:76px;padding:5px}
.event{font-size:9px;padding:4px}
.subnav{overflow-x:auto;flex-wrap:nowrap}
.subnav button{white-space:nowrap}
.toolbar{align-items:stretch}
.search{min-width:100%;flex-basis:100%}
.contact-sort-control{justify-content:space-between;width:100%;white-space:normal}.contact-sort-control select{max-width:none;flex:1}
.filters{width:100%;overflow-x:auto;flex-wrap:nowrap}
.filter-btn{white-space:nowrap}}

/* v5.3.0 — vaste navigatie, pictogrammen, gebruikersmenu en agendaweergave */
.brand{border:0;background:transparent;color:inherit;padding:0;text-align:left;font:inherit;cursor:pointer}
.brand:focus-visible,.user-pill:focus-visible,.account-menu button:focus-visible{outline:2px solid #c98487;outline-offset:3px}
.nav-icon-svg{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;color:currentColor}
.nav-icon-svg svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.nav-btn{gap:10px}
.layout{align-items:stretch}
.sidebar{min-height:calc(100vh - 71px);display:flex;flex-direction:column}
.version-note{margin-top:8px!important;padding-top:18px}
.year-select{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:5px 10px 5px 12px;color:#5f5d62;font-size:12px;white-space:nowrap}
.year-select span{font-size:11px;color:var(--muted)}
.year-select select{border:0;background:transparent;color:var(--ink);font-weight:800;font-size:12px;cursor:pointer;outline:none}
.user-menu-wrap{position:relative}
.user-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:6px 10px 6px 8px;color:#5f5d62;font-size:12px;cursor:pointer}
.user-chevron{font-size:13px;color:var(--muted);line-height:1}
.account-menu{position:absolute;right:0;top:calc(100% + 8px);width:190px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 32px rgba(35,19,19,.14);z-index:40}
.account-menu button{display:block;width:100%;border:0;background:transparent;border-radius:8px;text-align:left;padding:10px 11px;color:#5f5d62;font-size:12px;cursor:pointer}
.account-menu button:hover{background:#f8eceb;color:var(--red-dark)}
.account-separator{height:1px;background:var(--line);margin:5px 4px}
.page-title{display:flex;align-items:center;gap:12px}
.page-title-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#fff0f1;border:1px solid #f2c7ca;color:var(--red);flex:0 0 44px}
.page-title-icon .nav-icon-svg{width:28px;height:28px}
.page-title-icon .nav-icon-svg svg{width:27px;height:27px;stroke-width:1.55}
.env-tab,.subnav button{display:inline-flex;align-items:center;gap:7px}
.env-tab .nav-icon-svg{width:19px;height:19px}
.env-tab .nav-icon-svg svg{width:18px;height:18px}
.subnav .nav-icon-svg{width:17px;height:17px}
.subnav .nav-icon-svg svg{width:16px;height:16px}
.dashboard-agenda{margin-top:16px}
.agenda-summary-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px}
.agenda-audience{display:inline-flex;align-items:center;margin-top:5px;padding:3px 7px;border-radius:999px;background:#f0eff0;color:#68666c;font-size:9px;font-weight:800;line-height:1.2}
.agenda-calendar{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}
.agenda-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.calendar-pickers,.calendar-controls{display:flex;align-items:center;gap:6px}
.calendar-pickers select{border:0;background:transparent;color:var(--ink);font-size:15px;font-weight:850;padding:5px 2px;cursor:pointer}
.calendar-pickers select:focus{outline:2px solid #efc6ca;outline-offset:2px;border-radius:5px}
.calendar-controls .btn{padding:7px 10px}
.calendar-weekday{text-align:center;padding:4px 8px}
.agenda-event{display:block;width:100%;margin-top:6px;border:0;text-align:left;border-radius:6px;padding:4px 5px;font-size:9px;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:clip;white-space:nowrap;background:#f0eff0;color:#666}
.agenda-event.meeting,.agenda-type.meeting{background:#eef2ff;color:#5367a2}
.agenda-event.deadline,.agenda-type.deadline{background:#fff2d9;color:#966100}
.agenda-event.event,.agenda-type.event{background:#e8f6ec;color:#277342}
.agenda-event.other,.agenda-type.other{background:#f0eff0;color:#666}
.agenda-overview{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.agenda-overview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}
.agenda-overview-head h3{margin:0 0 3px;font-size:14px}
.agenda-overview-head p{margin:0;color:var(--muted);font-size:11px}
.agenda-legend{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;color:var(--muted);font-size:10px}
.agenda-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#aaa;vertical-align:middle}
.legend-dot.meeting{background:#6f83c0}
.legend-dot.deadline{background:#d59b34}
.legend-dot.event-type{background:#4b9b65}
.legend-dot.other{background:#999}
.agenda-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.agenda-list-row{display:grid;grid-template-columns:92px 62px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid #f0edec;background:#fff;text-align:left;padding:10px 12px;color:var(--ink);cursor:pointer}
.agenda-list-row:last-child{border-bottom:0}
.agenda-list-row:hover{background:#fcf7f6}
.agenda-list-date,.agenda-list-time{font-size:11px;color:var(--muted);white-space:nowrap}
.agenda-list-title{min-width:0}
.agenda-list-title strong,.agenda-list-title small{display:block;overflow:hidden;text-overflow:clip;white-space:nowrap}
.agenda-list-title strong{font-size:12px}
.agenda-list-title small{font-size:10px;color:var(--muted);margin-top:2px}
.agenda-type{display:inline-flex;align-items:center;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:900;white-space:nowrap}

@media(max-width:760px){
  .topbar{gap:8px}
.brand{flex:1;min-width:0}
.brand span{min-width:0}
.brand strong,.brand small{overflow:hidden;text-overflow:clip;white-space:nowrap}
.year-select{padding:5px 7px}
.year-select span{display:none}
.year-select select{font-size:11px}
.user-name,.user-chevron{display:none}
.user-pill{padding:6px}
.sidebar{display:none}
.page-title{align-items:flex-start}
.page-title-icon{width:38px;height:38px;flex-basis:38px}
.page-title-icon .nav-icon-svg,.page-title-icon .nav-icon-svg svg{width:23px;height:23px}
.agenda-calendar-head{align-items:flex-start;flex-direction:column}
.calendar-controls{width:100%;justify-content:flex-end}
.agenda-overview-head{display:block}
.agenda-legend{justify-content:flex-start;margin-top:10px}
.agenda-list-row{grid-template-columns:78px 50px minmax(0,1fr);gap:7px;padding:10px 9px}
.agenda-list-row .agenda-type{grid-column:3;justify-self:start}
.agenda-summary-row{grid-template-columns:46px minmax(0,1fr)}
.agenda-summary-row .agenda-type{grid-column:2;justify-self:start}
.subnav button{gap:5px}
}

/* v5.3.0 — agenda-indeling, compacte vaste kolommen en webdownloads */
.download-menu-wrap{position:relative;display:inline-flex}
.download-toggle{white-space:nowrap}
.download-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:8;min-width:150px;padding:5px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px rgba(35,19,19,.14)}
.download-menu-wrap.open .download-menu{display:grid}
.download-menu button{border:0;background:transparent;border-radius:7px;padding:9px 10px;text-align:left;font-size:12px;color:var(--ink);cursor:pointer}
.download-menu button:hover{background:#f8eceb;color:var(--red-dark)}
.agenda-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:16px;align-items:start}
.agenda-layout .agenda-overview{order:2;margin-top:0;padding-top:0;border-top:0}
.agenda-layout .agenda-calendar{order:1}
.agenda-event{white-space:normal;overflow-wrap:anywhere;word-break:break-word;overflow:visible;text-overflow:clip}
.agenda-list-title strong,.agenda-list-title small{white-space:normal;overflow-wrap:anywhere}
.day-more{margin-top:5px;color:var(--muted);font-size:9px;font-weight:800}
.agenda-layout .agenda-calendar{min-width:0}
.subnav button,.env-tab{font-size:14px}
.task-scopes{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.owner-chip{white-space:nowrap;overflow:visible;max-width:none}
.rights-table{width:100%}
.rights-table .col-user{width:38%}
.user-link{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}
.user-link:hover .user-colored-name{text-decoration:underline}
.activity-table{width:100%}
@media(max-width:760px){
  .download-menu-wrap{display:none!important}
  .agenda-layout{display:flex;flex-direction:column}
.agenda-layout .agenda-overview{order:1}
.agenda-layout .agenda-calendar{order:2;width:100%}
  .agenda-list-row{grid-template-columns:78px 50px minmax(0,1fr)}
.agenda-list-row .agenda-type{grid-column:3}
.agenda-list-title strong,.agenda-list-title small{white-space:normal}
.agenda-event{font-size:9px;line-height:1.15}
.rights-table{width:100%}
.subnav button{font-size:14px}
}

/* v5.3.0 — compacte responsive tabellen, dashboardpositie en rustige navigatie */
body{overflow-x:hidden}
.app-shell,.layout,.main,.panel,.panel-body,.table-wrap{min-width:0;max-width:100%}
.layout{overflow-x:clip}
.main{margin:0 auto;align-self:start;overflow-x:hidden}
.table th.money,.table td.money,.table td:has(> .badge),.table td:has(> .owner-chip){width:1%;white-space:nowrap}
.table th.money,.table td.money{text-align:right}
.table-panel .panel-body{padding:0}
.table-panel .toolbar{margin:18px 18px 14px}
.table-panel>.panel-body>.notice{margin:18px 18px 14px!important}
.table-panel .group{margin-left:0;margin-right:0;border-left:0;border-right:0;border-radius:0}
.table-panel .group-body{padding:0}
.table-panel .group-head{padding-left:18px;padding-right:18px}
.env-tab,.subnav button{font-size:13px}
.subnav .nav-icon-svg{display:none}
.owner-chip{background:#f2eeee;border:1px solid var(--user-color);color:var(--user-color)}
@supports (background:color-mix(in srgb, white 10%, black)){
  .owner-chip{background:color-mix(in srgb,var(--user-color) 13%,#fff);border-color:color-mix(in srgb,var(--user-color) 48%,#fff)}
}
.user-cell{display:flex;align-items:center;gap:8px;min-width:0}
.user-color-swatch{display:inline-block;width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:var(--user-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--user-color) 14%,#fff)}
.user-colored-name{color:var(--user-color)}
.rights-table th:not(:first-child),.rights-table td:not(:first-child){white-space:nowrap}
.beheer-users{width:100%;margin-bottom:16px}
.beheer-users>.panel{width:100%}
.mobile-nav button{flex:1;min-width:0}

@media(max-width:760px){
  .app-shell,.layout{max-width:100vw;overflow-x:hidden}
  .main{max-width:100vw;margin:0;padding:18px 12px 84px}
  .table-panel .toolbar{margin:14px}
  .table-panel>.panel-body>.notice{margin:14px!important}
  .table-panel .group-head{padding-left:14px;padding-right:14px}
  .brand strong,.brand small{white-space:normal;overflow:visible;text-overflow:clip}
  .brand strong{line-height:1.15}
  .brand small{line-height:1.2}
}

/* v5.3.0 final typographic overrides */
.env-tab,.subnav button{font-size:14px}
.search{font-size:13px}
.search::placeholder{font-size:13px;opacity:.8}

/* v5.2.0 — archieven, agenda-kleuren en inklapbare desktopzijbalk */
.sidebar-toggle{margin-top:auto!important;width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;color:#6c6970;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:800;cursor:pointer}
.sidebar-toggle:hover{border-color:#d3afb0;color:var(--red-dark);background:#fdf7f6}
.sidebar-toggle-icon{font-size:18px;line-height:1}
.app-shell.sidebar-collapsed .layout{grid-template-columns:72px 1fr}
.app-shell.sidebar-collapsed .sidebar{padding-left:8px;padding-right:8px}
.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .sidebar-note,.app-shell.sidebar-collapsed .version-note,.app-shell.sidebar-collapsed .nav-btn > span:not(.nav-icon-svg),.app-shell.sidebar-collapsed .sidebar-toggle span:not(.sidebar-toggle-icon){display:none}
.app-shell.sidebar-collapsed .nav-btn > .nav-icon-svg{display:inline-flex}
.app-shell.sidebar-collapsed .nav-btn{justify-content:center;padding-left:8px;padding-right:8px}
.app-shell.sidebar-collapsed .sidebar-toggle{padding-left:5px;padding-right:5px}
.archive-block{margin-top:16px}
.archive-block h3{margin:0 0 8px;font-size:13px}
@media(max-width:760px){.app-shell.sidebar-collapsed .layout{display:block}
.sidebar-toggle{display:none}}

/* v5.2.0 — leesbare typografie en vaste mobiele navigatie */
.nav-btn{font-size:14px}
.btn{font-size:13px}
.filter-btn{font-size:13px}
.table{font-size:13px}
.table th{font-size:11px}
.badge,.chip{font-size:11px}
.agenda-list-title strong{font-size:13px}
@media(max-width:760px){
  .mobile-nav{position:fixed;left:0;right:0;bottom:0;background:var(--red);border-top:1px solid var(--red-dark);box-shadow:0 -8px 20px rgba(57,28,29,.16);padding:8px;z-index:25}
  .mobile-nav button{color:rgba(255,255,255,.88);border-radius:10px;font-size:10px}
  .mobile-nav button.active{background:#fff;color:var(--red-dark);font-weight:800}
  .table{font-size:13px}
  .table th{font-size:11px}
  .badge,.chip{font-size:10px}
  .agenda-event{font-size:9px}
}

/* Mobiele tabbladen: maximaal drie per rij, zonder horizontaal scrollen. */
@media(max-width:760px){
  .subnav{overflow:visible;flex-wrap:wrap;align-items:stretch}
  .subnav button{flex:1 1 calc(33.333% - 4px);min-width:0;justify-content:center;text-align:center;white-space:normal;line-height:1.15;font-size:13px}
  .btn[data-action="new-idea"]{background:transparent;border-color:#e5c4c2;color:var(--red-dark);font-size:11px;padding:7px 10px}
}

/* Huisstijl: hoofdkleur afgestemd op het rood uit het logo. */
:root{--red:#c41414;--red-dark:#990303}

/* v5.4.0 — mobiele taaktoegang en omgevingstitel */
.mobile-tasks-slot{display:none;border:1px solid #e5c4c2;background:#fff;color:var(--red-dark);border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}
.mobile-tasks-slot .nav-icon-svg{width:17px;height:17px;flex-basis:17px}
.mobile-tasks-slot .nav-icon-svg svg{width:16px;height:16px}
.mobile-tasks-slot.active{background:#f4e3e1}
@media(max-width:760px){
  .year-select{display:none}
  .mobile-tasks-slot{display:inline-flex}
  .brand strong,.brand small{white-space:nowrap;overflow:visible;text-overflow:clip}
  .brand small{font-size:9px}
  .page-title-copy{min-width:0}
  .page-title h1{margin-top:0}
  .env-tabs{display:none}
}

/* v5.5.1 — beveiligde toegang, gebruikersbeheer en tabrechten */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#fff 0%,#fff7f6 58%,#f7e4e2 100%)}
.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px rgba(74,40,36,.14);padding:34px}
.auth-logo{display:block;width:72px;height:72px;object-fit:contain;margin:0 auto 14px}
.auth-kicker{text-align:center;text-transform:uppercase;letter-spacing:.13em;color:var(--red);font-size:10px;font-weight:850}
.auth-card h1{text-align:center;font-size:28px;letter-spacing:-.03em;margin:8px 0 8px}
.auth-intro{text-align:center;color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 22px}
.auth-form{display:grid;gap:14px}
.auth-form label{display:grid;gap:6px;color:#6c6970;font-size:11px;font-weight:800}
.auth-form input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}
.auth-form input:focus{border-color:#c98487;box-shadow:0 0 0 3px rgba(184,64,75,.1)}
.auth-submit{width:100%;padding:11px 14px}
.auth-submit:disabled{opacity:.6;cursor:wait}
.auth-reset{display:block;margin:16px auto 0;border:0;background:transparent;color:var(--red-dark);font-size:12px;font-weight:800;cursor:pointer}
.auth-reset:hover{text-decoration:underline}
.auth-footnote{text-align:center;color:var(--muted);font-size:11px;line-height:1.45;margin:22px 0 0}
.auth-message{padding:11px 12px;margin:0 0 16px;border-radius:10px;background:#fff0f0;border:1px solid #efc6c6;color:#9a3030;font-size:12px;line-height:1.45}
.auth-loading{text-align:center}
.auth-loading p{color:var(--muted);font-size:13px;margin:0}
@media(max-width:760px){.auth-page{padding:16px}
.auth-card{padding:26px 20px}
.auth-card h1{font-size:24px}}

/* Dashboard: voortgang, financieel seizoensoverzicht en recente activiteit. */
.dashboard-home{display:grid;gap:16px}
.dashboard-progress-list{display:grid;gap:18px}
.dashboard-status-legend{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding-bottom:2px;color:var(--muted);font-size:10px}
.dashboard-status-legend span,.dashboard-progress-counts span{display:inline-flex;align-items:center;gap:5px}
.dashboard-progress-row{display:grid;gap:9px;padding:1px 0 17px;border-bottom:1px solid #f0edec}
.dashboard-progress-row:last-child{padding-bottom:0;border-bottom:0}
.dashboard-progress-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.dashboard-progress-label strong{font-size:12px;line-height:1.35}
.dashboard-progress-label span{font-size:10px;color:var(--muted);white-space:nowrap}
.dashboard-progress-track{display:flex;height:13px;background:#f0edec;border-radius:999px;overflow:hidden}
.progress-segment{display:block;height:100%;min-width:0}
.progress-segment.open,.progress-dot.open{background:#b9b7bb}
.progress-segment.wait,.progress-dot.wait{background:var(--orange)}
.progress-segment.done,.progress-dot.done{background:var(--green)}
.progress-segment.no,.progress-dot.no{background:var(--red)}
.progress-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.dashboard-progress-counts{display:flex;align-items:center;gap:7px 13px;flex-wrap:wrap;color:var(--muted);font-size:10px;line-height:1.4}
.financial-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.financial-summary>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--cream)}
.financial-summary span{display:block;color:var(--muted);font-size:10px}
.financial-summary strong{display:block;margin-top:5px;font-size:18px;letter-spacing:-.02em}
.financial-result{background:#eef8f1!important;border-color:#cfe6d5!important;color:var(--green)}
.financial-result.negative{background:#fff0f0!important;border-color:#efc6c6!important;color:var(--red-dark)}
.financial-secondary{display:flex;justify-content:space-between;gap:12px;margin:12px 2px 6px;color:var(--muted);font-size:11px}
.financial-secondary strong{color:var(--ink)}
.finance-chart-wrap{border:1px solid var(--line);border-radius:12px;padding:10px 12px 8px;background:#fff}
.finance-chart{display:block;width:100%;height:auto;min-height:170px}
.chart-axis{stroke:#cfc9ca;stroke-width:1}
.chart-grid{stroke:#eee9e8;stroke-width:1}
.chart-label{fill:var(--muted);font-size:10px}
.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.income-line{stroke:var(--green)}
.expense-line{stroke:var(--red)}
.chart-point{stroke:#fff;stroke-width:2}
.income-point{fill:var(--green)}
.expense-point{fill:var(--red)}
.chart-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:10px}
.chart-key{display:inline-block;width:10px;height:3px;border-radius:99px;vertical-align:middle;margin-right:5px}
.income-key{background:var(--green)}
.expense-key{background:var(--red)}
.financial-note{margin:8px 2px 0}
.dashboard-two-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dashboard-two-panels .panel{height:100%}
.dashboard-agenda-list,.dashboard-activity-list{display:grid;gap:10px}
.dashboard-two-panels .panel-body{min-height:210px}
.dashboard-activity-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding-bottom:9px;border-bottom:1px solid #f0edec}
.dashboard-activity-row:last-child{border-bottom:0;padding-bottom:0}
.dashboard-activity-row strong,.dashboard-activity-row small{display:block;overflow-wrap:anywhere;white-space:normal}
.dashboard-activity-row strong{font-size:11px}
.dashboard-activity-row small{font-size:10px;color:var(--muted);margin-top:3px}
@media(max-width:1050px){.financial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-progress-list{gap:16px}
.dashboard-progress-row{gap:8px;padding-bottom:15px}
.dashboard-status-legend{gap:7px 11px}
.financial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.financial-summary strong{font-size:16px}
.financial-secondary{display:grid;gap:4px}
.dashboard-two-panels{grid-template-columns:1fr}
.dashboard-two-panels .panel-body{min-height:0}
.finance-chart{min-height:150px}}
/* Centrale tabelstructuur: automatisch waar mogelijk, vast waar kolommen bewust zijn bepaald. */
.table{width:100%;min-width:0!important;table-layout:auto}
.pieten-table,.door-collection-table,.clothing-table,.sponsor-config-table{table-layout:fixed}
.table th{white-space:normal;overflow:visible;text-overflow:clip}
.table td{overflow-wrap:anywhere;word-break:normal}
.group-head{width:100%;border:0;font:inherit;color:inherit;text-align:left}
.col-status{width:112px}
.col-owner{width:178px}
.pieten-table .col-piet-name{width:220px}
.pieten-table .col-piet-task{width:auto}
.pieten-table .col-last-use{width:96px}
.purchases-table th:nth-child(1),.sponsor-table th:nth-child(1),.ideas-table th:nth-child(1),.clothing-table th:nth-child(1){width:112px}
.purchases-table th:nth-child(2){width:22%}
.purchases-table th:nth-child(3){width:74px}
.purchases-table th:nth-child(4),.purchases-table th:nth-child(5){width:104px}
.purchases-table th:nth-child(7),.sponsor-table th:nth-child(6){width:178px}
.sponsor-table th:nth-child(2){width:24%}
.sponsor-table th:nth-child(3){width:110px}
.sponsor-table th:nth-child(4){width:18%}
.ideas-table th:nth-child(2){width:105px}
.ideas-table th:nth-child(3){width:28%}
.ideas-table th:nth-child(5){width:90px}
.ideas-table th:nth-child(6){width:150px}
.clothing-table th:nth-child(2){width:120px}
.clothing-table th:nth-child(3){width:80px}
.clothing-table th:nth-child(4){width:22%}
@media(max-width:760px){
  .table th,.table td{padding:9px 7px}
  .table{font-size:11px}
  .table th{font-size:9px;letter-spacing:.02em}
  .col-status,.purchases-table th:nth-child(1),.sponsor-table th:nth-child(1),.ideas-table th:nth-child(1),.clothing-table th:nth-child(1){width:92px}
  .col-owner,.purchases-table th:nth-child(7),.sponsor-table th:nth-child(6){width:138px}
  .pieten-table .col-piet-name{width:27%}
  .pieten-table .col-last-use{width:72px}
  .filters{width:100%;overflow-x:visible!important;flex-wrap:wrap!important}
}

/* Inline status- en toewijzingskeuzes blijven compact in de tabelregel. */
.inline-select{max-width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:5px 7px;font-size:inherit;line-height:1.2}
.inline-select:focus{outline:2px solid rgba(196,20,20,.18);outline-offset:1px;border-color:#d48b8b}
.inline-status{min-width:105px}
.inline-owner{min-width:130px}
.inline-editor{position:relative;display:inline-flex;align-items:center;vertical-align:middle}
.inline-trigger{border:0;cursor:pointer;font:inherit}
.inline-trigger.badge{appearance:none}
.inline-trigger.owner-chip{color:var(--user-color);background:color-mix(in srgb,var(--user-color) 12%,white);border:1px solid color-mix(in srgb,var(--user-color) 28%,white)}
.inline-menu{display:none}
/* Menu staat direct onder body en neemt geen ruimte in binnen de tabel. */
.inline-menu-floating{display:grid;grid-auto-rows:max-content;align-content:start;gap:2px;position:fixed;top:0;left:0;z-index:1000;width:max-content;max-width:calc(100vw - 16px);padding:5px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px rgba(35,19,19,.16);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.inline-menu button{min-width:0;border:0;border-radius:7px;background:transparent;color:var(--ink);padding:8px 10px;text-align:left;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.inline-menu button:hover,.inline-menu button:focus-visible{background:#f8eceb;color:var(--red-dark)}
.inline-menu button:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.door-progress-control{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.3}
.door-progress-trigger{max-width:100%;padding:0;background:transparent;color:inherit;text-align:left;font-size:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}
.door-progress-trigger:hover,.door-progress-trigger:focus-visible{color:var(--red-dark)}
.door-progress-trigger:disabled{cursor:wait;opacity:.6}
.table th{white-space:normal}
.pieten-table td:first-child{white-space:nowrap;overflow:visible}
.new-chip{font-size:9px;padding:3px 6px;background:#e4f3e8;color:#2f754d}
.group-head .group-meta{margin-left:auto}
.group-head .chevron{width:8px;height:8px;flex:0 0 8px;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;color:var(--muted);transform:rotate(45deg);transition:transform .16s ease}
.group:not(.collapsed) .group-head .chevron{transform:rotate(225deg)}
.group-head .chevron{margin-left:8px}
.table-total td{background:#faf8f7;border-top:1px solid var(--line);font-weight:800}
.door-grand-total{width:fit-content;max-width:calc(100% - 36px);display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0 18px 16px auto;padding:9px 14px;border:1px solid #cfe6d5;border-radius:999px;background:#eef8f1;color:var(--green)}
.door-grand-total span{font-weight:800}
.door-grand-total strong{font-size:16px}
.dashboard-summary-panels:has(> :only-child){grid-template-columns:1fr}
.dashboard-summary-panels .panel-body{padding:18px}
.dashboard-summary-panels .dashboard-progress-list{gap:18px}
.dashboard-summary-panels .financial-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.dashboard-summary-panels .financial-summary>div{padding:8px}
.dashboard-summary-panels .financial-summary strong{font-size:clamp(12px,1.5vw,16px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dashboard-summary-panels .financial-secondary{display:grid;gap:3px;margin:8px 2px 4px;font-size:10px}
.dashboard-summary-panels .finance-chart-wrap{padding:6px 8px}
.dashboard-summary-panels .finance-chart{min-height:110px}
.dashboard-summary-panels .chart-label{font-size:8px}
.dashboard-summary-panels .chart-legend{gap:8px;font-size:9px}
.dashboard-agenda-list,.dashboard-activity-list{max-height:285px;overflow-y:auto;padding-right:4px}
.dashboard-activity-row small{white-space:normal;line-height:1.35}
@media(max-width:760px){.inline-select{padding:4px 5px;font-size:11px}
.inline-status,.inline-owner{min-width:0;width:100%}}

/* v5.5.6 — geen horizontale scrollbalken; navigatie en filters mogen afbreken. */
html,body{max-width:100%;overflow-x:hidden}
.subnav{overflow-x:visible!important;flex-wrap:wrap!important}
.subnav button{white-space:normal;min-width:0}

/* v5.5.7 — een tabelpaneel groeit niet kunstmatig tot de vensterhoogte. */
.main:has(.table-panel){display:block;min-height:0}
.main:has(.table-panel)>.table-panel{display:block;flex:none;min-height:0}
.main:has(.table-panel)>.table-panel>.panel-body{display:block;flex:none;min-height:0}
.main:has(.table-panel)>.table-panel>.panel-body>.table-wrap,
.main:has(.table-panel)>.table-panel>.panel-body>.archive-block,
.main:has(.table-panel)>.table-panel>.panel-body>.group{flex:none;min-height:0}

/* v5.5.8 — geldkolommen, kolomverdeling en celvulling blijven leesbaar. */
.table th,.table td{padding:10px 12px}
.table th.money,.table td.money{width:auto!important}
.door-collection-table th:nth-child(1){width:14%}
.door-collection-table th:nth-child(2){width:18%}
.door-collection-table th.door-numeric,.door-collection-table td.door-numeric{width:11ch!important;min-width:11ch;max-width:11ch;white-space:nowrap}
.door-collection-table th.door-note,.door-collection-table td.door-note{width:38%;min-width:300px;white-space:normal;overflow-wrap:anywhere;vertical-align:top!important}
.door-collection-table td.money{font-variant-numeric:tabular-nums}
.door-district-table,.door-qr-table,.door-collector-table{min-width:820px;table-layout:fixed}
.door-district-table th:nth-child(1){width:16%}
.door-district-table th:nth-child(2){width:16%}
.door-district-table th:nth-child(3){width:14%}
.door-district-table th:nth-child(4),.door-district-table td:nth-child(4){width:11ch!important;min-width:11ch;max-width:11ch;white-space:nowrap}
.door-district-table th:nth-child(5){width:auto}
.door-district-table .door-note{white-space:normal;overflow-wrap:anywhere}
.door-qr-table th:first-child{width:15%}
.door-qr-table th:nth-child(2),.door-qr-table th:nth-child(3){width:23%}
.door-qr-table th:nth-child(4),.door-qr-table td:nth-child(4){width:11ch!important;min-width:11ch;max-width:11ch;white-space:nowrap}
.door-qr-table th:last-child{width:auto}
.door-collector-table{min-width:900px}
.door-collector-table th:first-child{width:23%}
.door-collector-table th:nth-child(2){width:32%}
.door-collector-table th:nth-child(3){width:27%}
.door-collector-table th:last-child{width:18%}
.door-collector-table td:nth-child(3){overflow-wrap:normal;word-break:normal}
.door-collector-table .collector-qr-code{display:inline-block;white-space:nowrap;margin-right:.5rem}
.door-district-table td,.door-qr-table td,.door-collector-table td{vertical-align:top;overflow-wrap:anywhere}
.door-collection-table .table-total td{padding-top:10px;padding-bottom:10px}
.door-collection-table th,.door-collection-table td{padding:10px 12px!important;vertical-align:middle!important}
@media(max-width:760px){
  .door-collection-table{font-size:10px}
  .door-collection-table th{font-size:8px;padding:8px 12px!important}
  .door-collection-table td{padding:8px 12px!important}
  .door-collection-table td.money{font-size:9px;white-space:nowrap}
}

.check-list{display:grid;gap:7px;padding:2px 0}
.check-row{display:flex;align-items:flex-start;gap:8px;color:var(--ink);font-size:12px;font-weight:700;line-height:1.35}
.check-row input{margin-top:2px;accent-color:var(--red)}
.check-row small{display:block;color:var(--muted);font-size:10px;font-weight:500}
.manual-amount{align-self:end;padding-bottom:9px}
.field input[readonly]{background:#faf8f7;color:#5f5d62}
.attachment-field input[type=file]{width:100%;padding:9px;border:1px dashed var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:11px}
.attachment-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.attachment-list a,.attachment-list span{display:inline-flex;max-width:100%;padding:5px 8px;border-radius:8px;background:#f7eeed;color:var(--red-dark);font-size:10px;overflow-wrap:anywhere;white-space:normal}
.attachment-list a:hover{text-decoration:underline}

/* v5.5.13 — Deurcollecte en archieven gebruiken de standaard tabelopbouw. */
.archive-table{
  width:100%!important;
  min-width:0!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
}
.archive-table th,
.archive-table td{
  box-sizing:border-box!important;
  min-width:0!important;
  padding:10px 14px!important;
  vertical-align:middle!important;
}
.archive-table th:first-child,
.archive-table td:first-child{padding-left:14px!important}
.archive-table th:last-child,
.archive-table td:last-child{padding-right:14px!important}
.archive-table td:not(.money){overflow-wrap:anywhere;word-break:break-word}
.archive-table td .badge,.archive-table td .chip:not(.owner-chip){max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.15}
.archive-table td.money{white-space:nowrap;overflow:hidden;text-overflow:clip}
.archive-table .empty{padding:12px 8px!important;min-height:0!important}
.archive-table .table-total td{padding-top:10px!important;padding-bottom:10px!important}
.archive-piet-table th:nth-child(1){width:52%}
.archive-piet-table th:nth-child(2){width:24%}
.archive-piet-table th:nth-child(3){width:24%}
.archive-clothing-table th:nth-child(1){width:18%}
.archive-clothing-table th:nth-child(2){width:15%}
.archive-clothing-table th:nth-child(3){width:22%}
.archive-clothing-table th:nth-child(4){width:45%}
.archive-actions-table th:nth-child(1){width:11%}
.archive-actions-table th:nth-child(2){width:17%}
.archive-actions-table th:nth-child(3){width:31%}
.archive-actions-table th:nth-child(4){width:23%}
.archive-actions-table th:nth-child(5){width:18%}
.archive-purchases-table th:nth-child(1){width:10%}
.archive-purchases-table th:nth-child(2){width:13%}
.archive-purchases-table th:nth-child(3){width:23%}
.archive-purchases-table th:nth-child(4){width:18%}
.archive-purchases-table th:nth-child(5),.archive-purchases-table th:nth-child(6){width:10%}
.archive-purchases-table th:nth-child(7){width:16%}
.archive-sponsors-table th:nth-child(1){width:12%}
.archive-sponsors-table th:nth-child(2){width:24%}
.archive-sponsors-table th:nth-child(3){width:12%}
.archive-sponsors-table th:nth-child(4){width:17%}
.archive-sponsors-table th:nth-child(5){width:20%}
.archive-sponsors-table th:nth-child(6){width:15%}
.table-empty-row td{padding:12px 14px!important;text-align:center!important;min-height:0!important}
.table-empty-message{display:inline-block;color:var(--muted);font-size:12px;line-height:1.3}
@media(max-width:760px){
  .archive-table th,.archive-table td{padding:8px 8px!important}
  .archive-table th:first-child,.archive-table td:first-child{padding-left:8px!important}
  .archive-table th:last-child,.archive-table td:last-child{padding-right:8px!important}
}


/* v5.5.20 — zichtbare opslagstatus zonder de tabelbreedte te beïnvloeden. */
.save-indicator{position:fixed;right:18px;bottom:18px;z-index:1200;max-width:min(360px,calc(100vw - 36px));padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(48,37,45,.14);font-size:11px;font-weight:800;line-height:1.3}
.save-indicator[hidden]{display:none}
.save-indicator.saving{color:var(--muted)}
.save-indicator.success{color:var(--green);border-color:#cfe6d5;background:#eef8f1}
.save-indicator.error{color:var(--red-dark);border-color:#efc6c2;background:#fff2f0}
.btn:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.save-indicator{right:10px;bottom:74px;max-width:calc(100vw - 20px)}}

/* Sponsorpakketten en upgrades gebruiken één paneel en dezelfde tabelritmiek. */
.config-section{padding:0}
.config-section:first-child{padding-top:16px}
.config-section+.config-section{margin-top:16px;padding-top:0;border-top:0}
.config-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 10px;padding:0 18px}
.config-section-head h3{margin:0;font-size:15px}
.config-section-head p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.4}
.config-table-wrap{width:100%;min-width:0;max-width:100%;max-height:none;overflow-y:visible!important;border:0;border-radius:0}
.sponsor-config-table{width:100%!important;min-width:0!important;max-width:100%!important}
.sponsor-config-table th,.sponsor-config-table td{box-sizing:border-box;min-width:0;text-align:center;vertical-align:middle;padding:9px 5px;white-space:normal!important;overflow:hidden;overflow-wrap:anywhere;word-break:normal;text-overflow:clip}
.sponsor-config-table tbody tr{height:64px}
.sponsor-config-table th:nth-child(2),.sponsor-config-table td:nth-child(2),.sponsor-config-table th:nth-child(4),.sponsor-config-table td:nth-child(4){text-align:left}
.sponsor-config-table .money{text-align:right}
.sponsor-config-table .number-cell{text-align:center;font-variant-numeric:tabular-nums}
.package-config-table th:nth-child(1),.upgrade-config-table th:nth-child(1){width:8%}
.package-config-table th:nth-child(2),.upgrade-config-table th:nth-child(2){width:22%}
.package-config-table th:nth-child(3),.upgrade-config-table th:nth-child(3){width:12%}
.package-config-table th:nth-child(4){width:7%}
.package-config-table th:nth-child(5){width:7%}
.package-config-table th:nth-child(6){width:8%}
.package-config-table th:nth-child(7){width:7%}
.package-config-table th:nth-child(8){width:7%}
.package-config-table th:nth-child(9){width:8%}
.package-config-table th:nth-child(10){width:7%}
.package-config-table th:nth-child(11){width:7%}
.upgrade-config-table th:nth-child(4){width:22%}
.upgrade-config-table th:nth-child(5),.upgrade-config-table th:nth-child(6),.upgrade-config-table th:nth-child(7),.upgrade-config-table th:nth-child(8){width:9%}
.sponsor-config-table button.link{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.config-check{width:16px;height:16px;margin:0;accent-color:var(--red);opacity:1}
.config-stack{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:2px 5px}
.config-stack small{font-size:9px;color:var(--muted);text-align:left}
.config-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#faf8f7}
.config-form-check{padding:4px 2px}
.sponsor-kind{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#faf8f7}
[data-in-kind-field][hidden]{display:none!important}
@media(max-width:1050px){.sponsor-config-table{font-size:10px}
.sponsor-config-table th{font-size:8px;letter-spacing:0}
.sponsor-config-table th,.sponsor-config-table td{padding:7px 3px}
.config-stack{grid-template-columns:1fr;gap:1px}
.config-stack small{font-size:8px;text-align:center}}
@media(max-width:760px){.config-section-head{align-items:stretch;flex-direction:column;padding-left:14px;padding-right:14px}
.config-section-head .btn{align-self:flex-start}
.config-check-grid{grid-template-columns:1fr}
.sponsor-config-table{font-size:8px}
.sponsor-config-table th{font-size:7px;letter-spacing:0}
.sponsor-config-table th,.sponsor-config-table td{padding:6px 2px}
.sponsor-config-table tbody tr{height:58px}
.config-check{width:13px;height:13px}
.config-stack small{font-size:7px}}

/* v5.5.24 — merchandise per sponsor en voorraad vanuit de Inkooplijst. */
.merchandise-editor{padding:12px;border:1px solid var(--line);border-radius:11px;background:#faf8f7}
.merchandise-editor>label{margin-bottom:9px}
.merchandise-editor>.btn{margin-top:9px}
.merchandise-assignment-head,.merchandise-assignment-row{display:grid;grid-template-columns:minmax(150px,2fr) 90px 74px minmax(140px,2fr) 38px;gap:8px;align-items:center}
.merchandise-assignment-head{padding:0 2px 5px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.merchandise-assignment-row+.merchandise-assignment-row{margin-top:8px}
.merchandise-assignment-row input,.merchandise-assignment-row select{width:100%;min-width:0}
.merchandise-assignment-row .btn{width:38px;min-width:38px;height:38px;padding:0;font-size:20px;line-height:1}
.merchandise-stock-summary{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
.merchandise-stock-table{width:100%;min-width:0}
.merchandise-stock-table th,.merchandise-stock-table td{white-space:normal;overflow-wrap:anywhere}
.merchandise-stock-table th:nth-child(1){width:12%}
.merchandise-stock-table th:nth-child(2){width:15%}
.merchandise-stock-table th:nth-child(3){width:9%}
.merchandise-stock-table th:nth-child(4){width:10%}
.merchandise-stock-table th:nth-child(5){width:11%}
.merchandise-stock-table th:nth-child(6){width:12%}
.merchandise-stock-table th:nth-child(7){width:10%}
.merchandise-stock-table th:nth-child(8){width:21%}
.stock-negative{color:var(--red-dark)!important}
@media(max-width:760px){.merchandise-assignment-head{display:none}
.merchandise-assignment-row{grid-template-columns:minmax(0,1fr) 76px 58px 38px}
.merchandise-assignment-row [data-merchandise-note]{grid-column:1/-1;grid-row:2}
.merchandise-stock-summary{grid-template-columns:1fr}
.merchandise-stock-table{font-size:9px}
.merchandise-stock-table th,.merchandise-stock-table td{padding:7px 4px}
.merchandise-stock-table th{font-size:8px;letter-spacing:0}}

/* v5.5.25 — volledige namen, compacte agenda en detailformulieren */
.task-table,.tasks-table,.purchases-table,.merchandise-stock-table,.ideas-table,.sponsor-table,.archive-actions-table,.archive-purchases-table,.archive-sponsors-table{table-layout:auto}
.table td:has(.owner-chip),.ideas-table td:last-child{white-space:nowrap;overflow-wrap:normal}
.table .owner-chip{max-width:none;white-space:nowrap;overflow:visible;word-break:normal;overflow-wrap:normal}

.sponsor-table td:first-child,.archive-sponsors-table td:first-child{white-space:nowrap;min-width:155px}
.sponsor-table th:nth-child(2),.sponsor-table th:nth-child(4),.ideas-table th:nth-child(3){width:auto}
.ideas-table th:nth-child(5),.ideas-table td:nth-child(5){min-width:85px;white-space:nowrap}
.task-table td:nth-child(2),.tasks-table td:nth-child(2),.purchases-table td:nth-child(2),.ideas-table td:nth-child(3),.sponsor-table td:nth-child(2),.archive-sponsors-table td:nth-child(2){min-width:170px}
.task-table td:nth-child(3),.ideas-table td:nth-child(4){min-width:115px}
.table th.money,.table td.money{overflow:visible;text-overflow:clip}
.archive-table td:has(.owner-chip){white-space:nowrap}
.agenda-summary-row{width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 0;background:transparent;color:inherit;text-align:left;grid-template-columns:42px minmax(100px,1.5fr) minmax(60px,.7fr) minmax(70px,1fr);gap:10px}
.agenda-summary-row:hover{background:var(--cream)}
.agenda-summary-row .datebox{width:40px;height:44px;border-radius:9px}
.agenda-summary-copy{min-width:0;font-size:12px;overflow-wrap:anywhere}
.agenda-summary-copy>strong{display:block}
.agenda-summary-time{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:4px;font-size:11px;color:var(--muted)}
.agenda-summary-row .agenda-type{grid-column:auto;padding:3px 5px}
.agenda-summary-row .agenda-audience,.agenda-location{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--ink);font-size:11px;font-weight:500;overflow-wrap:anywhere}
.agenda-summary-row small:not(.datebox small){color:var(--muted);font-size:10px;font-weight:400}
.agenda-layout .agenda-overview{min-width:0;width:100%;height:100%;display:flex;flex-direction:column}
.agenda-layout{align-items:stretch}
.agenda-layout .agenda-list{flex:1;min-height:0;max-height:680px;overflow-y:auto}
.agenda-list-date{white-space:normal;overflow-wrap:normal}
.modal-fields,.audience-picker fieldset,.action-contact fieldset{border:0;padding:0;margin:0;min-width:0}
.modal-fields:disabled input,.modal-fields:disabled textarea,.modal-fields:disabled select{opacity:1;color:var(--ink);background:var(--cream)}
.modal-foot{flex-wrap:wrap}
.modal-foot-spacer{flex:1}
.sponsor-detail-modal{width:min(1000px,100%);max-height:92vh}
.field>span,.field>label,.field legend{font-size:11px;font-weight:800;color:#6c6970}
.form-grid>.full{grid-column:1/-1;min-width:0}
.sponsor-section{border-bottom:1px solid var(--line);padding:0 0 12px;margin-bottom:12px}
.sponsor-section summary{font-weight:800;font-size:14px;cursor:pointer;padding:8px 0}
.sponsor-section>.form-grid{padding-top:8px}
.sponsor-section .field{min-width:0}
.sponsor-section .form-grid{align-items:start}
.sponsor-section [hidden]{display:none!important}
.sponsor-payment-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;margin-bottom:8px}
.audience-picker,.action-contact{border:1px solid var(--line);border-radius:10px;padding:12px;margin:0;min-width:0;gap:12px}
.audience-picker legend,.action-contact legend{font-weight:800;font-size:12px;padding:0 5px}
.audience-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:10px 0;max-height:230px;overflow-y:auto}
.audience-columns strong{display:block;font-size:12px;margin-bottom:8px}
.audience-picker .check-row{margin:6px 0;font-size:12px}
.audience-picker fieldset:disabled{opacity:.5}
.trash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.trash-row strong,.trash-row small{display:block}
.trash-row small{color:var(--muted);margin-top:4px}
@media(max-width:1150px) and (min-width:761px){.dashboard-two-panels:not(.dashboard-summary-panels){grid-template-columns:1fr}}
@media(max-width:760px){
  .agenda-summary-row{grid-template-columns:38px minmax(80px,1.4fr) minmax(54px,.7fr) minmax(57px,1fr);gap:7px}
  .agenda-summary-row .datebox{width:36px}
  .agenda-summary-copy,.agenda-summary-row .agenda-audience,.agenda-location{font-size:10px}
  .agenda-summary-row .agenda-type{font-size:8px}
  .agenda-layout .agenda-list{max-height:360px}
  .agenda-layout .agenda-overview{width:100%}
  .modal-backdrop{padding:8px}
  .modal,.sponsor-detail-modal{max-height:94dvh}
  .modal-foot{gap:7px;padding:12px}
  .modal-foot-spacer{display:none}
  .audience-columns{grid-template-columns:1fr}
  .sponsor-payment-row{grid-template-columns:1fr 1fr}
  .sponsor-payment-row .btn{justify-self:end}
}

/* Gedeelde kolombreedtes: kop en volledige naam horen bij dezelfde afspraak. */
:root{--owner-column-width:230px;--purchase-status-width:140px;--purchase-count-width:64px;--purchase-money-width:96px;--purchase-source-width:100px;--purchase-title-min:360px}
.table th.owner-column{width:var(--owner-column-width);min-width:var(--owner-column-width);white-space:nowrap;overflow-wrap:normal}
.table:has(th.owner-column) td:last-child{min-width:var(--owner-column-width);white-space:nowrap;overflow-wrap:normal}
.task-table .col-owner,.tasks-table .col-owner,.purchases-table .col-owner{width:var(--owner-column-width)}
.table.tasks-table{table-layout:fixed;min-width:calc(var(--purchase-status-width) + 170px + var(--owner-column-width))!important}
.table.tasks-table th{width:auto}
.tasks-table .col-status{width:var(--purchase-status-width)}
.merchandise-stock-table th{overflow-wrap:normal;word-break:normal}
.ideas-table th:last-child{min-width:var(--owner-column-width);white-space:nowrap}
.table.purchases-table{table-layout:fixed;min-width:calc(var(--purchase-status-width) + var(--purchase-title-min) + var(--purchase-count-width) + var(--purchase-money-width) + var(--purchase-money-width) + var(--purchase-source-width) + var(--owner-column-width))!important}
.table.purchases-table th{width:auto}
.purchases-table col.purchase-status{width:var(--purchase-status-width)}
.purchases-table col.purchase-title{width:var(--purchase-title-min)}
.purchases-table th:nth-child(2),.purchases-table td:nth-child(2)>button.link{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.purchases-table col.purchase-count{width:var(--purchase-count-width)}
.purchases-table col.purchase-money{width:var(--purchase-money-width)}
.purchases-table col.purchase-source{width:var(--purchase-source-width)}
.purchases-table th:nth-child(6){white-space:normal}
.table.pieten-table{--piet-status-width:112px;--piet-name-width:220px;--piet-last-width:112px;min-width:calc(var(--piet-status-width) + var(--piet-name-width) + var(--piet-last-width) + 110px)!important}
.pieten-table .col-status{width:var(--piet-status-width)}
.pieten-table .col-piet-name{width:var(--piet-name-width)}
.pieten-table .col-last-use{width:var(--piet-last-width)}
.pieten-table th.last-use-column,.pieten-table td:last-child{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.tasks-table .table-empty-message{white-space:normal}
@media(max-width:760px){
  :root{--owner-column-width:210px;--purchase-status-width:122px;--purchase-count-width:56px;--purchase-money-width:86px;--purchase-source-width:88px;--purchase-title-min:260px}
  .table.pieten-table{--piet-status-width:100px;--piet-name-width:160px;--piet-last-width:100px}
}

/* v5.5.27 — komende afspraken, gelijke dashboardvakken en overzichtelijke bedragen. */
.agenda-layout .agenda-list-row{grid-template-columns:176px 48px minmax(110px,1fr) auto;gap:8px}
.agenda-list-date{display:flex;align-items:center;gap:8px;white-space:nowrap}
.agenda-list-date .datebox{width:40px;height:43px;flex:0 0 40px;border-radius:9px}
.agenda-list-date .datebox strong{font-size:17px}
.agenda-date-range{white-space:nowrap;font-size:10px;font-weight:700;color:var(--ink)}
.agenda-list-title strong,.agenda-list-title small{white-space:normal;overflow-wrap:normal;word-break:normal}
.agenda-list-title{max-width:100%}
.dashboard-home{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;align-items:stretch}
.dashboard-home>.dashboard-two-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}
.dashboard-home>.dashboard-two-panels>div{min-width:0;width:100%}
.dashboard-agenda-list,.dashboard-activity-list{max-height:none;overflow:visible;padding-right:0}
.door-grand-total{margin:0 0 16px 18px;justify-content:flex-start}
.list-financial-summary{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;padding:10px 18px;margin-bottom:10px;background:#faf8f7;border-block:1px solid var(--line);font-size:12px}
.list-financial-summary span{display:inline-flex;gap:7px;align-items:baseline;white-space:nowrap}
.list-financial-summary strong{font-size:14px;font-variant-numeric:tabular-nums}
:root{--purchase-count-width:98px}
.purchases-table col.purchase-title{width:var(--purchase-title-min)}
.purchases-table col.purchase-source{width:var(--purchase-source-width)}
.purchases-table td:nth-child(3),.purchases-table th:nth-child(3){white-space:nowrap;min-width:var(--purchase-count-width)}
.activity-table{width:100%}
.panel:has(.activity-table) .table-wrap{max-height:none!important;overflow-y:visible!important}
.trash-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
@media(max-width:760px){
  .dashboard-home{grid-template-columns:1fr;grid-auto-rows:auto}
  .agenda-layout .agenda-list-row{grid-template-columns:150px 44px minmax(75px,1fr);gap:6px}
  .agenda-list-date .datebox{width:36px;flex-basis:36px}
  .agenda-date-range{font-size:9px}
  .agenda-layout .agenda-list-row .agenda-type{grid-column:3}
  :root{--purchase-count-width:90px}
  .purchases-table col.purchase-title{width:var(--purchase-title-min)}
  .trash-row{align-items:flex-start;flex-direction:column}
}
/* v6.1 */
.color-palette{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.color-choice{width:24px;height:24px;border-radius:50%;border:2px solid #fff;background:var(--user-color);box-shadow:0 0 0 1px #9099a5;cursor:pointer}
.color-choice:focus-visible{outline:3px solid #123a6a;outline-offset:2px}
.sponsor-detail-modal .check-list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){.sponsor-detail-modal .check-list{grid-template-columns:1fr}}
main table.table thead th{cursor:pointer}
main table.table thead th[aria-sort="ascending"]::after{content:" ↑"}
main table.table thead th[aria-sort="descending"]::after{content:" ↓"}
.action-group-heading td{padding:0!important}
.action-group-heading .group-head{width:100%;border:0;border-radius:0}
/* Compact sponsor detail adjustments awaiting next test ZIP */
.visit-options{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.visit-options .field{margin:0;flex:0 0 auto}
.sponsor-core{row-gap:12px}
.sponsor-detail-modal .sponsor-upgrades .check-list{grid-template-columns:1fr;gap:4px}
.sponsor-kind-details{margin-top:8px;border-top:1px solid var(--line);padding-top:10px}
.sponsor-kind-details summary{cursor:pointer;font-weight:700}
.sponsor-kind-details .form-grid{padding-top:10px}
.sponsor-core{display:grid;gap:16px;min-width:0}
.sponsor-core-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.sponsor-core-left{display:grid;gap:12px;align-content:start;min-width:0}
.sponsor-core-main .field{min-width:0}
.sponsor-core .sponsor-upgrades .check-list{grid-template-columns:1fr;gap:4px}
.sponsor-kind-bottom{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:10px}
.sponsor-kind-bottom [hidden]{display:none!important}
@media(max-width:650px){.sponsor-core-main{grid-template-columns:1fr}}
/* Pietenbestand: aparte naamkolommen, geen vaste verticale scrollhoogte. */
.pieten-table .col-piet-first{width:18%}
.pieten-table .col-piet-prefix{width:104px;min-width:104px;max-width:104px}
.pieten-table td:nth-child(3),.pieten-table th:nth-child(3){width:104px;min-width:104px;max-width:104px;white-space:nowrap;overflow:visible;text-overflow:clip}
.pieten-table .col-piet-own-pack{width:84px;min-width:84px;max-width:84px}
.pieten-table th:nth-child(5),.pieten-table td:nth-child(5){white-space:nowrap}
.pieten-table .col-piet-last{width:19%}
.pieten-table .col-piet-task{width:auto}
.table.pieten-table{min-width:calc(var(--piet-status-width) + 104px + 84px + var(--piet-last-width) + 400px)!important;--piet-status-width:112px;--piet-last-width:112px}
.main:has(.pieten-table) .table-wrap{max-height:none;overflow-y:visible}
@media(max-width:760px){.table.pieten-table{--piet-status-width:98px;--piet-last-width:92px;min-width:calc(var(--piet-status-width) + 104px + 84px + var(--piet-last-width) + 340px)!important}.pieten-table .col-piet-first{width:18%}.pieten-table .col-piet-prefix{width:104px;min-width:104px;max-width:104px}.pieten-table td:nth-child(3),.pieten-table th:nth-child(3){width:104px;min-width:104px;max-width:104px}.pieten-table .col-piet-last{width:20%}}
/* Actielijst Pietencommissie: bezetting en aparte vrijwilligersgroepen. */
.pieten-staffing-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:12px 16px;margin:0 0 14px;background:var(--surface,#f7f8f5);border:1px solid var(--line);border-radius:9px}
.pieten-staffing-summary strong{margin-right:8px}
.pieten-staffing-summary span{white-space:nowrap}
.pieten-staffing-summary b{font-variant-numeric:tabular-nums}
.pieten-staff-table{table-layout:fixed}
.pieten-staff-table th:first-child{width:120px}
.pieten-staff-table th:nth-child(2),.pieten-staff-table th:nth-child(3){width:23%}
.thankyou-names{columns:2;line-height:1.8;padding-left:20px}
.thankyou-names small{color:var(--muted);white-space:nowrap}
@media(max-width:650px){.thankyou-names{columns:1}}
.thankyou-table th:first-child,.thankyou-table td:first-child{width:120px;white-space:nowrap}
.thankyou-table th:nth-child(2),.thankyou-table td:nth-child(2){width:135px;white-space:nowrap}
.thankyou-table th:nth-child(3),.thankyou-table td:nth-child(3){width:42%}
.thankyou-table .check-row{margin:0}
.legacy-year-row{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(100px,1fr) 100px;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.legacy-year-row strong:last-child{text-align:right}
@media(max-width:650px){.legacy-year-row{grid-template-columns:55px minmax(0,1fr) 80px}.legacy-year-row span:nth-child(3){display:none}}
.agenda-modal-info{border-top:1px solid #e6e8e9;margin-top:18px;padding-top:16px;overflow-wrap:anywhere}
.agenda-modal-info p{margin:6px 0 14px}
.agenda-modal-info a{color:#185f92;text-decoration:underline}

/* Dashboard: rijen volgen hun inhoud; lange lijsten blijven binnen het venster. */
.layout{grid-template-columns:250px minmax(0,1fr)}
.app-shell.sidebar-collapsed .layout{grid-template-columns:72px minmax(0,1fr)}
.dashboard-home{grid-auto-rows:auto;align-items:stretch;min-width:0}
.dashboard-home>.dashboard-two-panels>div{min-width:0;width:100%;height:auto}
.dashboard-home .panel{min-width:0;width:100%;height:100%}
.dashboard-lower-panels .dashboard-agenda-list{max-height:none;overflow:visible;padding-right:0}
.dashboard-lower-panels .dashboard-activity-list{max-height:none;overflow:visible;padding-right:0}
@media(max-width:1050px) and (min-width:761px){
  .layout{grid-template-columns:205px minmax(0,1fr)}
  .dashboard-home{grid-template-columns:1fr}
  .dashboard-home>.dashboard-two-panels{display:grid;grid-template-columns:1fr}
}
@media(max-width:760px){
  .layout,.app-shell.sidebar-collapsed .layout{display:block}
  .dashboard-home{grid-template-columns:1fr;grid-auto-rows:auto}
  .dashboard-home>.dashboard-two-panels{display:grid;grid-template-columns:1fr}
  .dashboard-lower-panels .dashboard-activity-list{max-height:none;overflow:visible;padding-right:0}
}

/* Leesbare tekst op dashboard en agenda. */
.dashboard-progress-label strong,.dashboard-agenda-list .agenda-summary-copy{font-size:14px}
.dashboard-progress-label span,.dashboard-status-legend,.dashboard-progress-counts,
.dashboard-activity-row small,.dashboard-summary-panels .financial-secondary{font-size:12px}
.dashboard-activity-row strong{font-size:13px}
.dashboard-agenda-list .agenda-summary-time,.dashboard-agenda-list .agenda-audience,
.dashboard-agenda-list .agenda-location,.dashboard-agenda-list small:not(.datebox small){font-size:12px}
.dashboard-summary-panels .chart-label{font-size:11px}
.dashboard-summary-panels .chart-legend{font-size:12px}
.agenda-overview-head p,.agenda-legend,.agenda-list-date,.agenda-list-time,
.agenda-list-title small,.agenda-date-range{font-size:12px}
.agenda-list-title strong{font-size:14px}
.agenda-type,.agenda-event,.day-more,.datebox small{font-size:11px}
.day-number,.calendar-weekday{font-size:12px}
@media(max-width:760px){
  .dashboard-agenda-list .agenda-summary-row{grid-template-columns:42px minmax(0,1fr) minmax(0,1fr);gap:6px 10px}
  .dashboard-agenda-list .agenda-summary-row .datebox{grid-row:1/3}
  .dashboard-agenda-list .agenda-summary-copy{grid-column:2/4}
  .dashboard-agenda-list .agenda-audience{grid-column:2}
  .dashboard-agenda-list .agenda-location{grid-column:3}
  .dashboard-agenda-list .agenda-type{font-size:11px}
  .agenda-date-range{font-size:11px}
  .agenda-event{font-size:11px}
}

/* v6.2: agenda in Mijn taken en leesbaar importvoorbeeld. */
.tasks-agenda-table {table-layout:fixed;width:100%}
.tasks-agenda-table th:first-child{width:170px}
.tasks-agenda-table th:last-child{width:210px}
.tasks-agenda-table td,.import-table td{white-space:normal;overflow-wrap:anywhere}
.import-table{table-layout:fixed;width:100%}
.import-table th:nth-child(1){width:35%}
.import-table th:nth-child(2){width:35%}
.import-table th:nth-child(3){width:15%}
.import-table th:nth-child(4){width:15%}
@media(max-width:760px){.tasks-agenda-table th:first-child{width:100px}.tasks-agenda-table th:last-child{width:120px}.tasks-agenda-table .btn{white-space:normal;padding:6px}}

/* v6.2.1: persoonlijke deelname, vaste losse kolommen en importcorrecties. */
.tasks-agenda-table th:nth-child(1){width:150px}
.tasks-agenda-table th:nth-child(2){width:100px}
.tasks-agenda-table th:nth-child(3){width:auto}
.tasks-agenda-table th:nth-child(4){width:20%}
.tasks-agenda-table th:nth-child(5){width:140px}
.participation-picker{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:12px}
.participation-picker select{width:100%;min-width:0;padding:7px;border:1px solid #d4d0c9;border-radius:6px;background:white;font:inherit;color:inherit}
.tasks-agenda-table .participation-picker>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.agenda-participants{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.participant{display:inline-flex;align-items:center;gap:7px;border:1px solid #d4d0c9;border-radius:7px;padding:6px 9px;background:#fff}
.participant small{font-size:11px}
.participant.aanwezig>span{color:#28633f;font-weight:bold}
.participant.verhinderd>span{color:#92374a;font-weight:bold}
.participant.open>span{color:#655d52;font-weight:bold}
.import-corrections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.import-corrections h3,.import-corrections>p{grid-column:1/-1;margin:0}
.import-corrections input,.import-corrections select,.import-table input{min-width:0;width:100%;box-sizing:border-box}
.import-table td{white-space:pre-line}
@media(max-width:760px){
  .agenda-weekday{display:none}
  .tasks-agenda-table th:nth-child(1){width:20%}
  .tasks-agenda-table th:nth-child(2){width:15%}
  .tasks-agenda-table th:nth-child(3){width:25%}
  .tasks-agenda-table th:nth-child(4){width:18%}
  .tasks-agenda-table th:nth-child(5){width:22%}
  .tasks-agenda-table td,.tasks-agenda-table th{padding:8px 4px;font-size:11px}
  .tasks-agenda-table .participation-picker select{padding:5px 1px;font-size:11px}
  .import-corrections{grid-template-columns:minmax(0,1fr)}
}

/* v6.2.2: leesbare tabellen, compacte keuzes en actuele voorraad. */
@media(min-width:761px){
  .main .table-wrap{max-height:none!important;overflow-y:visible!important}
  .agenda-layout .agenda-list{max-height:none;overflow-y:visible}
  .tasks-agenda-table th:nth-child(2){width:135px}
  .tasks-agenda-table td:nth-child(2){white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}
}
.merchandise-assignment-head,.merchandise-assignment-row{grid-template-columns:minmax(150px,2fr) 74px minmax(140px,2fr) 38px}
@media(max-width:760px){.merchandise-assignment-row{grid-template-columns:minmax(0,1fr) 58px 38px}.merchandise-assignment-row [data-merchandise-note]{grid-column:1/-1;grid-row:2}}
.visit-options .check-row{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.visit-options .check-row input{margin:0;flex:none}
.audience-columns{max-height:none;overflow:visible}
.audience-people summary{cursor:pointer;font-weight:700;font-size:12px}
.audience-people [data-audience-summary]{display:block;color:var(--muted);font-size:11px;font-weight:400;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.audience-people input[type=search]{width:100%;padding:7px;margin:8px 0;border:1px solid var(--line);border-radius:7px}
.audience-people [data-audience-users]{max-height:205px;overflow-y:auto}
.audience-people [data-audience-users] label[hidden]{display:none}
.sponsor-trend{display:inline-block;margin-left:4px;font-size:16px;font-weight:800;vertical-align:middle}
.sponsor-trend.up{color:#2c8752}.sponsor-trend.down{color:#b8404b}.sponsor-trend.same{color:#6c737d}
.sponsor-note{max-width:280px;white-space:normal}
.sponsor-purchase-note{display:block;max-width:330px;margin-top:5px;padding:3px 7px;border-left:3px solid #39806b;background:#eef8f2;color:#275b45;font-size:.82em;font-weight:600;white-space:normal;overflow-wrap:anywhere}
.sponsor-benefits-count{display:flex;flex-wrap:wrap;gap:10px 22px;padding:11px 18px;border-bottom:1px solid var(--line);font-size:12px}
.sponsor-benefits-count span{display:inline-flex;align-items:baseline;gap:6px}.sponsor-benefits-count small{color:var(--muted)}
.dashboard-lower-panels .dashboard-activity-list{width:100%;max-height:none;overflow-y:auto;padding-right:5px;align-content:start}
.dashboard-lower-panels .panel-body{min-height:0}
.dashboard-activity-row.activity-link{width:100%;border:0;border-bottom:1px solid #f0edec;background:transparent;text-align:left;color:inherit;cursor:pointer}
.dashboard-activity-row.activity-link:hover{background:#fbf5f3}
.sidebar-section{position:relative}
.sidebar-section summary{list-style:none;cursor:pointer}
.sidebar-section summary::-webkit-details-marker{display:none}
.sidebar-submenu{display:none;padding:2px 0 8px 34px}
.sidebar-submenu button{border:0;background:transparent;text-align:left;padding:7px;color:#65616a;border-radius:7px;font-size:12px}
.sidebar-submenu button:hover,.sidebar-submenu button.active{background:#f8eceb;color:var(--red-dark)}
.app-shell.sidebar-collapsed .sidebar-section:hover .sidebar-submenu,.app-shell.sidebar-collapsed .sidebar-section:focus-within .sidebar-submenu{position:absolute;z-index:25;left:100%;top:0;display:grid;width:190px;padding:9px;background:white;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:9px}

/* Volgende versie: mobiele tekst krijgt ruimte; alleen bij zeer lange woorden breken. */
@media(max-width:760px){
  .mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;line-height:1.1;overflow:visible;white-space:normal;word-break:normal;overflow-wrap:normal}
  .mobile-nav button span{display:block;max-width:100%;text-align:center;hyphens:none}
  .topbar .brand{min-width:0}
  .topbar .brand span{min-width:0}
  .topbar .brand strong,.topbar .brand small{white-space:normal;overflow:visible;word-break:normal;overflow-wrap:break-word;line-height:1.15}
  .dashboard-agenda-list .agenda-summary-copy strong,.dashboard-agenda-list .agenda-audience span,.dashboard-agenda-list .agenda-location span{white-space:normal;overflow:visible;text-overflow:clip;word-break:normal;overflow-wrap:break-word}
  .agenda-list-title strong,.agenda-list-title small{overflow:visible;text-overflow:clip;word-break:normal;overflow-wrap:break-word}
  .agenda-event{word-break:normal;overflow-wrap:break-word}
  .audience-people [data-audience-summary]{max-width:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word}
  .archive-table td.money{overflow:visible;text-overflow:clip}
  .table-wrap{overflow-x:auto;overflow-y:visible}
  .table td,.table th{word-break:normal;overflow-wrap:break-word}
  .table td:has(> .owner-chip),.table td.money,.table td:has(> .badge){overflow-wrap:normal}
}

/* Teller Pieten op dezelfde tekstschaal als het sponsoroverzicht. */
.pieten-staffing-summary{font-size:12px}
.pieten-staffing-summary strong{font-size:12px}
.pieten-staffing-summary b{font-size:14px}

/* Actiepunttitels zijn neutraal, ook in Mijn taken en het archief. */
.table button.link[data-edit^="action:"],
.table button.link[data-edit^="pietAction:"]{color:var(--ink)}
.table button.link[data-edit^="action:"]:hover,
.table button.link[data-edit^="pietAction:"]:hover{text-decoration:underline}

/* Directe navigatie voor iedere commissie, inclusief toetsenbord en ingeklapte zijbalk. */
.sidebar-section-head{display:flex;align-items:center;min-width:0}
.sidebar-section-head .nav-btn{flex:1;min-width:0}
.sidebar-expander{flex:0 0 26px;border:0;border-radius:7px;background:transparent;color:var(--muted);padding:7px 0;font-size:15px;line-height:1}
.sidebar-expander:hover,.sidebar-expander:focus-visible{color:var(--ink);background:#f8eceb}
.sidebar-section.is-open .sidebar-submenu{display:grid}
.sidebar-section.is-open .sidebar-expander{transform:rotate(180deg)}
.app-shell.sidebar-collapsed .sidebar-section-head .sidebar-expander{display:none}
.app-shell.sidebar-collapsed .sidebar-section.is-open .sidebar-submenu{display:none}
.app-shell.sidebar-collapsed .sidebar-section:hover .sidebar-submenu,.app-shell.sidebar-collapsed .sidebar-section:focus-within .sidebar-submenu{display:grid}
/* Een naam en de groene markering blijven samen leesbaar. */
.table button.link .new-chip{margin-left:6px;vertical-align:middle;white-space:nowrap}

/* De navigatie staat los van de scrollende lijst en vult het venster onder de header. */
@media(min-width:761px){
  .layout>.main{grid-column:2}
  .layout>.sidebar{position:fixed;left:0;top:var(--sidebar-sticky-top,71px);z-index:10;width:250px;height:calc(100dvh - var(--sidebar-sticky-top,71px));min-height:0;max-height:none;overflow:clip}
  .app-shell.sidebar-collapsed .layout>.sidebar{width:72px}
  .sidebar.sidebar-tight{padding-top:10px;padding-bottom:10px}
  .sidebar.sidebar-tight .nav-btn{padding-top:7px;padding-bottom:7px}
  .sidebar.sidebar-tight .sidebar-submenu button{padding-top:5px;padding-bottom:5px}
  .sidebar.sidebar-tight .nav-label{padding-top:4px;padding-bottom:4px}
  .sidebar.sidebar-tight .sidebar-note,.sidebar.sidebar-tight .version-note{display:none}
  .sidebar.sidebar-emergency{overflow-y:auto;scrollbar-width:none}
  .sidebar.sidebar-emergency::-webkit-scrollbar{display:none}
  .dashboard-lower-panels .dashboard-activity-list{padding-top:0;padding-bottom:0}
  .dashboard-lower-panels .dashboard-activity-row:first-child{margin-top:18px}
  .dashboard-lower-panels .dashboard-activity-row:last-child{margin-bottom:18px}
}
@media(min-width:761px) and (max-width:1050px){.layout>.sidebar{width:205px}}

/* v6.6 — algemene zoekfunctie en een inklapbare sectie in actiepunten. */
.global-search-box{position:relative;width:100%}
.global-search-field{display:flex;align-items:center;gap:7px;min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;padding:7px 9px;color:var(--muted)}
.global-search-field:focus-within{border-color:#d3afb0;box-shadow:0 0 0 2px rgba(184,64,75,.08)}
.global-search-field>span{font-size:20px;line-height:1;flex:0 0 auto}
.global-search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px;padding:2px 0}
.global-search-field input::placeholder{color:#8a878d}
.global-search-field>button{flex:0 0 auto;border:0;background:transparent;color:var(--muted);font-size:19px;line-height:1;padding:0 2px}
.global-search-field>button[hidden]{display:none}
.global-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;max-height:min(65vh,440px);overflow-y:auto;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 12px 28px rgba(50,35,35,.16);padding:5px}
.global-search-result{display:block;width:100%;border:0;border-radius:7px;background:#fff;padding:8px 9px;text-align:left;color:var(--ink)}
.global-search-result:hover,.global-search-result:focus-visible{outline:0;background:#f8eceb;color:var(--red-dark)}
.global-search-result strong,.global-search-result small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-search-result strong{font-size:12px;font-weight:750}
.global-search-result small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}
.global-search-empty,.global-search-count{padding:9px;color:var(--muted);font-size:11px;line-height:1.4}
.global-search-count{border-top:1px solid var(--line)}
.global-search-modal{max-width:680px}
.global-search-modal .modal-body{overflow:visible}
.global-search-results-modal{position:static;max-height:min(58vh,560px);margin-top:10px;box-shadow:none}
.mobile-search-slot{display:none;align-items:center;justify-content:center;gap:4px;border:1px solid #e5c4c2;border-radius:999px;background:#fff;color:var(--red-dark);padding:6px 9px;font-size:11px;font-weight:800;white-space:nowrap}
.action-extra-section{grid-column:1/-1;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.action-extra-section>summary{cursor:pointer;list-style:none;padding:11px 13px;color:#514d53;font-size:13px;font-weight:750}
.action-extra-section>summary::-webkit-details-marker{display:none}
.action-extra-section>summary::after{content:'⌄';float:right;color:var(--muted);font-size:15px;transition:transform .15s ease}
.action-extra-section[open]>summary{border-bottom:1px solid var(--line);background:#fcfaf9}
.action-extra-section[open]>summary::after{transform:rotate(180deg)}
.action-extra-grid{padding:12px}
@media(max-width:760px){
  .mobile-search-slot{display:inline-flex}
  .global-search-modal{width:min(100%,680px);max-height:calc(100vh - 28px)}
  .global-search-modal .modal-body{padding:14px}
  .global-search-results-modal{max-height:52vh}
  .action-extra-grid{grid-template-columns:minmax(0,1fr)}
}

/* v6.7 — activity panel uses the full available height for its scroll area. */
.dashboard-lower-panels>div:has(.dashboard-activity-list){display:flex;min-height:0}
.dashboard-lower-panels .panel:has(.dashboard-activity-list){display:flex;flex-direction:column;min-height:0}
.dashboard-lower-panels .panel:has(.dashboard-activity-list)>.panel-body{display:flex;flex:1;flex-direction:column;min-height:0;padding:0}
.dashboard-lower-panels .dashboard-activity-list{width:100%;flex:1 1 auto;height:100%;min-height:0;max-height:none;overflow-y:auto;padding:18px 5px 18px 18px;align-content:start}
@media(max-width:760px){
  .dashboard-lower-panels>div:has(.dashboard-activity-list),.dashboard-lower-panels .panel:has(.dashboard-activity-list){display:block}
  .dashboard-lower-panels .panel:has(.dashboard-activity-list)>.panel-body{display:block;min-height:0;padding:18px}
  .dashboard-lower-panels .dashboard-activity-list{flex:none;height:auto;max-height:none;overflow:visible;padding:0}
}

@media(max-width:760px){.person-name-row{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:8px}.contacts-table .contact-org-col{min-width:210px}}

/* v6.12 — header search, whole-row sidebar toggles, and combined contact details. */
.topbar-search-slot{position:relative;z-index:23;flex:0 1 310px;min-width:190px;max-width:340px}
.topbar-search-slot .global-search-box{width:100%}
.topbar-search-slot .global-search-field{border-radius:999px;padding:7px 12px}
.topbar-search-slot .global-search-results{min-width:min(360px,80vw)}
.agenda-participation-body{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.agenda-participation-body .participation-picker{max-width:250px}
.sidebar-section-toggle{width:100%;justify-content:flex-start;position:relative}
.sidebar-section-toggle .sidebar-section-chevron{margin-left:auto;color:var(--muted);font-size:15px;line-height:1;transition:transform .15s ease}
.sidebar-section.is-open>.sidebar-section-toggle .sidebar-section-chevron{transform:rotate(180deg)}
.sidebar-section:not(.is-open):hover>.sidebar-submenu,.sidebar-section:not(.is-open):focus-within>.sidebar-submenu{display:grid}
/* Hoverpreview zweeft naast de sectie, zodat de navigatiekolom niet verschuift. */
.sidebar-section:not(.is-open)>.sidebar-submenu{display:grid;position:absolute;left:100%;top:0;z-index:40;width:min(220px,calc(100vw - 280px));max-height:calc(100vh - 100px);overflow-y:auto;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .12s ease,visibility 0s linear .18s}
.sidebar-section:not(.is-open):hover>.sidebar-submenu,.sidebar-section:not(.is-open):focus-within>.sidebar-submenu{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}
/* Een scrollende zijbalk knipt eigen uitklapmenu's af; het hovermenu staat daarom buiten de zijbalk. */
@media(min-width:761px){
  .sidebar-section:not(.is-open)>.sidebar-submenu,
  .app-shell.sidebar-collapsed .sidebar-section>.sidebar-submenu{display:none!important}
  .sidebar-flyout{position:fixed;z-index:45;display:grid;width:220px;max-height:calc(100vh - 88px);overflow-y:auto;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}
  .sidebar-flyout button{width:100%;border:0;background:transparent;text-align:left;padding:7px;color:#65616a;border-radius:7px;font-size:12px}
  .sidebar-flyout button:hover,.sidebar-flyout button.active{background:#f8eceb;color:var(--red-dark)}
}
.contacts-table .contact-info-col{min-width:205px}
.contact-info-cell{display:grid;gap:3px;min-width:0}
.contact-info-cell .contact-phones{white-space:nowrap;font-size:12px}
.contact-info-cell .contact-email{display:block;color:var(--muted);font-size:10px;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:1050px){.topbar-search-slot{flex-basis:260px;min-width:170px}.topbar{gap:12px}}
@media(max-width:760px){.topbar-search-slot{display:none}.mobile-search-slot{display:inline-flex}}

/* v6.10 — reserve space for name prefixes, own-pack status, and purchase titles. */
.pieten-table .col-piet-prefix,.pieten-table td:nth-child(3),.pieten-table th:nth-child(3){width:104px;min-width:104px;max-width:104px;white-space:nowrap;overflow:visible;text-overflow:clip}
.pieten-table .col-piet-own-pack,.pieten-table th:nth-child(5),.pieten-table td:nth-child(5){width:84px;min-width:84px;max-width:84px;white-space:nowrap}
.table.pieten-table{min-width:calc(var(--piet-status-width) + 104px + 84px + var(--piet-last-width) + 400px)!important}
:root{--purchase-title-min:360px;--purchase-source-width:100px}
.purchases-table col.purchase-title{width:var(--purchase-title-min)}
.purchases-table col.purchase-source{width:var(--purchase-source-width)}
.table.purchases-table th:nth-child(2){width:var(--purchase-title-min)}
.table.purchases-table th:nth-child(6){width:var(--purchase-source-width)}
@media(max-width:760px){:root{--purchase-title-min:260px;--purchase-source-width:88px}.table.pieten-table{min-width:calc(var(--piet-status-width) + 104px + 84px + var(--piet-last-width) + 340px)!important}}

/* v6.11 — versioned change log and unread notification. */
.whats-new-dot{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;background:#c34236;vertical-align:middle;box-shadow:0 0 0 2px var(--surface,#fff)}
.whats-new-modal{width:min(760px,100%)}
.whats-new-releases{display:grid;gap:8px}
.whats-new-release{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}
.whats-new-release summary{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}
.whats-new-release summary::-webkit-details-marker{display:none}
.whats-new-release summary::after{content:"+";margin-left:auto;font-size:16px;color:var(--muted)}
.whats-new-release[open] summary::after{content:"−"}
.whats-new-release summary strong{font-size:13px}
.whats-new-release summary>span{font-size:11px;color:var(--muted)}
.whats-new-release .whats-new-latest{padding:3px 7px;border-radius:20px;background:var(--cream,#f5f1ea);color:var(--ink);font-weight:700}
.whats-new-release ul{display:grid;gap:7px;margin:0;padding:0 18px 15px 34px}
.whats-new-release li{font-size:12px;line-height:1.5}

/* Compact Pietenbestand names, photo placeholders, and clear row actions. */
.table.pieten-table{min-width:860px!important;--piet-status-width:112px;--piet-last-width:100px}
.pieten-table .col-piet-name{width:29%;min-width:205px;max-width:none}
.pieten-table .col-piet-contact{width:20%;min-width:155px;max-width:none}
.pieten-table td:nth-child(3),.pieten-table th:nth-child(3){width:20%;min-width:155px;max-width:none;white-space:normal;overflow-wrap:anywhere}
.pieten-table .col-piet-own-pack,.pieten-table th:nth-child(4),.pieten-table td:nth-child(4){width:82px;min-width:82px;max-width:82px;white-space:nowrap}
.pieten-table th:nth-child(5),.pieten-table td:nth-child(5){white-space:normal;overflow-wrap:anywhere}
.piet-person-link,.piet-archive-name{display:inline-flex;align-items:center;gap:9px;text-align:left;white-space:normal}
.piet-person-cell{display:flex;align-items:center;gap:9px;min-width:0}
.photo-zoom-trigger{display:inline-flex;flex:0 0 auto;padding:0;border:0;border-radius:7px;background:transparent;cursor:zoom-in}
.photo-zoom-trigger:focus-visible{outline:3px solid var(--red,#9b2d32);outline-offset:2px}
.photo-viewer-backdrop{z-index:70}
.photo-viewer{position:relative;width:min(660px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:44px 16px 16px;align-items:center;justify-content:center;gap:10px}
.photo-viewer-close{position:absolute;top:7px;right:12px;z-index:1;width:36px;height:36px;cursor:pointer}
.photo-viewer .piet-photo-slot.large,.photo-viewer .piet-photo-placeholder.large,.photo-viewer .piet-photo-image.large{width:min(580px,calc(100vw - 64px));height:min(70dvh,580px)}
.photo-viewer .piet-photo-image{object-fit:contain}
.photo-viewer .piet-photo-slot.circle.large,.photo-viewer .piet-photo-slot.circle .piet-photo-placeholder.large,.photo-viewer .piet-photo-slot.circle .piet-photo-image.large{width:min(580px,calc(100vw - 64px),70dvh);height:min(580px,calc(100vw - 64px),70dvh);border-radius:50%}
.photo-viewer p{margin:0;text-align:center;color:var(--ink);overflow-wrap:anywhere}
.piet-photo-slot{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;overflow:hidden;border-radius:7px;background:#f5f3ed}
.piet-photo-slot.small,.piet-photo-placeholder.small,.piet-photo-image.small{width:38px;height:44px}
.piet-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #b8b2a6;color:#756f64;line-height:1.1}
.piet-photo-placeholder strong{font-size:10px;font-weight:600}
.piet-photo-placeholder small{font-size:8px}
[data-photo-placeholder] small{display:flex;align-items:center;gap:3px}
[data-photo-placeholder]:not(.failed) small::before{content:'';width:9px;height:9px;border:2px solid #c8c2b8;border-top-color:var(--red,#9b2d32);border-radius:50%;animation:piet-photo-turn .8s linear infinite}
.piet-photo-image{display:block;object-fit:cover}
.piet-photo-image[hidden],.piet-photo-placeholder[hidden]{display:none!important}
.piet-photo-editor[hidden],.piet-photo-slot[hidden],[data-piet-only][hidden]{display:none!important}
.piet-photo-editor{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--surface,#fff)}
.field-label{font-size:12px;font-weight:700}
.piet-photo-preview{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px}
.piet-photo-preview>div{min-width:0;flex:1}.piet-photo-preview input[type=file]{display:block;max-width:100%;margin-top:5px}
.piet-photo-slot.large,.piet-photo-placeholder.large,.piet-photo-image.large{width:108px;height:132px}
.piet-photo-slot.circle.small,.piet-photo-slot.circle .piet-photo-placeholder.small,.piet-photo-slot.circle .piet-photo-image.small{width:40px;height:40px;border-radius:50%}
.piet-photo-slot.circle.large,.piet-photo-slot.circle .piet-photo-placeholder.large,.piet-photo-slot.circle .piet-photo-image.large{width:108px;height:108px;border-radius:50%}
.piet-crop-editor[hidden]{display:none!important}
.piet-crop-editor{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:10px}
.piet-crop-preview{width:min(100%,320px);aspect-ratio:1;background:#e7e4df;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.piet-crop-preview canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.piet-crop-preview canvas:active{cursor:grabbing}
.piet-crop-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap}
.piet-crop-controls label{display:grid;gap:4px;font-size:12px;font-weight:600}
.piet-crop-controls input[type=range]{width:180px;max-width:100%}
.piet-photo-progress{position:fixed;z-index:1300;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(35,19,19,.25);font-size:13px;font-weight:700;color:var(--ink,#2d2626)}
.piet-photo-editor>.piet-photo-progress{position:static;transform:none;box-shadow:none;margin-top:10px;padding:6px 0;border:0;background:transparent}
.piet-photo-progress-ring{width:32px;height:32px;flex:none;border:4px solid #e3ded6;border-top-color:var(--red,#9b2d32);border-radius:50%;animation:piet-photo-turn .8s linear infinite}
.piet-photo-progress.measured .piet-photo-progress-ring{border:0;background:conic-gradient(var(--red,#9b2d32) var(--photo-progress),#e3ded6 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 0);animation:none}
@keyframes piet-photo-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.piet-photo-progress-ring,[data-photo-placeholder] small::before{animation-duration:2s}}
.piet-photo-placeholder.large strong{font-size:14px}
.piet-photo-placeholder.large small{font-size:11px}
.action-title-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.action-title-line>.link{min-width:0;text-align:left}
.action-attachment-icon{display:inline-block;margin-inline-start:.3em;font-size:.9em;line-height:1;vertical-align:middle}

/* Werkversie 6.13: compacte financiële kolommen en snelle bedankjes. */
.table.task-table .action-compensation-col{width:108px}
.table.task-table .action-thankyou-col{width:82px}
.task-table .action-compensation{text-align:right;white-space:nowrap}
.task-table .action-compensation em,.purchase-budget{color:var(--muted);font-style:italic;font-weight:400}
.task-table .action-thankyou{text-align:center;white-space:nowrap}
.task-table .action-thankyou input{width:13px;height:13px;cursor:pointer}
.table.purchases-table{min-width:calc(var(--purchase-status-width) + var(--purchase-title-min) + var(--purchase-count-width) + var(--purchase-money-width) + var(--purchase-source-width) + var(--owner-column-width))!important}
.table.purchases-table th:nth-child(5){width:var(--purchase-source-width)}
.table.purchases-table th:nth-child(6){width:var(--owner-column-width)}
.purchases-table .purchase-budget{white-space:nowrap}
.financial-summary>.financial-tile{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--cream);text-align:left;font:inherit;color:inherit}
button.financial-tile{cursor:pointer}
button.financial-tile:hover,button.financial-tile:focus-visible{border-color:var(--green);box-shadow:0 0 0 2px #e1f0e5}
.dashboard-summary-panels .financial-summary>.financial-tile{padding:8px}
.action-row-delete{flex:0 0 auto;padding:3px 7px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:10px}
.activity-item-link{max-width:260px;text-align:left;white-space:normal}
.sponsor-directory-table{min-width:760px}
.sponsor-directory-table td:first-child strong{font-weight:700}
.sponsor-contact-info{display:grid;gap:3px;overflow-wrap:anywhere}
.sponsor-contact-info small{color:var(--muted);font-size:10px}
@media(max-width:760px){.table.pieten-table{min-width:760px!important}.pieten-table .col-piet-name{min-width:195px}.pieten-table .col-piet-contact{min-width:145px}.piet-photo-slot.small,.piet-photo-placeholder.small,.piet-photo-image.small{width:34px;height:40px}}

/* v6.12 — stack Pieten contact data like the Bestuur contact list. */
.piet-contact-details{display:grid;gap:3px;min-width:0}
.piet-contact-details>span{white-space:nowrap;font-size:12px}
.piet-contact-details>small{display:block;color:var(--muted);font-size:10px;line-height:1.3;overflow-wrap:anywhere}
.piet-contact-section>summary{padding:9px 0;cursor:pointer;font-size:12px;font-weight:700}
.shared-person-link .contact-picker{position:relative}

/* Elke dashboardrij volgt zijn eigen inhoud: de agenda rekt de bovenste rij niet op. */
@media(min-width:761px){
  .dashboard-home{grid-auto-rows:auto;align-content:start}
  .dashboard-home>.dashboard-two-panels{grid-auto-rows:auto;min-height:0;align-items:stretch}
  .dashboard-home>.dashboard-two-panels>div{height:100%;min-height:0}
  .dashboard-home .panel{display:flex;flex-direction:column;height:100%;min-height:0}
  .dashboard-home .panel-head{flex:0 0 auto}
  .dashboard-home .panel-body{flex:1 1 auto;min-height:0;overflow:visible}
  .dashboard-lower-panels>div:has(.dashboard-activity-list){contain:size}
  .dashboard-lower-panels .panel:has(.dashboard-activity-list){height:100%;min-height:0}
  .dashboard-lower-panels .panel:has(.dashboard-activity-list)>.panel-body{height:0;min-height:0;overflow:hidden}
  .dashboard-lower-panels .dashboard-activity-list{height:100%;min-height:0;max-height:none;overflow-y:auto;padding:18px 5px 18px 18px}
}
@media(max-width:760px){
  .dashboard-lower-panels .dashboard-activity-list{max-height:clamp(280px,calc(100dvh - var(--header-height,71px) - 120px),680px);overflow-y:auto;padding-right:5px}
}

/* Namen en wijzigingstekst beginnen bij iedere activiteit in dezelfde kolom. */
.dashboard-lower-panels .dashboard-activity-row{grid-template-columns:190px minmax(0,1fr);align-items:start;column-gap:14px}
.dashboard-lower-panels .dashboard-activity-row>span{min-width:0}
.dashboard-lower-panels .dashboard-activity-row .owner-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:560px){
  .dashboard-lower-panels .dashboard-activity-row{grid-template-columns:minmax(0,1fr);row-gap:4px}
}

/* Mobile header: keep the organization name horizontal at narrow phone widths. */
@media(max-width:760px){
  .app-shell{--header-height:100px}
  .topbar{height:var(--header-height);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:38px 32px;grid-template-areas:"brand user" "search tasks";align-content:center;column-gap:8px;row-gap:8px;padding:9px 13px}
  .topbar-spacer,.topbar-search-slot,.year-select{display:none}
  .topbar .brand{grid-area:brand;min-width:0;max-width:100%;width:100%;flex:none}
  .topbar .brand img{flex:0 0 38px}
  .topbar .brand span{display:block;min-width:0;flex:1;overflow:hidden}
  .topbar .brand strong,.topbar .brand small{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal}
  .topbar .user-menu-wrap{grid-area:user;justify-self:end}
  .topbar .mobile-search-slot{grid-area:search;justify-self:start}
  .topbar .mobile-tasks-slot{grid-area:tasks;justify-self:end}
}

/* v6.14.7 — brede lijsten schuiven binnen hun kaart, zonder smalle letterkolommen. */
@media(max-width:760px){
  .table-wrap{overflow-x:auto!important;overscroll-behavior-inline:contain}
  .table-wrap>.table{min-width:620px!important}
  .table-wrap>.table th,.table-wrap>.table td{overflow-wrap:break-word;word-break:normal}
  .table-wrap>.table .badge,.table-wrap>.table .chip{max-width:none;white-space:nowrap;overflow-wrap:normal;word-break:normal}
  .table-wrap>.table .money{white-space:nowrap;overflow-wrap:normal}

  .table-wrap>.task-table{min-width:1000px!important}
  .table-wrap>.tasks-table{min-width:620px!important}
  .table-wrap>.purchases-table{min-width:1000px!important}
  .table-wrap>.pieten-table{min-width:860px!important}
  .table-wrap>.ideas-table{min-width:850px!important}
  .table-wrap>.contacts-table{min-width:1000px!important}
  .table-wrap>.pieten-staff-table{min-width:750px!important}
  .table-wrap>.clothing-table{min-width:800px!important}
  .table-wrap>.merchandise-stock-table{min-width:1050px!important}
  .table-wrap>.sponsor-table,.table-wrap>.archive-sponsors-table{min-width:950px!important}
  .table-wrap>.door-collection-table{min-width:1100px!important}
  .table-wrap>.door-district-table{min-width:820px!important}
  .table-wrap>.door-qr-table,.table-wrap>.door-collector-table{min-width:820px!important}
  .table-wrap>.tasks-agenda-table{min-width:800px!important}
  .tasks-agenda-table th:nth-child(1){width:150px}
  .tasks-agenda-table th:nth-child(2){width:100px}
  .tasks-agenda-table th:nth-child(3){width:230px}
  .tasks-agenda-table th:nth-child(4){width:150px}
  .tasks-agenda-table th:nth-child(5){width:170px}
  .tasks-agenda-table .participation-picker select{padding:7px;font-size:12px}
  .table-wrap>.import-table{min-width:720px!important}
  .table-wrap>.rights-table{min-width:720px!important}
  .table-wrap>.activity-table{min-width:1000px!important}
  .table-wrap>.thankyou-table{min-width:850px!important}

  .table-wrap>.archive-table{min-width:720px!important}
  .table-wrap>.sponsor-directory-table{min-width:900px!important}
  .table-wrap>.archive-piet-table{min-width:500px!important}
  .table-wrap>.archive-clothing-table{min-width:700px!important}
  .table-wrap>.archive-actions-table,.table-wrap>.archive-purchases-table{min-width:1150px!important}
  .table-wrap>.archive-table td:not(.money),.table-wrap>.archive-table td .badge,
  .table-wrap>.archive-table td .chip:not(.owner-chip){overflow-wrap:break-word;word-break:normal}

  .config-table-wrap{overflow-x:auto!important;overflow-y:auto!important}
  .table-wrap>.sponsor-config-table{width:100%!important;max-width:none!important;font-size:11px}
  .table-wrap>.package-config-table{min-width:1200px!important}
  .table-wrap>.upgrade-config-table{min-width:880px!important}
  .sponsor-config-table th{font-size:10px;letter-spacing:0}
  .sponsor-config-table th,.sponsor-config-table td{padding:8px 5px}
  .sponsor-config-table button.link{overflow-wrap:break-word}
  .config-check{width:16px;height:16px}
  .config-stack small{font-size:9px}

  .dashboard-summary-panels .financial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-summary-panels .financial-result{grid-column:1/-1}
  .dashboard-summary-panels .financial-summary strong{font-size:16px;white-space:nowrap;overflow-wrap:normal}
  .agenda-layout .agenda-list-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}
  .agenda-layout .agenda-list-row .agenda-list-title{grid-column:1/-1}
  .agenda-layout .agenda-list-row .agenda-type{grid-column:1/-1}
  .dashboard-agenda-list .agenda-summary-row{grid-template-columns:42px minmax(0,1fr)}
  .dashboard-agenda-list .agenda-summary-copy,
  .dashboard-agenda-list .agenda-audience,
  .dashboard-agenda-list .agenda-location{grid-column:2}
  .dashboard-agenda-list .agenda-audience,.dashboard-agenda-list .agenda-location{font-size:11px}
  .dashboard-agenda-list .agenda-summary-row .datebox{grid-row:1/4;align-self:start}
}
@media(max-width:440px){
  .dashboard-summary-panels .financial-summary{grid-template-columns:minmax(0,1fr)}
}

/* v6.14.8 — mobiel: een leesbare dagkiezer met afspraken onder de maand. */
.agenda-mobile-calendar,.agenda-mobile-details{display:none}
.agenda-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.timeline-list{display:grid;gap:22px;min-width:0}
.timeline-day{min-width:0}
.timeline-day h3{margin:0 0 10px;font-size:14px;text-transform:capitalize}
.timeline-entries{display:grid;gap:8px;border-left:3px solid #e7c6c5;margin-left:28px;padding-left:18px}
.timeline-entry{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left}
.timeline-entry::before{content:"";position:absolute;left:-26px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--red);border:2px solid #fff}
.timeline-entry:hover,.timeline-entry:focus-visible{border-color:#d3afb0;background:#fffaf9;outline:none}
.timeline-time{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--red-dark)}
.timeline-main{display:grid;gap:5px;min-width:0}
.timeline-entry-head{display:flex;align-items:flex-start;gap:10px;justify-content:space-between;min-width:0}
.timeline-entry-head strong{font-size:14px;overflow-wrap:break-word}
.timeline-entry-head .badge{flex:none}
.timeline-meta,.timeline-route,.timeline-notes{font-size:12px;color:var(--muted);overflow-wrap:break-word;line-height:1.4}
.timeline-route{color:var(--ink)}
@media(max-width:600px){.timeline-entries{margin-left:6px;padding-left:14px}.timeline-entry::before{left:-22px}.timeline-entry{grid-template-columns:1fr;gap:5px}.timeline-time{font-size:13px}.timeline-entry-head{gap:6px}}
.timeline-entry{display:block;padding:0}
.timeline-entry summary{display:grid;grid-template-columns:72px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:9px 12px;cursor:pointer;list-style:none}
.timeline-entry summary::-webkit-details-marker{display:none}
.timeline-entry summary::after{content:'⌄';color:var(--muted);font-size:18px}
.timeline-entry[open] summary::after{transform:rotate(180deg)}
.timeline-entry .timeline-main{gap:1px}
.timeline-responsible{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.timeline-details{display:grid;gap:6px;padding:0 12px 12px 96px;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.timeline-details .btn{justify-self:start;margin-top:5px}
@media(max-width:600px){.timeline-entry summary{grid-template-columns:52px minmax(0,1fr) 16px;gap:8px;padding:9px}.timeline-details{padding:0 9px 10px 69px}}
@media(max-width:760px){
  .agenda-layout .agenda-calendar{order:1;padding:12px;min-width:0}
  .agenda-layout .agenda-overview{order:2;height:auto;min-width:0}
  .agenda-layout .agenda-list{max-height:none;overflow-y:visible}
  .agenda-desktop-calendar{display:none}
  .agenda-mobile-calendar{display:grid;gap:4px;grid-template-columns:repeat(7,minmax(0,1fr))}
  .agenda-mobile-calendar .calendar-weekday{padding:4px 0;font-size:11px}
  .agenda-mobile-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-width:0;min-height:48px;padding:6px 2px;border:1px solid transparent;border-radius:9px;background:#fff;color:var(--ink);text-align:center}
  .agenda-mobile-day.muted{background:#faf8f7;color:#aaa}
  .agenda-mobile-day.selected{border-color:var(--red);background:#fff1ef;color:var(--red-dark);font-weight:800}
  .agenda-mobile-day[aria-current="date"] .day-number{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
  .agenda-mobile-day:focus-visible{outline:2px solid var(--red);outline-offset:2px}
  .agenda-mobile-day .day-number{font-size:13px}
  .agenda-mobile-day small{font-size:9px;line-height:1}
  .agenda-mobile-dots{display:flex;align-items:center;justify-content:center;gap:2px;min-height:6px}
  .agenda-mobile-dot{display:block;width:5px;height:5px;margin:0;padding:0;border-radius:50%;background:#999}
  .agenda-mobile-dot.meeting{background:#6f83c0}
  .agenda-mobile-dot.deadline{background:#d59b34}
  .agenda-mobile-dot.event{background:#4b9b65}
  .agenda-mobile-details{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
  .agenda-mobile-details h4{margin:0;font-size:14px;line-height:1.3}
  .agenda-mobile-details p{margin:0;color:var(--muted);font-size:12px}
  .agenda-mobile-appointment{display:grid;gap:5px;width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#faf9f8;color:var(--ink);text-align:left;font-size:12px;line-height:1.35}
  .agenda-mobile-appointment:focus-visible{outline:2px solid var(--red);outline-offset:2px}
  .agenda-mobile-appointment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}
  .agenda-mobile-appointment-head strong{min-width:0;overflow-wrap:break-word;font-size:13px}
  .agenda-mobile-appointment .agenda-type{flex:none}
  .agenda-mobile-appointment small{font-size:11px;color:var(--muted);overflow-wrap:break-word}
}

/* Pop-ups blijven binnen de telefoon, ook als hun inhoud breed is. */
@media(max-width:760px){
  .modal-backdrop{grid-template-columns:minmax(0,1fr);width:100vw;max-width:100vw;overflow-x:hidden}
  .modal-backdrop>.modal{justify-self:center;width:min(100%,calc(100vw - 16px));max-width:100%;min-width:0;max-height:calc(100dvh - 16px)}
  .modal-head,.modal-body,.modal-foot{min-width:0;max-width:100%}
  .modal-head>div{min-width:0;overflow-wrap:break-word}
  .modal-close{flex:0 0 auto;min-width:32px;min-height:32px}
  .global-search-modal .global-search-box,.global-search-modal .global-search-field{max-width:100%;min-width:0}
  .global-search-modal .modal-body{min-height:0;overflow-x:hidden;overflow-y:auto}
  .modal-body input:not([type="checkbox"]):not([type="radio"]),
  .modal-body select,.modal-body textarea{font-size:16px}
  .modal-body .table-wrap{max-width:100%;overflow-x:auto!important}
}

/* v6.15: direct editable quantities, readable on mobile. */
.thankyou-quantity{width:5.5rem;max-width:100%;min-height:2.4rem;padding:.35rem .45rem;border:1px solid #cfc7c7;border-radius:.5rem;background:#fff;color:#252327;font:inherit;text-align:center}
.task-table .action-thankyou input.thankyou-quantity{width:5.5rem;height:2.4rem;min-height:2.4rem;cursor:text}
.thankyou-quantity:disabled,.thankyou-duplicate,.modal input.thankyou-duplicate{color:#777;background:#f3f1f1;border-color:#ded9d9}
.thankyou-duplicate{display:inline-block;width:5.5rem;max-width:100%;min-height:2.4rem;padding:.35rem .45rem;border:1px solid #ded9d9;border-radius:.5rem;color:#777;background:#f3f1f1;text-align:center;font:inherit;white-space:nowrap}
button.thankyou-duplicate{cursor:pointer}
.modal input.thankyou-duplicate[readonly]{cursor:pointer}
button.thankyou-duplicate:hover,button.thankyou-duplicate:focus-visible{outline:2px solid #ab5555;outline-offset:2px}
.thankyou-location-modal{width:min(440px,100%)}
@media(max-width:700px){.thankyou-quantity{font-size:16px}.action-thankyou{min-width:7rem}.pieten-table th:last-child,.pieten-table td:last-child,.sponsor-table th:last-child,.sponsor-table td:last-child{min-width:8rem}.inventory-table th,.inventory-table td,.door-collector-table th,.door-collector-table td{min-width:7rem}}
.table.task-table .action-thankyou-col{width:132px}
.table.pieten-table{min-width:970px!important}
.pieten-table .col-piet-thanks{width:135px}
.pieten-table th:nth-child(6),.pieten-table td:nth-child(6){white-space:nowrap;overflow-wrap:normal;word-break:normal}
.table-wrap>.sponsor-table{min-width:1080px!important}
@media(max-width:760px){.table.pieten-table{min-width:970px!important}.table-wrap>.sponsor-table{min-width:1080px!important}}

/* v6.15.2: kledingvoorraad en uitgiftes blijven bruikbaar op telefoon. */
.clothing-issue-row{display:grid;grid-template-columns:minmax(170px,2fr) minmax(150px,2fr) minmax(80px,.7fr) auto;gap:.6rem;align-items:end;margin:.65rem 0;padding:.65rem;border:1px solid #e4dddd;border-radius:.6rem}
.clothing-purchase-table,.clothing-allocation-table{min-width:660px}
.clothing-purchase-table th,.clothing-purchase-table td,.clothing-allocation-table th,.clothing-allocation-table td{white-space:normal;overflow-wrap:normal;word-break:normal}
.clothing-purchase-item{margin:.5rem 0;border:1px solid #e4dddd;border-radius:.7rem;background:#fff;overflow:hidden}
.clothing-purchase-item>summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.85rem 1rem;cursor:pointer;list-style:none}
.clothing-purchase-item>summary::-webkit-details-marker{display:none}
.clothing-purchase-item>summary::before{content:'▸';color:#b32020;font-size:1.2rem;flex:none}
.clothing-purchase-item[open]>summary::before{content:'▾'}
.clothing-purchase-item>summary strong{flex:1;min-width:0;overflow-wrap:anywhere}
.clothing-purchase-item>summary span{color:#6c6262;font-size:.9rem;text-align:right}
.clothing-purchase-detail{padding:0 1rem 1rem}
.clothing-purchase-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:.7rem}
@media(max-width:700px){.clothing-issue-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.clothing-issue-row .btn{grid-column:1/-1}}

/* v6.15.4: planning and pack history remain usable within narrow dialogs. */
.sponsor-table th:nth-child(6){width:105px}
.sponsor-table th:last-child{width:178px}
.piet-pack-link{display:inline;white-space:nowrap}
.pack-repair-row{display:grid;grid-template-columns:minmax(135px,170px) minmax(0,1fr) auto;gap:10px;align-items:end;margin:8px 0}
.pack-repair-row .field{min-width:0}
.pack-repair-row input{width:100%;min-width:0}
.agenda-layout .agenda-list{max-height:500px;overflow-y:auto}
.agenda-list-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:12px;color:var(--muted)}
.agenda-list-pager .btn{white-space:nowrap}
@media(max-width:760px){.sponsor-table th:nth-child(6){width:100px}.sponsor-table th:last-child{width:138px}.agenda-layout .agenda-list{max-height:360px;overflow-y:auto}.pack-repair-row{grid-template-columns:minmax(0,1fr)}.pack-repair-row .btn{justify-self:start}}

/* v6.15.5: compact, editable thank-you numbers in lists. */
.table input.thankyou-quantity,.table button.thankyou-duplicate{width:3rem;max-width:100%;height:2rem;min-height:2rem;padding:0 .1rem;border:0;border-radius:4px;background:transparent;text-align:center;font-weight:600;box-shadow:none}
.table.task-table .action-thankyou input.thankyou-quantity{width:3rem;height:2rem;min-height:2rem}
.table input.thankyou-quantity:disabled,.table button.thankyou-duplicate{color:#777;background:transparent}
.table input.thankyou-quantity:not(:disabled){cursor:text}
.table input.thankyou-quantity:focus-visible,.table button.thankyou-duplicate:focus-visible{outline:2px solid #ab5555;outline-offset:2px;background:#fff}
.table input.thankyou-quantity::-webkit-inner-spin-button,.table input.thankyou-quantity::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.table input.thankyou-quantity{-moz-appearance:textfield;appearance:textfield}
@media(max-width:700px){.table .thankyou-quantity,.table .thankyou-duplicate{font-size:16px}}
.account-mobile-links,.account-menu-heading-account{display:none}
.account-menu-heading{padding:8px 11px 4px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.02em}
.traffic-secondary{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.traffic-map-card{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 4px;border-bottom:1px solid var(--line)}
.traffic-map-card:last-child{border-bottom:0}
.traffic-map-card p{margin:5px 0 0;white-space:pre-line;font-size:12px;color:var(--muted)}
.traffic-map-links{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.traffic-form-heading{padding-top:8px;border-top:1px solid var(--line)}
.traffic-detail-fields{grid-column:1/-1;min-width:0}
.traffic-detail-fields[hidden]{display:none}
.traffic-marshal-field[hidden]{display:none}
.traffic-detail-fields .form-grid{margin-top:10px}
.traffic-form-heading strong{display:block}
.traffic-appointment{display:inline-block;white-space:nowrap;font-size:12px;font-weight:700}
.traffic-appointment.valid{color:#286c44}
.traffic-appointment.invalid{color:#9d3838}
.traffic-table{min-width:760px}
.traffic-table td:nth-child(5){white-space:pre-line;max-width:260px}
@media(max-width:760px){
  .account-mobile-links,.account-menu-heading-account{display:block}
  .account-menu{width:min(230px,calc(100vw - 26px));max-height:calc(100dvh - 90px);overflow-y:auto}
  .traffic-map-card{display:block}
  .traffic-map-links{justify-content:flex-start;margin-top:8px}
  .traffic-table{min-width:730px}
}

.collecte-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.collecte-account-head h3{margin:0 0 4px}.collecte-account-head p{margin:0}.collecte-account-table select{min-width:220px;width:100%}.collecte-account-table td:first-child{min-width:190px}

.attachment-entry{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:5px 0}
.attachment-remove{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);cursor:pointer}
