:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#25312e;background:#f4f5f0;font-synthesis:none;--ink:#20352b;--muted:#69776f;--line:#dbe1d8;--green:#254b3a;--pale:#e8efe6;--yellow:#ebc963;--red:#9c382e}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:.45rem;min-height:43px;padding:.6rem 1rem;border:1px solid var(--green);border-radius:9px;background:var(--green);color:#fff;font-weight:650;text-decoration:none;cursor:pointer}button:hover,.button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:wait}button.secondary,.button.secondary{background:#fff;color:var(--green);border-color:var(--line)}button.danger{background:#fff;color:var(--red);border-color:#e7c1ba}button.small,.button.small{font-size:.82rem;min-height:34px;padding:.35rem .6rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d8ac31;outline-offset:3px}input,select,textarea{width:100%;min-height:43px;padding:.65rem .8rem;border:1px solid #bdc9bf;border-radius:8px;background:#fff;color:var(--ink)}input[type=checkbox]{width:21px;min-height:21px;accent-color:var(--green)}input[type=file]{font-size:.86rem}textarea{min-height:140px;resize:vertical}label{display:block;font-size:.87rem;font-weight:620;margin:.7rem 0 .4rem}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,3.5vw,2.55rem);letter-spacing:-.055em;line-height:1.12;margin-bottom:.65rem}h2{font-size:1.15rem;letter-spacing:-.025em}h3{font-size:1rem}p{line-height:1.6}small,.muted{color:var(--muted)}small{line-height:1.5}.topbar{height:88px;padding:0 max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:1.2rem;letter-spacing:-.035em;font-weight:750;text-decoration:none}.brand-caption{display:block;font-size:.68rem;font-weight:500;letter-spacing:.035em;color:var(--muted);margin-top:2px}.monogram{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--ink);color:var(--yellow);font-size:.88rem;letter-spacing:-.03em}.experimental,.badge{display:inline-flex;align-items:center;width:fit-content;border-radius:5px;background:#f5edcd;color:#6e5b1b;font-size:.69rem;font-weight:750;letter-spacing:.04em;padding:6px 8px}.badge{letter-spacing:0;background:var(--pale);color:var(--green);font-size:.74rem}.badge.bad{background:#f9e5e0;color:var(--red)}.badge.wait{background:#f7eed4;color:#7b6023}#app{max-width:1320px;padding:35px 24px 60px;margin:auto;min-height:calc(100vh - 160px)}.participant{max-width:680px;margin:auto}.hero{margin-bottom:26px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:750;color:var(--muted);margin-bottom:10px}.card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:15px;margin-bottom:18px;box-shadow:0 2px 4px #20352b03}.card.compact{padding:18px}.card.tint{background:#eef3ea}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.stack>*+*{margin-top:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{min-width:150px;flex:1}.check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-weight:500}.check input{flex:none}.terms-body{white-space:pre-wrap;line-height:1.65;max-height:340px;overflow:auto;padding:17px;border:1px solid var(--line);border-radius:9px;background:#fafbf8;font-size:.86rem}.tiny{font-size:.74rem}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;font-size:.76rem;color:var(--muted)}.hidden,[hidden]{display:none!important}.camera-frame{background:#18281f;aspect-ratio:4/3;border-radius:12px;overflow:hidden;margin:15px 0;display:flex;align-items:center;justify-content:center}.camera-frame video,.camera-frame img{display:block;width:100%;height:100%;object-fit:contain}.camera-frame video{transform:scaleX(-1)}.camera-frame p{color:#cbd7cc;padding:24px;text-align:center}.step{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.8rem;color:var(--muted)}.step b{display:grid;place-items:center;border-radius:50%;background:var(--pale);color:var(--green);height:26px;width:26px}.success{color:var(--green);background:#ecf5e8;border:1px solid #cedec5;padding:15px;border-radius:9px}.error{color:var(--red);background:#fff0ec;border:1px solid #e7c1ba;padding:15px;border-radius:9px}.progress{padding:15px;border-radius:9px;background:#f8f2df;color:#6f5823}.empty{padding:35px 20px;text-align:center;color:var(--muted);border:1px dashed #bdc9bf;border-radius:12px;background:#fafbf7}.empty strong{display:block;color:var(--ink);font-size:1.15rem;margin-bottom:8px}.link-box{font-size:.85rem;overflow-wrap:anywhere;line-height:1.6;background:#f4f6f0;padding:13px;border-radius:8px}.link-box a{font-weight:650}.gallery-grid,.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:16px}.gallery-tile{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.gallery-tile img,.photo-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#eef1e9}.gallery-tile .tile-body{padding:13px}.image-button{display:block;border:0;background:none;color:inherit;padding:0;width:100%;text-align:left;border-radius:0}.image-button:hover{filter:none}.tile-title{font-size:.85rem;font-weight:650;overflow-wrap:anywhere;margin-bottom:5px}.tabs{display:flex;overflow:auto;gap:5px;border-bottom:1px solid var(--line);margin:22px 0}.tabs button{white-space:nowrap;min-height:45px;border-radius:8px 8px 0 0;border:0;background:transparent;color:var(--muted);font-size:.86rem}.tabs button.active{background:var(--green);color:#fff}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:20px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px}.stat strong{display:block;font-size:1.6rem;letter-spacing:-.06em;margin-bottom:3px}.stat span{font-size:.73rem;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.8rem;text-align:left}th{font-size:.69rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:650;background:#f6f8f2}td,th{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}td{line-height:1.5}td .actions{margin-top:0}.avatar{width:48px;height:48px;border-radius:8px;object-fit:cover;background:#eef1e9}.participant-label{font-weight:650;margin-bottom:3px}.split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:20px;align-items:start}.face-image{position:relative;width:100%;border-radius:11px;overflow:hidden;background:#19261e}.face-image svg{width:100%;height:auto;max-height:72vh;display:block}.face-box{fill:transparent;stroke:#ffdb65;stroke-width:3;vector-effect:non-scaling-stroke}.face-number{fill:#ffdb65;stroke:#152319;stroke-width:1;paint-order:stroke;font-family:system-ui;font-weight:750}.face-card{border:1px solid var(--line);border-radius:11px;padding:17px;background:#fff;margin-bottom:14px}.evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.evidence div{background:#f4f6f0;padding:9px;border-radius:6px}.evidence small{display:block;font-size:.65rem}.evidence strong{font-size:.91rem}.truth{margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}details{border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:12px}summary{cursor:pointer;font-size:.82rem;font-weight:650}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font-size:.75rem;background:#f5f7f1;padding:13px;border-radius:8px}.mail{border-left:4px solid #adc3a7}.notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(580px,calc(100vw - 30px));padding:13px 19px;border-radius:10px;background:var(--ink);color:#fff;box-shadow:0 4px 24px #132a2230;z-index:20;font-size:.88rem}.notice.failure{background:#842f29}dialog{border:1px solid var(--line);border-radius:14px;padding:18px;max-width:min(1200px,95vw);width:fit-content;background:#fff}dialog::backdrop{background:#12251ec7}dialog img{display:block;max-height:76vh;max-width:100%;margin:12px auto}footer{text-align:center;color:var(--muted);font-size:.7rem;padding:20px;border-top:1px solid var(--line);background:#fff}.loading{color:var(--muted);padding:50px;text-align:center}.metrics-note{font-size:.79rem;line-height:1.5;margin-top:14px}.rule{height:1px;background:var(--line);margin:20px 0}.status-line{font-size:.77rem;color:var(--muted)}.nowrap{white-space:nowrap}@media(max-width:900px){.stats{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:1fr}.topbar{padding:0 20px}.face-image svg{max-height:60vh}}@media(max-width:560px){.topbar{height:75px;padding:0 16px}.experimental{max-width:120px;font-size:.59rem;line-height:1.4}.brand{font-size:1.05rem}.monogram{width:35px;height:35px}#app{padding:25px 16px 40px}.card{padding:18px}.form-grid{grid-template-columns:1fr;gap:0}.actions button,.actions .button{flex:1}.stats{gap:7px}.stat{padding:11px}.stat strong{font-size:1.4rem}.gallery-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-tile .tile-body{padding:10px}.tabs{margin:16px -2px}.tabs button{font-size:.77rem;padding:.5rem .65rem}.evidence{gap:5px}.evidence strong{font-size:.8rem}.toolbar{align-items:flex-start}}

