
:root{--black:#0D0D0D;--blue:#1A3A6B;--yellow:#D4890A;--offwhite:#F2F2EE;--grey:#E5E5E0;--green:#DFF2D8;--green-text:#176A25;--orange:#FFE1C7;--orange-text:#A94700;--shadow:0 18px 45px rgba(13,13,13,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--offwhite);color:var(--black);font-family:Arial,Helvetica,sans-serif}a{color:inherit}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:480px;background:#fff;border:1px solid var(--grey);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.logo{max-width:210px;margin-bottom:18px}.login-card h1,.admin-header h1{margin:0;font-size:34px;letter-spacing:-.04em}.login-card p,.admin-header p{color:#666}.admin-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:linear-gradient(180deg,#0B2244,#1A3A6B);color:white;padding:24px;display:flex;flex-direction:column;gap:26px}.brand-panel{background:white;border-radius:14px;padding:12px}.brand-panel img{max-width:180px;display:block}.sidebar nav{display:grid;gap:8px}.sidebar nav a{color:white;text-decoration:none;padding:13px 14px;border-radius:12px;font-weight:800}.sidebar nav a:hover{background:rgba(212,137,10,.18);color:var(--yellow)}.sidebar-footer{margin-top:auto;display:grid;gap:4px;color:#ddd}.admin-main{padding:34px 42px}.admin-header{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:24px}.header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:10px;border:0;font-weight:900;text-decoration:none;cursor:pointer;font-size:14px}.btn-yellow{background:var(--yellow);color:#fff;box-shadow:0 5px 0 rgba(0,0,0,.12)}.btn-outline{background:white;border:1px solid #cfcfc9}.btn-small{min-height:34px;padding:7px 10px;font-size:12px}.panel{background:white;border:1px solid var(--grey);border-radius:18px;padding:24px;box-shadow:var(--shadow);margin-bottom:24px}.compact-panel{padding:16px}.panel-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.panel-title h2{margin:0;font-size:23px}.panel-title p{margin:5px 0 0;color:#666}.form,.mobile-form{display:grid;gap:14px}.form-panel{max-width:980px}label{display:grid;gap:7px;font-weight:800}input,textarea,select{width:100%;padding:12px;border:1px solid #D2D2CC;border-radius:10px;font:inherit;background:#fff}textarea{resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.alert,.small-note,.info-box{background:#FFF4D2;border:1px solid var(--yellow);border-radius:12px;padding:12px 14px;margin-bottom:18px}.event-grid,.supplier-grid{display:grid;gap:14px}.event-card,.supplier-card,.simple-card{display:flex;justify-content:space-between;gap:16px;padding:18px;background:#FAFAF8;border:1px solid var(--grey);border-radius:14px;text-decoration:none}.event-card h3,.supplier-card h3{margin:0;font-size:22px}.event-card p{margin:4px 0 0;color:#666}.event-pills{display:flex;flex-wrap:wrap;gap:8px}.event-pills span{background:#fff;border:1px solid var(--grey);padding:8px 10px;border-radius:999px;font-size:12px;font-weight:900}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.kpi{background:#fff;border:1px solid var(--grey);border-left:8px solid #777;border-radius:16px;padding:18px;box-shadow:var(--shadow)}.kpi.green{border-left-color:#42B348}.kpi.yellow{border-left-color:var(--yellow)}.kpi.orange{border-left-color:#FF8A00}.kpi.red{border-left-color:#D71920}.kpi.grey{border-left-color:#8A8A8A}.kpi strong{display:block;font-size:28px}.table-wrap{overflow-x:auto;border:1px solid var(--grey);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:1180px}th{text-align:left;padding:13px;background:#FAFAF8;border-bottom:1px solid var(--grey);font-size:13px}td{padding:13px;border-bottom:1px solid var(--grey);vertical-align:top;font-size:13px}.qr-mini{width:52px;height:52px}.pill{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px}.pill.green,.status-green{background:var(--green);color:var(--green-text)}.pill.yellow,.status-yellow{background:#FFF1B8;color:#6A4A00}.pill.orange,.status-orange{background:var(--orange);color:var(--orange-text)}.pill.red,.status-red{background:#FFD6D6;color:#9E0000}.pill.grey{background:var(--grey);color:#444}.muted,.empty{color:#666}.small-cell{max-width:280px;white-space:pre-line}.status-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;font-weight:800}.status-legend span{display:inline-flex;align-items:center;gap:6px}.dot{width:11px;height:11px;border-radius:999px;display:inline-block}.dot.green{background:#42B348}.dot.yellow{background:var(--yellow)}.dot.orange{background:#FF8A00}.dot.red{background:#D71920}.dot.grey{background:#8A8A8A}.live-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.live-filters a{min-height:34px;padding:7px 11px;border-radius:999px;background:#FAFAF8;border:1px solid var(--grey);text-decoration:none;font-weight:900;font-size:12px}.live-filters a.active{background:var(--black);color:#fff;border-color:var(--black)}.mobile-post-list{display:none;gap:12px}.mobile-post-list.always-show{display:grid}.live-post-card{border:1px solid var(--grey);border-left:8px solid var(--grey);background:#FAFAF8;border-radius:14px;padding:14px}.live-post-card.green{border-left-color:#42B348}.live-post-card.yellow{border-left-color:var(--yellow)}.live-post-card.orange{border-left-color:#FF8A00}.live-post-card.red{border-left-color:#D71920}.live-post-card.grey{border-left-color:#8A8A8A}.live-post-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.live-post-top h3{margin:0;font-size:17px}.live-post-top p{margin:4px 0 0;color:#666;font-size:13px}.live-badge{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.live-badge.green{background:var(--green);color:var(--green-text)}.live-badge.yellow{background:#FFF1B8;color:#6A4A00}.live-badge.orange{background:#FFE1C7;color:#A94700}.live-badge.red{background:#FFD6D6;color:#9E0000}.live-badge.grey{background:var(--grey);color:#444}.post-warning{margin:10px 0;padding:10px;background:#FFF1B8;border:1px solid var(--yellow);border-radius:10px;font-size:13px;font-weight:900}.live-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;font-size:12px}.live-card-grid span{background:white;border:1px solid var(--grey);border-radius:10px;padding:8px}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.card-actions a{background:var(--black);color:white;text-decoration:none;border-radius:9px;padding:9px 11px;font-size:12px;font-weight:900}.report-list{display:grid;gap:14px}.report-card,.attachment-card,.doc-card{display:grid;grid-template-columns:1fr auto auto auto;gap:16px;padding:16px;background:#FAFAF8;border:1px solid var(--grey);border-radius:14px}.checkbox-list{display:grid;gap:9px;margin:12px 0}.check-inline{display:flex;align-items:center;gap:8px}.check-inline input{width:auto}.inline-add{display:grid;grid-template-columns:1fr 2fr auto;gap:10px}.mobile-body{background:linear-gradient(180deg,#111 0,#111 86px,var(--offwhite) 86px)}.mobile-page{width:100%;max-width:520px;margin:0 auto;padding:16px}.mobile-header{height:58px;display:flex;align-items:center;justify-content:space-between;color:white}.mobile-header img{max-width:150px}.mobile-card{background:white;border-radius:22px;padding:22px;box-shadow:var(--shadow);border:1px solid var(--grey)}.mobile-label{font-weight:900;font-size:14px;margin-bottom:14px;color:#333}.mobile-card h1{font-size:42px;letter-spacing:-.06em;margin:0}.mobile-card h2{margin:6px 0 16px;font-size:18px;color:#444;font-weight:500}.task-box,.time-box{background:#FFF4D2;border:1px solid rgba(226,164,0,.45);border-radius:12px;padding:14px;font-weight:900;line-height:1.35;margin-bottom:16px;white-space:pre-line}.time-box{background:#FAFAF8}.mobile-actions{display:grid;gap:10px;margin-bottom:16px}.mobile-btn{width:100%;min-height:52px;border-radius:10px;display:flex;align-items:center;justify-content:center;text-decoration:none;border:0;font-weight:900;font-size:16px;cursor:pointer;text-align:center;padding:13px 16px}.mobile-btn.yellow{background:var(--yellow);color:var(--black)}.mobile-btn.black{background:var(--black);color:white}.last-status,.privacy{background:#FAFAF8;border:1px solid var(--grey);border-radius:12px;padding:12px;font-size:14px;line-height:1.45;margin-bottom:14px}.details{border-top:1px solid var(--grey);padding-top:14px;margin-top:14px}.details summary{font-weight:900;cursor:pointer}.instructions p{margin:9px 0;line-height:1.45}.doc-section{margin-top:18px}.protected-preview{width:100%;max-width:100%;height:auto;border-radius:12px;border:1px solid var(--grey);user-select:none;-webkit-user-drag:none}.doc-card{display:block;margin:10px 0}.doc-card a{display:inline-block;margin-top:8px;background:var(--black);color:white;padding:9px 12px;border-radius:9px;text-decoration:none;font-weight:900}.print-toolbar{position:sticky;top:0;background:white;padding:12px;border-bottom:1px solid #ccc;display:flex;gap:16px;justify-content:space-between;align-items:center;z-index:5}.print-toolbar button{background:var(--yellow);border:0;border-radius:8px;padding:10px 14px;font-weight:900}.print-page{width:297mm;height:210mm;padding:8mm;display:grid;grid-template-rows:1fr 1fr;gap:6mm;page-break-after:always;background:white}.print-card{border:1px solid #bbb;display:grid;grid-template-rows:15mm 1fr 9mm;overflow:hidden}.print-card header{background:var(--black);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 8mm}.print-card header img{max-height:9mm;background:white;padding:2mm;border-radius:2mm}.print-card-body{display:grid;grid-template-columns:1fr 48mm;gap:6mm;padding:5mm 7mm}.print-main h1{margin:0;font-size:18pt}.print-main h2{margin:1mm 0 3mm;font-size:10pt;font-weight:500}.print-label{color:var(--yellow);font-weight:900;margin-top:1mm;font-size:8pt}.print-summary,.print-time{margin:1mm 0 2mm;font-weight:700;font-size:9pt}.print-instructions p,.print-general p{margin:.5mm 0;font-size:8pt}.print-qr{border-left:1px solid #ddd;padding-left:5mm;text-align:center}.print-qr p{font-weight:900;font-size:9pt}.print-qr img{width:38mm;height:38mm}.print-card footer{background:var(--yellow);display:grid;place-items:center;font-weight:900}@media print{body{background:white}.print-toolbar{display:none}@page{size:A4 landscape;margin:0}}@media(max-width:980px){.admin-shell{grid-template-columns:1fr}.sidebar{display:none}.admin-main{padding:20px 14px}.admin-header{display:grid}.kpi-grid{grid-template-columns:1fr 1fr}.grid2,.grid3{grid-template-columns:1fr}.report-card,.attachment-card{grid-template-columns:1fr}.mobile-post-list{display:grid}.desktop-live-table{display:none}.live-card-grid{grid-template-columns:1fr 1fr}.inline-add{grid-template-columns:1fr}}


/* v4.1 dashboard pages */
.dashboard-actions {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.dashboard-tile {
  display: grid;
  gap: 8px;
  min-height: 135px;
  padding: 18px;
  background: #FAFAF8;
  border: 1px solid var(--grey);
  border-radius: 16px;
  text-decoration: none;
}

.dashboard-tile.highlight {
  border-left: 8px solid var(--yellow);
}

.dashboard-tile strong {
  font-size: 19px;
}

.dashboard-tile span {
  color: #666;
  line-height: 1.35;
}

.filter-form {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: end;
}

.filter-form label {
  min-width: 220px;
}

.filter-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: end;
}

.filter-name-label {
  display: grid;
  gap: 7px;
  font-weight: 800;
  min-width: 220px;
}

@media(max-width:980px) {
  .dashboard-actions {
    grid-template-columns: 1fr;
  }

  .filter-form {
    display: grid;
  }
}


/* v4.2 navigation improvements */
.event-card small {
  display: block;
  margin-top: 8px;
  color: #777;
  font-weight: 800;
}

.event-card:hover,
.dashboard-tile:hover {
  transform: translateY(-1px);
  border-color: var(--yellow);
}

.event-context-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  background: white;
  border: 1px solid var(--grey);
  border-left: 8px solid var(--yellow);
  border-radius: 14px;
  padding: 12px 16px;
  margin-bottom: 18px;
  box-shadow: var(--shadow);
}

