/* Acceso discreto dentro del cristal, con dos destinos independientes. */
:root{--control-frost:linear-gradient(145deg,#ffffffb8,#dceef3b0 50%,#f8ffffa8);--control-glint:#ffffffd9;--control-depth:#769eae47}
:root[data-theme=nocturno]{--control-frost:linear-gradient(145deg,#27485bb8,#0b2130c4 52%,#153849b0);--control-glint:#b8e9ff8c;--control-depth:#04162480}
:root[data-theme=editorial]{--control-frost:linear-gradient(145deg,#fff9e5b8,#e8d5b2b0 50%,#fff2d2a8);--control-glint:#fff8e3e0;--control-depth:#98744340}
:root #open-settings{position:absolute;z-index:6;right:3%;top:1.8%;width:52px;height:52px;min-height:52px;padding:13px;display:grid;place-items:center;isolation:isolate;overflow:hidden;border-radius:18px;border:1px solid var(--rim);color:var(--ink);background:var(--control-frost);box-shadow:inset 0 1px 2px var(--control-glint),inset 0 -3px 8px var(--control-depth),0 5px 16px #172f3c1a;backdrop-filter:var(--refraction);-webkit-backdrop-filter:var(--refraction);transition:transform .14s ease,box-shadow .18s ease}
#open-settings:before{content:'';position:absolute;inset:1px;z-index:-1;border-radius:16px;background:linear-gradient(135deg,var(--control-glint),transparent 37%,transparent 68%,var(--control-depth));opacity:.30;pointer-events:none}
#open-settings:after{content:'';position:absolute;inset:3px;border:1px solid color-mix(in srgb,var(--rim) 36%,transparent);border-radius:14px;pointer-events:none}
#open-settings svg{width:24px;height:24px;stroke-width:1.5;filter:drop-shadow(0 1px 1px #ffffff26)}#open-settings>span{display:none}
#open-settings:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#open-settings:active{transform:scale(.96)}#open-settings[aria-expanded=true]{box-shadow:inset 0 1px 4px var(--control-glint),inset 0 -3px 8px var(--control-depth),0 0 0 1px var(--accent),0 6px 20px #172f3c24}
@media(hover:hover) and (pointer:fine){#open-settings:hover{transform:translateY(-1px);box-shadow:inset 0 2px 5px var(--control-glint),inset 0 -3px 8px var(--control-depth),0 7px 20px #172f3c26}}
:root .shell{margin-bottom:38px;width:min(calc((100svh - 48px)*.52173913),calc(100vw - 24px))}
:root .demo-footer{bottom:10px;font-size:11px}
:root #configuration-menu{position:fixed;inset:auto;margin:0;padding:12px;border:1px solid var(--rim);border-radius:26px;background:var(--control-frost);color:var(--ink);box-shadow:var(--surface-shadow),0 14px 44px #142c3826;backdrop-filter:var(--refraction);-webkit-backdrop-filter:var(--refraction);max-width:calc(100vw - 24px)}
#configuration-menu::backdrop{background:#08162224}#configuration-menu[open]{animation:config-enter .16s ease-out}
.config-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px;padding-left:8px}.config-heading h2{font:500 18px 'Segoe UI',sans-serif;letter-spacing:-.025em}
#close-configuration{width:44px;min-height:44px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:24px}
.config-option{display:flex;align-items:center;gap:14px;width:100%;min-height:62px;padding:14px;border:1px solid transparent;border-radius:16px;background:transparent;color:var(--ink);text-align:left;font:450 17px 'Segoe UI',sans-serif}.config-option:hover,.config-option:focus-visible{background:var(--surface);border-color:var(--surface-edge)}.config-option svg{width:24px;height:24px;flex-shrink:0}
#configuration-menu #open-products{margin:0;min-height:62px;padding:14px;border:1px solid transparent;border-radius:16px;background:transparent;font-weight:450}#configuration-menu #open-products:hover{background:var(--surface);border-color:var(--surface-edge)}
:root .capture>h1{right:76px;left:4%;font-size:7.6cqw;text-align:left}
:root .result #finish{top:9%;right:3%;width:44px;min-height:44px}
:root #admin-auth{width:min(470px,calc(100vw - 24px));max-height:calc(100svh - 24px);overflow:auto;border-radius:28px;padding:28px;border:1px solid var(--surface-edge);background:var(--surface-strong);color:var(--ink);box-shadow:var(--surface-shadow)}
#admin-auth{backdrop-filter:var(--refraction);-webkit-backdrop-filter:var(--refraction);overscroll-behavior:contain}
#admin-auth::backdrop{background:#07182280;backdrop-filter:blur(8px)}#admin-auth h2{font-size:30px;text-align:left;margin:0 0 12px}#admin-intro{color:var(--muted);font-size:16px;line-height:1.45;margin:0 0 22px}
#admin-form{display:grid;gap:18px}#admin-form label{display:grid;gap:8px;font-size:15px;font-weight:550}#admin-form input{width:100%;min-height:48px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:14px;background:var(--panel);color:var(--ink);font:400 17px 'Segoe UI',sans-serif;padding:12px}
#admin-form small{font-size:13px;color:var(--muted);font-weight:400;line-height:1.4}#admin-message{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.admin-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-top:22px}.admin-actions button{min-height:50px;padding:12px;border:1px solid var(--surface-edge);border-radius:26px;background:var(--surface);color:var(--ink);font:500 16px 'Segoe UI',sans-serif;box-shadow:var(--surface-shadow)}.admin-actions #admin-submit{background:var(--cta);color:var(--cta-ink)}
#catalog-relogin{margin:0 28px 18px;min-height:44px;border:1px solid var(--surface-edge);border-radius:22px;padding:10px 16px;background:var(--cta);color:var(--cta-ink)}
@keyframes config-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#configuration-menu[open]{animation:none}#open-settings{transition:none}}
@media(prefers-reduced-transparency:reduce){:root #open-settings,:root #configuration-menu{background:var(--panel);backdrop-filter:none;-webkit-backdrop-filter:none}}
[data-effects=light] #open-settings,[data-effects=light] #configuration-menu{background:var(--surface-strong);backdrop-filter:none;-webkit-backdrop-filter:none}
:root #admin-auth .admin-actions button{min-height:56px}
@media(prefers-reduced-transparency:reduce){:root #admin-auth{background:var(--panel);backdrop-filter:none;-webkit-backdrop-filter:none}}
:root[data-effects=light] #admin-auth{background:var(--panel);backdrop-filter:none;-webkit-backdrop-filter:none}
