:root {
  color-scheme: light;
  --ink: #0f172a;
  --muted: #64748b;
  --line: #e2e8f0;
  --surface: #ffffff;
  --canvas: #f8fafc;
  --brand: #059669;
  --brand-dark: #047857;
}

* { box-sizing: border-box; }
html{scroll-behavior:smooth}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid rgba(25,116,75,.3);outline-offset:3px}
body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
img{max-width:100%;height:auto}.card h2:first-child,.card h3:first-child{margin-top:0}
a { color: #0369a1; }
.clickable-surface{cursor:pointer}.clickable-surface:focus-visible{outline:3px solid rgba(25,116,75,.3);outline-offset:-3px}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(16px,calc((100vw - 1400px)/2));background:#fff7ed;color:#9a3412;border-bottom:1px solid #fed7aa}.impersonation-banner strong,.impersonation-banner span{display:block}.impersonation-banner span{margin-top:2px;font-size:12px}.impersonation-banner form{flex:0 0 auto}.admin-controls{display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px}
.admin-loader{position:fixed;inset:0 0 auto;z-index:1000;height:3px;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .15s}.admin-loader span{display:block;width:32%;height:100%;border-radius:99px;background:linear-gradient(90deg,#059669,#34d399);transform:translateX(-110%)}.admin-loader.is-active{opacity:1}.admin-loader.is-active span{animation:admin-progress .9s ease-in-out infinite}.is-loading{position:relative!important;color:transparent!important;pointer-events:none!important}.is-loading::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px;border:2px solid rgba(100,116,139,.3);border-top-color:currentColor;border-radius:50%;color:#059669;animation:admin-spin .65s linear infinite}.btn-primary.is-loading::after,.danger.is-loading::after{border-color:rgba(255,255,255,.4);border-top-color:#fff}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes admin-progress{0%{transform:translateX(-110%)}60%{transform:translateX(220%)}100%{transform:translateX(340%)}}@keyframes admin-spin{to{transform:rotate(360deg)}}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 28px;
  background: var(--ink);
  color: white;
}
.topbar .brand {
  color: white;
  font-size: 19px;
  font-weight: 900;
  text-decoration: none;
}
.topbar nav { display: flex; flex-wrap: wrap; gap: 18px; }
.topbar nav a { color: #cbd5e1; font-size: 14px; text-decoration: none; }
.topbar nav a:hover { color: white; }

.page-container {
  max-width: 1280px;
  min-height: calc(100vh - 150px);
  margin: auto;
  padding: 32px 24px;
}
.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.page-header h1 { margin: 0; font-size: 28px; }
.page-header p { margin: 5px 0 0; color: var(--muted); }

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}
.card {
  padding: 20px;
  border: 0;
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 16px 48px rgb(15 35 25 / 5.5%);
}
.stat .label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.stat .value { margin-top: 7px; font-size: 26px; font-weight: 900; }
.stat .value.small { font-size: 17px; }
.grid-4 .stat{position:relative;overflow:hidden;padding:24px}.grid-4 .stat::after{content:"";position:absolute;right:-30px;top:-35px;width:100px;height:100px;border-radius:999px;background:rgba(25,116,75,.06)}.grid-4 .stat:first-child{background:linear-gradient(145deg,#173d2d,#102b20);color:white}.grid-4 .stat:first-child .label,.grid-4 .stat:first-child .muted{color:#bbd8ca}

.btn {
  display: inline-block;
  padding: 10px 15px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: white;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  text-decoration: none;
}
.btn-primary { border-color: var(--brand); background: var(--brand); color: white; }
.btn-primary:hover { background: var(--brand-dark); }

.table-card { margin-top: 18px; overflow: hidden; }
.table-responsive { overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td {
  padding: 13px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.table th {
  color: #475569;
  background: #f8fafc;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.table tr:last-child td { border-bottom: 0; }
.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:#f8faf9}
.muted { color: var(--muted); font-size: 12px; }
.badge {
  display: inline-block;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e2e8f0;
  color: #334155;
  font-size: 11px;
  font-weight: 800;
}
.status-success{background:#dcfce7;color:#166534}.status-warning{background:#fef3c7;color:#92400e}.status-danger{background:#fee2e2;color:#991b1b}.status-neutral{background:#eef2f6;color:#475569}.empty-state{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#334155}.empty-state strong{font-size:18px}.empty-state span{margin-top:6px;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.quick-card{display:block;padding:20px;border:0;border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 12px 38px rgba(15,35,25,.045)}.quick-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(15,35,25,.08)}.quick-card strong,.quick-card span{display:block}.quick-card span{margin-top:5px;color:var(--muted);font-size:13px}

.form-card { max-width: 960px; }
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 18px;
}
label {
  display: block;
  margin: 14px 0 7px;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
}
input:not([type="checkbox"]), select, textarea {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: white;
  font: inherit;
}
input:focus, select:focus, textarea:focus {
  border-color: #10b981;
  outline: 3px solid #d1fae5;
}
textarea { resize: vertical; }
.form-card > .btn { margin-top: 18px; }
.builder { margin: 24px 0; padding:clamp(16px,2vw,24px);border:0;border-radius:20px;background:#f3f7f5 }
.builder-head { display:flex;align-items:center;justify-content:space-between;gap:16px }
.builder-head h2 { margin:0 }.builder-head p { margin:5px 0;color:var(--muted) }
.field-count{white-space:nowrap;border-radius:999px;background:#eaf5ef;color:#19744b;padding:7px 11px;font-size:12px}.pack-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;margin-top:18px}.field-empty{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:16px;padding:28px;border:1px dashed #bfd1c7;border-radius:16px;color:#52665b}.field-empty span{margin-top:5px;font-size:13px;color:var(--muted)}
.field-row { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin-top:14px;padding:16px;border:1px solid #dce7e1;border-radius:16px;background:white;box-shadow:0 5px 18px rgba(15,23,42,.035) }
.field-row-head{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid #edf2ef}.field-row-head .field-position{margin-right:auto}.drag-mark{color:#94a39b}.field-row label{margin:0}.field-row label>span:first-child{display:block;margin-bottom:6px;color:#52665b;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.field-row input,.field-row select{min-width:0}.field-row .check{display:flex;align-items:center;gap:6px;min-height:44px;margin:0;white-space:nowrap}.field-row .check span{margin:0!important;text-transform:none!important;font-size:13px!important}.field-required{align-self:end}.remove-field{border:0;background:#fff1f2;color:#be123c;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer}

.filter-bar {
  display: flex;
  align-items: end;
  gap: 12px;
  margin-bottom: 18px;
}
.filter-bar input, .filter-bar select { max-width: 340px; }
.alert { padding: 13px 16px; border: 1px solid #a7f3d0; border-radius: 10px; background: #ecfdf5; color: #065f46; }
.alert-danger { border-color: #fecaca; background: #fef2f2; color: #991b1b; }

dl { display: grid; grid-template-columns: 180px 1fr; gap: 12px; }
dt { color: var(--muted); font-weight: 700; }
dd { margin: 0; }
.admin-footer { padding: 28px; color: var(--muted); text-align: center;font-size:12px }
.eyebrow{color:var(--brand)!important;font-size:11px;font-weight:900;letter-spacing:.14em}
.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.section-head{display:flex;align-items:center;justify-content:space-between}.section-head h2{margin:0}
.capacity{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden}.capacity span{display:block;height:100%;background:var(--brand)}
.mini-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.mini-form .btn{align-self:end}
.danger{color:#b91c1c;border-color:#fecaca}
.ops-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 20px;padding:5px;border-radius:16px;background:#e9f0ec}.ops-tabs a{flex:0 0 auto;padding:10px 14px;border-radius:12px;color:#52665b;font-size:13px;font-weight:800;text-decoration:none}.ops-tabs a.active{background:white;color:var(--brand);box-shadow:0 5px 16px rgba(15,35,25,.07)}.gallery-admin{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.gallery-admin figure{margin:0}.gallery-admin img{width:100%;height:150px;object-fit:cover;border-radius:16px}.gallery-admin figcaption{padding:7px 3px;color:var(--muted);font-size:12px}
.checkin-search{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:8px}.scanner-video{width:100%;max-width:520px;margin:16px auto 0;border-radius:20px}.digital-id{display:grid;grid-template-columns:180px 1fr;gap:28px;margin-top:18px;padding:28px;border-radius:24px;background:linear-gradient(145deg,#fff,#f3f8f5);box-shadow:0 24px 70px rgba(15,35,25,.08)}.digital-id-photo{width:180px;height:220px;display:grid;place-items:center;overflow:hidden;border-radius:22px;background:#dcece3;color:#19744b;font-size:72px;font-weight:900}.digital-id-photo img{width:100%;height:100%;object-fit:cover}.digital-id-body h2{margin:6px 0;font-size:30px}.id-status{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.id-status span{padding:8px 11px;border-radius:12px;background:white;font-size:12px}.id-actions{display:flex;flex-wrap:wrap;gap:8px}.id-actions input{width:150px}
.settings-list{display:grid;gap:10px;margin-top:18px}.settings-row{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(150px,1fr)) auto;gap:10px;align-items:end;padding:16px;border-radius:16px;background:#f5f8f6}.settings-row span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.settings-row label{margin:0}
.registration-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.registration-stats>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(15,35,25,.045)}.registration-stats span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.registration-stats strong{font-size:22px}.registration-table-card{padding:0}.registration-table th:first-child,.registration-table td:first-child{padding-left:18px}.participant-row{cursor:pointer;outline:none}.participant-row:focus-visible{box-shadow:inset 3px 0 var(--brand)}.participant-row.is-open{background:#f0f8f4}.participant-cell{display:flex;align-items:center;gap:11px;min-width:220px}.participant-cell>img,.participant-cell>span{width:38px;height:38px;flex:0 0 38px;border-radius:12px;object-fit:cover}.participant-cell>span{display:grid;place-items:center;background:#e2f1e9;color:var(--brand);font-weight:900}.participant-cell strong,.participant-cell small,.row-secondary{display:block}.participant-cell small,.row-secondary{margin-top:3px;color:var(--muted);font-size:11px}.participant-id{padding:5px 7px;border-radius:7px;background:#edf7f1;color:#126b45;font-weight:800;white-space:nowrap}.row-toggle{border:0;background:transparent;color:var(--brand);font-weight:900;cursor:pointer}.participant-details>td{padding:0!important;background:#f4f8f6}.participant-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:24px}.participant-detail-grid section{padding:20px;border-radius:16px;background:#fff}.participant-detail-grid h3,.event-data-panel h3{margin:0 0 16px}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 20px}.detail-list>div{min-width:0}.detail-list dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.detail-list dd{margin-top:4px;overflow-wrap:anywhere;font-weight:700}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.event-data-panel{margin:0 24px 24px;padding:20px;border-radius:16px;background:#fff}.clean-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.clean-data-grid>div{padding:13px;border-radius:12px;background:#f5f8f6}.clean-data-grid span,.clean-data-grid strong{display:block}.clean-data-grid span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.clean-data-grid strong{margin-top:5px;overflow-wrap:anywhere}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}.pagination span{color:var(--muted);font-size:13px;font-weight:700}
.badge-designer-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:22px;align-items:start}.badge-design-form h2,.badge-preview-panel h2{margin:0}.badge-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px;padding-top:16px;border-top:1px solid #edf2ef}.badge-upload-grid small{display:block;margin-top:6px;color:var(--muted)}.check-line{font-weight:700}.badge-fieldset{display:flex;flex-wrap:wrap;gap:10px 18px;margin:20px 0;padding:16px;border:1px solid #dce7e1;border-radius:16px}.badge-fieldset legend{padding:0 7px;font-size:13px;font-weight:900}.badge-fieldset label{margin:0}.qr-privacy-fields p{flex-basis:100%;margin:4px 0 0;color:var(--muted);font-size:12px}.badge-preview-panel{position:sticky;top:90px;padding:20px;border-radius:22px;background:#edf3ef}.admin-badge-preview{--badge-art:none;position:relative;isolation:isolate;display:flex;width:min(100%,340px);aspect-ratio:54/86;flex-direction:column;overflow:hidden;margin:18px auto 0;border-radius:24px;background:var(--badge-bg);color:var(--badge-text);box-shadow:0 24px 60px rgba(15,35,25,.18)}.admin-badge-preview.landscape{width:min(100%,510px);aspect-ratio:86/54}.preview-art,.preview-shade{position:absolute;inset:0;z-index:-2}.preview-art{background-image:var(--badge-art);background-position:center;background-size:cover}.preview-shade{z-index:-1;background:linear-gradient(180deg,transparent 48%,color-mix(in srgb,var(--badge-bg) 88%,transparent) 75%)}.admin-badge-preview header{display:flex;align-items:center;gap:10px;min-height:74px;padding:15px 18px;background:var(--badge-primary);color:#fff}.admin-badge-preview header img,.preview-logo{width:42px;height:42px;flex:0 0 42px;border-radius:11px;object-fit:contain;background:#fff}.preview-logo{display:grid;place-items:center;color:var(--badge-primary);font-weight:950}.admin-badge-preview header small,.admin-badge-preview header strong{display:block}.admin-badge-preview header small{font-size:8px;opacity:.72;letter-spacing:.12em}.admin-badge-preview header strong{margin-top:3px;font-size:11px}.preview-content{display:flex;flex:1;flex-direction:column;align-items:center;padding:14px;text-align:center}.preview-photo{display:grid;width:82px;height:82px;place-items:center;overflow:hidden;border:4px solid #fff;border-radius:21px;background:color-mix(in srgb,var(--badge-accent) 18%,#fff);color:var(--badge-primary);font-size:34px;font-weight:950;box-shadow:0 7px 20px #0001}.preview-photo img{width:100%;height:100%;object-fit:cover}.preview-content h3{margin:8px 0 4px;font-size:20px;line-height:1.05}.preview-role{padding:5px 9px;border-radius:99px;background:var(--badge-accent);color:#fff;font-size:9px;font-weight:900}.preview-content p{margin:5px 0;font-size:9px}.preview-qr{display:grid;width:68px;height:68px;place-items:center;margin:5px;border:5px solid #fff;background:repeating-linear-gradient(45deg,#111 0 3px,#fff 3px 6px);color:#fff;font-size:10px;font-weight:900;text-shadow:0 1px 2px #000}.preview-content code{font-size:9px;font-weight:900}.admin-badge-preview footer{display:flex;justify-content:space-between;gap:6px;padding:9px 14px;background:color-mix(in srgb,var(--badge-primary) 92%,transparent);color:#fff;font-size:8px;font-weight:800}.admin-badge-preview.landscape .preview-content{display:grid;grid-template-columns:95px 1fr 85px;grid-template-rows:auto auto auto;column-gap:14px;text-align:left}.admin-badge-preview.landscape .preview-photo{grid-row:1/4}.admin-badge-preview.landscape .preview-content h3,.admin-badge-preview.landscape .preview-content p{justify-self:start}.admin-badge-preview.landscape .preview-role{justify-self:start}.admin-badge-preview.landscape .preview-qr{grid-column:3;grid-row:1/4}.admin-badge-preview.landscape .reg-code{display:none}.admin-badge-preview.landscape .preview-content code{grid-column:2;justify-self:start}.badge-art-note{text-align:center;color:var(--muted);font-size:12px}.admin-badge-preview.template-clean header{background:transparent;color:var(--badge-text);border-bottom:3px solid var(--badge-accent)}.admin-badge-preview.template-clean footer{background:transparent;color:var(--badge-text);border-top:1px solid color-mix(in srgb,var(--badge-primary) 18%,transparent)}.admin-badge-preview.template-overlay header{margin:12px;border-radius:16px;background:color-mix(in srgb,var(--badge-primary) 82%,transparent);backdrop-filter:blur(5px)}.admin-badge-preview.template-overlay footer{margin:0 12px 12px;border-radius:12px;background:color-mix(in srgb,var(--badge-primary) 82%,transparent);backdrop-filter:blur(5px)}

.ops-board{display:grid;gap:10px;margin-top:18px}.ops-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px;border:1px solid #e4ebe7;border-left:4px solid #94a3b8;border-radius:15px;background:#fff}.ops-item.priority-high{border-left-color:#f59e0b}.ops-item.priority-critical{border-left-color:#dc2626}.ops-item h3{margin:8px 0 4px}.ops-item p,.ops-item small{margin:0;color:var(--muted)}.ops-item form{min-width:170px}.incident-control{display:grid;gap:7px;min-width:min(320px,100%)!important}.audit-filters{display:grid;grid-template-columns:2fr repeat(3,minmax(150px,1fr)) repeat(2,minmax(130px,.7fr)) auto auto;gap:8px;margin-bottom:18px}.audit-result-head{padding:18px 20px}.audit-context{display:grid;gap:3px;margin-top:7px}.audit-context span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.audit-table td{max-width:360px;overflow-wrap:anywhere}

@media (max-width: 900px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .topbar, .page-header { align-items: flex-start; flex-direction: column; }
  .grid-4, .form-grid { grid-template-columns: 1fr; }
  .filter-bar { align-items: stretch; flex-direction: column; }
  .filter-bar input, .filter-bar select { max-width: none; }
  dl { grid-template-columns: 1fr; }
  .workspace-grid,.mini-form,.quick-grid{grid-template-columns:1fr}.gallery-admin{grid-template-columns:repeat(2,minmax(0,1fr))}
  .checkin-search,.digital-id{grid-template-columns:1fr}.digital-id-photo{width:130px;height:160px}.id-actions .btn{width:100%}
  .settings-row{grid-template-columns:1fr}
  .registration-stats,.participant-detail-grid,.clean-data-grid,.badge-designer-grid,.badge-upload-grid{grid-template-columns:1fr}.registration-stats>div{padding:13px 15px}.participant-detail-grid{gap:12px;padding:14px}.participant-detail-grid section{padding:16px}.event-data-panel{margin:0 14px 14px;padding:16px}.detail-list{grid-template-columns:1fr}.registration-table th:nth-child(3),.registration-table td:nth-child(3),.registration-table th:nth-child(4),.registration-table td:nth-child(4){display:none}.pagination{justify-content:space-between}.pagination span{font-size:11px;text-align:center}.badge-preview-panel{position:static}.badge-fieldset{display:grid}
  .impersonation-banner,.ops-item{align-items:stretch;flex-direction:column}.impersonation-banner{padding:12px 16px}.impersonation-banner .btn{width:100%}.audit-filters{grid-template-columns:1fr}.ops-item form{min-width:0}
  .builder-head{align-items:flex-start;flex-direction:column}.field-row{grid-template-columns:1fr}.field-row-head{grid-column:auto}.pack-toolbar{grid-template-columns:1fr}.pack-toolbar .btn{width:100%}
  .page-container{padding:18px 12px}.page-header .btn,.filter-bar .btn{width:100%}.card{padding:16px;border-radius:16px}.table-card{margin-inline:-4px;border-radius:14px}.table th,.table td{padding:11px 10px}.form-card{max-width:none}.digital-id{padding:18px}.ops-tabs{border-radius:13px}.gallery-admin img{height:110px}
  .table-responsive{overflow:visible}.table:not(.registration-table){min-width:0}.table:not(.registration-table) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table:not(.registration-table),.table:not(.registration-table) tbody,.table:not(.registration-table) tr,.table:not(.registration-table) td{display:block;width:100%}.table:not(.registration-table) tbody{display:grid;gap:10px}.table:not(.registration-table) tr{padding:13px;border:1px solid #e6ece8;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(15,35,25,.035)}.table:not(.registration-table) td{display:grid;grid-template-columns:minmax(90px,.42fr) 1fr;gap:10px;padding:7px 2px!important;border:0!important;overflow-wrap:anywhere}.table:not(.registration-table) td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.table:not(.registration-table) td[colspan]{display:block;text-align:center}.table:not(.registration-table) td[colspan]::before{display:none}.table:not(.registration-table) td form .btn{width:100%;margin-top:6px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.admin-loader.is-active span{width:100%;transform:none}}

.badge-selection-bar{display:flex;align-items:center;gap:14px;margin:0 0 12px;padding:12px 15px;border:1px solid #dce7e1;border-radius:15px;background:#fff}.badge-selection-bar label{display:flex;align-items:center;gap:8px;margin:0;font-weight:850}.badge-selection-bar span{margin-left:auto;color:var(--muted);font-size:12px;font-weight:800}.badge-select-column{width:42px!important;padding-left:14px!important;padding-right:4px!important;text-align:center}.badge-select-column input{width:17px;height:17px;accent-color:var(--brand)}
@media(max-width:700px){.badge-selection-bar{align-items:stretch;flex-wrap:wrap}.badge-selection-bar span{margin-left:0}.badge-selection-bar .btn{width:100%;margin-left:0}}

/* SDA editorial workspace — system-wide premium layer */
:root{
  --ink:#14231a;
  --muted:#68766d;
  --line:#dce2dc;
  --surface:#fff;
  --canvas:#f4f4ee;
  --brand:#355724;
  --brand-dark:#173f2b;
  --forest-deep:#0b281a;
  --gold:#d2ae58;
  --ease:cubic-bezier(.2,.75,.2,1);
}
body.admin-page{min-height:100vh;background:linear-gradient(135deg,#f7f7f2 0%,#eef1eb 100%);color:var(--ink);overflow-x:hidden}
.admin-header{border-bottom:1px solid rgba(20,35,26,.1);background:rgba(255,255,255,.93)!important;box-shadow:none!important}
.admin-header>div{min-height:76px!important}
.admin-brand-symbol{width:37px;height:46px;flex:0 0 auto;object-fit:contain}
.admin-header #desktopNav>a{position:relative;border-radius:4px!important;background:transparent!important;box-shadow:none!important;color:#536159!important;font-size:11px!important;letter-spacing:.025em;text-transform:uppercase;transition:color .2s}
.admin-header #desktopNav>a::after{content:"";position:absolute;right:15px;bottom:2px;left:15px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.admin-header #desktopNav>a:hover::after,.admin-header #desktopNav>a.bg-\[\#eaf5ef\]::after{transform:scaleX(1)}
.admin-header #desktopNav>a.bg-\[\#eaf5ef\]{color:var(--brand-dark)!important}
.admin-header #desktopNav>a.bg-\[\#19744b\]{border-radius:5px!important;background:var(--brand-dark)!important;color:#fff!important;padding-inline:16px!important}
.admin-header .group>button{border:1px solid var(--line);border-radius:5px!important;background:#f8f8f4!important}
.admin-header .group>button>span:first-child{border-radius:4px!important;background:var(--forest-deep)!important}
.admin-header .group>div{overflow:hidden;border:1px solid var(--line);border-radius:5px!important;box-shadow:0 18px 50px rgba(11,40,26,.14)!important}
.admin-header .group>div a{border-radius:3px!important}
#navToggle,#navClose{border-radius:5px!important}
#adminNav{background:#f9f9f5!important}
#adminNav>div:first-child{min-height:78px!important;background:white}
#adminNav>div:nth-child(2)>a{border-radius:4px!important;border-bottom:1px solid #e7ebe7;margin:0!important;padding-block:13px!important;background:transparent!important;box-shadow:none!important}
#adminNav>div:nth-child(2)>a.bg-\[\#eaf5ef\]{border-left:3px solid var(--brand);color:var(--brand-dark)!important}

.admin-loader{position:fixed;inset:0;z-index:1000;display:grid;height:auto;place-items:center;background:#f4f2e9;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s,visibility .28s}
.admin-loader.is-active{opacity:1;visibility:visible;pointer-events:auto}
.admin-loader-progress{position:absolute;top:0;right:0;left:0;height:3px;overflow:hidden;background:rgba(53,87,36,.12)}
.admin-loader-progress::after{content:"";display:block;width:34%;height:100%;background:var(--brand);animation:admin-progress 1.15s ease-in-out infinite}
.admin-loader-stage{position:relative;display:grid;width:108px;height:108px;place-items:center}
.admin-loader .admin-loader-stage>span,.admin-loader.is-active .admin-loader-stage>span{position:absolute;inset:2px;display:block;width:auto;height:auto;border:1px solid rgba(53,87,36,.2);border-top-color:var(--brand);border-radius:50%;background:transparent;transform:none;animation:admin-spin 1.3s linear infinite}
.admin-loader .admin-loader-stage>span:nth-child(2),.admin-loader.is-active .admin-loader-stage>span:nth-child(2){inset:14px;border-color:rgba(210,174,88,.25);border-right-color:var(--gold);animation-direction:reverse;animation-duration:1s}
.admin-loader-stage img{width:50px;height:64px;object-fit:contain;animation:admin-breathe 1.8s ease-in-out infinite}
.admin-loader>p{position:absolute;top:calc(50% + 72px);margin:0;color:var(--brand);font-size:9px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.admin-loader>p b{color:#a47f2d}
@keyframes admin-breathe{50%{opacity:.72;transform:scale(.94)}}

.page-container{width:min(calc(100% - 40px),1400px);max-width:1400px;min-height:calc(100vh - 175px);padding:clamp(30px,4vw,58px) 0}
.page-header{position:relative;align-items:flex-end;margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.page-header::before{content:"Workspace";position:absolute;top:-16px;left:0;color:var(--brand);font-size:8px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.page-header h1{font-family:Georgia,"Times New Roman",serif;color:var(--ink);font-size:clamp(2.3rem,4vw,4rem);font-weight:400;letter-spacing:-.045em;line-height:.96}
.page-header p{max-width:680px;color:var(--muted);font-size:13px;line-height:1.7}
.page-header .btn{flex:0 0 auto}
.card,.surface{border:0;border-radius:4px 14px 4px 14px;background:rgba(255,255,255,.96);box-shadow:0 15px 45px rgba(11,40,26,.055)}
.grid-4{gap:10px;margin-bottom:28px}
.grid-4 .stat{min-height:145px;padding:25px;border-radius:3px 11px 3px 11px;box-shadow:none}
.grid-4 .stat:first-child{background:var(--forest-deep)}
.grid-4 .stat::after{right:-45px;top:-55px;width:125px;height:125px;border:1px solid rgba(53,87,36,.14);background:transparent}
.grid-4 .stat:first-child::after{border-color:rgba(210,174,88,.2)}
.stat .label{font-size:9px;font-weight:900;letter-spacing:.12em}
.stat .value{margin-top:13px;font-family:Georgia,serif;font-size:34px;font-weight:400}
.quick-grid{gap:10px}
.quick-card{position:relative;overflow:hidden;border-radius:3px 11px 3px 11px;box-shadow:none;border-top:1px solid var(--line);background:rgba(255,255,255,.78);transition:transform .25s var(--ease),border-color .25s}
.quick-card::before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;background:transparent;transition:background .2s}
.quick-card:hover{transform:translateY(-3px);border-color:#aeb9b0;box-shadow:none}
.quick-card:hover::before{background:var(--gold)}
.workspace-grid{gap:12px}
.section-head{padding-bottom:16px;border-bottom:1px solid var(--line)}
.section-head h2,.card h2,.surface h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.025em}

.btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:1px solid #cbd3cc;border-radius:5px;background:#fff;padding:10px 15px;color:#34443a;font-size:12px;font-weight:850;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);border-color:#9fab9f;box-shadow:none}
.btn-primary{border-color:var(--brand-dark);background:var(--brand-dark);color:#fff}
.btn-primary:hover{background:var(--forest-deep)}
.danger{border-color:#e7c8c4;color:#9c302a}
label{margin:14px 0 7px;color:#3f5046;font-size:11px;font-weight:850;letter-spacing:.015em}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:44px;border:1px solid #d1d9d2;border-radius:5px;background:#fdfefb;padding:10px 12px;color:var(--ink);font-size:13px;transition:border-color .2s,box-shadow .2s,background .2s}
input:focus,select:focus,textarea:focus{border-color:var(--brand);background:white;outline:0;box-shadow:0 0 0 3px rgba(53,87,36,.1)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--brand)}
.form-card{max-width:1060px;padding:clamp(22px,3vw,36px)}
.form-grid{gap:6px 20px}
.filter-bar{align-items:end;margin-bottom:20px;padding:0 0 19px;border-bottom:1px solid var(--line);border-radius:0;background:transparent!important;box-shadow:none!important}
.filter-bar input,.filter-bar select{max-width:360px}
.table-card{margin-top:16px;border-radius:3px 12px 3px 12px}
.table th{padding:15px 13px;background:#f2f3ef;color:#667269;font-size:9px;letter-spacing:.1em}
.table td{padding:15px 13px;border-color:#e8ebe8;color:#2c3c32;font-size:12px}
.table tbody tr{transition:background .18s}
.table tbody tr:hover{background:#f5f6f2}
.badge{border-radius:3px;background:#e8eee8;color:var(--brand);font-size:9px;letter-spacing:.045em;text-transform:uppercase}
.status-success{background:#e1eee5;color:#255c39}.status-warning{background:#f5ecd7;color:#805d16}.status-danger{background:#f4e3e0;color:#8c312a}
.alert{border-radius:5px;border-left-width:3px}
.builder{border-radius:4px 12px 4px 12px;background:#eef1eb}
.field-count{border-radius:4px}
.field-empty{border-radius:6px}
.field-row{border-radius:4px 10px 4px 10px;box-shadow:none}
.remove-field{border-radius:4px}
.ops-tabs{padding:4px;border-radius:5px;background:#e8ece7}
.ops-tabs a{border-radius:3px;font-size:11px}
.gallery-admin img,.scanner-video{border-radius:4px 12px 4px 12px}
.digital-id{border-radius:4px 16px 4px 16px;background:#fff;box-shadow:0 20px 60px rgba(11,40,26,.08)}
.digital-id-photo{border-radius:4px 14px 4px 14px;background:#e4ebe4;color:var(--brand)}
.id-status span{border:1px solid var(--line);border-radius:4px}
.settings-row{border-radius:5px;background:#f1f3ef}
.registration-stats{gap:8px}
.registration-stats>div{border-radius:4px 10px 4px 10px;box-shadow:none;border-top:1px solid var(--line)}
.registration-stats strong{font-family:Georgia,serif;font-weight:400;font-size:26px}
.participant-cell>img,.participant-cell>span{border-radius:4px}
.participant-id{border-radius:3px}
.participant-detail-grid section,.event-data-panel,.clean-data-grid>div{border-radius:5px}
.badge-selection-bar,.badge-fieldset{border-radius:5px}
.badge-preview-panel{border-radius:4px 14px 4px 14px}
.admin-badge-preview{border-radius:4px 16px 4px 16px}
.preview-photo{border-radius:4px 12px 4px 12px}
.preview-role{border-radius:3px}
.ops-item{border-radius:4px 10px 4px 10px}
.capacity{height:6px;border-radius:2px}
.admin-footer{display:flex;align-items:center;justify-content:center;gap:10px;padding:30px;color:#7b867e;font-size:10px;letter-spacing:.05em;text-transform:uppercase}
.admin-footer img{width:24px;height:31px}

/* Administration login */
body.admin-login-page{min-height:100vh;background:var(--forest-deep);color:var(--ink)}
.admin-login-shell{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(400px,.95fr);min-height:100vh}
.admin-login-intro{position:relative;isolation:isolate;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(35px,6vw,85px);background:linear-gradient(145deg,rgba(11,40,26,.96),rgba(23,63,43,.91)),url('/african-children.jpg') center/cover;color:#fff}
.admin-login-intro::after{content:"";position:absolute;z-index:-1;width:560px;height:560px;right:-290px;top:-280px;border:1px solid rgba(210,174,88,.3);border-radius:50%;box-shadow:0 0 0 75px rgba(210,174,88,.035),0 0 0 150px rgba(210,174,88,.02)}
.admin-login-brand{display:flex;align-items:center;gap:15px;color:#fff;text-decoration:none}
.admin-login-brand img{width:43px;height:53px}
.admin-login-brand span{display:grid}
.admin-login-brand small{color:rgba(255,255,255,.52);font-size:8px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.admin-login-brand strong{margin-top:5px;font-size:18px}
.admin-login-intro>div{max-width:700px}
.admin-login-kicker{color:var(--gold)!important;font-size:9px!important;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.admin-login-intro h1{margin:20px 0 0;font-family:Georgia,serif;font-size:clamp(3.2rem,6vw,6rem);font-weight:400;letter-spacing:-.055em;line-height:.9}
.admin-login-intro>div>p:last-child{max-width:520px;margin-top:25px;color:rgba(255,255,255,.58);line-height:1.75}
.admin-login-intro>small{color:rgba(255,255,255,.35);font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.admin-login-form{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,8vw,120px);background:#f7f7f2}
.admin-login-form>div,.admin-login-form>form,.admin-login-form>.alert,.admin-login-back{width:min(100%,470px);margin-inline:auto}
.admin-login-form .eyebrow{font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.admin-login-form h2{margin:12px 0 0;font-family:Georgia,serif;font-size:clamp(2.7rem,5vw,4.2rem);font-weight:400;letter-spacing:-.045em}
.admin-login-form .muted{margin:16px 0 30px;font-size:13px;line-height:1.7}
.admin-login-submit{width:100%;margin-top:24px;justify-content:space-between;padding-inline:18px}
.admin-login-back{display:block;margin-top:24px;color:var(--muted);font-size:11px;font-weight:800;text-decoration:none}

@media(max-width:1024px){.page-container{width:min(calc(100% - 30px),1400px)}.admin-header>div{min-height:70px!important}}
@media(max-width:700px){
  .page-container{width:calc(100% - 24px);padding:38px 0}
  .page-header{align-items:stretch;padding-bottom:20px}
  .page-header h1{font-size:2.5rem}
  .card{border-radius:3px 10px 3px 10px}
  .grid-4{gap:8px}
  .grid-4 .stat{min-height:120px;border-radius:3px 9px 3px 9px}
  .table:not(.registration-table) tr{border-radius:4px 9px 4px 9px;box-shadow:none}
  .admin-login-shell{grid-template-columns:1fr}
  .admin-login-intro{min-height:43vh;padding:30px 24px}
  .admin-login-intro h1{font-size:3.5rem}
  .admin-login-intro>small{display:none}
  .admin-login-form{min-height:57vh;padding:45px 24px}
}
@media(prefers-reduced-motion:reduce){.admin-loader-stage>span,.admin-loader-stage img{animation:none}}

/* Registrant reporting filters */
.registrant-filter-bar{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(170px,1fr) minmax(155px,.8fr) minmax(155px,.8fr);gap:12px;align-items:end;padding:20px;border:0;border-radius:4px 12px 4px 12px;background:#fff!important;box-shadow:0 15px 45px rgba(11,40,26,.05)!important}
.registrant-filter-bar label{min-width:0;margin:0}
.registrant-filter-bar label>span{display:block;margin-bottom:7px;color:#657168;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.registrant-filter-bar input,.registrant-filter-bar select{max-width:none}
.registrant-filter-bar .registrant-search{grid-column:span 3}
.registrant-filter-actions{display:flex;gap:8px;align-items:center}
.registrant-filter-actions .btn{flex:1}
@media(max-width:1100px){.registrant-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.registrant-filter-bar .registrant-search{grid-column:span 1}}
@media(max-width:700px){.registrant-filter-bar{grid-template-columns:1fr;padding:16px}.registrant-filter-bar .registrant-search{grid-column:auto}.registrant-filter-actions{align-items:stretch;flex-direction:column}.registrant-filter-actions .btn{width:100%}}
