.app-access { min-height: 100vh; display: flex; flex-direction: column; }
.app-access-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem clamp(1rem,4vw,3rem); border-bottom:1px solid var(--fi-stroke); }
.app-access-head img { display:block; height:42px; width:auto; max-width:min(240px,58vw); object-fit:contain; }
.app-access-head .btn { min-height:40px; }
.app-access-main { width:min(1060px,calc(100% - 2rem)); margin:auto; padding:clamp(2rem,7vw,5rem) 0; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr); gap:1rem; align-items:stretch; }
.app-access-card { padding:clamp(1.4rem,4vw,2.6rem); border:1px solid var(--fi-stroke); border-radius:var(--fi-radius-lg); background:linear-gradient(145deg,rgba(139,92,246,.11),transparent 44%),var(--fi-surface); box-shadow:var(--fi-shadow); }
.app-kicker { color:var(--fi-lime); font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin:0 0 .5rem; }
.app-access-card h1 { font-family:var(--fi-font-display); font-size:clamp(2rem,5vw,3.5rem); letter-spacing:-.04em; line-height:.98; margin:0; }
.app-access-card h1 em { color:var(--fi-lime); font-style:normal; }
.app-access-card > p { color:var(--fi-muted); line-height:1.6; max-width:42rem; margin:1rem 0 1.4rem; }
#eventAccessForm { display:grid; gap:.45rem; }
#eventAccessForm label { color:var(--fi-white); font-size:.84rem; font-weight:600; }
#eventAccessForm .btn { margin-top:.3rem; width:100%; min-height:52px; }
.app-access-help { margin-top:1.2rem; padding-top:1.1rem; border-top:1px solid var(--fi-stroke); color:var(--fi-muted); font-size:.85rem; line-height:1.55; }
.app-access-help b { color:var(--fi-white); }
.app-access-help p { margin:.3rem 0 .45rem; }
.app-access-help a, footer a { color:var(--fi-lime); font-weight:700; }
.app-access-features { padding:1.5rem; border:1px solid var(--fi-stroke); border-radius:var(--fi-radius); background:var(--fi-surface); }
.app-access-features .app-kicker { margin-bottom:.25rem; }
.app-access-features h2 { margin:0 0 1rem; font-family:var(--fi-font-display); font-size:1.3rem; letter-spacing:-.035em; }
.app-module-grid { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.app-module-grid article { min-height:88px; padding:.65rem; border:1px solid var(--fi-stroke); border-radius:12px; background:#0d0f0f; }
.app-module-grid i { display:block; color:var(--fi-lime); font-style:normal; font-size:.55rem; font-weight:800; letter-spacing:.12em; }
.app-module-grid b { display:block; margin:.28rem 0 .1rem; font-family:var(--fi-font-display); font-size:.78rem; }
.app-module-grid span { display:block; color:var(--fi-muted); font-size:.62rem; line-height:1.35; }
.app-module-grid .app-module-feat { border-color: color-mix(in srgb, var(--fi-lime) 55%, transparent); background: color-mix(in srgb, var(--fi-lime) 6%, #0d0f0f); }
.app-module-grid .app-module-feat i { color:#fff; }
.app-module-note { color:var(--fi-muted); font-size:.73rem; line-height:1.45; margin:1rem 0 0; }
.app-access footer { padding:1.2rem; border-top:1px solid var(--fi-stroke); color:var(--fi-muted); font-size:.82rem; text-align:center; }
@media (max-width:720px) { .app-access-main { grid-template-columns:1fr; } .app-module-grid { grid-template-columns:repeat(3,1fr); } .app-module-grid article { min-height:80px; padding:.55rem; } }
@media (max-width:460px) { .app-module-grid { grid-template-columns:1fr 1fr; } }