.event-context-bar a {
  background: var(--blue);
  color: white;
  text-decoration: none;
  border-radius: 9px;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 900;
}

.event-context-bar span {
  color: #666;
  font-weight: 800;
}

.event-context-bar strong {
  margin-left: auto;
}

@media(max-width:980px) {
  .event-context-bar {
    display: grid;
    gap: 8px;
  }

  .event-context-bar strong {
    margin-left: 0;
  }
}


/* v4.4 clean dashboard and editable preparation */
.compact-kpi {
  grid-template-columns: repeat(5, minmax(120px, 1fr));
}

.calm-dashboard {
  grid-template-columns: repeat(4, 1fr);
}

.sub-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--grey);
}

.sub-actions a {
  background: #FAFAF8;
  border: 1px solid var(--grey);
  text-decoration: none;
  border-radius: 999px;
  padding: 9px 12px;
  font-weight: 900;
  font-size: 13px;
}

.prep-list {
  display: grid;
  gap: 16px;
}

.prep-card {
  background: white;
  border: 1px solid var(--grey);
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--shadow);
}

.prep-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.prep-head h2 {
  margin: 0 0 5px;
  font-size: 22px;
}

.prep-head p {
  white-space: pre-line;
  margin: 0;
  color: #444;
  font-weight: 900;
}

