:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg:#0f171c;--panel:#152229;--panel-2:#1b2b33;--panel-3:#20323b;--border:#2e434e;--border-strong:#42606e;--text:#f3f7f8;--muted:#7d939e;--accent:#4ea6c9;--accent-dark:#173744;--good:#5a9e77;--warn:#d7aa5d;--danger:#c96670;--danger-bg:#351f25;--radius:14px}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0;background:var(--bg);color:var(--text)}body{min-height:100vh;-webkit-font-smoothing:antialiased}button,input,select,textarea,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}.nl-auth{min-height:100vh;display:grid;place-items:center;padding:18px}.nl-auth-card{width:min(100%,390px);padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--panel)}.nl-auth-mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:12px;background:var(--accent-dark);color:#e9f8fd;font-size:13px;font-weight:950}.nl-auth-card h1{margin:16px 0 5px;font-size:23px}.nl-auth-card p{margin:0 0 16px;color:var(--muted);font-size:11px}.nl-auth-form{display:grid;gap:9px}.nl-auth-form input{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--border);border-radius:11px;background:#101a1f;color:var(--text);font-size:16px}.nl-auth-form button,.nl-auth-secondary{min-height:48px;border:1px solid var(--border-strong);border-radius:11px;background:#1c5369;color:#f5fbfd;font-size:11px;font-weight:900;cursor:pointer}.nl-auth-secondary{width:100%;margin-top:9px;background:transparent;color:var(--muted)}.nl-auth-divider{margin:18px 0;color:var(--muted);font-size:9px;font-weight:900;text-align:center;letter-spacing:.12em}.nl-auth-error{min-height:18px;margin-top:10px;color:#e6a0a7;font-size:10px;line-height:1.4}.nl-auth-email{margin:-4px 0 14px;padding:10px 11px;border:1px solid var(--border);border-radius:10px;background:#101a1f;color:var(--text);font-size:12px;font-weight:800;overflow-wrap:anywhere}.nl-auth-note{line-height:1.55}.nl-mobile-home{min-height:100vh;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 40%,#18303a,#0f171c 48%,#0c1216)}.nl-hold-button{position:relative;width:min(76vw,330px);aspect-ratio:1;overflow:hidden;display:grid;place-items:center;align-content:center;gap:12px;padding:20px;border:2px solid #4b6d7c;border-radius:50%;background:linear-gradient(180deg,#1b3541,#142832);color:var(--text);box-shadow:inset 0 1px #ffffff0d,0 24px 70px #0000004d;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}.nl-hold-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:0%;background:#4ea6c93b;pointer-events:none}.nl-hold-button.holding .nl-hold-fill{animation:nlHold .7s linear forwards}@keyframes nlHold{0%{width:0%}to{width:100%}}.nl-hold-dot{position:relative;z-index:1;width:68px;height:68px;border:2px solid #5f899b;border-radius:50%;background:#0e1d24;box-shadow:inset 0 0 0 14px #1f566d}.nl-hold-button strong{position:relative;z-index:1;font-size:28px;letter-spacing:.12em}.nl-mobile-step,.nl-mobile-saved{min-height:100vh;width:min(100%,560px);margin:0 auto;display:flex;flex-direction:column;padding:max(18px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom))}.nl-mobile-stamp,.nl-mobile-saved section{display:grid;justify-items:center;padding:22px 12px;text-align:center}.nl-mobile-stamp span,.nl-mobile-saved span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.14em}.nl-mobile-stamp strong,.nl-mobile-saved strong{margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(37px,12vw,60px);line-height:1}.nl-mobile-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.nl-mobile-type{min-height:74px;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--text);font-size:11px;font-weight:900;letter-spacing:.06em;cursor:pointer}.nl-mobile-type.angel{grid-column:1 / -1;min-height:92px;border-color:#80515a;background:var(--danger-bg);color:#ffe4e7;font-size:17px}.nl-mobile-angel-grid{display:grid;gap:10px;margin-top:10px}.nl-mobile-angel{min-height:88px;border:1px solid #80515a;border-radius:15px;background:var(--danger-bg);color:#ffe4e7;font-size:17px;font-weight:950;letter-spacing:.08em;cursor:pointer}.nl-mobile-photo,.nl-mobile-details summary,.nl-mobile-detail-fields button,.nl-mobile-done,.nl-mobile-back,.nl-mobile-saved button{width:100%;min-height:58px;border:1px solid var(--border);border-radius:13px;background:var(--panel);color:var(--text);font-size:11px;font-weight:900;letter-spacing:.08em;cursor:pointer}.nl-mobile-photo{min-height:82px;margin-top:15px;border-style:dashed;border-color:#456878;background:#152a34}.nl-mobile-details{margin-top:10px}.nl-mobile-details summary{display:grid;place-items:center;list-style:none}.nl-mobile-details summary::-webkit-details-marker{display:none}.nl-mobile-detail-fields{display:grid;gap:8px;padding-top:9px}.nl-mobile-detail-fields input,.nl-mobile-detail-fields textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:#101a1f;color:var(--text);font-size:16px}.nl-mobile-done{margin-top:auto;border-color:#385848;background:#172a21;color:#dff4e7}.nl-mobile-back{margin-top:10px;background:transparent;color:var(--muted)}.nl-mobile-error{margin-top:12px;padding:10px;border:1px solid #6a4148;border-radius:10px;background:#2c1b20;color:#f0b9bf;font-size:10px;line-height:1.4;text-align:center}.nl-mobile-saved{justify-content:center;gap:12px}.nl-mobile-saved section{border:1px solid #385848;border-radius:18px;background:#16261f}@media(max-width:390px){.nl-hold-button{width:min(82vw,310px)}}.nl-admin{width:min(1240px,calc(100% - 28px));margin:0 auto;padding:16px 0 42px}.nl-admin-topbar{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.nl-admin-topbar>div:first-child span{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.12em}.nl-admin-topbar>div:first-child strong{display:block;margin-top:2px;font-size:15px}.nl-admin-top-actions{display:flex;gap:7px}.nl-admin-top-actions a,.nl-admin-top-actions button{min-height:36px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--muted);text-decoration:none;font-size:9px;font-weight:850;cursor:pointer}.nl-admin-nav{display:flex;gap:5px;overflow-x:auto;padding:10px 0}.nl-admin-nav button{min-height:36px;flex:0 0 auto;padding:0 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-size:9px;font-weight:850;cursor:pointer}.nl-admin-nav button.active{border-color:var(--border);background:var(--panel);color:var(--text)}.nl-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:6px}.nl-admin-stats article{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.nl-admin-stats span,.nl-admin-panel-head span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.11em}.nl-admin-stats strong{display:block;margin-top:5px;font-size:24px}.nl-admin-panel{margin-top:12px;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:var(--panel)}.nl-admin-panel-head{padding:11px 13px;border-bottom:1px solid var(--border)}.nl-admin-panel-head h2{margin:2px 0 0;font-size:14px}.nl-admin-event-list{display:grid}.nl-admin-event-row{width:100%;display:grid;grid-template-columns:160px minmax(170px,1fr) 140px 110px 70px;gap:12px;align-items:center;padding:10px 13px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer}.nl-admin-event-row:last-child{border-bottom:0}.nl-admin-event-row:hover{background:var(--panel-2)}.nl-admin-event-time,.nl-admin-event-staff,.nl-admin-event-photo-count{color:var(--muted);font-size:9px}.nl-admin-event-kind{font-size:10px;font-weight:900;text-transform:uppercase}.nl-admin-event-kind.angel{color:#efb6bd}.nl-admin-event-review{color:var(--warn);font-size:8px;font-weight:900;text-transform:uppercase}.nl-admin-event-review.reviewed{color:var(--good)}.nl-admin-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px}.nl-admin-form-panel{align-self:start}.nl-admin-form-body,.nl-review-form section{display:grid;gap:9px;padding:13px}.nl-admin-form-body label,.nl-review-form label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:800}.nl-admin-form-body input,.nl-admin-form-body select,.nl-admin-form-body textarea,.nl-review-form input,.nl-review-form select,.nl-review-form textarea,.nl-setting-row input{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:#101a1f;color:var(--text);font-size:13px}.nl-admin-form-body button,.nl-save-review,.nl-setting-row button{min-height:40px;border:1px solid var(--border-strong);border-radius:9px;background:#1c5369;color:#f3fafc;font-size:9px;font-weight:900;cursor:pointer}.nl-patron-list,.nl-ban-list,.nl-staff-list,.nl-settings-list{display:grid}.nl-patron-row,.nl-ban-row,.nl-staff-row,.nl-setting-row{padding:12px 13px;border-bottom:1px solid var(--border)}.nl-patron-row:last-child,.nl-ban-row:last-child,.nl-staff-row:last-child,.nl-setting-row:last-child{border-bottom:0}.nl-patron-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.nl-patron-row strong,.nl-ban-row strong,.nl-staff-row strong{font-size:11px}.nl-patron-row span,.nl-ban-row span,.nl-staff-row span,.nl-ban-row small{color:var(--muted);font-size:8px}.nl-patron-row p,.nl-ban-row p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:9px}.nl-status-chip{align-self:start;padding:3px 7px;border:1px solid var(--border);border-radius:999px;text-transform:uppercase}.nl-staff-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.nl-invite-list{display:grid;gap:7px;margin-top:4px}.nl-invite-list div{display:flex;justify-content:space-between;gap:10px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#101a1f}.nl-invite-list strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.nl-invite-list span{color:var(--muted);font-size:8px}.nl-setting-row{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.nl-setting-row button{padding:0 12px}.nl-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008a;z-index:30}.nl-event-drawer{position:fixed;top:0;right:0;bottom:0;z-index:40;width:min(720px,96vw);overflow-y:auto;border-left:1px solid var(--border);background:#10191e}.nl-event-drawer>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--border);background:#10191e}.nl-event-drawer>header span{color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.nl-event-drawer>header h2{margin:2px 0 0;font-size:15px}.nl-event-drawer>header button{width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);font-size:20px;cursor:pointer}.nl-drawer-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:13px}.nl-drawer-summary div{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.nl-drawer-summary span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.nl-drawer-summary strong{display:block;margin-top:4px;font-size:10px}.nl-mobile-capture-summary{margin:0 13px 12px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}.nl-mobile-capture-summary h3,.nl-review-form h3{margin:0 0 8px;font-size:11px}.nl-mobile-capture-summary p{margin:5px 0;color:var(--muted);font-size:9px}.nl-admin-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 13px 13px}.nl-admin-photo-grid figure{margin:0}.nl-admin-photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:10px}.nl-admin-photo-grid figcaption{margin-top:3px;color:var(--muted);font-size:8px}.nl-review-form{border-top:1px solid var(--border)}.nl-review-form section{border-bottom:1px solid var(--border)}.nl-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.nl-check{display:flex!important;align-items:center;min-height:38px;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.nl-check input{width:auto}.nl-save-review{width:calc(100% - 26px);margin:13px}.nl-admin-empty,.nl-admin-loading,.nl-admin-error,.nl-admin-readonly{padding:22px;color:var(--muted);font-size:10px;text-align:center}.nl-admin-error{margin-top:8px;border:1px solid #6a4148;border-radius:9px;background:#2c1b20;color:#f0b9bf}@media(max-width:820px){.nl-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.nl-admin-event-row{grid-template-columns:120px minmax(130px,1fr) 90px}.nl-admin-event-staff,.nl-admin-event-photo-count{display:none}.nl-admin-split,.nl-setting-row{grid-template-columns:1fr}.nl-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.nl-admin{width:min(100% - 16px,1240px)}.nl-admin-topbar{align-items:flex-start}.nl-admin-top-actions{flex-direction:column}.nl-admin-event-row{grid-template-columns:100px minmax(0,1fr);gap:8px}.nl-admin-event-review{display:none}.nl-admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nl-check-grid{grid-template-columns:1fr}}.nl-event-timeline{display:grid;gap:6px;padding:13px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.nl-event-timeline h3{margin:0 0 4px;font-size:11px}.nl-event-timeline div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid rgba(46,67,78,.55)}.nl-event-timeline div:last-child{border-bottom:0}.nl-event-timeline time{color:var(--muted);font-size:8px}.nl-event-timeline strong{font-size:9px;text-transform:uppercase}.nl-audit-list{display:grid}.nl-audit-row{display:grid;grid-template-columns:170px minmax(140px,1fr) 110px 150px;gap:12px;align-items:center;padding:10px 13px;border-bottom:1px solid var(--border)}.nl-audit-row:last-child{border-bottom:0}.nl-audit-row span{color:var(--muted);font-size:8px}.nl-audit-row strong{font-size:9px;text-transform:uppercase}@media(max-width:700px){.nl-audit-row{grid-template-columns:120px minmax(0,1fr)}.nl-audit-row span:nth-child(3),.nl-audit-row span:nth-child(4){display:none}.nl-event-timeline div{grid-template-columns:110px minmax(0,1fr)}}.nl-enrollment-link{margin-top:4px;padding:10px;border:1px solid var(--border);border-radius:9px;background:#101a1f}.nl-enrollment-link strong{display:block;margin-bottom:6px;color:var(--muted);font-size:8px;text-transform:uppercase}.nl-enrollment-link code{display:block;overflow-wrap:anywhere;color:#b9dce9;font-size:9px;line-height:1.45}
