.q-guest{--q-bg: #ffffff;--q-surface: rgba(255, 255, 255, .72);--q-surface-2: rgba(255, 255, 255, .88);--q-surface-3: rgba(248, 251, 255, .82);--q-border: rgba(16, 74, 145, .12);--q-border-2: rgba(16, 74, 145, .18);--q-text: #162033;--q-text-dim: rgba(22, 32, 51, .76);--q-text-mute: rgba(22, 32, 51, .56);--q-primary: #0a94d6;--q-primary-strong: #087cb2;--q-primary-soft: rgba(10, 148, 214, .12);--q-danger: #d9385a;--q-danger-soft: rgba(217, 56, 90, .08);--q-success: #12886b;--q-success-soft: rgba(18, 136, 107, .08);--q-radius-lg: 28px;--q-radius-md: 18px;--q-radius-sm: 12px;--q-shadow-lg: 0 30px 80px rgba(20, 43, 84, .11);--q-shadow-md: 0 18px 48px rgba(20, 43, 84, .09);--q-shadow-sm: 0 10px 30px rgba(20, 43, 84, .07);min-height:100vh;color:var(--q-text);background:var(--q-bg);position:relative;overflow:hidden;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.q-guest-body{background:#fff}.q-guest,.q-guest *{box-sizing:border-box}.q-guest a{color:var(--q-primary);text-decoration:none}.q-guest a:hover{text-decoration:underline}body.q-guest-body #nprogress .bar{background:#0a94d6!important}body.q-guest-body #nprogress .peg{box-shadow:0 0 10px #0a94d68c,0 0 5px #0a94d659!important}body.q-guest-body #nprogress .spinner-icon{border-top-color:#0a94d6!important;border-left-color:#0a94d6!important}.q-guest p{margin:0;color:var(--q-text)}.q-guest__shell{min-height:100vh;position:relative;z-index:1;padding:36px 18px;display:flex;align-items:center;justify-content:center}.q-guest__stack{width:100%;max-width:460px;display:flex;flex-direction:column;gap:18px}.q-guest__brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.q-guest__brand a:hover,.q-guest__brand a:focus-visible{text-decoration:none}.q-guest__logoBox{width:88px;height:88px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:radial-gradient(220px 140px at 20% 15%,rgba(51,184,255,.22),transparent 60%),radial-gradient(220px 140px at 85% 30%,rgba(10,148,214,.16),transparent 55%),linear-gradient(180deg,#ffffffeb,#ffffff9e);border:1px solid rgba(12,28,52,.12);box-shadow:0 18px 60px #0a121e2e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);perspective:900px}.q-guest__logo{width:56px;height:56px;border-radius:16px;transform-style:preserve-3d;animation:q-guest-spin 4.8s linear infinite;filter:drop-shadow(0 10px 18px rgba(10,18,30,.22))}@keyframes q-guest-spin{0%{transform:rotateY(0) rotateX(10deg)}to{transform:rotateY(360deg) rotateX(10deg)}}.q-guest__title{font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--q-text);opacity:.92;text-transform:uppercase}.q-guest__led{width:140px;height:3px;border-radius:99px;background:linear-gradient(90deg,#0a94d600,#33b8ffeb,#2d7ff900);box-shadow:0 0 18px #0a94d62e,0 0 30px #33b8ff24;opacity:.95}.q-guest__card{position:relative;overflow:hidden;padding:24px;background:var(--q-surface);border:1px solid var(--q-border);border-radius:var(--q-radius-lg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:var(--q-shadow-lg)}.q-guest__cardHeader{margin-bottom:18px}.q-guest__cardHeader--center{text-align:center}.q-guest__cardHeader--center .q-guest__subtitle{margin-left:auto;margin-right:auto}.q-guest__h1{margin:0;font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--q-text);line-height:1.1}.q-guest__subtitle{margin:8px 0 0;font-size:14px;color:var(--q-text-dim);line-height:1.5;max-width:34ch}.q-form{display:flex;flex-direction:column;gap:16px}.q-field{display:flex;flex-direction:column;gap:10px}.q-label{font-size:13px;font-weight:700;letter-spacing:.02em;color:#162033d6}.q-input{width:100%;height:48px;padding:0 14px;border-radius:var(--q-radius-md);border:1px solid var(--q-border-2);background:var(--q-surface-3);color:var(--q-text);outline:none;box-shadow:inset 0 1px #ffffffa6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease,transform .14s ease}.q-input::-moz-placeholder{color:#1620336b}.q-input::placeholder{color:#1620336b}.q-input:focus{border-color:#0a94d65c;box-shadow:0 0 0 4px #0a94d61f,0 14px 28px #0a94d61a;background:#ffffffeb;transform:translateY(-1px)}.q-error{font-size:12px;color:#d9385af2;line-height:1.25}.q-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.q-checkboxRow{display:inline-flex;align-items:center;gap:10px;color:var(--q-text-dim)}.q-checkbox{width:18px;height:18px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:6px;border:1px solid var(--q-border-2);background:#ffffffc7;display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 1px #ffffffb8;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.q-checkbox:focus-visible{outline:none;box-shadow:0 0 0 4px #0a94d61f;border-color:#0a94d699}.q-checkbox:checked{background:#0a94d6fa;border-color:#0a94d6a6;box-shadow:0 0 0 4px #0a94d61a}.q-checkbox:checked:after{content:"";width:9px;height:5px;border-left:2px solid rgba(255,255,255,.98);border-bottom:2px solid rgba(255,255,255,.98);transform:rotate(-45deg);margin-top:-1px}.q-muted{color:var(--q-text-mute);font-size:13px}.q-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:8px}.q-actions--center{justify-content:center}.q-link{font-size:13px;font-weight:600;color:var(--q-primary);text-decoration:none}.q-link:hover{color:var(--q-primary-strong)}.q-button{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(12,28,52,.16);background:linear-gradient(135deg,#0a94d6eb,#33b8ffdb),#ffffffdb;color:#fffffff5;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:12px;cursor:pointer;text-decoration:none;box-shadow:0 16px 30px #0a94d638;transition:transform .14s ease,border-color .14s ease,background .18s ease,opacity .12s ease,box-shadow .18s ease}.q-button:before{content:"";position:absolute;top:-60%;left:-40%;width:60%;height:220%;background:linear-gradient(120deg,#fff0,#ffffff52,#fff0 70%);transform:translate(-120%) rotate(20deg);opacity:0;transition:transform .38s ease,opacity .18s ease;pointer-events:none}.q-button--secondary{background:#ffffffb8;border-color:#0a94d64d;color:#0b1626eb}.q-button--secondary:hover{border-color:#0a94d67a;background:#ffffffd6;box-shadow:0 10px 28px #0a121e29,0 0 0 4px #33b8ff1f}.q-button--ghost{background:transparent;border-color:#0c1c342e;color:#0b1626eb;box-shadow:none}.q-button--ghost:hover{border-color:#0a94d666;box-shadow:0 10px 28px #0a121e1f,0 0 0 4px #33b8ff1a}.q-button:hover{border-color:#0c1c3438;transform:translateY(-1px);box-shadow:0 12px 34px #0a121e2e,0 0 0 4px #33b8ff1f;text-decoration:none}.q-button:hover:before{transform:translate(260%) rotate(20deg);opacity:1}.q-button:active{transform:translateY(0)}.q-button:disabled{opacity:.62;cursor:not-allowed;box-shadow:none}.q-alert{padding:14px 16px;border-radius:20px;border:1px solid var(--q-border);background:var(--q-surface-2);color:var(--q-text);font-size:13px;line-height:1.45;box-shadow:var(--q-shadow-sm);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.q-alert--success{border-color:#12886b2e;background:#ffffffeb;box-shadow:inset 4px 0 0 var(--q-success),var(--q-shadow-sm);color:#0f5340f0}.q-alert--danger{border-color:#d9385a29;background:#ffffffeb;box-shadow:inset 4px 0 0 var(--q-danger),var(--q-shadow-sm);color:#6e142aeb}.q-guest__errorCode{margin:0;font-size:60px;font-weight:900;letter-spacing:-.05em;line-height:1;color:var(--q-primary);text-shadow:0 12px 24px rgba(10,148,214,.12)}.q-guest__errorMeta{margin-top:12px;text-align:center}@media (prefers-reduced-motion: reduce){.q-guest *{transition:none!important}.q-guest__logo{animation:none}}@media (max-width: 540px){.q-guest__shell{padding:24px 14px}.q-guest__stack{gap:14px}.q-guest__brand,.q-guest__card{padding:18px}.q-guest__h1{font-size:24px}.q-guest__subtitle{font-size:13px}.q-actions{justify-content:stretch}.q-actions .q-button{flex:1 1 100%}.q-row{align-items:flex-start}}
