:root{
  --bg:#f4f6f8;--panel:#fff;--text:#17202a;--muted:#6b7280;--line:#e5e7eb;
  --primary:#163b65;--primary2:#235b94;--accent:#ff7a1a;--success:#18865b;--danger:#b83a3a;
  --radius:18px;--shadow:0 14px 36px rgba(15,23,42,.08)
}
*{box-sizing:border-box}
html{min-height:100%}
body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,textarea,input{font:inherit}
button,a{cursor:pointer}
a{text-decoration:none;color:inherit}
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-weight:850;display:flex;align-items:center;gap:9px}
.logo-small,.logo-mark{display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:900}
.logo-small{width:31px;height:31px;border-radius:9px}
.logo-mark{width:54px;height:54px;border-radius:16px;margin:auto;font-size:25px}
.top-label{font-size:13px;color:var(--muted);font-weight:750}
.wrap{max-width:1280px;margin:auto;padding:22px}
.page-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}
.page-title h1{margin:0 0 5px;font-size:clamp(26px,4vw,36px)}
.page-title p{margin:0;color:var(--muted)}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 5px 20px rgba(15,23,42,.035)}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}
.dashboard-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:20px}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:20px}
.questions{display:grid;gap:12px}
.question{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;display:block;box-shadow:0 3px 14px rgba(15,23,42,.03)}
.question h3,.qcard h3{margin:0 0 6px;font-size:17px;line-height:1.4}
.meta,.muted{font-size:12px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:10px 14px;font-weight:760;background:#edf1f5;color:var(--text)}
.btn:hover{filter:brightness(.985)}
.btn.primary{background:var(--primary);color:#fff}
.btn.accent{background:var(--accent);color:#fff}
.btn.success{background:#eaf8f1;color:var(--success)}
.btn.danger{background:#fff0f0;color:var(--danger)}
.btn.small{padding:7px 10px;font-size:12px}
.btn.wide{width:100%}
.btn:disabled{opacity:.45;cursor:not-allowed}
textarea,input{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fff;color:var(--text);outline:none}
textarea{min-height:110px;resize:vertical}
textarea:focus,input:focus{border-color:#96b1cc;box-shadow:0 0 0 3px rgba(35,91,148,.09)}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.space{display:flex;justify-content:space-between;gap:12px;align-items:center}
.sticky-help{position:sticky;top:86px;align-self:start}
.qcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;grid-template-columns:28px 1fr;gap:8px;transition:.15s}
.qcard.selected-card{border-color:#94b5d4;box-shadow:0 0 0 2px rgba(35,91,148,.08)}
.qcard.dragging{opacity:.45}
.qcard.drag-over{outline:2px dashed var(--accent);outline-offset:2px}
.drag{cursor:grab;color:#9aa4ae;font-size:20px;user-select:none;padding-top:2px}
.preview{background:radial-gradient(circle at top left,#2b659f,#112b49 68%);color:#fff;border-radius:18px;padding:28px;min-height:390px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}
.preview .big{font-size:clamp(28px,4vw,48px);font-weight:900;line-height:1.1}
.control-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.live-indicator{display:none;margin-top:12px;background:#e9f7f1;color:var(--success);font-weight:800;border-radius:12px;padding:11px 13px}
.live-indicator.show{display:block}
.presentation-page{background:#0c2440;overflow:hidden}
.presentation{min-height:100vh;background:radial-gradient(circle at top left,#2c68a5,#0c2440 70%);color:#fff;display:flex;flex-direction:column;padding:clamp(30px,6vw,80px);position:relative}
.presentation .big{margin:auto;max-width:1200px;width:100%;font-size:clamp(42px,7vw,90px);font-weight:900;line-height:1.06}
.presentation .foot{display:flex;justify-content:space-between;color:#cfe0ef;gap:18px}
.present-head{font-size:13px;letter-spacing:.04em;color:#d9e6f2}
.waiting{opacity:.72}
.fullscreen-btn{position:absolute;right:20px;top:20px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;border-radius:11px;padding:9px 12px;font-weight:750}
.presentation:fullscreen .fullscreen-btn{opacity:.18}
.presentation:fullscreen .fullscreen-btn:hover{opacity:1}
.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;background:#eef3f7;color:#52606d}
.badge.answering{background:#fff2e8;color:#a65a17}
.badge.done{background:#edf1f5;color:#68737e}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;background:#edf1f5;color:#68737e;white-space:nowrap}
.status-pill.active{background:#e9f7f1;color:var(--success)}
.status-pill.closed{background:#f0f1f3;color:#707984}
.form-stack{display:grid;gap:13px}
.form-stack label{display:grid;gap:6px;font-size:13px;font-weight:750}
.auth-page{display:grid;place-items:center;padding:20px}
.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow);text-align:center}
.auth-card h1{margin:16px 0 5px}
.auth-card form{text-align:left;margin-top:20px}
.alert{border-radius:13px;padding:12px 14px;margin:0 0 16px;font-size:13px}
.alert.success{background:#e9f7f1;color:#126b49}
.alert.danger{background:#fff0f0;color:#922b2b}
.inline-message{min-height:18px;margin-top:9px;font-size:12px}
.inline-message.success{color:var(--success)}
.inline-message.error{color:var(--danger)}
.session-list{display:grid;gap:9px}
.session-row{border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.session-main{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:1;min-width:0}
.session-row:hover{background:#fafbfd}
.session-row div{display:grid;gap:4px}
.admin-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:20px}
.link-block{min-width:300px;flex:1}
.copy-line{display:flex;gap:7px;margin-top:5px}
.copy-line input{font-size:12px}
.section-head h2{margin-bottom:4px}
.modal{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.58);display:none;place-items:center;padding:20px}
.modal.open{display:grid}
.modal-card{position:relative;background:#fff;border-radius:20px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.25);max-width:460px;width:100%}
.modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:28px;color:#66717d}
.qr-card{text-align:center}
.qr-output{display:grid;place-items:center;margin:14px auto;min-height:256px}.qr-output canvas{display:block;background:#fff;padding:0;border-radius:8px;border:1px solid var(--line);image-rendering:pixelated}
.break{overflow-wrap:anywhere}
.tiny{font-size:11px}
.empty-state{text-align:center;color:var(--muted);padding:32px}
@media(max-width:850px){
  .grid,.dashboard-grid,.admin-grid{grid-template-columns:1fr}
  .wrap{padding:14px}
  .page-title{align-items:flex-start;flex-direction:column}
  .sticky-help{position:static}
}
@media(max-width:600px){
  .admin-toolbar{align-items:stretch}
  .admin-toolbar>*{width:100%}
  .copy-line{flex-direction:column}
  .control-grid .btn{flex:1}
  .presentation .foot,.present-head{font-size:11px}
  .fullscreen-btn{right:12px;top:12px}
}

.presentation-content{margin:auto;max-width:1200px;width:100%;display:grid;gap:clamp(24px,4vh,48px);align-items:center;justify-items:center}
.presentation-content .big{margin:0;text-align:center}
.presentation-qr{display:flex;align-items:center;justify-content:center;gap:24px;transition:opacity .2s ease,transform .2s ease}
.presentation-qr.hidden{display:none}
.presentation-qr canvas{background:#fff;padding:12px;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.20);width:min(260px,28vw);height:auto}
.presentation-qr-text{display:grid;gap:8px;max-width:420px}
.presentation-qr-text strong{font-size:clamp(24px,3vw,38px);line-height:1.1}
.presentation-qr-text span{font-size:clamp(15px,1.6vw,22px);color:#cfe0ef;line-height:1.35}
.presentation:not(:fullscreen) .presentation-qr{margin-top:4px}
@media(max-width:760px){.presentation-qr{flex-direction:column;text-align:center}.presentation-qr canvas{width:min(220px,60vw)}}

/* v1.1.4: optionele deelnemersnaam */

.field-label{display:block;margin:0 0 7px;font-size:13px;font-weight:800;color:var(--text)}

.waiting-wrap{margin:auto;width:min(1150px,100%)}
.waiting-title{font-size:clamp(54px,7vw,92px);font-weight:900;line-height:1.05;margin-bottom:42px}
.waiting-content{display:flex;align-items:center;gap:34px;flex-wrap:wrap}
.qr-box{background:#fff;border-radius:18px;padding:16px;display:grid;place-items:center}
.qr-box canvas{display:block;max-width:min(260px,70vw);height:auto}
.waiting-copy{max-width:560px}
.waiting-copy-title{font-size:clamp(28px,4vw,46px);font-weight:900;line-height:1.08}
@media(max-width:700px){
  .waiting-title{margin-bottom:26px}
  .waiting-content{justify-content:center;text-align:center}
  .waiting-copy{max-width:100%}
}

.completed-section{margin-top:18px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.completed-toggle{width:100%;border:0;background:#fff;padding:15px 17px;display:flex;justify-content:space-between;align-items:center;font-weight:850;color:var(--text);text-align:left}
.completed-toggle:hover{background:#fafbfd}
.completed-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;margin-left:6px;border-radius:999px;background:#edf1f5;color:#66717d;font-size:12px}
.completed-chevron{font-size:20px;color:var(--muted)}
.completed-content{padding:0 14px 14px}
.completed-question{background:#f8fafb;box-shadow:none}
.completed-question h3{color:#4f5b67}
.empty-state.compact{padding:18px}
.completed-section.is-empty .completed-toggle{color:#7a838d}

/* v1.1.14 - opgeschoond Presentation-wachtscherm */
.waiting-screen{width:100%;}
.waiting-screen[hidden],.live-question[hidden]{display:none!important}
.qr-render-box{width:292px;height:292px;background:#fff;border-radius:18px;padding:16px;display:grid;place-items:center;box-shadow:0 18px 50px rgba(0,0,0,.20)}
.qr-render-box canvas{display:block;width:260px!important;height:260px!important;padding:0!important;border-radius:0!important;box-shadow:none!important;background:#fff}
.live-question{margin:0!important;text-align:center}
@media(max-width:700px){
  .qr-render-box{width:236px;height:236px;padding:12px}
  .qr-render-box canvas{width:212px!important;height:212px!important}
}

.appbrigade-wait-logo{
  position:absolute;
  left:clamp(22px,4vw,54px);
  bottom:clamp(18px,3vw,34px);
  z-index:2;
  opacity:.9;
}
.appbrigade-wait-logo img{
  display:block;
  width:clamp(180px,22vw,320px);
  height:auto;
}
.presentation:fullscreen .appbrigade-wait-logo{
  opacity:.92;
}
@media(max-width:700px){
  .appbrigade-wait-logo{
    position:static;
    margin-top:28px;
  }
  .appbrigade-wait-logo img{
    width:min(240px,70vw);
    margin:0 auto;
  }
}