/* Console expérimentale Lot 1 : la couleur moteur reste distincte de la visibilité. */
.operator-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:22px}
.operator-grid .image-button img{aspect-ratio:4/3;object-fit:contain;background:#18251f}
.operator-grid .tile-title{font-size:1rem;margin-bottom:12px}.operator-grid .tile-body{padding:18px}
.operator-grid .tiny{margin:12px 0}.filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) 230px;gap:14px;margin:18px 0}
.engine-vert{background:#dcefe2;color:#1b6138}.engine-orange{background:#fff0d2;color:#895200}.engine-rouge{background:#fbe1dd;color:#973a30}.engine-gris{background:#e9ebeb;color:#5f6765}
.engine-border-vert{border-top:5px solid #418257}.engine-border-orange{border-top:5px solid #d29432}.engine-border-rouge{border-top:5px solid #be6156}.engine-border-gris{border-top:5px solid #87918a}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.detail-title{font-size:1.6rem;margin:18px 0 0}.photo-detail{grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr)}
.photo-detail>.card{position:sticky;top:16px}.hide-boxes .face-box,.hide-boxes .face-number{display:none}.recipients{display:grid;gap:10px}.recipient{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:9px}.recipient strong{margin-right:auto}.tag-options{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.tag-options label{font-size:.78rem}.photo-detail textarea{min-height:70px}.photo-detail input[type=number]{min-width:0}.photo-detail .face-image img{object-fit:contain;max-height:72vh;aspect-ratio:auto}.face-card .actions{margin-bottom:12px}
@media(max-width:900px){.photo-detail{grid-template-columns:1fr}.photo-detail>.card{position:static}.dashboard-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.operator-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.dashboard-metrics{gap:8px}.recipient{gap:6px}}

/* Lab V2: Event branding and a single operator workspace. */
:root{--event-color:#d5ad69}.theme-black{color-scheme:dark;--ink:#f1f1ed;--muted:#a2a6a4;--line:#323633;--green:#e4c78f;--pale:#31372f;--red:#ffaca2;background:#141615;color:var(--ink)}.theme-white{color-scheme:light;--ink:#222924;--muted:#6b756f;--line:#dfe3dd;--green:#385743;--pale:#eaf0e9;--red:#9c382e;background:#f6f6f3;color:var(--ink)}.theme-black a{color:var(--green)}.theme-black button,.theme-black .button{background:var(--event-color);border-color:var(--event-color);color:#161814}.theme-black .secondary{background:#242724;border-color:var(--line);color:#edece6}.theme-black .danger{background:#2e2422;border-color:#76504a;color:#ffd0c6}.theme-black input,.theme-black select,.theme-black textarea{background:#1b1e1b;border-color:#454c45;color:var(--ink)}.theme-black .card,.theme-black .stat,.theme-black .gallery-tile,.theme-black .face-card,.theme-black dialog{background:#1d201e;border-color:var(--line);color:var(--ink)}.theme-black .topbar,.theme-black footer{background:#191c19;border-color:var(--line)}.theme-black .badge{background:#303b32;color:#d1e5d1}.theme-black .badge.bad{background:#4b2925;color:#ffc9bf}.theme-black .badge.wait{background:#453b24;color:#f6d88e}.theme-black .empty,.theme-black pre,.theme-black .evidence div,.theme-black .terms-body,.theme-black th,.theme-black .link-box{background:#242925;color:var(--ink);border-color:var(--line)}.theme-black .engine-vert{background:#24462e;color:#a6e6b8}.theme-black .engine-orange{background:#514020;color:#ffdd97}.theme-black .engine-rouge{background:#482823;color:#ffc2b5}.theme-black .engine-gris{background:#333b37;color:#c2cbc6}.theme-black .success{background:#233a29;color:#c2e9bb;border-color:#426648}.theme-black .error{background:#402923;color:#ffcec2;border-color:#805647}.theme-black .progress{background:#403820;color:#f1d89a}.theme-black .monogram{background:#e6c28b;color:#252419}.theme-black .notice{background:#e8cb94;color:#201e18}.theme-black .notice.failure{background:#723b32;color:#fff}.text-button{background:transparent!important;border:0!important;padding:.4rem 0;color:var(--green)!important;text-align:left;justify-content:flex-start;text-decoration:underline;font-weight:600}.text-link{display:inline-block;margin:15px 0;font-size:.85rem}.visually-hidden{position:absolute;width:1px!important;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sheet{width:min(520px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:24px}.sheet>.button,.sheet>button{margin:.3rem 0}.sheet .actions{margin-bottom:12px}.sheet h2{margin:0}.sheet>.row:first-child{margin-bottom:20px}.sheet img{max-height:60vh}.download-list{display:flex;flex-direction:column;gap:10px;max-height:45vh;overflow:auto}.participant-surface .topbar{height:66px;padding:0 26px}.participant-surface .brand-caption,.participant-surface .experimental,.participant-surface footer,.participant-surface .monogram{display:none}.participant-surface .brand{font-size:.9rem;font-weight:550}.participant-surface .topbar{border:0;background:transparent}.participant-surface #app.participant{max-width:620px;padding-top:10px}.participant-surface .card{border-radius:22px;padding:30px}.participant-surface .event-hero{margin-bottom:24px}.participant-surface .event-hero-copy h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:650;letter-spacing:-.06em}.event-hero{position:relative;overflow:hidden;border-radius:22px;min-height:200px}.event-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.48)}.event-hero-copy{position:relative;padding:36px 30px}.event-banner+.event-hero-copy{color:#fff}.event-banner+.event-hero-copy .eyebrow{color:#e9e5df}.event-hero-copy p:last-child{margin-bottom:0;max-width:550px;font-size:.98rem}.event-logo{width:auto;max-width:170px;max-height:65px;object-fit:contain;margin-bottom:28px}.event-hero-copy:after{content:'';display:block;width:38px;height:3px;background:var(--event-color);margin-top:24px}.selfie-frame{aspect-ratio:1/1;max-height:440px;background:#141915;border:1px solid var(--line)}.selfie-placeholder{color:#c6cec7;text-align:center;padding:40px}.selfie-placeholder>span{font-size:7rem;line-height:1.2;color:var(--event-color)}.selfie-placeholder p{font-size:.85rem}.participant-surface .actions>button{flex:1}.gallery-surface #app{max-width:1520px;padding-top:0}.gallery-surface .event-hero{min-height:220px;margin-bottom:28px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:28px 0 15px;flex-wrap:wrap}.segmented{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px}.segmented>button{border:0;min-height:38px;font-size:.85rem}.premium-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.premium-grid .gallery-tile{position:relative;border:0;border-radius:14px;background:transparent}.premium-grid .image-button img{aspect-ratio:4/5;object-fit:cover;transition:transform .25s}.premium-grid .image-button:hover img{transform:scale(1.025)}.gallery-tile-tools{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;padding:13px;background:linear-gradient(transparent,#0009);pointer-events:none}.gallery-tile-tools button{pointer-events:auto}.icon-button{background:#161a16bb!important;border:1px solid #ffffff35!important;color:#fff!important;padding:.4rem;width:42px;height:42px;font-size:1.4rem;line-height:1;border-radius:50%}.icon-button[aria-pressed=true]{color:#efb97e!important}.photo-viewer{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:0;background:#090b09!important;color:#fff!important;overflow:hidden;display:flex;flex-direction:column}.photo-viewer:not([open]){display:none}.viewer-top,.viewer-bottom{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:16px 24px;flex:none;z-index:2;background:#131513}.viewer-top{min-height:64px}.viewer-bottom{justify-content:center;padding-bottom:max(14px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:9px}.viewer-stage{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;position:relative;outline:none}.viewer-stage img{margin:0;display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center;will-change:transform;pointer-events:none}.viewer-arrow{position:absolute;top:45%;z-index:2;background:#151915aa!important;color:#fff!important;border:1px solid #ffffff30!important;border-radius:50%;height:48px;width:48px;font-size:2rem;padding:0}.viewer-arrow.previous{left:18px}.viewer-arrow.next{right:18px}.viewer-arrow:disabled{visibility:hidden}.viewer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operator-surface>.topbar{height:58px;padding:0 22px}.operator-surface>.topbar .brand-caption{display:none}.operator-surface>.topbar .monogram{height:30px;width:30px;border-radius:8px}.operator-surface>.topbar .brand{font-size:1rem}.operator-surface>footer{display:none}#app.operator-app{max-width:none;padding:0;display:grid;grid-template-columns:205px minmax(0,1fr);min-height:calc(100vh - 58px)}.operator-sidebar{padding:26px 14px;border-right:1px solid var(--line);background:#191c19;position:sticky;top:0;height:calc(100vh - 58px);overflow:auto}.operator-sidebar>h2{font-size:.92rem;line-height:1.5;padding:0 8px}.operator-sidebar>.eyebrow{padding:0 8px;font-size:.61rem}.operator-nav{display:flex;flex-direction:column;gap:5px;border:0;margin:25px 0;overflow:visible}.operator-nav button{display:flex;justify-content:flex-start;white-space:normal;text-align:left;border-radius:8px;font-size:.8rem;min-height:43px;padding:10px;background:transparent;color:#adb8af;border:0}.operator-nav button.active{background:#33392f;color:#f4e2bf;border-left:3px solid var(--event-color)}.sidebar-bottom{border-top:1px solid var(--line);padding:18px 8px}.operator-workspace{min-width:0;padding:0 25px 40px}.operator-commandbar{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.operator-commandbar p{margin:4px 0 0;font-size:.7rem}.operator-commandbar .status-line{font-size:.66rem;max-width:145px}.operator-workspace .stats{gap:9px;margin:18px 0 24px}.operator-workspace .stat{padding:13px}.operator-workspace .stat strong{font-size:1.45rem}.operator-workarea{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px;align-items:start}.operator-content{min-width:0}.operator-inspector{position:sticky;top:16px;border:1px solid var(--line);border-radius:12px;padding:18px;background:#1b1f1b;min-width:0}.operator-inspector .button,.operator-inspector button{width:100%;font-size:.72rem;line-height:1.4}.operator-content .card{padding:20px}.operator-content h2{font-size:1.03rem}.operator-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--thumb-size,280px)),1fr));gap:16px}.operator-grid .tile-body{padding:14px}.operator-grid .tile-title{font-size:.88rem;margin:0}.operator-grid .check{margin:0 0 12px}.operator-grid .tiny{font-size:.72rem;margin:10px 0}.operator-content .filter-bar{grid-template-columns:minmax(130px,1fr) 180px}.thumbnail-control{display:flex;gap:12px;align-items:center;font-size:.72rem;margin:0}.thumbnail-control input{width:130px;padding:0;min-height:30px}.pipeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.pipeline-grid small{display:block;font-size:.62rem;margin-bottom:6px}.pipeline-grid+.row{gap:16px}.event-link-card{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px}.event-qr{display:block;width:128px;height:128px;object-fit:contain;background:#fff;border:9px solid #fff;border-radius:9px;margin-bottom:12px}.event-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.8fr);gap:20px;align-items:start}.event-preview{border:1px solid var(--line);border-radius:20px;overflow:hidden;padding:15px;position:sticky;top:18px}.event-preview .event-hero-copy{padding:22px 8px}.event-preview .event-hero-copy h1{font-size:1.9rem}.preview-white{background:#f5f5f1;color:#202822}.preview-black{background:#111511;color:#f0f1ed}.preview-white .muted{color:#677068}.preview-black .muted{color:#a8b1a7}.member-detail{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px}.member-detail .image-button img{width:100%;max-height:350px;object-fit:contain}.review-comparison{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,1fr);gap:18px;align-items:start}.review-comparison>.face-image{position:sticky;top:18px}.candidate-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:15px}.candidate-pair img,.candidate-crop{width:100%;height:150px;object-fit:contain;background:#111712;border-radius:9px;display:block}.candidate-pair p{margin-bottom:6px}.review-comparison .face-card{padding:13px}.review-comparison .evidence{gap:4px}.review-comparison .evidence strong{font-size:.72rem}.drop-zone{border:1px dashed #738069;border-radius:13px;padding:24px;background:#232b22}.drop-zone.drag-active{border-color:var(--event-color);background:#353a28}.operator-content .photo-detail{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)}.operator-content .photo-detail .card{padding:15px}.operator-content .dashboard-metrics{grid-template-columns:repeat(2,1fr)}
@media(min-width:1250px){.operator-workarea:has(.photo-detail),.operator-workarea:has(.review-comparison){grid-template-columns:1fr}.operator-workarea:has(.photo-detail)>.operator-inspector,.operator-workarea:has(.review-comparison)>.operator-inspector{display:none}}
@media(max-width:1250px){#app.operator-app{grid-template-columns:175px minmax(0,1fr)}.operator-workarea{grid-template-columns:minmax(0,1fr)}.operator-inspector{position:static;display:none}.operator-workspace{padding:0 18px 30px}.review-comparison,.event-editor{grid-template-columns:1fr}.review-comparison>.face-image,.event-preview{position:static}.review-comparison>.face-image svg{max-height:52vh}.operator-content .photo-detail{grid-template-columns:1fr}.operator-content .photo-detail>.card{position:static}.operator-nav button{font-size:.72rem}}
@media(max-width:750px){#app.operator-app{display:block}.operator-sidebar{height:auto;padding:12px 14px;position:static;border-right:0;border-bottom:1px solid var(--line)}.operator-sidebar>.eyebrow,.operator-sidebar>h2,.sidebar-bottom{display:none}.operator-nav{display:grid;grid-template-columns:repeat(4,1fr);margin:0;gap:5px}.operator-nav button{font-size:.68rem;padding:7px;min-height:42px}.operator-workspace{padding:0 14px 30px}.operator-commandbar{padding:15px 0}.operator-commandbar>.row{gap:8px}.operator-commandbar .status-line{max-width:none}.operator-workspace .stats{grid-template-columns:repeat(3,1fr)}.operator-content .filter-bar{grid-template-columns:1fr}.operator-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--thumb-size,260px)),1fr))}.operator-content .card{padding:16px}.member-detail{grid-template-columns:1fr}.pipeline-grid{grid-template-columns:repeat(2,1fr)}.event-link-card{grid-template-columns:1fr 115px}.event-qr{width:108px;height:108px}.event-link-card .button{font-size:.68rem}.gallery-surface #app{padding:0 12px 35px}.premium-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.premium-grid .gallery-tile{border-radius:10px}.gallery-tile-tools{padding:9px}.icon-button{width:36px;height:36px;min-height:36px;font-size:1.25rem}.event-hero-copy{padding:30px 20px}.gallery-toolbar{gap:12px;margin-top:20px}.gallery-toolbar>.row{width:100%;justify-content:space-between}.viewer-top{padding:12px 14px;gap:10px}.viewer-bottom{gap:6px;padding:12px 9px max(14px,env(safe-area-inset-bottom))}.viewer-bottom .small{font-size:.72rem;padding:.35rem .5rem}.viewer-arrow{height:38px;width:38px;font-size:1.6rem}.viewer-arrow.previous{left:8px}.viewer-arrow.next{right:8px}.viewer-name{max-width:145px}.participant-surface .topbar{padding:0 20px;height:54px}.participant-surface .card{padding:22px}.participant-surface .event-hero-copy h1{font-size:2.25rem}.participant-surface #app.participant{padding:10px 14px 35px}.sheet{padding:20px}.gallery-surface .event-hero{min-height:190px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Lot 3: consistent participant canvas and bounded operator recovery surfaces. */
html.theme-black,html.theme-black body{background:#111511;color:#f2f3ef;min-height:100%;color-scheme:dark}html.theme-white,html.theme-white body{background:#f5f5f1;color:#202822;min-height:100%;color-scheme:light}html{min-height:100%;overscroll-behavior-y:none}body{min-height:100dvh}.participant-surface{padding-bottom:env(safe-area-inset-bottom)}.participant-surface #app{min-height:calc(100dvh - 54px);padding-bottom:max(35px,env(safe-area-inset-bottom))}.participant-surface>.topbar,.participant-surface>footer{background:inherit}.participant-surface .sheet{max-height:calc(100dvh - 32px);overflow:auto}.theme-black .terms-body{background:#1c221d;color:#f2f3ef}.theme-white .terms-body{background:#fff;color:#202822}
.event-hero[data-font=SERIF]{font-family:Georgia,"Times New Roman",serif}.event-hero[data-font=HUMANIST]{font-family:"Trebuchet MS",Arial,sans-serif}.event-hero[data-font=SYSTEM]{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.event-hero-copy{text-align:inherit;color:var(--event-text,inherit)}.event-hero[data-align=left]{text-align:left}.event-hero[data-align=center]{text-align:center}.event-hero[data-align=right]{text-align:right}.event-hero[data-align=left] .event-logo{margin-left:0;margin-right:auto}.event-hero[data-align=right] .event-logo{margin-left:auto;margin-right:0}.event-hero[data-position=TOP] .event-hero-copy{align-self:start}.event-hero[data-position=BOTTOM] .event-hero-copy{align-self:end}.event-hero[data-position=CENTER] .event-hero-copy{align-self:center}.event-hero-copy .eyebrow{color:inherit;opacity:.7}
button.selfie-frame{display:flex;width:100%;padding:0;border:2px solid var(--line);background:#171e18;color:#e8e9e4;cursor:pointer;aspect-ratio:4/3;min-height:280px}.theme-white button.selfie-frame{background:#e7ece6;color:#213b2a}.selfie-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}.selfie-placeholder .selfie-silhouette{width:min(60%,240px);height:auto;max-height:260px;fill:none;stroke:currentColor;stroke-width:3;opacity:.9}.selfie-silhouette .selfie-target{stroke:var(--event-color,#d4ac65);stroke-width:4}.selfie-placeholder p{padding:0 10px 10px;margin:0;color:inherit;font-size:.9rem}.selfie-frame:focus-visible{outline:4px solid var(--event-color,#d4ac65);outline-offset:4px}.active-event-asset{padding:12px;border:1px solid var(--line);border-radius:9px;margin:12px 0}.active-event-asset img{display:block;max-width:100%;max-height:150px;object-fit:contain;margin:10px 0;background:repeating-conic-gradient(#7772 0% 25%,transparent 0% 50%) 0/16px 16px}.proposal-selfie{display:block;max-width:100%;width:220px;max-height:280px;object-fit:contain;margin:10px auto;border-radius:10px}.filter-clause{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(95px,.7fr) minmax(120px,1fr) auto;gap:8px;margin:10px 0;align-items:center}.filter-builder{margin:0 0 20px}.filter-clause select,.filter-clause input{font-size:.76rem}.badge:has(+.deletion-state),.badge.DELETION_REQUESTED{color:#e9b1a1;background:#502c24}
.operator-workarea:has(.assistant-layout){grid-template-columns:minmax(0,1fr)}.operator-workarea:has(.assistant-layout)>.operator-inspector{display:none}.assistant-layout{display:grid;grid-template-columns:210px minmax(270px,1fr) minmax(270px,.9fr);gap:16px;align-items:start}.assistant-layout>.card{padding:14px;position:sticky;top:12px;max-height:calc(100dvh - 24px);overflow:auto}.assistant-members{display:flex;flex-direction:column;gap:8px;margin-top:14px}.assistant-member{display:flex;width:100%;text-align:left;justify-content:flex-start;align-items:start;padding:10px;border:1px solid var(--line);background:transparent!important;color:inherit!important;font-weight:400;min-width:0}.assistant-member.selected{border-color:var(--event-color);background:#353c2c!important}.assistant-member img,.avatar-placeholder{width:48px;height:62px;object-fit:cover;border-radius:5px;flex:none}.assistant-member strong,.assistant-member small{display:block;overflow-wrap:anywhere;line-height:1.4}.assistant-member strong{font-size:.82rem}.assistant-member small{font-size:.67rem;margin-top:4px}.assistant-controls{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px}.assistant-controls label{font-size:.7rem}.assistant-controls input,.assistant-controls select{font-size:.74rem;min-height:36px;padding:7px}.assistant-controls .check{grid-column:1/-1;margin:4px 0}.assistant-candidates>.actions{margin:12px 0;gap:5px}.assistant-candidates>.actions button{font-size:.7rem;min-height:35px;padding:7px}.assistant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assistant-grid .gallery-tile .tile-body{padding:10px}.assistant-grid .tiny{font-size:.66rem;margin-bottom:7px}.assistant-grid .check{font-size:.7rem;overflow-wrap:anywhere}.assistant-inspection{position:sticky;top:12px;padding:15px;border:1px solid var(--line);border-radius:12px;max-height:calc(100dvh - 24px);overflow:auto;background:#1c221c}.assistant-inspection>.face-image{margin-bottom:14px}.assistant-inspection>.face-image svg{max-height:230px}.assistant-comparison h3{margin:16px 0 8px}.assistant-comparison .candidate-pair{gap:8px}.assistant-comparison .candidate-pair img,.assistant-comparison .candidate-crop{height:160px}.assistant-comparison p{font-size:.76rem;overflow-wrap:anywhere}.assistant-inspection>.actions button{width:100%;font-size:.78rem}.reconciliation-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}.reconciliation-comparison .card{margin-top:12px}.reconciliation-comparison p{overflow-wrap:anywhere}
@media(max-width:1300px){.assistant-layout{grid-template-columns:190px minmax(260px,1fr)}.assistant-inspection{position:static;max-height:none;grid-column:1/-1}.assistant-inspection>.face-image{max-width:600px}.assistant-comparison{max-width:700px}.assistant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.assistant-layout{grid-template-columns:1fr}.assistant-layout>.card{position:static;max-height:360px}.assistant-member img{height:48px}.assistant-inspection{grid-column:auto}.filter-clause{grid-template-columns:1fr 1fr}.filter-clause select:first-child{grid-column:1/-1}.reconciliation-comparison{grid-template-columns:1fr}.selfie-frame{min-height:260px}.participant-surface .hero h1{font-size:1.7rem;line-height:1.15}.event-preview{position:static}}
.event-hero{display:grid;min-height:280px}.event-hero-copy{width:100%;color:var(--event-text,inherit)}.event-hero:has(.event-banner) .event-hero-copy{background:#111511;color:var(--event-text,#f2f3ef);margin:16px;width:calc(100% - 32px);border-radius:12px}.event-hero[data-theme=WHITE]:has(.event-banner) .event-hero-copy{background:#f5f5f1;color:var(--event-text,#202822)}.event-hero[data-theme=WHITE] .event-hero-copy .eyebrow{color:inherit}.event-hero[data-align=center] .event-hero-copy p:last-child{margin-left:auto;margin-right:auto}.event-hero[data-align=right] .event-hero-copy p:last-child{margin-left:auto}.event-hero[data-align=center] .event-hero-copy:after{margin-left:auto;margin-right:auto}.event-hero[data-align=right] .event-hero-copy:after{margin-left:auto}

/* Managed sources: bounded cards, separate Event receipt view. */
.ingress-source{margin-top:1rem;padding:1rem;border:1px solid var(--border,#39414a);border-radius:12px}.ingress-facts{display:grid;grid-template-columns:minmax(9rem,1fr) 2fr;gap:.4rem 1rem}.ingress-facts dt{color:var(--muted,#aab2bc)}.ingress-facts dd{margin:0;overflow-wrap:anywhere}.ingress-warning{padding:.75rem;border-left:3px solid #d6a858}.ingress-tabs{margin-bottom:1rem}@media(max-width:700px){.ingress-facts{grid-template-columns:1fr}.ingress-facts dd{margin-bottom:.5rem}}

/* Durable workflows: controls before the bounded selection, including narrow screens. */
.workflow-controls{position:sticky;top:0;background:inherit;z-index:2;padding:12px 0;border-bottom:1px solid var(--line)}.workflow-selection{max-height:35vh;overflow:auto;margin-top:14px}.workflow-selection[hidden]{display:none}.workflow-result{border-top:1px solid var(--line);padding:16px 0;overflow-wrap:anywhere}.workflow-result progress{width:100%}.action-error{padding:14px;border:2px solid var(--red);margin:12px 0;scroll-margin-top:15px}.sheet{max-height:calc(100dvh - 24px);overflow:auto}.sheet select,.sheet input{max-width:100%;min-width:0}.sheet .workflow-controls{background:#1d201e}.theme-white .sheet .workflow-controls{background:white}@media(max-width:560px){.sheet{width:calc(100vw - 16px);padding:16px}.workflow-controls .actions{display:grid;grid-template-columns:1fr}.workflow-controls p{font-size:.78rem}.workflow-selection{max-height:25vh}}

.manual{max-width:1000px;margin:auto;padding:28px;line-height:1.65}.manual h2{margin-top:2.4em}.manual li{margin:.7em 0}.manual nav{padding:16px;border:1px solid var(--line)}

/* Stable operator sections and compact message rows. */
.fold-section > summary { cursor: pointer; padding: .4rem 0; }
.fold-section[open] > summary { margin-bottom: 1rem; }
.mail-list { display: grid; gap: .5rem; }
.mail-row { border: 1px solid var(--line, #39434a); border-radius: .6rem; padding: .7rem 1rem; }
.mail-row > summary { display: grid; grid-template-columns: 1rem 8.5rem minmax(10rem, 1fr) minmax(12rem, 2fr) auto; align-items: center; gap: .8rem; cursor: pointer; }
.mail-row > summary::before { content: '▸'; }
.mail-row[open] > summary::before { content: '▾'; }
.mail-row > summary > * { overflow-wrap: anywhere; }
.mail-content { padding: 1rem 0 .3rem; }
.participant-activity p { margin: .25rem 0; }
@media (max-width: 700px) {
  .mail-row > summary { grid-template-columns: 1rem 1fr auto; gap: .4rem; }
  .mail-row > summary > span:not(.badge), .mail-row > summary > strong { grid-column: 2 / -1; }
  .mail-row > summary > .badge { grid-column: 3; grid-row: 1; }
}

/* An empty transport error is not a failure banner. */
.mail-content [data-mail-error]:empty{display:none}

.assistant-grid .gallery-tile{border:3px solid var(--line)}.assistant-grid .candidate-green{border-color:#5fc97b}.assistant-grid .candidate-orange{border-color:#f1ae48}.assistant-grid .candidate-red{border-color:#ec7373}.assistant-grid .candidate-no_face{border-color:#8a9aa4}.candidate-qualification{display:block;font-size:.75rem;margin:8px 0}.candidate-green .candidate-qualification{color:#91e4a7}.candidate-orange .candidate-qualification{color:#f5c370}.candidate-red .candidate-qualification{color:#f4a2a2}

/* The brand opens account/navigation without changing the URL or scroll. */
.topbar button.brand{background:transparent;border:0;color:inherit;padding:0;text-align:left;min-width:0}.session-label{font-size:.72rem;text-align:right;max-width:55%;overflow-wrap:anywhere}.account-menu{max-width:440px}.account-menu>button,.account-menu>a,.account-menu .account-actions>button,.account-menu .account-actions>a{display:block;width:100%;margin-top:12px;text-align:center;box-sizing:border-box}.account-menu p{overflow-wrap:anywhere}@media(max-width:600px){.topbar .brand-caption{display:none}.session-label{font-size:.64rem;max-width:52%}.topbar{gap:12px}}

.reference-thumbnail{width:52px;height:60px;object-fit:contain;border-radius:6px}.reconciliation-comparison img{max-width:100%}
.language-picker{width:auto;min-width:6.5rem;max-width:9rem;margin-left:auto;font-size:.85rem;padding:.4rem .6rem}

/* Shared product information and role-specific help. */
.product-version{display:block;margin:8px auto 0;font-size:.72rem;font-weight:500;min-height:32px;padding:4px 8px;background:transparent;color:var(--muted);border:0;text-decoration:underline}
.participant-surface>footer,.operator-surface>footer{display:block;padding:10px;background:inherit}
.theme-black .product-version{background:transparent;color:var(--muted);border:0}
.help-document{max-width:900px;margin:auto;padding:24px 20px 60px;line-height:1.6}.help-document h1{margin-top:24px}.help-document h2{margin-top:32px;font-size:1.4rem}.help-document nav{display:flex;flex-wrap:wrap;gap:12px;padding:16px 0;border-block:1px solid var(--line)}.help-document li{margin:8px 0}.help-document table{font-size:.9rem}.help-document th{text-transform:none;letter-spacing:0}.help-document code{overflow-wrap:anywhere}.help-document .example{background:var(--pale);padding:16px;border-radius:8px}.help-document a{overflow-wrap:anywhere}

/* Assistant: evidence of the selected participant, independent of publication. */
.face-box[data-qualification="GREEN"]{stroke:#36b977}.face-box[data-qualification="ORANGE"]{stroke:#f0a23b}.face-box[data-qualification="RED"]{stroke:#ef6b67}.face-box[data-qualification="NO_FACE"],.face-box[data-qualification="UNAVAILABLE"]{stroke:#a1a8b0;stroke-dasharray:8 5}
.face-box[data-selected="true"]{stroke-width:5px;vector-effect:non-scaling-stroke}.face-box[data-selected="false"]{stroke-width:2px;opacity:.65;vector-effect:non-scaling-stroke}

/* Public copies: a photo stays visible by its thumbnail while PREVIEW/DISTRIB are produced; downloads wait explicitly. */
.copy-badge{position:absolute;top:8px;left:8px;background:#000a;color:#fff;font-size:.68rem;padding:3px 7px;border-radius:999px;pointer-events:none}
.copy-note{color:#e4c78f}
.copy-pending{opacity:.55;cursor:not-allowed}

/* PhotoSwipe viewer: the Lab's actions sit in the top bar; the copies note stays discreet. */
.pswp__pm-note{color:#e4c78f;font-size:.75rem;align-self:center;margin-left:8px;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pswp__button--pm-favorite,.pswp__button--pm-menu{font-size:1.35rem;color:#fff;line-height:60px;text-align:center;width:50px}
.pswp__pm-actions{position:absolute;left:0;right:0;bottom:0;display:flex;gap:10px;justify-content:center;align-items:center;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,#000c);opacity:0;transition:opacity .2s;pointer-events:none}.pswp--ui-visible .pswp__pm-actions{opacity:1;pointer-events:auto}
.pswp__pm-action{min-height:48px;padding:0 20px;border-radius:999px;border:1px solid #fff;background:#fff;color:#111;font:inherit;font-weight:600;font-size:1rem;cursor:pointer}.pswp__pm-action.secondary{background:#ffffff26;color:#fff;border-color:#fff9}.pswp__pm-action[aria-busy="true"],.working{opacity:.6;cursor:progress}
.save-preview{display:block;max-width:100%;max-height:58vh;margin:12px auto;border-radius:8px;object-fit:contain}
.gallery-tile.selected .image-button img{outline:3px solid var(--green);outline-offset:-3px}.select-badge{position:absolute;top:8px;right:8px;background:var(--green);color:#fff;font-weight:700;font-size:.9rem;padding:3px 9px;border-radius:999px;pointer-events:none}.selection-tools{align-items:center;gap:8px;flex-wrap:wrap}.selection-count{align-self:center}
.account-menu .account-actions>.action-note{margin:4px 0 0;text-align:center}.account-menu .account-actions>[aria-disabled="true"]{opacity:.55}
.pswp__button--pm-favorite[aria-pressed="true"]{color:#ff8a80}

.resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.resource-grid small{display:block;font-size:.62rem;margin-bottom:6px}.resource-grid strong{display:block;font-size:1.05rem;letter-spacing:-.03em}.meter{height:6px;border-radius:3px;background:var(--pale);margin-top:8px;overflow:hidden}.meter-fill{height:100%;background:var(--event-color,#d5ad69)}.spark-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.spark{margin:0;padding:10px;border:1px solid var(--line);border-radius:9px}.spark svg{display:block;width:100%;height:40px;color:var(--event-color,#d5ad69)}.spark figcaption{margin-bottom:6px;color:var(--muted)}@media(max-width:900px){.resource-grid{grid-template-columns:repeat(2,1fr)}}
.error:empty{display:none}.stats.stale{opacity:.6}.trash-grid{margin:16px 0}.trash-item{padding:12px}.trash-preview img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:8px;background:#eef1e9}.access-link{gap:10px;font-size:.78rem;margin:6px 0}
