.validation-mode #welcome,.validation-mode #lobby,.validation-mode #booking-panel{display:none!important}
.validation-mode:not(.session-active) #selene-stage{filter:blur(9px);opacity:.22}
.validation-portal{position:fixed;z-index:60;inset:0;padding:clamp(18px,4vw,54px);display:grid;place-items:center;overflow:auto;background:radial-gradient(circle at 25% 20%,rgba(208,229,220,.92),transparent 42%),linear-gradient(145deg,#eef3ed,#f8f2e7 58%,#dce9e3)}
.validation-portal.hidden{display:none}
.validation-shell{width:min(900px,100%);margin:auto;border:1px solid rgba(42,83,74,.14);border-radius:34px;background:rgba(250,248,241,.94);box-shadow:0 30px 90px rgba(34,70,62,.18);overflow:hidden}
.validation-shell>header{padding:16px 26px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(42,83,74,.11);color:#507168;font-size:10px;font-weight:800;letter-spacing:.13em}
.validation-shell>header b{color:#173d36}.validation-shell h1{margin:10px 0 16px;font:500 clamp(36px,6vw,64px)/.98 Georgia,serif;color:#173d36}.validation-shell p{color:#49665f;line-height:1.65}
.validation-intro,.validation-progress,.validation-context,.validation-feedback,.validation-complete{padding:clamp(28px,6vw,62px)}
.validation-intro>ul{margin:22px 0;padding:18px 20px 18px 38px;border-radius:18px;background:#e9f0eb;color:#355950;line-height:1.8}
.validation-intro form,.validation-feedback{display:grid;gap:18px}.validation-intro label:not(.validation-consent),.validation-feedback>label{display:grid;gap:8px;color:#254c43;font-weight:700}.validation-intro input,.validation-feedback input,.validation-feedback textarea,.validation-feedback select{width:100%;padding:14px 16px;border:1px solid rgba(39,78,69,.2);border-radius:14px;background:#fffdf7;color:#173d36;font:16px/1.35 system-ui,sans-serif}.validation-feedback textarea{min-height:90px;resize:vertical}
.validation-consent{display:flex!important;gap:12px!important;align-items:flex-start!important;padding:14px;border-radius:14px;background:#edf2ed;color:#365a52!important;font-weight:500!important}.validation-consent input{width:20px!important;height:20px;margin:2px 0 0;flex:0 0 auto}.validation-error{padding:12px;border-radius:12px;background:#f9e6e1;color:#8b382d!important}
.validation-progress ol{margin:25px 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none}.validation-progress li{padding:14px;display:flex;gap:11px;align-items:center;border:1px solid rgba(41,81,72,.13);border-radius:16px;background:#fffdf7}.validation-progress li i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e3eee8;color:#315d53;font-style:normal;font-weight:800}.validation-progress li span{display:grid}.validation-progress li small{color:#73877f}.validation-progress li em{margin-left:auto;color:#3b7467}.validation-progress li.completed{background:#e5f0ea}
.validation-context dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.validation-context dl div{padding:18px;border-radius:17px;background:#edf2ed}.validation-context dt{margin-bottom:7px;color:#6b817a;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.validation-context dd{margin:0;color:#244b42;line-height:1.45}.validation-note{padding:15px 18px;border-left:3px solid #dca789;background:#fbf0df}
.rating-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.validation-feedback fieldset{margin:0;padding:14px;border:1px solid rgba(41,81,72,.13);border-radius:16px;background:#fffdf7}.validation-feedback legend{padding:0 5px;color:#274f46;font-weight:750}.validation-feedback fieldset>div{margin-top:10px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.validation-feedback fieldset label{display:block}.validation-feedback fieldset input{position:absolute;opacity:0;pointer-events:none}.validation-feedback fieldset label span{min-height:40px;display:grid;place-items:center;border:1px solid rgba(41,81,72,.16);border-radius:10px;cursor:pointer}.validation-feedback fieldset input:checked+span{background:#28594e;color:white}.validation-feedback fieldset small{display:block;margin-top:7px;color:#788a84;text-align:center}
.validation-complete{text-align:center}.validation-complete strong{margin:24px auto 10px;padding:18px 24px;display:block;width:max-content;border-radius:16px;background:#173d36;color:#fff;font:700 28px/1 monospace;letter-spacing:.12em}.validation-complete small{display:block;color:#72867f}
.validation-active #end-session-button{display:none}.validation-active #session-time{font-size:15px}.validation-active .topbar .brand{pointer-events:none}
@media(max-width:720px){.validation-portal{padding:10px}.validation-shell{border-radius:23px}.validation-shell>header{padding:12px 16px;font-size:8px}.validation-intro,.validation-progress,.validation-context,.validation-feedback,.validation-complete{padding:24px 18px}.validation-shell h1{font-size:36px}.validation-progress ol{grid-template-columns:1fr 1fr}.validation-context dl,.rating-grid{grid-template-columns:1fr}.validation-shell .primary-button{width:100%}}
.validation-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.validation-admin-card{padding:22px;border:1px solid rgba(44,83,74,.14);border-radius:20px;background:#fffdf7}.validation-admin-card>span{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.validation-admin-card h3{margin:8px 0;font:26px Georgia,serif}.validation-admin-card label{margin:15px 0;display:flex;align-items:center;gap:10px}.validation-admin-card input{width:85px;padding:8px}.validation-admin-card div{display:flex;gap:7px}.validation-run-detail{position:fixed;z-index:90;top:20px;right:20px;bottom:20px;width:min(760px,calc(100vw - 40px));padding:30px;overflow:auto;border-radius:24px;background:#faf8f1;box-shadow:0 20px 80px rgba(20,50,44,.35)}.validation-run-detail>button{position:absolute;top:12px;right:14px;border:0;background:none;font-size:30px}.validation-turns{display:grid;gap:10px;padding-left:24px}.validation-turns li{padding:14px;border-radius:14px;background:#edf2ed}.validation-run-detail pre{padding:14px;overflow:auto;border-radius:12px;background:#173d36;color:#dcebe5;white-space:pre-wrap}.admin-auth{display:flex;gap:8px;align-items:center}.admin-auth a{color:inherit}.admin-message{position:fixed;z-index:100;right:20px;bottom:20px;padding:14px 18px;border-radius:12px;background:#173d36;color:white}
