:root{--ink:#1d1d1f;--secondary:#6e6e73;--tertiary:#86868b;--line:#d2d2d7;--fill:#f5f5f7;--card:#fff;--danger:#ff3b30;--ok:#34c759;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;--radius:12px;--label-gap:6px;--control-height:32px;--space:12px}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;font-family:var(--font);color:var(--ink);background:var(--fill);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;touch-action:pan-x pan-y;margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}#app{min-height:100dvh}.shell{width:min(720px,100%);padding:24px 16px 40px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(40px, env(safe-area-inset-bottom));margin:0 auto}.shell.is-admin{width:min(960px,100%)}.brand{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.brand h1,.panel h2{letter-spacing:-.03em;margin:0;font-size:28px;font-weight:700;line-height:1.1}.panel h2{margin-bottom:18px;font-size:20px}.hello{color:var(--secondary);margin:6px 0 0;font-size:14px}.logo{object-fit:contain;width:auto;max-width:220px;height:56px;display:block}.brand-right{flex-direction:column;align-items:flex-end;gap:14px;display:flex}.brand-admin{grid-template-columns:1fr auto;grid-template-areas:"title logo""title signout";align-items:center;gap:14px 16px;display:grid}.brand-admin .hello{letter-spacing:-.03em;color:var(--ink);grid-area:title;margin:0;font-size:28px;font-weight:700;line-height:1.1}.brand-admin .brand-right{display:contents}.brand-admin .logo{grid-area:logo;justify-self:end}.brand-admin #signout{grid-area:signout;justify-self:end}.shell.is-admin .app-card strong{letter-spacing:-.03em;font-size:20px;font-weight:700}.text-btn{color:var(--secondary);background:0 0;border:none;padding:0;font-size:13px;font-weight:500;text-decoration:none}.text-btn:hover{color:var(--ink)}.text-btn.danger:hover{color:var(--danger)}.panel{background:var(--card);border-radius:var(--radius);margin-top:var(--space);padding:16px}.intro{margin:8px 0 14px}.muted{color:var(--secondary);font-size:13px}.empty-note{color:var(--secondary);margin:0;font-size:14px}.app-list{gap:var(--space);flex-direction:column;display:flex}.app-card{background:var(--card);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;padding:16px;text-decoration:none;display:flex}.app-card strong{letter-spacing:-.02em;font-size:17px;display:block}.app-card .muted{margin-top:4px;display:block}.app-card .open{background:var(--ink);color:#fff;border-radius:980px;flex-shrink:0;padding:8px 14px;font-size:13px;font-weight:600}.app-card:hover .open{background:var(--ok)}.people-cols{grid-template-columns:9.5rem 14rem minmax(8rem,1fr) 5.5rem 4.5rem;align-items:center;column-gap:16px;width:100%;display:grid}.people-head{letter-spacing:-.02em;margin:0 0 4px;font-size:13px;font-weight:600}.people-head span:nth-child(4),.people-head span:nth-child(5){text-align:center}.people{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.people li{border-top:1px solid var(--line);padding-top:14px}.people li:first-child{border-top:none;padding-top:0}.person-name{background:0 0;border:1px solid #0000;border-radius:8px;width:100%;min-width:0;margin-left:-6px;padding:4px 6px;font-weight:600}.person-email{min-width:0;color:var(--secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:400;overflow:hidden}.person-name:hover,.person-name:focus{border-color:var(--line);background:var(--card);outline:none}.status{font-size:12px;font-weight:600}.status.pending{color:#9a6700}.status.active{color:#1b7a3f}.status.rejected{color:var(--danger)}.person-apps,.person-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px 16px;display:flex}.person-actions{justify-content:center}.people .icon-btn.remove{justify-self:center}.icon-btn{width:30px;height:30px;color:var(--tertiary);background:0 0;border:none;border-radius:8px;place-items:center;padding:0;display:grid}.icon-btn svg{width:16px;height:16px}.icon-btn.remove:hover{color:var(--danger);background:#fff1f0}.check{align-items:center;gap:6px;font-size:13px;display:flex}.gate-shell{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));place-items:center;display:grid}.gate{text-align:center;flex-direction:column;align-items:center;width:min(360px,100%);display:flex}.gate-top{flex-direction:column;align-items:center;gap:22px;width:100%;margin-bottom:28px;display:flex}.gate-top h1{letter-spacing:-.03em;margin:0;font-size:28px;font-weight:700}.gate-top .logo{max-width:100%;height:88px}.gate form,.gate .primary-btn{width:100%}.gate .field{margin-bottom:12px}.gate-switch{width:100%;margin-top:12px;display:block}.waiting-copy{color:var(--secondary);margin:0 0 18px;font-size:14px;line-height:1.4}.lock{width:64.8px;height:64.8px;color:var(--ink);margin:0 auto 20px}.lock svg{width:100%;height:100%}.lock.shake{animation:.45s lock-shake}@keyframes lock-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(4px)}}input[type=text],input[type=password],input[type=email]{border:1px solid var(--line);width:100%;height:var(--control-height);background:var(--card);border-radius:10px;outline:none;padding:0 10px;font-size:13px}input.person-name{background:0 0;border-color:#0000;width:100%;padding:4px 6px;font-weight:600}.gate input:focus,input.person-name:focus{border-color:var(--ink)}.primary-btn{background:var(--ink);color:#fff;border:none;border-radius:980px;padding:12px 16px;font-size:15px;font-weight:600}.primary-btn:hover:not(:disabled){background:var(--ok)}.primary-btn:disabled{opacity:.45;cursor:not-allowed}.success{margin:0 0 var(--space);padding:var(--space) 14px;color:#1b7a3f;background:#f0faf4;border:1px solid #c6ebd4;border-radius:12px;font-size:13px}.gate .success,.gate .error{text-align:center;background:0 0;border:none;margin-top:12px;padding:0}.error{color:var(--danger);margin:10px 0 0;font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.brand-admin{grid-template-columns:1fr;grid-template-areas:"logo""title""signout";place-items:center;row-gap:22px;margin-bottom:24px;display:grid}.brand-admin .logo{grid-area:logo;justify-self:center;max-width:100%;height:88px}.brand-admin .hello{text-align:center;grid-area:title;justify-self:center;margin-top:0}.brand-admin #signout{grid-area:signout;justify-self:center}.people-cols{grid-template-columns:1fr;row-gap:8px}.person-actions{justify-content:flex-start}}
