/* Shared theme selector and accessible action targets. */
.theme-settings{margin-bottom:6px}
.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;border:0;padding:0;margin:0}
.theme-choice{display:flex;align-items:flex-start;gap:12px;min-width:0;min-height:94px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}
.theme-choice input{flex:none;width:18px;height:18px;margin:3px 0 0;accent-color:var(--green)}
.theme-choice strong{display:block;font-size:14px;font-weight:600}
.theme-choice small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:var(--muted);font-weight:400}
.theme-choice:has(input:checked){border-color:var(--green);background:var(--soft)}
#theme-result{margin-top:12px;min-height:20px}
.action-icon{width:20px;height:20px;display:block;flex:none;fill:currentColor;pointer-events:none}
button.icon-button,.gate-tools button.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;flex:none;border-radius:9px;letter-spacing:0}
.copy-link.icon-button{color:var(--green)}
.more-button.icon-button{color:#657463}
.logout.icon-button{color:#c7d3c6;border:0;background:none}
.logout.icon-button:hover{background:#ffffff14;color:#fff}
.close-dialog.icon-button{width:44px;min-width:44px;height:44px;min-height:44px;background:none;border:0}
.row-actions{gap:8px}
.action-shortcuts{display:flex;gap:14px;padding:0 0 20px;margin-bottom:4px}
.action-shortcuts .icon-button{border:1px solid var(--line);background:var(--paper);color:var(--green)}
.gate-records .has-record-action{display:grid;grid-template-columns:minmax(0,1fr) 44px;column-gap:14px;align-items:center;min-height:68px}
.has-record-action strong,.has-record-action small{grid-column:1}
.gate-records .has-record-action button{grid-column:2;grid-row:1 / span 2;margin:0}
.gate-inline button.icon-button{align-self:end;flex:0 0 44px}
/* Neumorphism: cool neutral surfaces, diffuse light, blue active controls. */
:root[data-theme="neumorphism"]{--ink:#26313e;--muted:#5e6b7e;--line:#d3dce6;--paper:#ecf0f4;--white:#ecf0f4;--green:#2864dc;--green-hover:#1e52bd;--soft:#e3ebf8;--radius:13px;--neo-up:7px 7px 16px #cdd5df,-7px -7px 16px #fff;--neo-down:inset 4px 4px 9px #d0d8e2,inset -4px -4px 9px #fff}
[data-theme="neumorphism"] body{background:var(--paper)}
[data-theme="neumorphism"] .sidebar{background:var(--paper);color:var(--ink);box-shadow:7px 0 22px #cad3df77;border-right:1px solid #fff9}
[data-theme="neumorphism"] .sidebar-caption,[data-theme="neumorphism"] .sidebar-credit,[data-theme="neumorphism"] .profile small{color:var(--muted)}
[data-theme="neumorphism"] .wordmark span{color:#667c98}
[data-theme="neumorphism"] .navigation{gap:12px}
[data-theme="neumorphism"] .nav-link{color:#4e6179;border-radius:12px;background:var(--paper);box-shadow:4px 4px 10px #cbd4df,-4px -4px 10px #fff}
[data-theme="neumorphism"] .nav-link:hover{color:var(--green);background:#eef3f8}
[data-theme="neumorphism"] .nav-link.active{color:#fff;background:#2d6ae9;box-shadow:4px 4px 10px #b9c9e0,inset 1px 1px 2px #ffffff65}
[data-theme="neumorphism"] .nav-link span{background:#ffffff26;color:inherit}
[data-theme="neumorphism"] .profile{border-color:var(--line)}
[data-theme="neumorphism"] .avatar{color:var(--green);background:var(--paper);box-shadow:var(--neo-down)}
[data-theme="neumorphism"] .logout.icon-button{color:#506783}
[data-theme="neumorphism"] .logout.icon-button:hover{background:#e2e9f2;color:var(--green)}
[data-theme="neumorphism"] .topbar{background:var(--paper);border:0;box-shadow:0 7px 16px -11px #adbacb;color:#53657a}
[data-theme="neumorphism"] .environment{background:#e9edf2;border-color:#d9e1ea;color:#55667b;box-shadow:inset 2px 2px 4px #d3dbe5,inset -2px -2px 4px #fff;border-radius:6px}
[data-theme="neumorphism"] .test-notice{color:#5e6b7e}
[data-theme="neumorphism"] .overview,[data-theme="neumorphism"] .gate-tools,[data-theme="neumorphism"] .incoming-check{background:var(--paper);border:1px solid #ffffff95;border-radius:18px;box-shadow:var(--neo-up)}
[data-theme="neumorphism"] .incoming-check{padding:18px 20px}
[data-theme="neumorphism"] .overview p,[data-theme="neumorphism"] .gate-records small{color:var(--muted)}
[data-theme="neumorphism"] .guest-table{border:0;background:none;overflow:visible}
[data-theme="neumorphism"] .table-head{background:none;color:#566a83;padding-bottom:8px}
[data-theme="neumorphism"] .guest-row{background:var(--paper);border:1px solid #ffffffa0;border-radius:16px;box-shadow:var(--neo-up);margin:13px 0;padding-top:18px}
[data-theme="neumorphism"] .guest-row:hover{background:#eef2f7}
[data-theme="neumorphism"] .guest-avatar,[data-theme="neumorphism"] .counter{background:var(--paper);box-shadow:var(--neo-down);color:#526b8e}
[data-theme="neumorphism"] .contact small,[data-theme="neumorphism"] .link-preview,[data-theme="neumorphism"] .list-footnote{color:#586981}
[data-theme="neumorphism"] .access-title{color:#365d96}
[data-theme="neumorphism"] .button,[data-theme="neumorphism"] .gate-tools button,[data-theme="neumorphism"] .icon-button{border:1px solid #ffffffa0;border-radius:12px;box-shadow:5px 5px 11px #c8d2df,-5px -5px 11px #fff;background:var(--paper);color:var(--green);transition:box-shadow .15s,background .15s}
[data-theme="neumorphism"] .button:hover,[data-theme="neumorphism"] .gate-tools button:hover,[data-theme="neumorphism"] .icon-button:hover{background:#f0f4fa}
[data-theme="neumorphism"] .button:active,[data-theme="neumorphism"] .gate-tools button:active,[data-theme="neumorphism"] .icon-button:active{box-shadow:var(--neo-down)}
[data-theme="neumorphism"] .button.primary{color:#fff;background:#2d6ae9;border-color:#6c99ef;box-shadow:5px 5px 12px #bfcbdd,-5px -5px 12px #fff,inset 1px 1px 2px #ffffff50}
[data-theme="neumorphism"] .button.primary:hover{background:#225bcf}
[data-theme="neumorphism"] .button.primary:active{box-shadow:inset 3px 3px 8px #1548af,inset -2px -2px 7px #6394f7}
[data-theme="neumorphism"] .close-dialog.icon-button,[data-theme="neumorphism"] .logout.icon-button{box-shadow:none;border:0}
[data-theme="neumorphism"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),[data-theme="neumorphism"] textarea,[data-theme="neumorphism"] select{background:var(--paper);border:1px solid #ffffffb0;border-radius:11px;box-shadow:var(--neo-down);color:var(--ink)}
[data-theme="neumorphism"] input::placeholder,[data-theme="neumorphism"] textarea::placeholder{color:#5e6b7e}
[data-theme="neumorphism"] input[type="checkbox"],[data-theme="neumorphism"] input[type="radio"]{accent-color:var(--green)}
[data-theme="neumorphism"] :is(button,a,input,textarea,select):focus-visible{outline-color:#2864dc;outline-offset:4px}
[data-theme="neumorphism"] .theme-choice{background:var(--paper);box-shadow:var(--neo-up);border:1px solid #ffffffa0;border-radius:15px}
[data-theme="neumorphism"] .theme-choice:has(input:checked){box-shadow:var(--neo-down);border-color:#8baeea}
[data-theme="neumorphism"] .filter.active{background:var(--paper);box-shadow:var(--neo-down);border-color:#fff9;color:var(--green);border-radius:10px}
[data-theme="neumorphism"] .filter{color:#576c86}
[data-theme="neumorphism"] .event-symbol{background:var(--paper);box-shadow:3px 3px 7px #ccd5e0,-3px -3px 7px #fff;color:var(--green);border-radius:8px}
[data-theme="neumorphism"] .event-title{color:var(--ink)}
[data-theme="neumorphism"] .event-subtitle,[data-theme="neumorphism"] .event-time,[data-theme="neumorphism"] .event-badge,[data-theme="neumorphism"] .page-footer,[data-theme="neumorphism"] .auth-note,[data-theme="neumorphism"] .auth-footer{color:#586981}
[data-theme="neumorphism"] .event-badge{border-color:#c9d4e2}
[data-theme="neumorphism"] .gate-tools{color:var(--ink)}
[data-theme="neumorphism"] .gate-tools details,[data-theme="neumorphism"] .gate-records>div{border-color:var(--line)}
[data-theme="neumorphism"] dialog{background:var(--paper);border:1px solid #fff;border-radius:22px;box-shadow:18px 18px 45px #67768b66,-6px -6px 24px #ffffff90}
[data-theme="neumorphism"] dialog::backdrop{background:#394b6566}
[data-theme="neumorphism"] .action-menu button{background:none;border-color:var(--line);color:#334b6b}
[data-theme="neumorphism"] .action-menu .danger-text{color:var(--red)}
[data-theme="neumorphism"] .toast{background:#2b5dab;box-shadow:6px 6px 20px #61789950}
[data-theme="neumorphism"] .toast.error{background:#853d32}
@media(max-width:820px){.sidebar-bottom{top:12px}[data-theme="neumorphism"] .sidebar{box-shadow:0 5px 18px #c8d2de80;padding-bottom:12px;border:0}[data-theme="neumorphism"] .navigation{gap:10px;overflow:visible}[data-theme="neumorphism"] .nav-link{border-radius:11px;justify-content:center}}
@media(max-width:560px){.guest-row{grid-template-columns:minmax(0,1fr) 96px}.row-actions{gap:8px}.theme-options{gap:12px}.theme-choice{padding:14px 12px;gap:8px}.theme-choice strong{font-size:13px}.theme-choice small{font-size:11px}.gate-tool-head{flex-wrap:nowrap;gap:10px}.gate-tool-head h2{font-size:19px}.gate-inline button.icon-button{flex-basis:44px}[data-theme="neumorphism"] .nav-link{padding:11px 9px;font-size:11px}[data-theme="neumorphism"] .guest-row{padding-top:16px;padding-bottom:4px}[data-theme="neumorphism"] .incoming-check{padding:16px}[data-theme="neumorphism"] .overview{padding:18px}}
@media(prefers-reduced-motion:reduce){[data-theme="neumorphism"] *{transition:none!important}}

[data-theme="neumorphism"] .pass-period,[data-theme="neumorphism"] .guest-period{color:var(--muted)}