.prep-grid-form {
  display: grid;
  grid-template-columns: 1fr 1.4fr 1fr 1fr 100px 1.5fr;
  gap: 10px;
  align-items: end;
}

.prep-grid-form .wide {
  grid-column: span 3;
}

.prep-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.prep-meta span {
  background: #FAFAF8;
  border: 1px solid var(--grey);
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 900;
}

.prep-details {
  background: #FAFAF8;
  border: 1px solid var(--grey);
  border-radius: 12px;
  padding: 12px;
  margin-top: 10px;
}

.prep-details summary {
  font-weight: 900;
  cursor: pointer;
}

.prep-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.prep-actions a {
  background: var(--blue);
  color: white;
  text-decoration: none;
  border-radius: 9px;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 900;
}

.time-block-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  background: #FAFAF8;
  border: 1px solid var(--grey);
  border-radius: 12px;
  margin-bottom: 10px;
}

@media(max-width:980px) {
  .compact-kpi,
  .calm-dashboard,
  .prep-grid-form,
  .time-block-row {
    grid-template-columns: 1fr;
  }

  .prep-grid-form .wide {
    grid-column: auto;
  }

  .prep-head {
    display: grid;
  }
}


/* v4.5 event live focus */
.event-status-line {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
  align-items: center;
}

.event-status-pill {
  display: inline-flex;
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 900;
  font-size: 13px;
  background: #FAFAF8;
  border: 1px solid var(--grey);
}

.event-status-pill.live {
  background: #DFF2D8;
  color: #176A25;
  border-color: #B9DFB0;
}

.event-status-pill.done {
  background: var(--grey);
  color: #444;
}

.event-status-pill.prep {
  background: #FFF1B8;
  color: #6A4A00;
  border-color: var(--yellow);
}

