/* Member-only shell. No marketing-site header, navigation or styles. */
.app-header{height:78px;padding:16px var(--padding);border-bottom:1px solid #edf1ee;gap:16px}
.member-brand{display:flex;align-items:center;gap:14px;min-width:0}
.member-brand img{display:block;width:144px;height:auto}
.member-brand>span{padding-left:14px;border-left:1px solid #dfe6e1;font-size:11px;font-weight:600;color:#697b70;white-space:nowrap}
.app-header .icon-button{flex:none;width:40px;height:40px;border:1px solid #e8eee9;border-radius:13px;color:#284b39}
.app-shell>main{padding-top:22px}
.segments{background:#f1f5f2;border:0;border-radius:13px;padding:4px;gap:4px;margin:0 0 22px}
.segments a{border-radius:10px;padding:10px 6px;font-size:14px;color:#6a7c6f;border:0}
.segments .selected{background:#fff;color:#143f2b;border:0;box-shadow:0 2px 7px #1a39280b}
.scan-intro{margin:0 0 20px}
.scan-intro .eyebrow{display:block;color:#438a63;font-size:10px;letter-spacing:1.4px;margin-bottom:8px}
.scan-intro h1{font-size:27px;line-height:1.28;letter-spacing:-1.1px;color:#102d21}
.scan-intro>p{margin-top:9px;font-size:13px;color:#6b7c71}
.qr-scanner{border:0;padding:0;margin:0}
.qr-scanner .scan-view{height:auto;aspect-ratio:1.07;min-height:260px;border-radius:24px;background:#0c211c;isolation:isolate;box-shadow:0 9px 24px #163d2614}
.qr-scanner .scan-view video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scan-topline{position:absolute;top:18px;left:18px;right:18px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#e2eee7;font-size:11px}
.camera-label{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #ffffff24;background:#0c211c90;border-radius:30px;backdrop-filter:blur(8px)}
.camera-label:before{content:'';width:5px;height:5px;border-radius:50%;background:#97baa5}
[data-state=active] .camera-label:before{background:#b4efb0;box-shadow:0 0 9px #b4efb055}
.scan-topline>span:last-child{font-size:9px;letter-spacing:1px;color:#c1d5c8}
.qr-scanner .scan-guide{inset:23% 17% 20%;border:0;border-radius:12px;box-shadow:0 0 0 999px #04160f42;z-index:1}
.scan-guide>i{position:absolute;width:25px;height:25px;border-color:#c4edb6;border-style:solid;border-width:0}
.scan-guide>i:nth-child(1){left:0;top:0;border-left-width:3px;border-top-width:3px;border-top-left-radius:9px}
.scan-guide>i:nth-child(2){right:0;top:0;border-right-width:3px;border-top-width:3px;border-top-right-radius:9px}
.scan-guide>i:nth-child(3){right:0;bottom:0;border-right-width:3px;border-bottom-width:3px;border-bottom-right-radius:9px}
.scan-guide>i:nth-child(4){left:0;bottom:0;border-left-width:3px;border-bottom-width:3px;border-bottom-left-radius:9px}
.scan-sweep{position:absolute;left:10px;right:10px;height:1px;background:#c4edb677;box-shadow:0 -3px 12px #b1f6bc33;display:none}
[data-state=active] .scan-sweep{display:block;animation:scan-sweep 2.8s ease-in-out infinite}
@keyframes scan-sweep{0%,100%{top:14%;opacity:.2}50%{top:84%;opacity:.8}}
.qr-scanner .scan-placeholder{z-index:2;gap:12px;padding:70px 30px 62px;color:#dce9df;font-size:12px}
.qr-scanner .scan-placeholder .icon{width:42px;height:42px;color:#6e9a81;stroke-width:1}
.camera-controls{position:absolute;z-index:4;bottom:12px;left:16px;right:16px;display:flex;gap:10px;justify-content:center}
.qr-scanner .camera-controls button{border:1px solid #ffffff26;background:#17372dcc;color:#ecf3ee;border-radius:30px;min-height:40px;font-size:11px;padding:8px 14px;font-weight:500;backdrop-filter:blur(8px)}
.camera-controls svg{width:15px;height:15px}
.qr-scanner #scan-status{font-size:12px;line-height:1.55;color:#627469;min-height:0;padding:14px 4px;text-align:center;margin:0}
.qr-scanner #scan-start{width:100%;margin:0 0 14px;border-radius:12px;font-size:14px}
.scan-member{display:flex;align-items:center;gap:10px;border:1px solid #e4ece6;border-radius:14px;padding:12px 14px;margin:2px 0 14px}
.scan-member-icon{width:34px;height:34px;background:#edf5ef;color:#4f7c5c;display:grid;place-items:center;border-radius:11px;flex:none}
.scan-member-icon .icon{width:18px;height:18px}
.scan-member>div{min-width:0;flex:1}.scan-member small{display:block;color:#78867d;font-size:10px}.scan-member strong{display:block;color:#234a35;font-size:13px;overflow-wrap:anywhere}
.scan-member>span:last-child{background:#eff6ef;border-radius:20px;padding:4px 8px;color:#477854;font-size:10px;white-space:nowrap}
.scan-alternatives{display:flex;justify-content:center;align-items:center;gap:18px;margin:2px 0}
.qr-scanner .scan-alternatives button,.qr-scanner .scan-alternatives a{background:transparent;border:0;border-radius:8px;padding:8px 0;color:#6e7e74;font-size:12px;font-weight:500;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.scan-alternatives svg{width:16px;height:16px}.scan-alternatives>span{width:1px;height:13px;background:#e1e8e3}
.qr-scanner details{margin:4px 0 0;text-align:center;color:#849086;font-size:11px}
.qr-scanner summary{min-height:32px;cursor:pointer;padding:6px}.qr-scanner details form{text-align:left;margin-top:10px}
.qr-scanner .scan-privacy{text-align:center;font-size:10px;color:#89968d;margin:12px 0 0;line-height:1.6}
.qr-scanner #scan-result{background:#eff7f0;padding:16px;border-radius:14px;margin:0 0 16px}
.qr-scanner #scan-result h2{font-size:17px}.qr-scanner #scan-result p{font-size:12px}.qr-scanner #scan-result .button{font-size:13px;min-height:42px}
.page-scan .app-shell>main{padding-top:16px;padding-bottom:calc(98px + env(safe-area-inset-bottom))}
.page-scan .segments{margin-bottom:20px}
@media(max-width:360px){.member-brand img{width:125px}.member-brand{gap:9px}.member-brand>span{padding-left:9px;font-size:10px}.scan-intro h1{font-size:24px}.scan-intro{margin-bottom:15px}.qr-scanner .scan-view{min-height:230px}.scan-topline>span:last-child{display:none}}
@media(max-height:760px) and (max-width:600px){.page-scan .app-header{height:68px}.page-scan .segments{margin-bottom:15px}.scan-intro .eyebrow{display:none}.scan-intro{margin-bottom:14px}.qr-scanner .scan-view{aspect-ratio:1.17}.qr-scanner #scan-status{padding:10px 4px}.scan-member{padding:9px 12px;margin-bottom:8px}}
@media(min-width:800px){.app-shell{margin:24px auto;min-height:calc(100dvh - 24px);border-radius:22px 22px 0 0;overflow:hidden}.app-header{height:82px}.qr-scanner .scan-view{aspect-ratio:1.16}.scan-intro h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){.scan-sweep{animation:none!important;top:50%}}
