/* ════════════════════════════════════════
   MODERN THEME — fris, goud-amber accent + zwart
   Opt-in via body.theme-modern (toggle linksboven home).
   ════════════════════════════════════════ */

body.theme-modern{
  --navy:#1a1d2e;
  --navy-mid:#2a2e42;
  --navy-light:#3a3f52;
  --gold:#fbc02d;
  --gold-light:#fff4cc;
  --gold-border:#e8a90c;
  --green:#10b981;
  --green-light:#ecfdf5;
  --red:#ef4444;
  --red-light:#fef2f2;
  --orange:#f59e0b;
  --orange-light:#fffbeb;
  --blue:#1a1d2e;
  --blue-mid:#2a2e42;
  --blue-light:#fff4cc;
  --blue-pale:#fffaeb;
  --bg:#f3f4f7;
  --surface:#ffffff;
  --surface2:#fafafa;
  --border:#e3e5ea;
  --border-strong:#cdd0d6;
  --gray-50:#f7f8fa;
  --gray-100:#eceef2;
  --text:#1a1d2e;
  --text-mid:#4b4f60;
  --text-soft:#8e92a8;
  --shadow:0 4px 18px rgba(26,29,46,.06);
  --shadow-lg:0 16px 40px rgba(26,29,46,.14);
  --radius:22px;
  --radius-sm:14px;
}

/* ── Algemeen ── */
body.theme-modern{background:var(--bg);color:var(--text)}
body.theme-modern .screen{background:transparent}