.urgent-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-radius: 16px;
  margin-bottom: 24px;
  text-decoration: none;
  border: 2px solid transparent;
}
.urgent-banner .urgent-banner-icon { font-size: 26px; line-height: 1; }
.urgent-banner .urgent-banner-main { display: grid; gap: 2px; }
.urgent-banner .urgent-banner-main strong { font-size: 20px; letter-spacing: -.02em; }
.urgent-banner .urgent-banner-main small { font-size: 13px; opacity: .9; }
.urgent-banner .urgent-banner-go {
  margin-left: auto;
  font-weight: 900;
  white-space: nowrap;
  background: rgba(255,255,255,.85);
  color: #9E0000;
  border-radius: 10px;
  padding: 10px 14px;
}
.urgent-banner.alarm {
  background: #FFE3E3;
  border-color: #D71920;
  color: #9E0000;
  box-shadow: 0 4px 0 rgba(215,25,32,.18);
  animation: urgentPulse 1.6s ease-in-out infinite;
}
.urgent-banner.calm {
  background: #DFF2D8;
  border-color: #B9DFB0;
  color: #176A25;
}
@keyframes urgentPulse {
  0%, 100% { box-shadow: 0 4px 0 rgba(215,25,32,.18); }
  50% { box-shadow: 0 4px 0 rgba(215,25,32,.18), 0 0 0 4px rgba(215,25,32,.18); }
}
@media (prefers-reduced-motion: reduce) {
  .urgent-banner.alarm { animation: none; }
}

.live-filters a.urgent-filter.has-urgent {
  background: #FFD6D6;
  border-color: #D71920;
  color: #9E0000;
}
.live-filters a.urgent-filter.has-urgent.active {
  background: #D71920;
  color: #fff;
}

.status-switch-panel {
  background: white;
  border: 1px solid var(--grey);
  border-radius: 16px;
  padding: 12px 16px;
  margin-bottom: 18px;
  box-shadow: var(--shadow);
}

.status-switch-panel form {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.status-switch-panel span {
  font-weight: 900;
  margin-right: 6px;
}

.status-switch {
  border: 1px solid var(--grey);
  background: #FAFAF8;
  border-radius: 999px;
  padding: 9px 12px;
  font-weight: 900;
  cursor: pointer;
}

.status-switch.active {
  background: var(--blue);
  color: white;
  border-color: var(--blue);
}

.status-switch.live.active {
  background: #176A25;
  border-color: #176A25;
}

.live-focus-panel,
.prep-home-panel {
  background: white;
  border: 1px solid var(--grey);
  border-radius: 22px;
  padding: 24px;
  box-shadow: var(--shadow);
  margin-bottom: 24px;
}

.live-home-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.compact-live-filters {
  margin-bottom: 18px;
}

.collapsed-management details {
  width: 100%;
}

.collapsed-management summary {
  font-weight: 900;
  cursor: pointer;
  font-size: 18px;
}

.management-actions {
  margin-top: 16px;
}

.quiet-kpi {
  opacity: .86;
}

@media(max-width:980px) {
  .live-home-list {
    grid-template-columns: 1fr;
  }

  .status-switch-panel form {
    display: grid;
  }

  .status-switch-panel span {
    margin-bottom: 4px;
  }
}


/* v4.7 calm operational version */
.prep-status-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 18px;
}

.prep-status-card {
  background: #FAFAF8;
  border: 1px solid var(--grey);
  border-left: 8px solid #888;
  border-radius: 14px;
  padding: 14px;
}

