.admin-shell{min-height:100vh;padding:28px clamp(16px,3vw,32px) 56px;background:linear-gradient(180deg,#ffffffbd,#f7f5eef5),#f7f5ee;color:var(--ink)}.admin-login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,#0f6b541a,#225a8614),#f7f5ee}.admin-login-panel{display:grid;width:min(440px,100%);gap:22px;border:1px solid var(--line);border-radius:8px;padding:28px;background:var(--paper);box-shadow:var(--shadow)}.admin-login-mark,.admin-metric-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:8px;background:#e5f1ed;color:var(--green-dark)}.admin-login-copy{margin:8px 0 0;color:var(--muted)}.admin-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:min(1480px,100%);margin:0 auto 22px}.admin-topbar h1,.admin-detail-header h2,.admin-login-panel h1{margin:0;color:var(--ink);line-height:1.08;letter-spacing:0}.admin-topbar h1{font-size:clamp(1.75rem,2.6vw,2.6rem)}.admin-detail-header h2{font-size:clamp(1.35rem,2vw,2rem)}.admin-eyebrow{margin:0 0 6px;color:#4e665d;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-topbar-actions,.admin-contact-actions,.admin-form-actions,.admin-pill-row,.admin-chip-group{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-primary-button,.admin-secondary-button,.admin-ghost-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:0 14px;font-weight:850;text-decoration:none;transition:background .12s ease,border-color .12s ease,transform .12s ease}.admin-primary-button{background:var(--green);color:#fff}.admin-primary-button:hover,.admin-secondary-button:hover,.admin-ghost-button:hover{transform:translateY(-1px)}.admin-primary-button:hover{background:var(--green-dark)}.admin-secondary-button{border-color:#cfc8ba;background:#fff;color:var(--ink)}.admin-secondary-button:hover,.admin-ghost-button:hover{background:var(--panel)}.admin-ghost-button{border-color:transparent;background:transparent;color:var(--ink)}.admin-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;width:min(1480px,100%);margin:0 auto 18px}.admin-metric{display:flex;min-width:0;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fffdf8e6}.admin-metric strong{display:block;color:var(--ink);font-size:1.5rem;line-height:1.1}.admin-metric span span{display:block;color:var(--muted);font-size:.84rem;font-weight:760}.admin-alert{width:min(1480px,100%);margin:0 auto 14px;border-radius:8px;padding:12px 14px;font-weight:760}.admin-alert-error{border:1px solid rgba(163,52,47,.28);background:#fff0ef;color:var(--red)}.admin-alert-success{border:1px solid rgba(15,107,84,.25);background:#eaf7f2;color:var(--green-dark)}.admin-workbench{display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:18px;width:min(1480px,100%);margin:0 auto;align-items:start}.admin-list-panel,.admin-detail-panel{border:1px solid var(--line);border-radius:8px;background:#fffdf8f0;box-shadow:var(--shadow)}.admin-list-panel{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:hidden}.admin-list-tools{display:grid;gap:12px;border-bottom:1px solid var(--line);padding:14px}.admin-search{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:42px;border:1px solid #cfc8ba;border-radius:8px;padding:0 12px;background:#fff;color:var(--muted)}.admin-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.admin-segmented{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;border:1px solid #cfc8ba;border-radius:8px;padding:4px;background:#fff}.admin-segmented button{min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:850}.admin-segmented button.active{background:var(--green);color:#fff}.admin-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-filter-grid .admin-field:last-child{grid-column:1 / -1}.admin-field,.admin-form-stack{display:grid;gap:8px}.admin-form-stack{gap:14px}.admin-field span{color:var(--ink);font-size:.88rem;font-weight:820}.admin-field.compact{gap:5px}.admin-field.compact span{font-size:.78rem}.admin-input,.admin-select,.admin-textarea{width:100%;min-height:42px;border:1px solid #cfc8ba;border-radius:8px;padding:9px 11px;background:#fff;color:var(--ink)}.admin-textarea{min-height:112px;resize:vertical}.admin-textarea.compact{min-height:80px}.admin-list-count{border-bottom:1px solid var(--line);padding:9px 14px;color:var(--muted);font-size:.84rem;font-weight:760}.admin-submission-list{display:grid;max-height:calc(100vh - 330px);overflow:auto}.admin-submission-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;border:0;border-bottom:1px solid var(--line);padding:14px;background:transparent;color:var(--ink);text-align:left}.admin-submission-row:hover,.admin-submission-row.active{background:#eef6f3}.admin-submission-row.active{box-shadow:inset 4px 0 0 var(--green)}.admin-row-main,.admin-row-badges{display:flex;min-width:0;flex-wrap:wrap;gap:7px}.admin-row-main{flex-direction:column}.admin-row-title{overflow:hidden;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.admin-row-meta{color:var(--muted);font-size:.86rem}.admin-pill{display:inline-flex;width:fit-content;align-items:center;gap:6px;border:1px solid transparent;border-radius:999px;padding:4px 9px;font-size:.77rem;font-weight:900}.admin-pill.neutral{border-color:#d8d3c9;background:#f5f2ea;color:#4e554f}.admin-pill.good{border-color:#0f6b5438;background:#e4f4ef;color:var(--green-dark)}.admin-pill.warn{border-color:#a66a1338;background:#fff4df;color:#7c4d08}.admin-pill.bad{border-color:#a3342f38;background:#fff0ef;color:var(--red)}.admin-detail-panel{min-height:640px;padding:18px}.admin-detail-header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px}.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:16px}.admin-section{display:grid;align-content:start;gap:14px;border:1px solid var(--line);border-radius:8px;padding:15px;background:#fff}.admin-section.wide{grid-column:1 / -1}.admin-section-title{display:flex;align-items:center;gap:8px;color:var(--green-dark)}.admin-section-title h3{margin:0;color:var(--ink);font-size:1rem}.admin-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-detail-list{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1fr);gap:9px 14px;margin:0}.admin-detail-list.compact{grid-template-columns:minmax(118px,.65fr) minmax(0,1fr)}.admin-detail-list dt{color:var(--muted);font-size:.83rem;font-weight:850}.admin-detail-list dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ink);font-weight:720}.admin-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-image-card{display:grid;gap:10px;margin:0}.admin-image-frame{display:grid;aspect-ratio:4 / 3;place-items:center;overflow:hidden;border:1px solid #d8d3c9;border-radius:8px;background:#f5f2ea}.admin-image-frame img{width:100%;height:100%;object-fit:contain;background:#111}.admin-image-missing{display:grid;gap:6px;place-items:center;color:var(--muted);font-weight:850}.admin-image-card figcaption{display:grid;gap:4px;color:var(--muted);font-size:.82rem}.admin-image-card figcaption strong{color:var(--ink);font-size:.9rem}.admin-timeline{display:grid;gap:10px}.admin-timeline-item{display:grid;gap:5px;border-left:3px solid var(--green);padding-left:10px}.admin-timeline-item div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.admin-timeline-item strong{color:var(--ink)}.admin-timeline-item span,.admin-muted{color:var(--muted);font-size:.86rem}.admin-timeline-item p{margin:0;color:var(--muted)}.admin-check-list{display:grid;gap:8px}.admin-check-list span,.admin-clear-state{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:760}.admin-check-list .checked,.admin-clear-state{color:var(--green-dark)}.admin-check-list .unchecked{color:var(--red)}.admin-empty-state,.admin-empty-detail{display:grid;place-items:center;gap:10px;padding:32px 18px;color:var(--muted);text-align:center}.admin-empty-detail{min-height:520px}@media(max-width:1180px){.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-workbench{grid-template-columns:1fr}.admin-list-panel{position:static;max-height:none}.admin-submission-list{max-height:440px}}@media(max-width:760px){.admin-shell{padding:18px 12px 40px}.admin-topbar,.admin-detail-header{align-items:stretch;flex-direction:column}.admin-topbar-actions,.admin-contact-actions{display:grid;grid-template-columns:1fr}.admin-primary-button,.admin-secondary-button,.admin-ghost-button{width:100%}.admin-metrics,.admin-detail-grid,.admin-image-grid,.admin-two-col,.admin-filter-grid{grid-template-columns:1fr}.admin-filter-grid .admin-field:last-child{grid-column:auto}.admin-detail-list,.admin-detail-list.compact{grid-template-columns:1fr;gap:4px}.admin-detail-list dd{padding-bottom:6px}.admin-login-panel{padding:22px}}.participant-app{min-height:100vh;background:linear-gradient(180deg,#fffdf8e0,#f7f5eef5),#f7f5ee}.participant-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1120px,calc(100vw - 32px));margin:0 auto;padding:18px 0}.participant-nav-link{color:var(--muted);font-size:.95rem;font-weight:750;text-decoration:none}.participant-nav-link:hover{color:var(--green-dark);text-decoration:underline}.participant-page{width:min(760px,calc(100vw - 32px));margin:0 auto;padding:12px 0 64px}.participant-page--wide{width:min(1120px,calc(100vw - 32px))}.participant-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:4px 0 18px;padding:0;list-style:none}.participant-progress__item{display:flex;min-height:34px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:5px 8px;background:#ffffffa3;color:var(--muted);font-size:.82rem;font-weight:800}.participant-progress__item--complete{border-color:#b9d7cd;background:#e7f3ef;color:var(--green-dark)}.participant-progress__item--current{border-color:#9dbed8;background:#e9f2f8;color:var(--blue)}.participant-panel{border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow)}.participant-form-panel,.participant-static,.participant-result{display:grid;gap:16px;padding:28px}.participant-form-panel>h1,.participant-result>h1,.participant-static>h1{margin:0;font-size:2rem;line-height:1.12}.participant-form-panel>h2,.participant-static h2{margin:10px 0 0;font-size:1.18rem}.participant-form-panel>p,.participant-result>p,.participant-static p{margin:0;color:var(--muted)}.participant-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:160px;color:var(--muted);font-weight:800}.participant-spin{animation:participant-spin .85s linear infinite}@keyframes participant-spin{to{transform:rotate(360deg)}}.participant-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:34px;align-items:center;min-height:560px;padding:28px 0 34px}.participant-hero__copy{display:grid;gap:20px;align-content:center}.participant-hero h1{max-width:760px;margin:0;color:var(--ink);font-size:3.15rem;line-height:1.02}.participant-hero p{max-width:660px;margin:0;color:var(--muted);font-size:1.14rem}.participant-primary-cta{width:fit-content}.participant-hero__visual{display:flex;justify-content:flex-end}.participant-study-card{position:relative;width:min(360px,100%);overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fffdf8;box-shadow:var(--shadow)}.participant-study-card__image{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover}.participant-study-card__caption{display:grid;gap:12px;padding:14px}.participant-study-card__header{display:flex;align-items:center;justify-content:space-between;color:var(--blue);font-weight:850}.participant-waiver-row{display:flex;align-items:flex-start;gap:8px;color:var(--ink);font-size:.95rem;font-weight:750}.participant-section{display:grid;gap:16px;padding:28px 0}.participant-section h2{margin:0;font-size:1.45rem}.participant-requirements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.participant-requirement,.participant-flow-card{border:1px solid var(--line);border-radius:8px;background:#fffdf8db}.participant-requirement{display:flex;align-items:center;gap:10px;min-height:64px;padding:14px;color:var(--ink);font-weight:800}.participant-requirement svg{color:var(--green-dark);flex:0 0 auto}.participant-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.participant-flow-card{display:grid;gap:10px;padding:18px}.participant-flow-card svg{color:var(--blue)}.participant-flow-card h3,.participant-flow-card p{margin:0}.participant-flow-card h3{font-size:1.03rem}.participant-flow-card p{color:var(--muted);font-size:.94rem}.participant-notice{display:flex;align-items:flex-start;gap:12px;border:1px solid #bfd1de;border-radius:8px;padding:14px;background:#eef6fb;color:#1a4769}.participant-notice h2{margin:0 0 4px;font-size:1rem}.participant-notice p{margin:0}.participant-notice svg{flex:0 0 auto}.participant-notice--success{border-color:#b9d7cd;background:#e7f3ef;color:var(--green-dark)}.participant-notice--warning{border-color:#e1c58c;background:#fff6df;color:#744708}.participant-notice--danger{border-color:#e3b0ad;background:#fff1f0;color:var(--red)}.participant-choice-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}.participant-bulk-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.participant-bulk-check{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}.participant-bulk-check>svg:first-child{color:var(--blue);margin-top:2px}.participant-bulk-check>svg:last-child{color:var(--green-dark);margin-top:2px}.participant-bulk-check strong,.participant-bulk-check span{display:block}.participant-bulk-check span{color:var(--muted);font-size:.9rem}.participant-checkbox-list{display:grid;gap:12px}.participant-consent-summary{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.participant-consent-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:flex-start;color:var(--ink)}.participant-consent-item svg{color:var(--green-dark);margin-top:3px}.participant-checkbox{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff;color:var(--ink);font-weight:650}.participant-checkbox--compact{border-color:transparent;padding:0;background:transparent;font-size:.92rem}.participant-checkbox input{width:18px;height:18px;margin-top:2px;accent-color:var(--green);flex:0 0 auto}.participant-location-lock{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1fr);gap:16px;align-items:end}.participant-location-lock>div{display:grid;min-height:76px;align-content:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#e7f3ef}.participant-location-lock strong{color:var(--green-dark)}.participant-upload-list{display:grid;gap:14px}.participant-reference-photo{display:grid;gap:10px;margin:0;border:1px solid #bdd4e6;border-radius:8px;padding:12px;background:#eef6ff}.participant-reference-photo img{display:block;width:100%;max-height:360px;border:1px solid #aac7dc;border-radius:8px;background:#fff;object-fit:contain}.participant-reference-photo figcaption{color:#18466d;font-size:.94rem;font-weight:800}.participant-upload-slot{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:16px;background:#fff}.participant-upload-slot__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.participant-upload-slot h2,.participant-upload-slot p,.participant-submit-panel h2,.participant-submit-panel p{margin:0}.participant-upload-slot h2,.participant-submit-panel h2{font-size:1.12rem}.participant-upload-slot p,.participant-submit-panel p{color:var(--muted)}.participant-slot-status{display:inline-flex;align-items:center;gap:6px;min-height:30px;border-radius:999px;padding:4px 10px;background:#f2eee4;color:#505a54;font-size:.8rem;font-weight:850;white-space:nowrap}.participant-slot-status--done{background:#e7f3ef;color:var(--green-dark)}.participant-open-camera{width:100%}.participant-camera-capture,.participant-captured-preview{display:grid;gap:12px}.participant-camera-capture video,.participant-captured-preview img{display:block;width:100%;max-height:520px;border:1px solid #cfc8ba;border-radius:8px;background:#111;object-fit:contain}.participant-camera-capture video{aspect-ratio:3 / 4}.participant-captured-preview img{aspect-ratio:3 / 4;background:#f4f1e9}.participant-camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.participant-submit-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #bfd1de;border-radius:8px;padding:16px;background:#eef6fb}.participant-result{justify-items:start;text-align:left}.participant-result--success>svg{color:var(--green-dark)}.participant-result:not(.participant-result--success)>svg{color:var(--red)}.participant-keep-phone{display:inline-flex;align-items:center;gap:8px;border-radius:8px;padding:10px 12px;background:#e7f3ef;color:var(--green-dark);font-weight:800}.participant-static{line-height:1.65}.participant-static section{display:grid;gap:8px}.participant-static-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.participant-static-list li{display:flex;gap:8px;align-items:flex-start}.participant-static-list svg{margin-top:4px;color:var(--green-dark);flex:0 0 auto}@media(max-width:860px){.participant-hero{grid-template-columns:1fr;min-height:auto}.participant-hero__visual{justify-content:flex-start}.participant-hero h1{font-size:2.2rem}.participant-requirements,.participant-flow-grid,.participant-submit-panel{grid-template-columns:1fr}}@media(max-width:720px){.participant-topbar,.participant-page,.participant-page--wide{width:min(100vw - 24px,720px)}.participant-topbar{align-items:center;flex-direction:row;gap:10px;padding:12px 0}.participant-topbar .brand{min-width:0}.participant-topbar .brand span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-nav-link{flex:0 0 auto;font-size:.82rem}.participant-progress{grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:12px}.participant-progress__item{min-height:28px;justify-content:center;padding:4px}.participant-progress__item span{display:none}.participant-form-panel,.participant-static,.participant-result{gap:14px;padding:16px}.participant-form-panel>h1,.participant-result>h1,.participant-static>h1{font-size:1.65rem}.participant-choice-grid,.participant-bulk-checks,.participant-location-lock{grid-template-columns:1fr}.participant-bulk-check{grid-template-columns:auto minmax(0,1fr)}.participant-bulk-check>svg:last-child{display:none}.participant-consent-summary{gap:10px;padding:10px}.participant-upload-slot__heading{flex-direction:column}.participant-camera-actions{grid-template-columns:1fr}}@media(max-width:480px){.participant-page,.participant-page--wide{width:min(100vw - 16px,480px)}.participant-hero{gap:18px;padding-top:12px}.participant-hero h1{font-size:1.9rem}.participant-hero p{font-size:1rem}.participant-study-card{width:100%}.participant-study-card__image{aspect-ratio:16 / 10}.participant-notice{padding:12px}}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;color:#18201c;background:#f7f5ee;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #18201c;--muted: #66706a;--paper: #fffdf8;--panel: #f1eee5;--line: #ddd8cc;--green: #0f6b54;--green-dark: #0b4d3d;--blue: #225a86;--red: #a3342f;--amber: #a66a13;--shadow: 0 18px 50px rgba(27, 35, 30, .08)}*{box-sizing:border-box}html{min-width:320px;background:#f7f5ee}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:1}a{color:var(--green-dark)}.app-shell{min-height:100vh}.page{width:min(1120px,calc(100vw - 32px));margin:0 auto;padding:32px 0 64px}.narrow-page{width:min(720px,calc(100vw - 32px));margin:0 auto;padding:32px 0 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1120px,calc(100vw - 32px));margin:0 auto;padding:18px 0}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;text-decoration:none}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:var(--green);color:#fff;font-weight:900}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:8px;padding:0 18px;background:var(--green);color:#fff;font-weight:800;text-decoration:none;transition:transform .12s ease,background .12s ease,border-color .12s ease}.button:hover{transform:translateY(-1px);background:var(--green-dark)}.button:disabled,.button:disabled:hover{border-color:#cfc8ba;background:#f1eee5;color:#5d655f;transform:none}.button.secondary{border-color:var(--line);background:#fff;color:var(--ink)}.button.secondary:hover{background:var(--panel)}.button.danger{background:var(--red)}.panel{border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow)}.form-stack{display:grid;gap:18px}.field{display:grid;gap:8px}.field span,.label{color:var(--ink);font-size:.95rem;font-weight:750}.hint{color:var(--muted);font-size:.92rem}.input,.select,.textarea{width:100%;min-height:46px;border:1px solid #cfc8ba;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink)}.textarea{min-height:96px;resize:vertical}.error{color:var(--red);font-weight:700}.success{color:var(--green-dark);font-weight:700}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.status-pill{display:inline-flex;width:fit-content;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;background:#e7f3ef;color:var(--green-dark);font-size:.82rem;font-weight:800}@media(max-width:720px){.page,.narrow-page,.topbar{width:min(100vw - 24px,720px)}.grid-2{grid-template-columns:1fr}.button{width:100%}}
