#nik67-admin-questionnaires, #nik67-admin-questionnaires * { box-sizing:border-box; }
#nik67-admin-questionnaires { position:fixed; inset:0; z-index:7600; display:none; color:#0f172a; }
#nik67-admin-questionnaires.is-open { display:block; }
.nik67-admin-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.42); backdrop-filter:blur(10px); }
.nik67-admin-shell { position:absolute; inset:18px; max-width:1180px; margin:0 auto; display:grid; grid-template-rows:auto auto auto minmax(0,1fr); border:1px solid rgba(125,180,255,.30); border-radius:32px; background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(239,248,255,.86)); backdrop-filter:blur(22px) saturate(160%); box-shadow:0 42px 120px rgba(15,23,42,.30); overflow:hidden; }
.nik67-admin-header { display:flex; justify-content:space-between; gap:18px; padding:24px; border-bottom:1px solid rgba(125,180,255,.20); }
.nik67-admin-header span { display:inline-flex; border-radius:999px; background:#e0f2fe; color:#0369a1; padding:7px 11px; font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.nik67-admin-header h2 { margin:12px 0 0; font-size:38px; line-height:1.05; letter-spacing:-.055em; }
.nik67-admin-header p { margin:10px 0 0; color:#52657c; }
.nik67-admin-header button { width:44px; height:44px; border:1px solid rgba(125,180,255,.24); border-radius:16px; background:rgba(255,255,255,.72); font-size:24px; cursor:pointer; }
.nik67-admin-create, .nik67-admin-toolbar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:10px; padding:16px 24px; border-bottom:1px solid rgba(125,180,255,.16); }
.nik67-admin-toolbar { grid-template-columns:minmax(0,1fr) auto; }
.nik67-admin-create label { display:block; color:#334155; font-size:12px; font-weight:900; }
.nik67-admin-create input, .nik67-admin-toolbar input { width:100%; min-height:44px; margin-top:6px; border:1px solid rgba(125,180,255,.28); border-radius:15px; background:rgba(255,255,255,.78); padding:0 12px; outline:none; }
.nik67-admin-create button, .nik67-admin-toolbar button, .nik67-admin-actions button, .nik67-admin-actions a { min-height:44px; align-self:end; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:15px; background:linear-gradient(135deg,#2563eb,#0ea5e9); color:#fff; padding:0 14px; font-size:13px; font-weight:900; cursor:pointer; text-decoration:none; }
.nik67-admin-actions button:disabled { opacity:.55; cursor:not-allowed; }
.nik67-admin-list { overflow:auto; padding:18px 24px 24px; display:grid; gap:12px; }
.nik67-admin-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; border:1px solid rgba(125,180,255,.22); border-radius:24px; background:rgba(255,255,255,.72); padding:16px; }
.nik67-admin-item h3 { margin:0; font-size:18px; }
.nik67-admin-item p { margin:6px 0 0; color:#64748b; font-size:13px; overflow-wrap:anywhere; }
.nik67-admin-item code { color:#075985; }
.nik67-admin-error { color:#be123c !important; }
.nik67-admin-actions { display:flex; align-items:flex-end; flex-direction:column; gap:8px; }
.nik67-admin-actions small { color:#64748b; }
.nik67-admin-actions .status { border-radius:999px; padding:7px 10px; font-size:12px; font-weight:900; background:#f1f5f9; color:#475569; }
.nik67-admin-actions .status.submitted { background:#dcfce7; color:#047857; }
.nik67-admin-actions .status.opened { background:#e0f2fe; color:#0369a1; }
.nik67-admin-actions .status.expired { background:#fee2e2; color:#be123c; }
.nik67-admin-empty { border:1px dashed rgba(125,180,255,.34); border-radius:24px; background:rgba(255,255,255,.62); padding:28px; text-align:center; color:#64748b; }
#nik67-admin-questionnaires-toast { position:fixed; right:18px; bottom:18px; z-index:7700; display:none; max-width:min(420px,calc(100vw - 32px)); border:1px solid rgba(125,211,252,.45); border-radius:20px; background:rgba(255,255,255,.92); backdrop-filter:blur(18px); box-shadow:0 24px 80px rgba(15,23,42,.18); color:#0f172a; padding:14px 16px; font-size:14px; line-height:1.45; font-weight:850; }
#nik67-admin-questionnaires-toast.is-visible { display:block; }
.nik67-admin-nav-button { border-color:rgba(14,165,233,.32) !important; background:rgba(240,249,255,.74) !important; }
@media (max-width:900px) { .nik67-admin-shell { inset:8px; border-radius:24px; } .nik67-admin-create { grid-template-columns:1fr; } .nik67-admin-toolbar { grid-template-columns:1fr; } .nik67-admin-item { grid-template-columns:1fr; } .nik67-admin-actions { align-items:flex-start; } }

/* Step 73: questionnaire preview modal */
.nik67-preview-layer,
.nik67-preview-layer * {
  box-sizing: border-box;
}

.nik67-preview-layer {
  position: fixed;
  inset: 0;
  z-index: 7800;
  color: #0f172a;
}

.nik67-preview-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .36);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.nik67-preview-shell {
  position: absolute;
  inset: 18px;
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(125, 180, 255, .30);
  border-radius: 30px;
  background:
    radial-gradient(circle at 10% 8%, rgba(186, 230, 253, .48), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,248,255,.90));
  backdrop-filter: blur(22px) saturate(160%);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  box-shadow: 0 42px 120px rgba(15,23,42,.30);
}

.nik67-preview-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  border-bottom: 1px solid rgba(125,180,255,.18);
}

.nik67-preview-header span {
  display: inline-flex;
  border-radius: 999px;
  background: #e0f2fe;
  color: #0369a1;
  padding: 7px 11px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.nik67-preview-header h2 {
  margin: 12px 0 0;
  font-size: clamp(26px, 3.4vw, 38px);
  line-height: 1.05;
  letter-spacing: -.055em;
}

.nik67-preview-header p {
  margin: 9px 0 0;
  color: #64748b;
}

.nik67-preview-header button {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(125,180,255,.24);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  font-size: 24px;
  cursor: pointer;
}

.nik67-preview-summary {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(125,180,255,.14);
}

.nik67-preview-photo-card {
  min-height: 210px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(125,180,255,.22);
  border-radius: 24px;
  background: rgba(255,255,255,.70);
}

.nik67-preview-photo {
  width: 100%;
  height: 100%;
  max-height: 240px;
  object-fit: cover;
  display: block;
}

.nik67-preview-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.nik67-preview-summary-grid div {
  min-width: 0;
  border: 1px solid rgba(125,180,255,.18);
  border-radius: 18px;
  background: rgba(255,255,255,.70);
  padding: 12px;
}

.nik67-preview-summary-grid span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.nik67-preview-summary-grid b {
  display: block;
  margin-top: 6px;
  color: #0f172a;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.nik67-preview-warning {
  margin: 14px 22px 0;
  border: 1px solid rgba(251,191,36,.34);
  border-radius: 18px;
  background: rgba(255,251,235,.82);
  color: #92400e;
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 850;
}

.nik67-preview-content {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 18px 22px 22px;
  display: grid;
  gap: 14px;
}

.nik67-preview-section {
  border: 1px solid rgba(125,180,255,.20);
  border-radius: 24px;
  background: rgba(255,255,255,.66);
  overflow: hidden;
}

.nik67-preview-section h3 {
  margin: 0;
  padding: 14px 16px;
  background: rgba(224,242,254,.72);
  color: #0f172a;
  font-size: 16px;
}

.nik67-preview-row {
  display: grid;
  grid-template-columns: minmax(220px, .85fr) minmax(0, 1.15fr);
  gap: 14px;
  padding: 14px 16px;
  border-top: 1px solid rgba(148,163,184,.16);
}

.nik67-preview-row b {
  display: block;
  font-size: 13px;
  line-height: 1.35;
}

.nik67-preview-row small {
  display: block;
  margin-top: 5px;
  color: #64748b;
  line-height: 1.35;
}

.nik67-preview-answer-text {
  color: #334155;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.nik67-preview-muted {
  color: #94a3b8;
  font-size: 13px;
}

.nik67-preview-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.nik67-preview-tags span {
  border-radius: 999px;
  background: rgba(224,242,254,.82);
  color: #0369a1;
  padding: 6px 9px;
  font-size: 12px;
  font-weight: 850;
}

.nik67-preview-tags span.extra {
  background: rgba(241,245,249,.92);
  color: #475569;
  border-radius: 14px;
}

.nik67-preview-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 22px;
  border-top: 1px solid rgba(125,180,255,.18);
}

.nik67-preview-footer button,
.nik67-preview-footer a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 15px;
  background: rgba(255,255,255,.72);
  color: #0f172a;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
}

.nik67-preview-footer a {
  background: linear-gradient(135deg,#2563eb,#0ea5e9);
  color: #fff;
}

@media (max-width: 820px) {
  .nik67-preview-shell {
    inset: 8px;
    border-radius: 24px;
  }

  .nik67-preview-summary,
  .nik67-preview-row {
    grid-template-columns: 1fr;
  }

  .nik67-preview-summary-grid {
    grid-template-columns: 1fr;
  }

  .nik67-preview-photo-card {
    min-height: 180px;
  }
}


/* Step 74: force visible questionnaire preview answers */
.nik67-preview-section.is-open {
  display: block !important;
  overflow: visible !important;
}

.nik67-preview-section h3 {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.nik67-preview-section h3 span {
  min-width: 0;
}

.nik67-preview-section h3 small {
  flex: 0 0 auto;
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  color: #0369a1;
  padding: 5px 8px;
  font-size: 11px;
  font-weight: 900;
}

.nik67-preview-rows {
  display: grid !important;
  gap: 0;
  background: rgba(255,255,255,.54);
}

.nik67-preview-row {
  display: grid !important;
  grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr) !important;
  gap: 16px !important;
  min-height: 54px;
  padding: 15px 16px !important;
  border-top: 1px solid rgba(148,163,184,.16) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.nik67-preview-question,
.nik67-preview-answer {
  min-width: 0;
}

.nik67-preview-answer {
  border-radius: 16px;
  background: rgba(248,250,252,.78);
  border: 1px solid rgba(226,232,240,.70);
  padding: 11px 12px;
}

.nik67-preview-answer .nik67-preview-muted {
  display: inline-flex;
}

@media (max-width: 820px) {
  .nik67-preview-row {
    grid-template-columns: 1fr !important;
  }
}


/* Step 75: questionnaire delete */
.nik67-admin-actions .nik67-admin-delete-btn {
  background: rgba(255, 228, 230, .92) !important;
  color: #be123c !important;
  border: 1px solid rgba(248, 113, 113, .30) !important;
}

.nik67-admin-actions .nik67-admin-delete-btn:hover {
  background: rgba(254, 205, 211, .96) !important;
}

.nik67-delete-layer,
.nik67-delete-layer * {
  box-sizing: border-box;
}

.nik67-delete-layer {
  position: fixed;
  inset: 0;
  z-index: 7900;
  color: #0f172a;
}

.nik67-delete-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .42);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.nik67-delete-card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(520px, calc(100vw - 28px));
  transform: translate(-50%, -50%);
  border: 1px solid rgba(248, 113, 113, .26);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 8%, rgba(254, 205, 211, .44), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,241,242,.88));
  backdrop-filter: blur(22px) saturate(160%);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  box-shadow: 0 42px 120px rgba(127, 29, 29, .24);
  padding: 24px;
}

.nik67-delete-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: rgba(255, 228, 230, .88);
  border: 1px solid rgba(248, 113, 113, .26);
  font-size: 24px;
}

.nik67-delete-card h3 {
  margin: 18px 0 0;
  font-size: 28px;
  letter-spacing: -.04em;
}

.nik67-delete-card p {
  margin: 10px 0 0;
  color: #475569;
  line-height: 1.55;
}

.nik67-delete-card p b {
  color: #0f172a;
}

.nik67-delete-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.nik67-delete-meta span {
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(248, 113, 113, .18);
  color: #64748b;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 850;
}

.nik67-delete-card footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}

.nik67-delete-card footer button {
  min-height: 44px;
  border-radius: 15px;
  padding: 0 16px;
  font-weight: 900;
  cursor: pointer;
}

.nik67-delete-card footer .secondary {
  border: 1px solid rgba(125,180,255,.24);
  background: rgba(255,255,255,.76);
  color: #0f172a;
}

.nik67-delete-card footer .danger {
  border: 1px solid rgba(248,113,113,.34);
  background: linear-gradient(135deg, #ef4444, #fb7185);
  color: #fff;
}

.nik67-delete-card footer button:disabled {
  opacity: .65;
  cursor: wait;
}


/* Step 91: authorized questionnaire Excel download */
.nik67-admin-actions .nik67-download-btn,
.nik67-preview-footer .nik67-download-btn {
  background: linear-gradient(135deg,#2563eb,#0ea5e9) !important;
  color: #fff !important;
}

.nik67-preview-footer .nik67-download-btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 15px;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}