/* ── Login ── */
body.theme-modern .login-wrap{background:linear-gradient(135deg,#f3f4f7 0%,#fff4cc 50%,#fbc02d 100%)}
body.theme-modern .login-box{border-radius:28px;box-shadow:0 32px 64px rgba(26,29,46,.18);border:1px solid var(--border)}
body.theme-modern .login-title{color:var(--text)}
body.theme-modern .login-field input{border-radius:14px;border-color:var(--border);background:var(--gray-50)}
body.theme-modern .login-field input:focus{border-color:var(--text);background:#fff;box-shadow:0 0 0 4px rgba(26,29,46,.08)}
body.theme-modern .login-btn{background:linear-gradient(135deg,#1a1d2e,#2a2e42);border-radius:14px;font-weight:700;letter-spacing:.02em;box-shadow:0 8px 20px rgba(26,29,46,.25)}
body.theme-modern .login-btn:hover{background:#0f1117;box-shadow:0 10px 24px rgba(26,29,46,.35)}

/* ── Topbar (alle subschermen) ── */
body.theme-modern .topbar{background:#fff;color:var(--text);box-shadow:0 1px 0 var(--border);border-bottom:1px solid var(--border)}
body.theme-modern .topbar h1{color:var(--text);font-weight:700;letter-spacing:-.01em}
body.theme-modern .topbar .sub{color:var(--text-soft);opacity:1}
body.theme-modern .back-btn{background:var(--gold);color:var(--text);border-radius:12px;width:38px;height:38px;font-weight:700}
body.theme-modern .back-btn:hover{background:var(--gold-border);color:#fff;transform:translateX(-2px)}
body.theme-modern .topbar-right .user-pill{background:var(--gold-light);color:var(--text);border-radius:20px;font-weight:600}
/* Inline-styled topbar buttons die voor donker topbar geschreven waren (Calculator: Parameters/Templates/Defaults) */
body.theme-modern .topbar button[style*="rgba(255,255,255"]{background:var(--gray-50) !important;border-color:var(--border) !important;color:var(--text) !important}
body.theme-modern .topbar button[style*="rgba(255,255,255"]:hover{background:var(--blue-pale) !important;border-color:var(--gold) !important}
/* Logo-img met witte achtergrond op het topbar — onzichtbaar op wit, voeg subtiele border toe */
body.theme-modern .topbar img[style*="rgba(255,255,255"]{box-shadow:0 0 0 1px var(--border)}
/* Centraal DWV-logo in elk topbar dat er nog geen heeft */
/* Logo staat in de bovenste 44px zone (safe area) — zo overlapt het nooit met knoppen of titels */
body.theme-modern .topbar{min-height:96px}
body.theme-modern .topbar-inner{min-height:48px;align-items:center}
body.theme-modern .topbar::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:270px;height:90px;background:url('DWVDCLogo.png') center/contain no-repeat;pointer-events:none;z-index:0}
/* Skip schermen die al een eigen logo of speciale topbar hebben */
body.theme-modern #s-edit-aanvraag .topbar::after,body.theme-modern .tk-bh-topbar::after,body.theme-modern .reg-hero::after,body.theme-modern .tk-form-hero::after,body.theme-modern .home-hero::after{background-image:none}

/* ── Home hero — goud-amber gradient ── */
body.theme-modern .home-hero{background:linear-gradient(135deg,#fbc02d 0%,#fbd147 60%,#fff4cc 100%);clip-path:polygon(0 0,100% 0,100% calc(100% - 32px),0 100%);min-height:230px;color:var(--text)}
body.theme-modern .home-hero::before{content:'';position:absolute;right:-50px;top:-50px;width:240px;height:240px;border-radius:50%;background:rgba(26,29,46,.08);z-index:0}
body.theme-modern .home-hero-greet-row,body.theme-modern .home-hero-greet-row strong,body.theme-modern .home-hero-logout,body.theme-modern .home-hero-company{color:var(--text)}
body.theme-modern .home-hero-company{letter-spacing:.22em;font-weight:700;opacity:.7}
body.theme-modern .home-hero-logout{opacity:.7;color:var(--text)}

/* ── Home groepen + accordeons ── */
body.theme-modern .home-content{padding:18px 16px 24px}
body.theme-modern .home-group{margin-bottom:14px}
body.theme-modern .home-group-lbl{color:var(--text-soft);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:10px;padding-left:10px}
body.theme-modern .home-group-inner{background:#fff;border-radius:22px;padding:14px;box-shadow:0 4px 20px rgba(26,29,46,.05);border:1px solid var(--border);gap:12px}
body.theme-modern .home-acc{background:transparent;border:none;overflow:visible;box-shadow:none;border-radius:0;display:contents}
body.theme-modern .home-sec-body{padding:0;margin:0}
body.theme-modern .home-sec-body:not(.open){display:none}
body.theme-modern .home-sec-body.open{display:block;padding-top:10px;max-height:none}
body.theme-modern .home-sec-hdr{background:#fff;color:var(--text);border:1px solid var(--border-strong);border-radius:16px;padding:16px 20px;font-weight:700;font-size:15px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;box-shadow:0 1px 3px rgba(26,29,46,.08),0 4px 14px rgba(26,29,46,.06);transition:all .15s}
body.theme-modern .home-sec-hdr:hover{background:var(--gold-light);border-color:var(--gold);transform:translateY(-2px);box-shadow:0 2px 6px rgba(26,29,46,.1),0 12px 28px rgba(26,29,46,.14)}
body.theme-modern .home-sec-hdr.open{background:var(--gold);color:var(--text);border-color:var(--gold-border)}
body.theme-modern .home-sec-hdr-label{grid-column:1;grid-row:1;color:var(--text);font-weight:700;font-size:15px;line-height:1.25}
body.theme-modern .home-sec-hdr-sub{display:block;grid-column:1;grid-row:2;font-size:12px;color:var(--text-soft);font-weight:500;line-height:1.35}
body.theme-modern .home-sec-hdr.open .home-sec-hdr-sub{color:rgba(26,29,46,.65)}
body.theme-modern .home-sec-hdr-chev{grid-column:2;grid-row:1/span 2;color:var(--text-soft);align-self:center}
body.theme-modern .home-sec-hdr.open .home-sec-hdr-chev{color:var(--text)}
body.theme-modern .home-sec-hdr-ico{display:none}

/* Home items — module-action stijl met titel + subtitel + arrow */
body.theme-modern .home-item{background:#fff;border:1px solid var(--border-strong);border-radius:16px;color:var(--text);font-weight:600;margin-bottom:10px;padding:16px 20px;transition:all .15s;box-shadow:0 1px 3px rgba(26,29,46,.08),0 4px 14px rgba(26,29,46,.06);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center}
body.theme-modern .home-item:hover{border-color:var(--gold);background:var(--gold-light);box-shadow:0 2px 6px rgba(26,29,46,.1),0 12px 28px rgba(26,29,46,.14);transform:translateY(-2px)}
body.theme-modern .home-item .home-item-label{grid-column:1;grid-row:1;color:var(--text);font-weight:700;letter-spacing:-.005em;font-size:15px;line-height:1.25}
body.theme-modern .home-item .home-item-sub{display:block;grid-column:1;grid-row:2;font-size:12px;color:var(--text-soft);font-weight:500;line-height:1.35}
body.theme-modern .home-item .home-item-arr{grid-column:2;grid-row:1/span 2;color:var(--text-soft);font-weight:600;font-size:22px;align-self:center}
body.theme-modern .home-item:hover .home-item-arr{color:var(--text)}
body.theme-modern .home-item-gold{background:#fff;border-color:var(--border-strong)}
body.theme-modern .home-item-gold:hover{background:var(--gold-light);border-color:var(--gold);transform:translateY(-2px);box-shadow:0 2px 6px rgba(26,29,46,.1),0 12px 28px rgba(26,29,46,.14)}
body.theme-modern .home-item-gold .home-item-label{color:var(--text)}
body.theme-modern .home-item-gold .home-item-arr{color:var(--text-soft)}
body.theme-modern .home-item-calc{background:#fff;border:1px solid var(--border-strong);box-shadow:0 1px 3px rgba(26,29,46,.08),0 4px 14px rgba(26,29,46,.06)}
body.theme-modern .home-item-calc:hover{border-color:var(--gold);background:var(--gold-light);transform:translateY(-2px);box-shadow:0 2px 6px rgba(26,29,46,.1),0 12px 28px rgba(26,29,46,.14)}
body.theme-modern .home-item-calc .home-item-label{color:var(--text);letter-spacing:.01em;font-weight:600}
body.theme-modern .home-item-calc .home-item-arr{color:var(--text-soft);font-weight:600}
body.theme-modern .home-item-ico{display:none}

/* ── Hub schermen (s-hub-dv, s-hub-bbl, s-hub-admin) ── */
body.theme-modern .hub-module-content{padding:18px 16px}
body.theme-modern .module-action{border-radius:18px;border:1px solid var(--border);background:#fff;padding:18px 18px;box-shadow:0 2px 10px rgba(26,29,46,.05);transition:all .18s;margin-bottom:10px}
body.theme-modern .module-action:hover{border-color:var(--gold);box-shadow:0 12px 28px rgba(26,29,46,.12);transform:translateY(-2px)}
body.theme-modern .module-action-icon{display:none}
body.theme-modern .module-action-title{color:var(--text);font-weight:700}
body.theme-modern .module-action-sub{color:var(--text-soft)}
body.theme-modern .module-action-arr{color:var(--text);font-weight:700}

/* ── Bottom nav — strakke zwarte SVG icons ── */
body.theme-modern #bottom-nav{background:#fff;border-top:1px solid var(--border);box-shadow:0 -8px 24px rgba(26,29,46,.06);padding:6px 8px}
body.theme-modern .bnav-btn{color:var(--text-soft);border-radius:12px;padding:8px 10px;transition:all .15s}
body.theme-modern .bnav-btn:hover{background:var(--blue-pale);color:var(--text)}
body.theme-modern .bnav-btn.active{background:var(--gold);color:var(--text)}
body.theme-modern .bnav-svg{width:22px;height:22px;color:var(--text);transition:transform .15s}
body.theme-modern .bnav-btn:not(.active) .bnav-svg{color:var(--text)}
body.theme-modern .bnav-btn.active .bnav-svg{transform:scale(1.08);color:var(--text)}

/* ── Cards ── */
body.theme-modern .card{border-radius:20px;background:#fff;border:1px solid var(--border);box-shadow:0 2px 14px rgba(26,29,46,.05);padding:18px}
body.theme-modern .card-title{color:var(--text);font-weight:700;letter-spacing:.06em}
body.theme-modern .card-title::before{background:var(--gold);width:4px;border-radius:3px}
body.theme-modern .card-hint{background:var(--blue-pale);border-left-color:var(--gold);color:var(--text-mid);border-radius:10px}

/* ── Form fields ── */
body.theme-modern .field input,body.theme-modern .field select,body.theme-modern .field textarea,body.theme-modern .reg-input{border-radius:12px;background:var(--gray-50);border-color:var(--border);transition:all .15s}
body.theme-modern .field input:focus,body.theme-modern .field select:focus,body.theme-modern .field textarea:focus,body.theme-modern .reg-input:focus{border-color:var(--text);background:#fff;box-shadow:0 0 0 4px rgba(26,29,46,.08)}
body.theme-modern .field label,body.theme-modern label{color:var(--text-mid)}

/* ── Buttons ── */
body.theme-modern .login-btn,body.theme-modern .btn-blue,body.theme-modern .btn-navy2,body.theme-modern .btn-gold,body.theme-modern .btn-green,body.theme-modern .btn-orange,body.theme-modern .btn-teal,body.theme-modern .btn-purple{background:linear-gradient(135deg,#1a1d2e,#2a2e42);color:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(26,29,46,.22)}
body.theme-modern .reg-submit-btn{background:linear-gradient(135deg,#1a1d2e,#2a2e42);color:#fff;border-radius:14px;box-shadow:0 8px 22px rgba(26,29,46,.28)}
body.theme-modern .big-btn{border-radius:18px}
body.theme-modern .mini-btn{border-radius:12px;background:linear-gradient(135deg,#1a1d2e,#2a2e42);color:#fff}

/* ── Modals ── */
body.theme-modern .modal-overlay{background:rgba(26,29,46,.5);backdrop-filter:blur(4px)}
body.theme-modern .modal{border-radius:28px 28px 0 0}
body.theme-modern .modal-box{border-radius:24px;box-shadow:0 32px 80px rgba(26,29,46,.28)}
body.theme-modern .modal-hdr{background:linear-gradient(135deg,#1a1d2e,#2a2e42);color:#fff;border-radius:24px 24px 0 0}
body.theme-modern .modal-hdr h3{color:#fff;font-weight:700}
body.theme-modern .modal-close{color:rgba(255,255,255,.85)}
body.theme-modern .modal-sec-title{color:var(--text-soft)}

/* ── Pills ── */
body.theme-modern .pill{border-radius:20px;font-weight:700}
body.theme-modern .pill-nieuw{background:var(--gold);color:var(--text)}
body.theme-modern .pill-inbehandeling{background:#fef3c7;color:#92400e}
body.theme-modern .pill-klaar{background:#d1fae5;color:#065f46}
body.theme-modern .pill-afgerond{background:var(--gray-100);color:var(--text-mid)}
body.theme-modern .pill-geannuleerd{background:#fee2e2;color:#991b1b}

/* ── Stat cards & dash items ── */
body.theme-modern .stat-c{border-radius:18px;border:none;box-shadow:0 4px 14px rgba(26,29,46,.06);background:#fff;border-left:4px solid var(--text)}
body.theme-modern .stat-c.s-open{border-left-color:var(--text)}
body.theme-modern .stat-c.s-prog{border-left-color:var(--gold)}
body.theme-modern .stat-c.s-done{border-left-color:#10b981}
body.theme-modern .stat-c.s-urg{border-left-color:#ef4444}
body.theme-modern .stat-c.active-filter{outline-color:var(--gold);background:var(--blue-pale)}
body.theme-modern .dash-aanvr-item{border-radius:16px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(26,29,46,.04);background:#fff}
body.theme-modern .dash-aanvr-item:hover{box-shadow:0 6px 18px rgba(26,29,46,.1);transform:translateY(-1px)}

/* ── Toggle switch ── */
body.theme-modern .toggle-switch input:checked + .toggle-slider{background-color:var(--text)}

/* ── Code library / admin lists ── */
body.theme-modern .admin-user-card{border-radius:16px;border:1px solid var(--border);background:#fff;box-shadow:0 1px 4px rgba(26,29,46,.04)}
body.theme-modern .admin-user-card:hover{box-shadow:0 6px 18px rgba(26,29,46,.1)}
body.theme-modern .admin-user-avatar{background:var(--text);color:var(--gold)}
body.theme-modern .admin-perm-chip{background:var(--gold-light);color:var(--text);border-radius:20px}
body.theme-modern .admin-perm-chip.chip-admin{background:var(--text);color:var(--gold)}
body.theme-modern .admin-perm-chip.chip-wij{background:#fef3c7;color:#92400e}

/* ── Concept-cards & lijsten algemeen ── */
body.theme-modern .concept-aanvr,body.theme-modern .checkout-card,body.theme-modern .dvitem,body.theme-modern .reg-card{border-radius:16px;border:1px solid var(--border);background:#fff;box-shadow:0 2px 8px rgba(26,29,46,.04)}
body.theme-modern .concept-aanvr:hover,body.theme-modern .dvitem:hover,body.theme-modern .reg-card:hover{box-shadow:0 8px 22px rgba(26,29,46,.1);transform:translateY(-1px)}

/* ════════════════════════════════════════
   BEHEER-TICKETS schermen
   ════════════════════════════════════════ */

body.theme-modern .tk-bh-topbar{background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(26,29,46,.04);padding:12px 18px}
body.theme-modern .tk-bh-back{background:var(--gold);color:var(--text);border-radius:12px}
body.theme-modern .tk-bh-back:hover{background:var(--gold-border);color:#fff}
body.theme-modern .tk-bh-title{color:var(--text);font-weight:700;letter-spacing:-.01em}
body.theme-modern .tk-bh-sub{color:var(--text-soft)}

/* Sidebar — clean wit met goud-accenten */
body.theme-modern .tk-beheer-screen .tk-beheer-wrap{background:var(--bg)}
body.theme-modern .tk-sidebar2{background:#fff;border-right:1px solid var(--border);padding:18px 10px;border-radius:0 24px 24px 0;margin:14px 0 14px 0;box-shadow:0 4px 20px rgba(26,29,46,.05)}
body.theme-modern .tk-sb-section-ttl{color:var(--text-soft);font-weight:700;letter-spacing:.1em}
body.theme-modern .tk-sb-section-hdr{border-radius:10px}
body.theme-modern .tk-sb-section-hdr:hover{background:var(--blue-pale)}
body.theme-modern .tk-sb-link{border-radius:12px;padding:9px 12px;font-weight:600;color:var(--text-mid)}
body.theme-modern .tk-sb-link:hover{background:var(--blue-pale);color:var(--text)}
body.theme-modern .tk-sb-link.on{background:var(--gold);color:var(--text);font-weight:700}
body.theme-modern .tk-sb-link .ic{color:var(--text-soft)}
body.theme-modern .tk-sb-link.on .ic{color:var(--text)}
body.theme-modern .tk-sb-proj{border-radius:10px;padding:7px 12px 7px 24px;color:var(--text-mid)}
body.theme-modern .tk-sb-proj:hover{background:var(--blue-pale);color:var(--text)}
body.theme-modern .tk-sb-proj.on{background:var(--gold);color:var(--text);font-weight:700}
body.theme-modern .tk-sb-proj-cnt{background:var(--gray-100);color:var(--text-soft)}
body.theme-modern .tk-sb-proj.on .tk-sb-proj-cnt{background:var(--text);color:var(--gold)}
body.theme-modern .tk-sb-add{color:var(--text-soft);border-radius:6px}
body.theme-modern .tk-sb-add:hover{background:var(--blue-pale);color:var(--text)}

body.theme-modern .tk-main2{background:transparent;padding:18px 22px}
body.theme-modern .tk-toolbar2 .tk-btn{border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(26,29,46,.04);transition:all .15s}
body.theme-modern .tk-toolbar2 .tk-btn:hover{border-color:var(--gold);background:var(--blue-pale)}
body.theme-modern .tk-btn-primary,body.theme-modern .tk-toolbar2 .tk-btn-primary{background:linear-gradient(135deg,#1a1d2e,#2a2e42);color:#fff;border:none;box-shadow:0 4px 14px rgba(26,29,46,.25)}
body.theme-modern .tk-btn-primary:hover{box-shadow:0 6px 18px rgba(26,29,46,.35)}
body.theme-modern .tk-sel{border-radius:12px;background:#fff;border-color:var(--border)}
body.theme-modern .tk-filters,body.theme-modern .tk-filters-card{border-radius:18px;background:#fff;border:1px solid var(--border);box-shadow:0 2px 12px rgba(26,29,46,.05);padding:14px}
body.theme-modern .tk-filters input,body.theme-modern .tk-filters select,body.theme-modern .tk-filters-card select{border-radius:10px;border-color:var(--border);background:var(--gray-50)}
body.theme-modern .tk-filters input:focus,body.theme-modern .tk-filters select:focus,body.theme-modern .tk-filters-card select:focus{border-color:var(--text);background:#fff;box-shadow:0 0 0 3px rgba(26,29,46,.08)}
body.theme-modern .tk-ovz-search{border-radius:14px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1d2e'><path d='M10 2a8 8 0 1 1-5.3 14L2 18.7 1.3 18l2.7-2.7A8 8 0 0 1 10 2Zm0 2a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/></svg>") no-repeat 14px center;background-size:16px 16px;border:1px solid var(--border);padding-left:40px}
body.theme-modern .tk-ovz-search:focus{border-color:var(--text);box-shadow:0 0 0 4px rgba(26,29,46,.08)}

body.theme-modern .cu-tbl{border-radius:18px;border:1px solid var(--border);box-shadow:0 4px 18px rgba(26,29,46,.05);overflow:hidden}
body.theme-modern .cu-thead{background:var(--gray-50);border-bottom:1px solid var(--border);color:var(--text-soft)}
body.theme-modern .cu-row{border-bottom:1px solid var(--gray-100)}
body.theme-modern .cu-row:hover{background:var(--blue-pale)}
body.theme-modern .cu-cell{border-right:1px solid var(--gray-100)}
body.theme-modern .cu-cell.editable:hover{background:var(--gold-light);outline-color:var(--gold)}
body.theme-modern .cu-group-hdr{background:#fff;border:1px solid var(--border);border-radius:14px;color:var(--text);box-shadow:0 1px 4px rgba(26,29,46,.04)}
body.theme-modern .cu-group-cnt{background:var(--gold-light);color:var(--text)}

body.theme-modern .cu-kan-col{border-radius:18px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(26,29,46,.05);background:#fff}
body.theme-modern .cu-kan-col-hdr{color:var(--text);font-weight:700}
body.theme-modern .cu-kan-card{border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 3px rgba(26,29,46,.05)}
body.theme-modern .cu-kan-card:hover{box-shadow:0 6px 16px rgba(26,29,46,.12)}

body.theme-modern .cu-dash-tile{border-radius:16px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(26,29,46,.05)}
body.theme-modern .cu-dash-tile:hover{box-shadow:0 8px 22px rgba(26,29,46,.12)}
body.theme-modern .cu-dash-card{border-radius:18px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(26,29,46,.05)}

body.theme-modern .cu-chip{font-weight:700}

body.theme-modern .cu-popover{border-radius:16px;border:1px solid var(--border);box-shadow:0 16px 40px rgba(26,29,46,.22)}
body.theme-modern .cu-pop-item{border-radius:10px}
body.theme-modern .cu-pop-item:hover{background:var(--blue-pale)}
body.theme-modern .cu-pop-item.on{background:var(--gold);color:var(--text)}

body.theme-modern .tk-tabs{border-bottom:1px solid var(--border)}
body.theme-modern .tk-tab.on{color:var(--text);border-bottom-color:var(--text)}
body.theme-modern .tk-proj-row{border-radius:12px;border:1px solid var(--border)}
body.theme-modern .tk-proj-row:hover{border-color:var(--gold);background:var(--blue-pale)}
body.theme-modern .tk-proj-row.selected{border-color:#10b981;background:#ecfdf5}

/* ────── IT support form ────── */
body.theme-modern .tk-form-screen{background:var(--bg)}
body.theme-modern .tk-form-hero{background:linear-gradient(135deg,#fbc02d 0%,#fbd147 60%,#fff4cc 100%);clip-path:polygon(0 0,100% 0,100% calc(100% - 32px),0 100%);min-height:200px}
body.theme-modern .tk-form-eyebrow{color:var(--text);letter-spacing:.22em;font-weight:700;opacity:.7}
body.theme-modern .tk-form-back{background:rgba(26,29,46,.92);color:var(--gold);backdrop-filter:none;border:none}
body.theme-modern .tk-form-back:hover{background:var(--text)}
body.theme-modern .tk-form-card{border-radius:24px;border:1px solid var(--border);box-shadow:0 16px 40px rgba(26,29,46,.1);max-width:680px}
body.theme-modern .tk-form-card h2{color:var(--text)}
body.theme-modern .tk-form-card-hdr{border-bottom-color:var(--gray-100)}
body.theme-modern .tk-form-actions{border-top-color:var(--gray-100)}
body.theme-modern .tk-form-actions .tk-btn{border-radius:12px}
body.theme-modern .tk-prio-btn{border-radius:12px;border-width:1.5px}
body.theme-modern .tk-prio-btn.on.prio-low{background:#d1fae5;border-color:#10b981;color:#065f46}
body.theme-modern .tk-prio-btn.on.prio-mid{background:var(--gold);border-color:var(--gold-border);color:var(--text)}
body.theme-modern .tk-prio-btn.on.prio-high{background:#fee2e2;border-color:#ef4444;color:#991b1b}
body.theme-modern .tk-photo-thumb{border-radius:12px}
body.theme-modern .tk-photo-add{border-radius:12px}

/* ════════════════════════════════════════
   TICKET DETAIL — moderne layout: gele header, grijze body, witte secties
   ════════════════════════════════════════ */
body.theme-modern .tk-modal-hdr-yellow{background:linear-gradient(135deg,#fbc02d,#fbd147)!important;color:var(--text)!important;border-radius:24px 24px 0 0;padding:18px 22px}
body.theme-modern .tk-modal-hdr-yellow h3{color:var(--text);font-weight:800;letter-spacing:-.01em}
body.theme-modern .tk-modal-hdr-yellow .modal-close{color:rgba(26,29,46,.7)}
body.theme-modern .tk-modal-hdr-yellow .modal-close:hover{color:var(--text)}
body.theme-modern .tk-modal-body-grey{background:var(--bg);padding:14px}
body.theme-modern .tk-modal-section{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin-bottom:10px;box-shadow:0 1px 3px rgba(26,29,46,.04)}
body.theme-modern .tk-modal-section:last-of-type{margin-bottom:14px}
body.theme-modern .tk-modal-section-ttl{font-size:11px;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--gray-100)}
body.theme-modern .tk-modal-actions{display:flex;gap:8px;padding:14px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 3px rgba(26,29,46,.04)}

/* Status-knop in detail-modal — kleur van status, zwarte tekst */
body.theme-modern .cu-status-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.01em;width:100%;text-align:left;transition:all .15s;line-height:1.2}
body.theme-modern .cu-status-btn:hover{filter:brightness(.96);box-shadow:0 2px 8px rgba(26,29,46,.12)}
body.theme-modern .cu-status-btn .cu-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}

/* Gevulde status-cel in grid — ClickUp-stijl, hele cel kleurt mee, tekst zwart */
body.theme-modern .cu-cell.cu-cell-status{font-weight:700;color:#1a1d2e}
body.theme-modern .cu-status-fill{display:inline-flex;align-items:center;gap:6px}
body.theme-modern .cu-status-fill .cu-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}
body.theme-modern .cu-status-empty{color:var(--text-soft);font-style:italic;font-weight:500}
body.theme-modern .cu-cell.cu-cell-status.editable:hover{filter:brightness(.94);outline:1.5px solid var(--text);outline-offset:-1.5px}

/* Gele primary buttons binnen ticket-modal */
body.theme-modern .tk-btn-yellow{background:linear-gradient(135deg,#fbc02d,#fbd147);color:var(--text);border:none;border-radius:12px;padding:11px 18px;font-weight:700;cursor:pointer;font-family:inherit;font-size:13px;letter-spacing:.02em;box-shadow:0 4px 14px rgba(251,192,45,.32);transition:all .15s}
body.theme-modern .tk-btn-yellow:hover{box-shadow:0 6px 18px rgba(251,192,45,.45);transform:translateY(-1px)}

/* Watch / volgers — oogje in ticket-detail header (donker navy bg) */
body.theme-modern .tkp-watch-eye{background:rgba(255,255,255,.12);border:none;border-radius:50%;width:34px;height:34px;cursor:pointer;color:rgba(255,255,255,.85);display:inline-flex;align-items:center;justify-content:center;position:relative;transition:all .15s;flex-shrink:0;margin-left:auto;margin-right:8px}
body.theme-modern .tkp-watch-eye:hover{background:rgba(255,255,255,.22);color:#fff}
body.theme-modern .tkp-watch-eye.on{background:var(--gold);color:var(--text)}
body.theme-modern .tkp-watch-eye.on:hover{background:#fcd34d;color:var(--text)}
body.theme-modern .tkp-watch-cnt{position:absolute;top:-4px;right:-4px;background:var(--gold);color:var(--text);font-size:9px;font-weight:800;border-radius:10px;padding:1px 5px;line-height:1.2;border:1.5px solid var(--navy);min-width:14px;text-align:center}
body.theme-modern .tkp-watch-rm{margin-left:auto;background:transparent;border:none;color:var(--text-soft);width:24px;height:24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;flex-shrink:0}
body.theme-modern .tkp-watch-rm:hover{background:var(--red);color:#fff}

/* Beheer-new-ticket panel — user-mode verbergt alle .bhn-admin-only elementen */
.bhn-mode-user .bhn-admin-only{display:none !important}
/* In user-mode toont de Categorisatie-sectie enkel het Software-veld → vereenvoudig de grid */
.bhn-mode-user [data-bhn-sec="categorisatie"]>.bhn-grid2{grid-template-columns:1fr}
.bhn-mode-user [data-bhn-sec="categorisatie"]>.tkp-sec-ttl{display:none}

/* ──────────────────────────────────────────
   Ticket detail-paneel — gele hero (beide modi)
   met diagonale onderkant + ticket-ID groot, geen type meer.
   ────────────────────────────────────────── */
body.theme-modern .tkp-hdr.tkp-hdr-user{background:linear-gradient(135deg,#f5d840 0%,#f0c800 100%);padding:30px 16px 36px;flex-shrink:0;position:relative;text-align:center;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),0 100%)}
body.theme-modern .tkp-hdr-user .tkp-hdr-logo{width:140px;height:90px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;background:transparent;padding:0;overflow:visible}
body.theme-modern .tkp-hdr-user .tkp-hdr-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
body.theme-modern .tkp-hdr-user .tkp-close{position:absolute;top:14px;right:14px;background:rgba(26,29,46,.18);border:none;color:var(--text);font-size:20px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;transition:background .15s;flex-shrink:0;z-index:2}
body.theme-modern .tkp-hdr-user .tkp-close:hover{background:rgba(26,29,46,.32);color:#fff}
body.theme-modern .tkp-hdr-user .tkp-watch-eye{position:absolute;top:14px;left:14px;background:rgba(26,29,46,.18);border:none;color:var(--text);width:34px;height:34px;border-radius:50%;z-index:2}
body.theme-modern .tkp-hdr-user .tkp-watch-eye:hover{background:rgba(26,29,46,.32)}
body.theme-modern .tkp-hdr-user .tkp-watch-eye.on{background:var(--text);color:var(--gold)}
/* Ticket-ID prominent in plaats van het oude type-blok */
body.theme-modern .tkp-hdr-id-big{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.01em;line-height:1.15;margin:0;padding:0 16px;word-break:break-all}

/* Status-band — volledig breed onder de header, neutraal contrast */
body.theme-modern .tkp-status-band{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;background:#fff;border-bottom:1px solid var(--gray-100,#eef0f5);box-shadow:0 1px 0 rgba(15,39,68,.04);flex-shrink:0;position:relative;z-index:1;margin-top:16px}
body.theme-modern .tkp-status-band .tkp-status-band-lbl{font-size:10px;font-weight:700;color:var(--text-soft,#9aa1ad);text-transform:uppercase;letter-spacing:.08em}
body.theme-modern .tkp-status-band .cu-chip{font-size:12px;padding:5px 12px;border-radius:14px;font-weight:700;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px}
body.theme-modern .tkp-status-band .cu-chip-dot{width:7px;height:7px;border-radius:50%}
/* Tekst van de status-chip altijd in donkere kleur — chip-achtergrond en dot mogen gekleurd blijven */
body.theme-modern .tkp-status-band .cu-chip,
body.theme-modern .tkp-status-band .cu-chip-dyn{color:var(--text) !important}
body.theme-modern .tkp-status-band-clickable{cursor:pointer;transition:background .12s}
body.theme-modern .tkp-status-band-clickable:hover{background:var(--gray-50,#f3f4f7)}
body.theme-modern .tkp-status-band-caret{font-size:10px;color:var(--text-soft,#9aa1ad)}

/* User-mode body: alle velden tonen, maar verberg foto-add, foto-rm en verwijder-knop */
/* (Details- en Meta-sectie blijven zichtbaar — gebruiker mag alles zien, alleen niet bewerken) */
body.theme-modern .tkp-mode-user .tkp-add-btn{display:none}                     /* Foto toevoegen knop */
body.theme-modern .tkp-mode-user #sup-m-photo-input{display:none}
body.theme-modern .tkp-mode-user .tk-photo-rm{display:none}                     /* Foto verwijderen kruisje */
body.theme-modern .tkp-mode-user .tkp-btn-del{display:none}                     /* Verwijderen-knop in footer */
body.theme-modern .tkp-mode-user .tkp-textarea,
body.theme-modern .tkp-mode-user .tkp-textarea[readonly]{background:var(--gray-50,#f3f4f7);border:1.5px solid var(--border,#e5e7eb);color:var(--text);padding:10px 12px;resize:none;cursor:default}

/* Detail-paneel matcht nieuw-ticket panel — tkp-body krijgt grijze achtergrond zoals .bhn-panel */
body.theme-modern .tkp-overlay .tkp-panel{background:#f0f3f9}
body.theme-modern .tkp-body .tkp-sec.bhn-sec{background:#fff;padding:14px 16px;border-radius:12px;margin:0 8px;box-shadow:0 1px 0 rgba(15,39,68,.04)}
body.theme-modern .tkp-body .tkp-sec.bhn-sec .tkp-sec-ttl{font-size:10px;font-weight:700;color:var(--text-soft,#9aa1ad);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
body.theme-modern .tkp-body .tkp-sec.bhn-sec.tkp-sec-meta{background:rgba(255,255,255,.55);box-shadow:none}
body.theme-modern .tkp-body .tkp-sec.bhn-sec.tkp-sec-meta .tkp-info-row{font-size:11px;color:var(--text-soft,#9aa1ad);display:flex;justify-content:space-between;padding:3px 0}
body.theme-modern .tkp-body .tkp-sec.bhn-sec .tkp-static{display:block;padding:9px 12px;background:var(--gray-50,#f3f4f7);border-radius:8px;font-size:13px;color:var(--text);min-height:18px}
/* Diagonal cut + identieke styling voor het nieuw-ticket paneel én andere right-slide panels */
body.theme-modern .bhn-hdr{clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),0 100%);padding-bottom:36px}
body.theme-modern .bhn-panel .bhn-hdr+.tkp-body{padding-top:6px}

/* Close-with-comment modal */
body.theme-modern .sup-close-modal{position:fixed;inset:0;background:rgba(26,29,46,.55);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}
body.theme-modern .sup-close-modal.open{display:flex}
body.theme-modern .sup-close-modal-card{background:#fff;border-radius:16px;width:100%;max-width:480px;box-shadow:0 30px 60px -10px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column;max-height:90vh}
body.theme-modern .sup-close-modal-hdr{background:linear-gradient(135deg,#f5d840 0%,#f0c800 100%);padding:22px 22px 18px;text-align:center;position:relative}
body.theme-modern .sup-close-modal-hdr-ttl{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.01em;margin:0}
body.theme-modern .sup-close-modal-hdr-sub{font-size:12px;color:rgba(26,29,46,.7);margin-top:4px}
body.theme-modern .sup-close-modal-x{position:absolute;top:12px;right:12px;background:rgba(26,29,46,.18);border:none;color:var(--text);font-size:18px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}
body.theme-modern .sup-close-modal-x:hover{background:rgba(26,29,46,.32);color:#fff}
body.theme-modern .sup-close-modal-body{padding:18px 22px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}
body.theme-modern .sup-close-modal-body label{font-size:11px;font-weight:700;color:var(--text-mid,var(--text));text-transform:uppercase;letter-spacing:.08em}
body.theme-modern .sup-close-modal-body textarea{width:100%;min-height:110px;padding:11px 13px;border:1.5px solid var(--border);border-radius:10px;font-family:inherit;font-size:13px;background:var(--gray-50);color:var(--text);box-sizing:border-box;resize:vertical;outline:none}
body.theme-modern .sup-close-modal-body textarea:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(251,192,45,.18)}
body.theme-modern .sup-close-modal-body .sup-close-err{font-size:12px;color:var(--red);font-weight:600;display:none}
body.theme-modern .sup-close-modal-body .sup-close-err.show{display:block}
body.theme-modern .sup-close-modal-ftr{display:flex;gap:8px;padding:12px 22px 18px;border-top:1px solid var(--gray-100,#eef0f5)}
body.theme-modern .sup-close-modal-ftr .sup-close-cancel{flex:1;padding:11px;border:1.5px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}
body.theme-modern .sup-close-modal-ftr .sup-close-confirm{flex:2;padding:11px;border:none;border-radius:10px;background:var(--text);color:var(--gold);font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;letter-spacing:.02em}
body.theme-modern .sup-close-modal-ftr .sup-close-confirm:hover{background:#000}

/* Projecten beheren — inline-editbare rijen */
body.theme-modern .tk-proj-edit{display:flex;align-items:center;gap:10px;padding:10px 12px}
body.theme-modern .tk-proj-edit-grid{display:grid;grid-template-columns:38px minmax(110px,1fr) minmax(150px,2fr);gap:8px;flex:1;align-items:center;min-width:0}
body.theme-modern .tk-proj-edit-grid input[type="color"]{width:38px;height:34px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;padding:2px;background:#fff}
body.theme-modern .tk-proj-edit-grid input[type="text"]{padding:7px 10px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:13px;background:var(--gray-50);color:var(--text);outline:none;min-width:0;width:100%}
body.theme-modern .tk-proj-edit-grid input[type="text"]:focus{border-color:var(--text);background:#fff;box-shadow:0 0 0 3px rgba(26,29,46,.06)}
body.theme-modern .tk-proj-edit-grid .tk-proj-edit-naam{font-weight:700}
body.theme-modern .tk-proj-edit-actions{display:flex;gap:6px;flex-shrink:0}
body.theme-modern .tk-proj-edit-actbtn{padding:6px 10px;font-size:11px;font-weight:600}
body.theme-modern .tk-proj-edit-delbtn{padding:6px 10px;font-size:12px;color:var(--red);border-color:var(--red);width:32px;display:inline-flex;align-items:center;justify-content:center}
body.theme-modern .tk-proj-edit-delbtn:hover{background:var(--red);color:#fff;border-color:var(--red)}
@media (max-width:600px){
  body.theme-modern .tk-proj-edit{flex-direction:column;align-items:stretch}
  body.theme-modern .tk-proj-edit-grid{grid-template-columns:38px 1fr}
  body.theme-modern .tk-proj-edit-grid .tk-proj-edit-omschr{grid-column:1/-1}
  body.theme-modern .tk-proj-edit-actions{justify-content:flex-end}
}

/* ════════════════════════════════════════
   DAGVERSLAG — activiteiten redesign met secties
   ════════════════════════════════════════ */

body.theme-modern .act-item{background:#fff;border:1px solid var(--border-strong);border-left:none;border-radius:14px;padding:0;margin-bottom:14px;box-shadow:0 2px 10px rgba(26,29,46,.05);overflow:hidden}
body.theme-modern .act-hdr{background:linear-gradient(135deg,#fbc02d,#fbd147);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;margin:0;border-radius:14px 14px 0 0}
body.theme-modern .act-lbl{color:var(--text);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:12px}
body.theme-modern .act-item .del-btn{background:rgba(26,29,46,.16);color:var(--text);border:none;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
body.theme-modern .act-item .del-btn:hover{background:rgba(26,29,46,.28)}

/* Secties binnen activiteit */
body.theme-modern .act-sec{padding:14px 16px;border-bottom:1px solid var(--gray-100)}
body.theme-modern .act-sec:last-child{border-bottom:none}
body.theme-modern .act-sec-ttl{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
body.theme-modern .act-sec-bar{width:3px;height:14px;background:var(--gold);border-radius:2px;flex-shrink:0}
body.theme-modern .act-sec-opt{font-weight:500;color:var(--text-soft);text-transform:none;letter-spacing:0;font-size:11px}
body.theme-modern .act-sec.act-sec-type{background:var(--gold-light)}

/* Velden in activiteiten */
body.theme-modern .act-sec .af{margin-bottom:10px}
body.theme-modern .act-sec .af:last-child{margin-bottom:0}
body.theme-modern .act-sec .af label{display:block;font-size:11px;font-weight:500;color:var(--text-mid);margin-bottom:4px;letter-spacing:.02em}
body.theme-modern .act-sec .af label.act-required{color:var(--navy);font-weight:600}
body.theme-modern .act-sec .af label .req{color:var(--red);font-weight:800;margin-left:2px}
body.theme-modern .act-sec input[type="text"],body.theme-modern .act-sec input[type="number"]:not(.act-count-inp),body.theme-modern .act-sec select,body.theme-modern .act-inp{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--gray-50);font-family:inherit;font-size:14px;color:var(--text);outline:none;transition:all .12s}
body.theme-modern .act-sec input[type="text"]:focus,body.theme-modern .act-sec input[type="number"]:not(.act-count-inp):focus,body.theme-modern .act-sec select:focus,body.theme-modern .act-inp:focus{border-color:var(--text);background:#fff;box-shadow:0 0 0 3px rgba(26,29,46,.08)}
body.theme-modern .act-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
body.theme-modern .act-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px}
body.theme-modern .act-sec-ttl .req{color:var(--red);margin-left:4px}

/* Ja/Nee toggle */
body.theme-modern .act-yn-block{margin-bottom:12px;padding:10px 12px;background:var(--gray-50);border-radius:10px;border:1px solid var(--border)}
body.theme-modern .act-yn-block:last-child{margin-bottom:0}
body.theme-modern .act-yn-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.theme-modern .act-yn-lbl{font-size:13px;font-weight:500;color:var(--text);flex:1;min-width:0}
body.theme-modern .act-yn-toggle{display:inline-flex;background:#fff;border:1px solid var(--border);border-radius:10px;padding:2px;flex-shrink:0}
body.theme-modern .act-yn-btn{background:transparent;border:none;padding:6px 16px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;color:var(--text-mid);border-radius:8px;transition:all .12s}
body.theme-modern .act-yn-btn:hover{color:var(--text)}
body.theme-modern .act-yn-btn.on[data-val="ja"]{background:var(--gold);color:var(--text)}
body.theme-modern .act-yn-btn.on[data-val="nee"]{background:var(--text);color:#fff}
body.theme-modern .act-yn-times{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}

/* Foto-thumb per activiteit */
body.theme-modern .act-foto-add{width:100%;padding:24px;border:2px dashed var(--border-strong);border-radius:12px;background:var(--gray-50);color:var(--text-mid);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center;gap:8px}
body.theme-modern .act-foto-add:hover{border-color:var(--gold);background:var(--gold-light);color:var(--text)}
body.theme-modern .act-foto-thumb{position:relative;width:140px;height:140px;border-radius:10px;overflow:hidden;border:1.5px solid var(--border)}
body.theme-modern .act-foto-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer;display:block}

/* Mini-materialen lijst per activiteit */
body.theme-modern .act-mat-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
body.theme-modern .act-mat-item{background:var(--gray-50);border:1px solid var(--border);border-radius:10px;padding:10px}
body.theme-modern .act-mat-grid{display:grid;grid-template-columns:130px 1fr 80px 90px 120px 30px;gap:6px;align-items:center}
body.theme-modern .act-mat-grid select,body.theme-modern .act-mat-grid input{padding:7px 10px;font-size:12px;border:1px solid var(--border);border-radius:8px;background:#fff;font-family:inherit;color:var(--text);width:100%;outline:none}
body.theme-modern .act-mat-grid select:focus,body.theme-modern .act-mat-grid input:focus{border-color:var(--text);box-shadow:0 0 0 2px rgba(26,29,46,.06)}
body.theme-modern .act-mat-del{background:transparent;border:none;color:var(--text-soft);width:30px;height:30px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:700}
body.theme-modern .act-mat-del:hover{background:var(--red);color:#fff}
body.theme-modern .act-mat-add{display:block;margin:6px auto 0;padding:6px 18px;border:none;border-radius:14px;background:var(--gray-200);color:var(--text-mid);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all .12s}
body.theme-modern .act-mat-add:hover{background:var(--navy);color:#fff}
/* Inzet counter controls (per activiteit) */
body.theme-modern .act-inzet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:0}
body.theme-modern .act-inzet-item{text-align:center;background:var(--blue-pale);border-radius:10px;padding:10px 8px}
body.theme-modern .act-inzet-lbl{display:block;font-size:10px;font-weight:700;color:var(--blue-mid);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
body.theme-modern .act-count-ctrl{display:flex;align-items:center;justify-content:center;gap:8px}
body.theme-modern .act-cbtn{width:28px;height:28px;border-radius:50%;border:none;background:var(--navy);color:#fff;font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;line-height:1;flex-shrink:0;transition:transform .1s}
body.theme-modern .act-cbtn:active{transform:scale(.88)}
body.theme-modern .act-count-inp{width:38px;text-align:center;border:none;background:transparent;font-size:17px;font-weight:700;color:var(--navy);font-family:inherit;padding:0;-moz-appearance:textfield}
body.theme-modern .act-count-inp::-webkit-outer-spin-button,body.theme-modern .act-count-inp::-webkit-inner-spin-button{-webkit-appearance:none}

/* Mobile responsive */
@media (max-width:600px){
  body.theme-modern .act-sec{padding:12px 14px}
  body.theme-modern .act-grid-3{grid-template-columns:1fr 1fr}
  body.theme-modern .act-mat-grid{grid-template-columns:1fr 1fr;gap:6px;row-gap:8px}
  body.theme-modern .act-mat-grid select:nth-child(1),body.theme-modern .act-mat-grid input:nth-child(2){grid-column:1/-1}
  body.theme-modern .act-mat-grid .act-mat-del{grid-column:1/-1;width:100%;height:32px}
  body.theme-modern .act-yn-row{flex-direction:column;align-items:flex-start}
  body.theme-modern .act-yn-toggle{width:100%}
  body.theme-modern .act-yn-btn{flex:1}
}

/* Notificaties — sidebar badge + lijst */
body.theme-modern .tk-sb-link{position:relative}
body.theme-modern .tk-sb-badge{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:var(--red);color:#fff;font-size:10px;font-weight:800;border-radius:10px;padding:1px 7px;line-height:1.4;min-width:18px;text-align:center;display:inline-flex;align-items:center;justify-content:center}
body.theme-modern .tk-sb-link.on .tk-sb-badge{background:var(--red);color:#fff}

body.theme-modern .tk-notif-list{display:flex;flex-direction:column;gap:8px}
body.theme-modern .tk-notif-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .15s;box-shadow:0 1px 3px rgba(26,29,46,.04)}
body.theme-modern .tk-notif-row:hover{border-color:var(--gold);background:var(--gold-light);transform:translateY(-1px);box-shadow:0 4px 14px rgba(26,29,46,.08)}
body.theme-modern .tk-notif-dot{width:10px;height:10px;border-radius:50%;background:var(--red);flex-shrink:0;box-shadow:0 0 0 3px rgba(239,68,68,.15)}
body.theme-modern .tk-notif-body{flex:1;min-width:0}
body.theme-modern .tk-notif-summary{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px;line-height:1.3}
body.theme-modern .tk-notif-ticket{font-size:11px;color:var(--text-soft);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.theme-modern .tk-notif-time{font-size:10px;color:var(--text-soft);font-weight:600;flex-shrink:0;text-align:right}

/* ════════════════════════════════════════
   CALCULATOR POST — alle icon-knoppen consistent zwart
   ════════════════════════════════════════ */
body.theme-modern .calc-icon-btn{background:var(--text);color:#fff}
body.theme-modern .calc-icon-btn:hover{background:#0f1117;transform:translateY(-1px);box-shadow:0 4px 10px rgba(26,29,46,.2)}
/* Section actions (Taken sectie header): ≡ template + - add */
body.theme-modern .calc-section-btn-tpl{background:var(--text);color:#fff;border-color:var(--text)}
body.theme-modern .calc-section-btn-tpl:hover{background:#0f1117;border-color:#0f1117}
body.theme-modern .calc-section-btn-add{background:var(--text);color:#fff}
body.theme-modern .calc-section-btn-add:hover{background:#0f1117;filter:none}
/* Taak-row save knop — was uppercase TEMPLATE met goud border, wordt strakke zwarte icon-knop */
body.theme-modern .calc-taak-btn{border-radius:8px;height:30px;width:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}
body.theme-modern .calc-taak-btn-save{background:var(--text);color:#fff;border-color:var(--text)}
body.theme-modern .calc-taak-btn-save:hover{background:#0f1117}
body.theme-modern .calc-taak-btn-del{background:#fff;border-color:var(--red);color:var(--red)}
body.theme-modern .calc-taak-btn-del:hover{background:#fee2e2}

/* ════════════════════════════════════════
   BOEBOELS AANVRAAG — geel header + zwarte SVG icons
   ════════════════════════════════════════ */

/* Item-header (was donker navy) → geel met donkere tekst */
body.theme-modern .aanvr-item-hdr{background:linear-gradient(135deg,#fbc02d,#fbd147);color:var(--text);border-radius:14px 14px 0 0}
body.theme-modern .aanvr-num{background:rgba(26,29,46,.18);color:var(--text);font-weight:700}
body.theme-modern .aanvr-cat-badge{color:rgba(26,29,46,.85);font-weight:600}
body.theme-modern .aanvr-cat-badge svg{width:14px;height:14px;vertical-align:-2px;margin-right:3px}
body.theme-modern .aanvr-remove{background:rgba(26,29,46,.12);color:var(--text)}
body.theme-modern .aanvr-remove:hover{background:rgba(26,29,46,.22)}

/* Department tiles — moderne SVG-iconen + gele selected state */
body.theme-modern .dept-tile{border:1.5px solid var(--border);border-radius:12px;background:#fff;transition:all .15s}
body.theme-modern .dept-tile:hover{border-color:var(--gold);background:var(--blue-pale);transform:translateY(-1px);box-shadow:0 4px 12px rgba(26,29,46,.06)}
body.theme-modern .dept-tile.selected{border-color:var(--gold-border);background:var(--gold);color:var(--text)}
body.theme-modern .dept-icon{font-size:0;margin-bottom:6px;line-height:0}
body.theme-modern .dept-icon .dept-svg{width:26px;height:26px;display:inline-block;color:var(--text)}
body.theme-modern .dept-tile.selected .dept-icon .dept-svg{color:var(--text)}
body.theme-modern .dept-label{font-weight:700;color:var(--text);text-transform:none;font-size:11px}

/* Materiaalboek zoekicoon — strak zwart */
body.theme-modern .mat-filter-icon{color:var(--text);display:inline-flex;align-items:center}
body.theme-modern .mat-filter-icon svg{display:block}
/* Calculator zoekiconen — overzicht filter + template-pickers in modals */
body.theme-modern .calc-filter-ico,body.theme-modern .calc-modal-search-ico{color:var(--text);display:inline-flex;align-items:center}
body.theme-modern .calc-filter-ico svg,body.theme-modern .calc-modal-search-ico svg{display:block}

/* Materiaalboek "Lijsten beheren" modal — strakker maken */
body.theme-modern #lijsten-modal .modal-box{padding:20px 22px;max-width:440px}
body.theme-modern .lijsten-type-tabs{background:var(--gray-100);padding:4px;border-radius:12px;gap:0;margin-bottom:14px}
body.theme-modern .lijsten-tab{flex:1;border:none;background:transparent;border-radius:8px;color:var(--text-mid);padding:9px 6px;font-size:12px;font-weight:600;transition:all .15s}
body.theme-modern .lijsten-tab:hover:not(.active){color:var(--text);background:rgba(26,29,46,.04)}
body.theme-modern .lijsten-tab.active{background:#fff;color:var(--text);border-color:transparent;box-shadow:0 2px 6px rgba(26,29,46,.08)}
body.theme-modern #lijsten-parent-wrap select{border-radius:10px;background:var(--gray-50);border:1px solid var(--border);padding:10px 12px}
body.theme-modern #lijsten-list{min-height:140px;max-height:340px;overflow-y:auto;margin:6px 0;padding:2px}
body.theme-modern .lijsten-item{padding:10px 12px;border-radius:10px;margin-bottom:4px;border-bottom:none;background:var(--gray-50);transition:all .15s;border:1px solid transparent}
body.theme-modern .lijsten-item:hover{background:var(--gold-light);border-color:var(--gold)}
body.theme-modern .lijsten-item:last-child{margin-bottom:0}
body.theme-modern .lijsten-item-val{color:var(--text);font-weight:600;font-size:13px}
body.theme-modern .lijsten-item-parent{background:var(--blue-light);color:var(--text-mid);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:10px}
body.theme-modern .lijsten-del-btn{background:transparent;border:none;color:var(--text-soft);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;justify-content:center;transition:all .12s;flex-shrink:0;font-weight:600}
body.theme-modern .lijsten-del-btn:hover{background:var(--red);color:#fff}
body.theme-modern .lijsten-empty{background:var(--gray-50);border:2px dashed var(--border-strong);border-radius:12px;padding:28px 16px;text-align:center;color:var(--text-soft);font-size:13px;font-style:italic}
body.theme-modern .lijsten-add-row{border-top:1px solid var(--border);padding-top:14px;margin-top:8px;gap:8px}
body.theme-modern .lijsten-add-row .reg-input{padding:11px 14px;border-radius:10px;background:var(--gray-50);border:1px solid var(--border);font-size:13px}
body.theme-modern .lijsten-add-row .reg-input:focus{border-color:var(--text);background:#fff;box-shadow:0 0 0 3px rgba(26,29,46,.08)}
body.theme-modern .lijsten-add-btn{background:var(--text);color:#fff;border:none;border-radius:10px;width:42px;height:42px;padding:0;font-size:22px;font-weight:700;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:all .15s;cursor:pointer}
body.theme-modern .lijsten-add-btn:hover{background:#0f1117;transform:translateY(-1px);box-shadow:0 4px 10px rgba(26,29,46,.2)}

/* Compact filter-paneel op overzicht registraties */
body.theme-modern .reg-filter-compact{padding:14px 16px}
body.theme-modern .reg-filter-compact .card-title{margin-bottom:10px}
body.theme-modern .reg-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
body.theme-modern .reg-filter-grid .field{margin-bottom:0}
body.theme-modern .reg-filter-grid .field label{font-size:11px;margin-bottom:4px;color:var(--text-mid);font-weight:600}
body.theme-modern .reg-filter-grid .field input{padding:8px 12px;font-size:13px}
body.theme-modern .reg-filter-clear-btn{padding:9px 14px;font-size:12px;font-weight:600;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text-mid);cursor:pointer;transition:all .15s;height:38px;align-self:end}
body.theme-modern .reg-filter-clear-btn:hover{border-color:var(--gold);background:var(--blue-pale);color:var(--text)}

/* ════════════════════════════════════════
   REGISTRATIE-SCHERMEN — zelfde look als IT support form
   ════════════════════════════════════════ */

body.theme-modern #s-reg-kiosk,body.theme-modern #s-reg-checkout,body.theme-modern #s-registratie{background:var(--bg)}

/* Hero — geel gradient met clip-path zoals tk-form-hero */
body.theme-modern .reg-hero{background:linear-gradient(135deg,#fbc02d 0%,#fbd147 60%,#fff4cc 100%);clip-path:polygon(0 0,100% 0,100% calc(100% - 32px),0 100%);padding:24px 16px 56px;min-height:200px;color:var(--text);position:relative}
body.theme-modern .reg-hero-title{color:var(--text);font-weight:700;letter-spacing:-.01em}
body.theme-modern .reg-hero-sub{color:var(--text);opacity:.7;letter-spacing:.22em;font-weight:700}

/* Logo zonder witte achtergrond — direct op de gele hero */
body.theme-modern .reg-hero-logo-box{background:transparent;box-shadow:none;width:120px;height:120px;border-radius:0}
body.theme-modern .reg-hero-logo{transform:scale(1.42)}

/* Back-knop — donkere ronde knop (zoals tk-form-back) */
body.theme-modern .reg-back-btn{position:absolute;top:14px;left:14px;background:rgba(26,29,46,.92);color:var(--gold);border-radius:24px;padding:7px 14px;font-weight:700;font-size:12px;letter-spacing:.04em;box-shadow:0 2px 6px rgba(26,29,46,.18);border:none}
body.theme-modern .reg-back-btn:hover{background:var(--text)}

/* Kiosk-exit (×) rechtsboven */
body.theme-modern .kiosk-exit-btn{background:rgba(26,29,46,.92);color:var(--gold);border-radius:50%;top:14px;right:14px;width:36px;height:36px;box-shadow:0 2px 6px rgba(26,29,46,.18);border:none}
body.theme-modern .kiosk-exit-btn:hover{background:var(--text)}

/* Kiosk button wrap — card-style container met max-width */
body.theme-modern .kiosk-btn-wrap{max-width:640px;margin:-22px auto 0 auto;padding:24px;background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:0 16px 40px rgba(26,29,46,.1);position:relative;z-index:2;flex:none;gap:14px}

/* Kiosk action buttons — modern card style */
body.theme-modern .kiosk-action-btn{border-radius:14px;padding:22px 24px;font-size:16px;font-weight:700;letter-spacing:.04em;box-shadow:0 4px 14px rgba(26,29,46,.12);transition:all .15s}
body.theme-modern .kiosk-action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(26,29,46,.18)}
body.theme-modern .kiosk-btn-primary{background:linear-gradient(135deg,#1a1d2e,#2a2e42);color:#fff}
body.theme-modern .kiosk-btn-checkout{background:var(--gold);color:var(--text);box-shadow:0 4px 14px rgba(251,192,45,.4)}
body.theme-modern .kiosk-btn-checkout:hover{box-shadow:0 8px 22px rgba(251,192,45,.55)}

/* Registratie-form inputs */
body.theme-modern .reg-input{border-radius:12px;background:var(--gray-50);border-color:var(--border);transition:all .15s}
body.theme-modern .reg-input:focus{border-color:var(--text);background:#fff;box-shadow:0 0 0 4px rgba(26,29,46,.08)}

/* Scroll-content op s-registratie wordt een card */
body.theme-modern #s-registratie .scroll-content{padding:0 16px 110px;margin-top:-22px;position:relative;z-index:2}
body.theme-modern #s-registratie .scroll-content>div:not(.reg-success-wrap){max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:24px;padding:22px 24px 20px;box-shadow:0 16px 40px rgba(26,29,46,.1)}
body.theme-modern #s-registratie .reg-submit-btn{background:linear-gradient(135deg,#1a1d2e,#2a2e42);color:#fff;border-radius:14px;box-shadow:0 8px 22px rgba(26,29,46,.28);font-weight:700;letter-spacing:.04em;width:100%;margin-top:12px;padding:14px}

/* Checkout-scherm idem — zelfde card-stijl voor de zoekbalk + lijst */
body.theme-modern #s-reg-checkout .scroll-content{padding:0 16px 60px;margin-top:-22px;position:relative;z-index:2}
body.theme-modern #s-reg-checkout #checkout-list,body.theme-modern #s-reg-checkout .reg-success-wrap{max-width:640px;margin:0 auto}
body.theme-modern #s-reg-checkout #checkout-datum-lbl{max-width:640px;margin:0 auto}
body.theme-modern .checkout-card{border-radius:14px;border:1px solid var(--border);background:#fff;box-shadow:0 2px 8px rgba(26,29,46,.04);transition:all .15s}
body.theme-modern .checkout-card:hover{box-shadow:0 8px 22px rgba(26,29,46,.1);transform:translateY(-1px);border-color:var(--gold)}
body.theme-modern .checkout-avatar{background:var(--gold);color:var(--text);font-weight:700}

/* Toast */
body.theme-modern .toast{border-radius:14px;background:linear-gradient(135deg,#1a1d2e,#2a2e42);color:#fff;box-shadow:0 12px 28px rgba(26,29,46,.32)}

/* Theme-toggle button (linksboven home) */
.theme-toggle{position:absolute;top:14px;left:16px;background:rgba(26,29,46,.85);border:1px solid rgba(26,29,46,.4);color:#fff;padding:7px 14px;border-radius:24px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;letter-spacing:.06em;transition:all .18s;display:inline-flex;align-items:center;gap:6px;z-index:5;text-transform:uppercase}
.theme-toggle:hover{background:rgba(26,29,46,1);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.18)}
body.theme-modern .theme-toggle{background:var(--text);color:var(--gold);border-color:var(--text)}
body.theme-modern .theme-toggle:hover{background:#0f1117}

/* ──────────────────────────────────────────
   DYNAMISCHE KOLOMMEN — grid-template via --cu-cols
   Wint van de oude .tbl-7/.tbl-9 statische rules door specificity
   ────────────────────────────────────────── */
body.theme-modern .cu-tbl .cu-thead,
body.theme-modern .cu-tbl .cu-row{grid-template-columns:var(--cu-cols,initial)}

/* ──────────────────────────────────────────
   KOLOMMEN-CONFIGURATIE MODAL
   ────────────────────────────────────────── */
body.theme-modern .sup-colcfg-modal{position:fixed;inset:0;background:rgba(26,29,46,.55);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}
body.theme-modern .sup-colcfg-modal.open{display:flex}
body.theme-modern .sup-colcfg-card{background:#fff;border-radius:16px;width:100%;max-width:520px;box-shadow:0 30px 60px -10px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column;max-height:90vh}
body.theme-modern .sup-colcfg-hdr{background:linear-gradient(135deg,#f5d840 0%,#f0c800 100%);padding:18px 22px 16px;text-align:center;position:relative}
body.theme-modern .sup-colcfg-ttl{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.01em}
body.theme-modern .sup-colcfg-sub{font-size:11px;color:rgba(26,29,46,.7);margin-top:4px;line-height:1.4}
body.theme-modern .sup-colcfg-x{position:absolute;top:12px;right:12px;background:rgba(26,29,46,.18);border:none;color:var(--text);font-size:18px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}
body.theme-modern .sup-colcfg-x:hover{background:rgba(26,29,46,.32);color:#fff}
body.theme-modern .sup-colcfg-body{padding:16px 18px;overflow-y:auto;flex:1;background:var(--gray-50,#f3f4f7)}
body.theme-modern .colcfg-list{display:flex;flex-direction:column;gap:6px}
body.theme-modern .colcfg-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1.5px solid var(--border,#e5e7eb);border-radius:10px;cursor:grab;user-select:none;transition:background .12s,border-color .12s,box-shadow .12s,opacity .12s;position:relative}
body.theme-modern .colcfg-row:hover{border-color:var(--gold);box-shadow:0 2px 8px rgba(251,192,45,.18)}
body.theme-modern .colcfg-row.off{opacity:.55;background:#fafbfc}
body.theme-modern .colcfg-row.dragging{opacity:.4;cursor:grabbing}
body.theme-modern .colcfg-row.drop-before::before{content:"";position:absolute;left:6px;right:6px;top:-3px;height:3px;background:var(--gold);border-radius:2px;box-shadow:0 0 8px rgba(251,192,45,.6)}
body.theme-modern .colcfg-row.drop-after::after{content:"";position:absolute;left:6px;right:6px;bottom:-3px;height:3px;background:var(--gold);border-radius:2px;box-shadow:0 0 8px rgba(251,192,45,.6)}
body.theme-modern .colcfg-grip{font-size:14px;color:var(--text-soft,#9aa1ad);font-weight:900;letter-spacing:-2px;cursor:grab;width:16px;flex-shrink:0;text-align:center}
body.theme-modern .colcfg-row.dragging .colcfg-grip{cursor:grabbing}
body.theme-modern .colcfg-chk{position:relative;display:inline-flex;align-items:center;flex-shrink:0;cursor:pointer}
body.theme-modern .colcfg-chk input{position:absolute;opacity:0;pointer-events:none}
body.theme-modern .colcfg-box{width:18px;height:18px;border:2px solid var(--border,#e5e7eb);border-radius:5px;background:#fff;transition:all .12s;display:inline-flex;align-items:center;justify-content:center}
body.theme-modern .colcfg-chk input:checked + .colcfg-box{background:var(--text);border-color:var(--text)}
body.theme-modern .colcfg-chk input:checked + .colcfg-box::after{content:"";width:5px;height:9px;border:solid var(--gold);border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}
body.theme-modern .colcfg-lbl{flex:1;font-size:13px;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.theme-modern .colcfg-key{font-size:10px;font-weight:600;color:var(--text-soft,#9aa1ad);font-family:'SFMono-Regular',Consolas,monospace;background:var(--gray-50,#f3f4f7);padding:2px 6px;border-radius:4px;flex-shrink:0}
body.theme-modern .sup-colcfg-ftr{display:flex;gap:8px;align-items:center;padding:12px 18px;border-top:1px solid var(--gray-100,#eef0f5);background:#fff}
body.theme-modern .colcfg-btn-reset{padding:9px 14px;border:1.5px solid var(--border,#e5e7eb);border-radius:8px;background:#fff;color:var(--text-mid,var(--text));font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}
body.theme-modern .colcfg-btn-reset:hover{border-color:var(--text);color:var(--text)}
body.theme-modern .colcfg-btn-cancel{padding:10px 16px;border:1.5px solid var(--border,#e5e7eb);border-radius:8px;background:#fff;color:var(--text);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}
body.theme-modern .colcfg-btn-save{padding:10px 20px;border:none;border-radius:8px;background:var(--text);color:var(--gold);font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;letter-spacing:.02em}
body.theme-modern .colcfg-btn-save:hover{background:#000}