.prep-status-card.green { border-left-color: #42B348; }
.prep-status-card.orange { border-left-color: #FF8A00; }
.prep-status-card.red { border-left-color: #D71920; }

.prep-status-card strong {
  display: block;
  font-size: 28px;
}

.supplier-readiness-list,
.coordinator-list,
.quiet-post-list {
  display: grid;
  gap: 12px;
}

.supplier-readiness,
.coordinator-row {
  display: grid;
  grid-template-columns: 1.2fr .6fr 1.6fr auto;
  gap: 12px;
  align-items: center;
  background: #FAFAF8;
  border: 1px solid var(--grey);
  border-left: 8px solid #888;
  border-radius: 14px;
  padding: 14px;
}

.supplier-readiness.green { border-left-color: #42B348; }
.supplier-readiness.orange { border-left-color: #FF8A00; }
.supplier-readiness.red { border-left-color: #D71920; }

.copy-box {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}

.quiet-post-row {
  background: white;
  border: 1px solid var(--grey);
  border-left: 8px solid #888;
  border-radius: 16px;
  padding: 16px;
  box-shadow: var(--shadow);
  cursor: pointer;
  transition: box-shadow .15s, transform .1s;
}

.quiet-post-row:hover {
  box-shadow: 0 22px 55px rgba(13,13,13,.13);
  transform: translateY(-1px);
}

.quiet-post-row.green { border-left-color: #42B348; }
.quiet-post-row.orange { border-left-color: #FF8A00; }
.quiet-post-row.red { border-left-color: #D71920; }

.live-post-card {
  cursor: pointer;
  transition: box-shadow .15s, transform .1s;
}

.live-post-card:hover {
  box-shadow: 0 18px 45px rgba(13,13,13,.13);
  transform: translateY(-1px);
}

.clickable-row {
  cursor: pointer;
  transition: background .12s;
}

.clickable-row:hover td {
  background: #F5F5F0;
}

.quiet-main {
  display: grid;
  gap: 8px;
}

.quiet-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.quiet-title strong {
  font-size: 20px;
}

.quiet-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: #555;
  font-weight: 800;
}

.quiet-meta span {
  white-space: pre-line;
}

.quiet-time {
  font-size: 13px;
  font-weight: 800;
  color: #444;
  white-space: pre-line;
  line-height: 1.55;
  margin-top: 2px;
}

.quiet-footer {
  font-size: 12px;
  font-weight: 800;
  color: #777;
  margin-top: 6px;
}

.supplier-tag {
  background: var(--blue);
  color: #fff;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.qr-times {
  display: grid;
  gap: 3px;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  color: #333;
}

.qr-times span {
  display: block;
  border-bottom: 1px solid #eee;
  padding-bottom: 3px;
}

.qr-times span:last-child {
  border-bottom: none;
}

.prep-pill {
  border-radius: 999px;
  padding: 7px 10px;
  font-weight: 900;
  font-size: 12px;
  white-space: nowrap;
}

.prep-pill.green { background: var(--green); color: var(--green-text); }
.prep-pill.orange { background: var(--orange); color: var(--orange-text); }
.prep-pill.red { background: #FFD6D6; color: #9E0000; }

.prep-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.prep-checks span {
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 12px;
  font-weight: 900;
}

.prep-checks .red { background: #FFD6D6; color: #9E0000; }
.prep-checks .orange { background: var(--orange); color: var(--orange-text); }

.quiet-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.quiet-actions a {
  background: var(--blue);
  color: white;
  text-decoration: none;
  border-radius: 9px;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 900;
}

.quiet-details {
  margin-top: 12px;
  background: #FAFAF8;
  border: 1px solid var(--grey);
  border-radius: 12px;
  padding: 12px;
}

.quiet-details summary {
  cursor: pointer;
  font-weight: 900;
}

.quiet-edit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  align-items: end;
  margin-top: 12px;
}

.quiet-edit-grid .wide {
  grid-column: span 2;
}

.merge-fields {
  margin-top: 4px;
}

.merge-compare {
  width: 100%;
  border-collapse: collapse;
  margin-top: 6px;
}

.merge-compare th,
.merge-compare td {
  text-align: left;
  padding: 6px 10px;
  border-bottom: 1px solid #e6e6e0;
  vertical-align: top;
}

.merge-compare th {
  font-size: 0.85em;
  color: #555;
}

.merge-choice {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.merge-choice input {
  margin: 0;
}

.cp-body {
  background: #F7F7F4;
}

.cp-page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 22px;
}

.cp-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  background: white;
  border: 1px solid var(--grey);
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--shadow);
  margin-bottom: 14px;
}

.cp-header h1 {
  margin: 0;
  font-size: 34px;
}

.cp-header p {
  margin: 6px 0 0;
  color: #555;
  font-weight: 800;
}

.cp-coordinator {
  display: grid;
  gap: 5px;
  text-align: right;
}

.cp-coordinator a {
  font-weight: 900;
}

.cp-coordinator-item {
  display: grid;
  gap: 2px;
}

.cp-coordinator-item + .cp-coordinator-item {
  border-top: 1px solid var(--grey);
  padding-top: 5px;
}

.cp-filterbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.cp-filterbar a {
  background: white;
  border: 1px solid var(--grey);
  border-radius: 999px;
  padding: 9px 12px;
  text-decoration: none;
  font-weight: 900;
}

.cp-filterbar a.active {
  background: var(--blue);
  color: white;
}

.cp-list {
  display: grid;
  gap: 18px;
}

.cp-sector-group {
  display: grid;
  gap: 10px;
}

.cp-sector-head {
  margin: 0;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--blue);
  border-bottom: 2px solid var(--grey);
  padding-bottom: 6px;
}

.cp-row {
  background: white;
  border: 1px solid var(--grey);
  border-left: 8px solid #888;
  border-radius: 15px;
  padding: 14px;
}

.cp-row.green { border-left-color: #42B348; }
.cp-row.yellow { border-left-color: var(--yellow); }
.cp-row.orange { border-left-color: #FF8A00; }
.cp-row.red { border-left-color: #D71920; }
.cp-row.grey { border-left-color: #8A8A8A; }

.cp-row-main {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.cp-row h2 {
  margin: 0;
  font-size: 22px;
}

.cp-row p {
  margin: 5px 0;
  color: #555;
  font-weight: 800;
}

.cp-status {
  border-radius: 999px;
  padding: 7px 10px;
  font-weight: 900;
  height: fit-content;
}

.cp-status.green { background: var(--green); color: var(--green-text); }
.cp-status.yellow { background: #FFF1B8; color: #6A4A00; }
.cp-status.orange { background: var(--orange); color: var(--orange-text); }
.cp-status.red { background: #FFD6D6; color: #9E0000; }
.cp-status.grey { background: var(--grey); color: #444; }

.cp-supplier-btn {
  cursor: pointer;
  text-decoration: underline dotted;
  font-weight: 900;
  color: #222;
  user-select: none;
}

.cp-supplier-panel {
  background: #F5F5F0;
  border: 1px solid var(--grey);
  border-radius: 10px;
  padding: 10px 14px;
  margin: 6px 0 4px;
  display: grid;
  gap: 6px;
}

.cp-contact-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  font-weight: 800;
}

.cp-contact-tel {
  background: var(--blue);
  color: white;
  text-decoration: none;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.cp-quick {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  margin-top: 10px;
  align-items: center;
}

.cp-quick div {
  display: grid;
  gap: 4px;
}

.cp-links {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
}

.cp-links a {
  background: var(--blue);
  color: white;
  text-decoration: none;
  border-radius: 9px;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 900;
}

.cp-details {
  margin-top: 10px;
  border-top: 1px solid var(--grey);
  padding-top: 10px;
}

.cp-details summary {
  cursor: pointer;
  font-weight: 900;
}

.cp-instructions p {
  line-height: 1.45;
  margin: 7px 0;
}

.cp-coordinators {
  background: white;
  border: 1px solid var(--grey);
  border-radius: 18px;
  padding: 18px;
  margin-top: 16px;
}

.cp-coordinators-note {
  font-size: 13px;
  color: #8a6d00;
  background: #FFFBEE;
  border: 1px solid var(--grey);
  border-radius: 10px;
  padding: 8px 12px;
  margin: 0 0 10px;
}
.cp-coordinators div {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 10px;
  border-top: 1px solid var(--grey);
  padding: 9px 0;
}

.qr-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.qr-card {
  background: white;
  border: 1px solid var(--grey);
  border-radius: 16px;
  padding: 16px;
  text-align: center;
  box-shadow: var(--shadow);
}

.qr-card h2 {
  margin: 0;
  font-size: 28px;
}

.qr-card p {
  min-height: 40px;
}

.qr-card img {
  width: 180px;
  height: 180px;
}

.qr-card.selectable {
  cursor: pointer;
  position: relative;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.qr-card.selectable:hover {
  border-color: #aaa;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.qr-card.qr-selected {
  border: 2px solid var(--blue);
  box-shadow: 0 0 0 3px rgba(26,58,107,0.18);
}

.qr-check {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid #ccc;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}

.qr-checkmark {
  font-size: 14px;
  font-weight: 900;
  color: white;
  opacity: 0;
}

.qr-selected .qr-check {
  background: var(--blue);
  border-color: var(--blue);
}

.qr-selected .qr-checkmark {
  opacity: 1;
}

.qr-select-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.qr-toolbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--blue);
  color: white;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 900;
  font-size: 14px;
  flex-wrap: wrap;
}

.qr-toolbar-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

@media(max-width:980px) {
  .prep-status-strip,
  .supplier-readiness,
  .coordinator-row,
  .copy-box,
  .quiet-edit-grid,
  .cp-header,
  .cp-quick,
  .cp-coordinators div,
  .qr-grid {
    grid-template-columns: 1fr;
  }

  .quiet-edit-grid .wide {
    grid-column: auto;
  }

  .cp-coordinator {
    text-align: left;
  }
}


/* v4.8 practical test additions */
.header-actions form {
  margin: 0;
}

.warning-text {
  font-weight: 900;
}

/* Event dashboard kaarten */
.event-card {
  flex-direction: column;
  gap: 12px;
}
.event-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.event-status-badge {
  white-space: nowrap;
  border-radius: 999px;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: #E8E8E4;
  color: #444;
}
.event-status-badge.live {
  background: #D0F4D4;
  color: #1A6825;
}
.event-status-badge.done {
  background: #E8E8E4;
  color: #555;
}
.event-status-badge.prep {
  background: #FFF1D0;
  color: #7A4A00;
}
.event-urgent-badge {
  white-space: nowrap;
  border-radius: 999px;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: #FBD5D5;
  color: #A01616;
  border: 1px solid #F0A6A6;
}
.event-search {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.event-search input[type="search"] {
  flex: 1 1 220px;
  min-width: 0;
}
.event-section {
  margin-bottom: 26px;
}
.event-section:last-child {
  margin-bottom: 0;
}
.event-section-title {
  margin: 0 0 12px;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.event-section-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: #E8E8E4;
  color: #444;
  font-size: 12px;
  font-weight: 900;
}
.event-card-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.event-card-copy {
  margin: 0;
}
.event-card-copy button {
  width: 100%;
}

/* Gekleurde event pills */
.ep-total  { background: #F0F0EC; color: #333; border-color: #ddd !important; }
.ep-green  { background: var(--green); color: var(--green-text); border-color: #b8e4b8 !important; }
.ep-orange { background: var(--orange); color: var(--orange-text); border-color: #f5c9a0 !important; }
.ep-red    { background: #FFD6D6; color: #9E0000; border-color: #f5b0b0 !important; }

/* Klikbare status-tegels voorbereiding */
.prep-status-card {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform .15s, box-shadow .15s;
  cursor: pointer;
}
.prep-status-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
}

/* Klikbare KPI-tegels live */
.kpi {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform .15s, box-shadow .15s;
}
a.kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,.14);
  cursor: pointer;
}

/* Filter-tabs in voorbereiding */
.prep-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.prep-tab {
  border-radius: 999px;
  padding: 7px 14px;
  font-weight: 900;
  font-size: 13px;
  text-decoration: none;
  background: #F0F0EC;
  color: #333;
  border: 2px solid transparent;
  transition: background .15s, border-color .15s;
}
.prep-tab:hover { background: #E0E0DA; }
.prep-tab.active { background: var(--blue); color: white; }
.prep-tab.red.active { background: #9E0000; color: white; }
.prep-tab.orange.active { background: #D9640A; color: white; }
.prep-tab.green.active { background: #2A8730; color: white; }
.tab-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  margin-left: 4px;
  border-radius: 999px;
  background: #D71920;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}
.prep-tab.active .tab-badge { background: #fff; color: var(--blue); }
.tab-badge.tab-badge-contact { background: #E08600; }
.prep-tab.active .tab-badge.tab-badge-contact { background: #fff; color: #8a5200; }
.tab-badge-link {
  display: inline-flex;
  align-items: center;
  margin-left: -4px;
  text-decoration: none;
}
.tab-badge-link .tab-badge { transition: filter .15s; }
.tab-badge-link:hover .tab-badge { filter: brightness(1.15); }

/* Dienstdoende coördinator */
.duty-now-banner {
  background: var(--yellow);
  border-radius: 14px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.duty-now-main {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.duty-now-label {
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .7;
}
.duty-now-main strong { font-size: 18px; }
.duty-now-main a {
  font-weight: 900;
  color: inherit;
  font-size: 16px;
}
.duty-now-time {
  font-weight: 900;
  font-size: 15px;
  opacity: .75;
}
.duty-now-note {
  width: 100%;
  font-size: 13px;
  opacity: .7;
  margin-top: 4px;
}

.duty-list {
  display: grid;
  gap: 8px;
  margin-bottom: 4px;
}
.duty-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #FAFAF8;
  border: 1px solid var(--grey);
  border-radius: 12px;
  padding: 12px 14px;
}
.duty-row.active {
  border-color: var(--yellow);
  background: #FFFBEE;
}
.duty-row-main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.duty-row-main strong { font-size: 15px; }
.duty-row-main a { font-weight: 900; color: var(--black); }
.duty-time {
  font-size: 13px;
  color: #555;
  font-weight: 800;
}
.duty-note {
  font-size: 12px;
  color: #777;
  font-style: italic;
}
.duty-badge-in {
  font-size: 12px;
  font-weight: 900;
  color: #1B7A34;
  background: #E4F6E8;
  border-radius: 999px;
  padding: 2px 10px;
}
.duty-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.duty-row-actions form { margin: 0; }
.duty-add-form {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 12px;
  align-items: end;
}
.duty-add-form label { display: flex; flex-direction: column; gap: 4px; font-weight: 800; font-size: 13px; }
.duty-add-form button { grid-column: span 1; }

@media(max-width:700px) {
  .duty-add-form { grid-template-columns: 1fr; }
  .duty-add-form button { grid-column: auto; }
  .duty-now-banner { flex-direction: column; align-items: flex-start; }
}

/* ── Media library ──────────────────────────────────────────────────────── */
.media-lib-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  padding: 16px 0;
}
.media-lib-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.media-lib-thumb {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  background: #f0f0f0;
}
.media-lib-info {
  padding: 0 12px;
  flex: 1;
}
.media-lib-info strong { display: block; font-size: .9rem; }
.media-lib-info p { font-size: .8rem; color: var(--text-muted); margin: 2px 0 0; }
.media-lib-info small { display: block; font-size: .75rem; color: var(--text-muted); }
.media-lib-card > form { padding: 0 12px 12px; }

/* Picker inside post form */
.quiet-details { margin-top: 12px; }
.quiet-details > summary {
  cursor: pointer;
  font-weight: 600;
  font-size: .9rem;
  color: var(--accent);
  padding: 4px 0;
}
.media-lib-picker {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  margin-top: 12px;
  padding: 12px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
}
.media-pick-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
}
.media-pick-thumb {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 6px;
  background: #f0f0f0;
}
.media-pick-card span { font-size: .82rem; font-weight: 600; }

/* Linked items list in post form */
.media-link-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.media-link-row {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 8px 12px;
}
.media-link-thumb {
  width: 72px;
  height: 54px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  background: #f0f0f0;
}
.media-link-info { flex: 1; }
.media-link-info strong { display: block; font-size: .88rem; }
.media-link-info p { font-size: .8rem; color: var(--text-muted); margin: 2px 0 0; }

@media(max-width:700px) {
  .media-lib-grid { grid-template-columns: 1fr 1fr; }
  .media-lib-picker { grid-template-columns: 1fr 1fr; }
}

/* ── Media library – bestandstype badge & acties ── */
.file-type-badge {
  display: inline-block;
  background: var(--accent);
  color: #1a1000;
  font-size: .72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
  margin: 4px 0 6px;
  letter-spacing: .03em;
}
.media-lib-actions {
  display: flex;
  gap: 6px;
  padding: 0 12px 12px;
  flex-wrap: wrap;
}


/* ── Uren registratie ── */
.stat-pill {
  background: var(--yellow);
  color: var(--black);
  font-weight: 900;
  font-size: 13px;
  padding: 5px 12px;
  border-radius: 999px;
  white-space: nowrap;
}

.status-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
}
.status-pill.green { background: var(--green); color: var(--green-text); }
.status-pill.grey  { background: var(--grey); color: #444; }
.status-pill.red   { background: #FFD6D6; color: #9E0000; }

.inline-input {
  padding: 8px 10px;
  border: 1px solid #D2D2CC;
  border-radius: 8px;
  font: inherit;
  background: #fff;
}

.hours-group {
  border: 1px solid var(--grey);
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 16px;
}

.hours-group-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #FAFAF8;
  border-bottom: 1px solid var(--grey);
  font-size: 15px;
  flex-wrap: wrap;
}

.hours-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--grey);
  font-size: 13px;
}
.hours-row:last-child { border-bottom: none; }
.hours-row.approved { background: #F0FFF2; }
.hours-row.rejected { background: #FFF5F5; }

.hours-row-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hours-desc {
  color: #666;
  font-size: 12px;
}

.hours-row-actions summary {
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
  color: #555;
}

/* ── Print stijl ─────────────────────────────────────────────────── */
@media print {
  .mobile-header, .mobile-actions, .mobile-btn,
  details > summary,
  .no-print { display: none !important; }
  .mobile-page { padding: 0; }
  .mobile-card { border: none; box-shadow: none; border-radius: 0; padding: 12px 0; }
  details { border: none; margin: 8px 0; }
  details[open] > summary { display: none; }
  .doc-section h3 { font-size: 15px; margin-bottom: 6px; }
  img { max-width: 100% !important; page-break-inside: avoid; }
  body { background: white; }
}

/* Event-instellingen: uitklapbare tegels */
.settings-tiles{display:grid;gap:14px;max-width:980px}
.settings-tile{background:white;border:1px solid var(--grey);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.settings-tile>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 20px}
.settings-tile>summary::-webkit-details-marker{display:none}
.settings-tile>summary:hover{background:#FAFAF8}
.settings-tile .tile-icon{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:#FFF4D2;display:grid;place-items:center;font-size:20px}
.settings-tile .tile-text{display:flex;flex-direction:column;gap:2px;flex:1 1 auto}
.settings-tile .tile-text strong{font-size:18px}
.settings-tile .tile-text small{color:#666;font-size:13px}
.settings-tile .tile-chevron{flex:0 0 auto;color:#999;font-size:18px;transition:transform .2s ease}
.settings-tile[open]>summary{border-bottom:1px solid var(--grey)}
.settings-tile[open]>summary .tile-chevron{transform:rotate(180deg)}
.settings-tile .tile-body{padding:20px}
.simple-card{align-items:center}
.panel-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}
.bulk-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px;margin-bottom:14px;background:#FAFAF8;border:1px solid var(--grey);border-radius:12px}
.bulk-bar>strong{align-self:center;font-size:14px}
.bulk-bar .bulk-hint{align-self:center;color:#666;font-weight:400;font-size:12px;flex:1 1 220px;min-width:160px}
.bulk-bar label{font-size:12px;gap:4px}
.bulk-bar input{width:auto;min-width:120px;padding:8px 10px}
.reimport-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;margin-bottom:14px;background:#FAFAF8;border:1px solid var(--grey);border-radius:12px}
.reimport-bar>strong{font-size:14px}
.reimport-bar .bulk-hint{color:#666;font-weight:400;font-size:12px;flex:1 1 220px;min-width:160px}
.reimport-bar input[type=file]{width:auto;flex:0 1 auto}
.change-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.change-list li{font-size:13px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.change-field{font-weight:600;color:#444}
.change-old{color:#999;text-decoration:line-through}
.change-arrow{color:#999}
.change-new{font-weight:600;color:#1a7f37}
.skip-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;color:#a15c00;font-size:13px}
.confirm-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}

/* Groepskoppen op het evenement-dashboard */
.dashboard-group-title {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #94a3b8;
  margin: 18px 2px 8px;
}
.dashboard-group-title:first-of-type { margin-top: 8px; }

.tr-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-weight:900;font-size:11px;vertical-align:middle}
.tr-badge.auto{background:var(--green);color:var(--green-text)}
.tr-badge.manual{background:#E2ECFF;color:#1A3A6B}
.tr-badge.stale{background:#FFD6D6;color:#9E0000}
.tr-badge.none{background:var(--grey);color:#555}
.tr-review{display:block;margin:6px 0 4px;padding:8px 11px;background:#FFF1B8;border:1px solid var(--yellow);border-radius:10px;font-size:12px;font-weight:800;color:#6A4A00}
.tr-field{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #f0f0f0}
.tr-field:last-of-type{border-bottom:0}
.tr-field-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}

.dup-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:3px 8px;border-radius:999px;border:1px solid #E2A400;background:#FFF4D2;color:#8A5A00;font-size:11px;font-weight:900;cursor:pointer;vertical-align:middle;line-height:1;list-style:none}.dup-badge:hover{background:#FFE9A8}.dup-badge::-webkit-details-marker{display:none}
.dup-details{display:inline-block;position:relative;vertical-align:middle}
.dup-details[open] .dup-badge{background:#FFE9A8}
.dup-pop{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:240px;max-width:320px;padding:12px;border-radius:12px;border:1px solid #E2A400;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.dup-pop-title{margin:0 0 8px;font-size:12px;color:#6b6b6b;line-height:1.4}
.dup-pop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.dup-pop-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
.dup-pop-list form{margin:0}
.badge-count{display:inline-flex;align-items:center;justify-content:center;background:var(--yellow);color:#fff;border-radius:999px;font-size:11px;font-weight:900;min-width:18px;height:18px;padding:0 5px;margin-left:6px;vertical-align:middle}
.event-filter-btn{background:#fff;border:1px solid var(--grey) !important;border-radius:999px !important;min-height:32px;padding:5px 14px;font-weight:800;cursor:pointer}.event-filter-btn.active{background:var(--black) !important;color:#fff !important;border-color:var(--black) !important}