
/* FactuurPro - snelle dienstinvoer */
.qs-overlay{
  position:fixed;inset:0;z-index:120000;background:rgba(15,23,42,.48);
  display:none;align-items:center;justify-content:center;padding:20px;
}
.qs-overlay.open{display:flex}
.qs-modal{
  width:min(980px,96vw);max-height:92vh;overflow:auto;background:#fff;
  border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.28);color:#0f172a;
}
.qs-head{
  position:sticky;top:0;z-index:2;background:rgba(255,255,255,.97);
  display:flex;justify-content:space-between;gap:14px;align-items:flex-start;
  padding:18px 20px;border-bottom:1px solid #e2e8f0;
}
.qs-head h2{margin:0 0 4px;font-size:24px}.qs-head p{margin:0;color:#64748b}
.qs-close{border:0;background:#f1f5f9;border-radius:10px;padding:9px 12px;cursor:pointer}
.qs-body{padding:20px}
.qs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.qs-field label{display:block;font-weight:700;margin-bottom:6px}
.qs-field input,.qs-field select,.qs-field textarea{
  width:100%;box-sizing:border-box;min-height:44px;font-size:16px
}
.qs-field.full{grid-column:1/-1}.qs-field textarea{min-height:78px}
.qs-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.qs-primary,.qs-secondary,.qs-danger{
  border-radius:10px;padding:11px 15px;min-height:44px;font-weight:700;cursor:pointer
}
.qs-primary{border:1px solid #0b5cab;background:#0b5cab;color:#fff}
.qs-secondary{border:1px solid #cbd5e1;background:#fff;color:#0f172a}
.qs-danger{border:1px solid #fecaca;background:#fff1f2;color:#b91c1c}
.qs-status{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#f8fafc;color:#475569}
.qs-divider{height:1px;background:#e2e8f0;margin:24px 0}
.qs-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.qs-section-head h3{margin:0}.qs-list{display:grid;gap:10px}
.qs-card{
  display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;
  border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff
}
.qs-card.used{opacity:.72;background:#f8fafc}
.qs-card input[type=checkbox]{width:20px;height:20px;margin-top:3px}
.qs-meta strong{display:block;margin-bottom:3px}.qs-meta small{display:block;color:#64748b;line-height:1.45}
.qs-card-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.qs-empty{padding:18px;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;text-align:center}
.qs-tabs{display:flex;gap:8px;margin-bottom:12px}.qs-tab{border:1px solid #cbd5e1;background:#fff;padding:8px 12px;border-radius:999px;cursor:pointer}
.qs-tab.active{background:#eaf3ff;border-color:#93c5fd;color:#0b5cab;font-weight:700}

@media(max-width:820px){
  .qs-overlay{padding:0;align-items:flex-end;background:rgba(15,23,42,.35)}
  .qs-modal{width:100%;max-height:96dvh;border-radius:18px 18px 0 0}
  .qs-head{padding:16px}.qs-body{padding:16px}
  .qs-grid{grid-template-columns:1fr}
  .qs-field.full{grid-column:1}
  .qs-actions{display:grid;grid-template-columns:1fr}
  .qs-actions button{width:100%}
  .qs-card{grid-template-columns:auto 1fr}
  .qs-card-actions{grid-column:1/-1;justify-content:stretch}
  .qs-card-actions button{flex:1}
  .topbar-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
}

.qs-card.qs-disabled-choice{
  opacity:.45;
  background:#f8fafc;
}
.qs-card.qs-disabled-choice .qs-meta{
  filter:grayscale(.15);
}
