:root{--ink:#1c1c1e;--brand:#244396;--secondary:#6b7280;--tertiary:#8e8e93;--line:#d1d5db;--fill:#f6f7f9;--card:#fff;--danger:#ff3b30;--ok:#34c759;--font:"SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--title-size:28px;--title-weight:700;--title-track:-.005em;--card-title-size:22px;--section-size:19px;--section-weight:600;--subhead-size:19px;--subhead-weight:600;--subhead-track:.005em;--body-size:15px;--body-track:.022em;--input-size:17px;--label-size:15px;--button-size:17px;--meta-size:15px;--support-size:14px;--ui-size:14px;--ui-weight:600;--ui-track:.02em;--radius:16px;--input-radius:10px;--label-gap:8px;--control-height:52px;--button-height:52px;--page-pad:16px;--card-pad:20px;--card-gap:12px;--field-gap:20px;--space:12px}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;font-family:var(--font);font-size:var(--body-size);letter-spacing:var(--body-track);color:var(--ink);background:var(--fill);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;touch-action:pan-x pan-y;margin:0;font-weight:400;line-height:1.4}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}#app{min-height:100dvh}.shell{width:min(640px,100%);padding:24px var(--page-pad) 40px;padding-left:max(var(--page-pad), env(safe-area-inset-left));padding-right:max(var(--page-pad), 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,.gate-top h1{font-size:var(--title-size);font-weight:var(--title-weight);letter-spacing:var(--title-track);color:var(--ink);margin:0;line-height:1.15}.panel h2{font-size:var(--subhead-size);font-weight:var(--subhead-weight);letter-spacing:var(--subhead-track);margin-bottom:18px}.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{text-align:center;flex-direction:column;align-items:center;margin-bottom:20px;display:flex}.brand-admin .logo{width:min(280px,100%);max-width:280px;height:auto;margin:0 0 16px}.brand-admin .hello{font-size:var(--title-size);font-weight:var(--title-weight);letter-spacing:var(--title-track);color:var(--ink);margin:0;line-height:1.2}.brand-admin #signout{min-height:44px;margin-top:0;padding:8px 12px;font-size:15px;font-weight:500}.text-btn{color:var(--brand);font-size:var(--ui-size);font-weight:var(--ui-weight);letter-spacing:var(--ui-track);background:0 0;border:none;padding:0;text-decoration:none}.text-btn:hover{color:#1a3278}.text-btn:disabled{color:var(--tertiary);cursor:default}.text-btn.danger:hover{color:var(--danger)}.panel{background:var(--card);border-radius:var(--radius);padding:var(--card-pad);margin-top:var(--card-gap)}.panel h2,.panel>.admin-fold>summary{font-size:var(--section-size);font-weight:var(--section-weight);letter-spacing:var(--subhead-track);margin-bottom:16px;line-height:1.25}.shell.is-admin .admin-fold>summary.employees-heading{font-weight:700}.intro{margin:8px 0 14px}.muted{color:var(--secondary);font-size:13px}.empty-note{color:var(--secondary);font-size:var(--ui-size);margin:0;font-weight:400}.app-list{gap:var(--card-gap);flex-direction:column;display:flex}.app-card{background:var(--card);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:16px 20px;text-decoration:none;display:flex}.app-card strong{font-size:var(--card-title-size);letter-spacing:var(--subhead-track);color:var(--ink);text-align:left;font-weight:700;line-height:1.2;display:block}.app-card .muted{margin-top:4px;display:block}.app-card .open{background:var(--brand);color:#fff;border-radius:980px;flex-shrink:0;min-height:36px;padding:8px 16px;font-size:15px;font-weight:600}.app-card:hover .open{background:var(--ok)}.people-cols{grid-template-columns:12rem 14rem minmax(8rem,1fr) 5.5rem 4.5rem;align-items:start;column-gap:16px;width:100%;display:grid}.people-head{font-size:var(--ui-size);font-weight:var(--ui-weight);letter-spacing:var(--ui-track);color:var(--ink);margin:0 0 4px}.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;padding-bottom:8px}.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{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.person-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;display:flex}.mobile-label{display:none}.pending-row{grid-template-columns:9.5rem minmax(0,1fr) auto auto;align-items:center;column-gap:16px;display:grid}.pending-name{min-width:0;font-weight:600}.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,.icon-btn.remove:hover{width:36px;height:36px;color:var(--danger)}.icon-btn.remove svg{width:19px;height:19px}.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{text-align:center}.gate-top .logo{max-width:100%;height:88px}.gate form,.gate .primary-btn{width:100%}.gate .field{margin-bottom:16px}.gate .field:last-of-type{margin-bottom:24px}.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%;overflow:visible}.lock .shackle{transform-origin:32px 22px;transition:transform .45s cubic-bezier(.22,1,.36,1)}.lock.unlocking .shackle{transform:translateY(-10px)rotate(-18deg)}.lock.unlocking{animation:.7s forwards lock-success}.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)}}@keyframes lock-success{0%{opacity:1;transform:scale(1)}65%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(.92)}}input[type=text],input[type=password],input[type=email]{border:1px solid var(--line);border-radius:var(--input-radius);width:100%;height:var(--control-height);background:var(--card);font-size:var(--input-size);outline:none;padding:0 14px;font-weight:400}.gate input,.gate .primary-btn{height:var(--button-height);font-size:var(--button-size);border-radius:980px;padding:0 16px}.primary-btn{background:var(--brand);color:#fff;min-height:var(--button-height);font-size:var(--button-size);font-weight:var(--ui-weight);letter-spacing:var(--ui-track);border:none;border-radius:980px;padding:0 16px}input:focus,.gate input:focus,input.person-name:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent)}input[type=checkbox]{accent-color:var(--brand)}input.person-name{width:100%;height:auto;box-shadow:none;background:0 0;border-color:#0000;padding:4px 6px;font-size:16px;font-weight:600}.primary-btn:hover:not(:disabled){background:var(--ok)}.primary-btn:disabled{color:#8e8e93;opacity:1;cursor:not-allowed;background:#e8e8ed}.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){.people-cols,.pending-row{grid-template-columns:1fr;row-gap:8px}.person-actions{justify-content:flex-start}}@media (width>=768px){:root{--page-pad:24px;--card-pad:24px;--card-gap:16px;--control-height:48px;--button-height:48px}}@media (width>=1024px){:root{--title-size:32px;--section-size:20px;--input-size:16px;--label-size:14px;--button-size:16px;--meta-size:14px;--support-size:13px;--page-pad:48px;--card-pad:24px;--card-gap:16px;--control-height:44px;--button-height:44px}.shell{padding-top:40px}.brand-admin .logo{width:min(240px,100%)}}.person-fold>summary{display:none}.panel>.admin-fold>summary{color:var(--ink);cursor:default;list-style:none;display:block}.panel>.admin-fold>summary::-webkit-details-marker{display:none}@media (width>=768px){.panel>.admin-fold>summary{pointer-events:none}}@media (width<=767px){.shell.is-admin{overflow-x:hidden}.shell.is-admin .admin-fold>summary{pointer-events:none;cursor:default;margin:0 0 16px;font-size:22px;font-weight:600;line-height:1.2;display:block}.people-head{display:none}.people{gap:12px}.people li{border-top:0;padding-top:0}.person-card{background:var(--fill);border-radius:12px;padding:0 14px}.person-fold>summary{cursor:pointer;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;min-height:0;margin:0;padding:12px 0;list-style:none;display:flex}.person-fold>summary::-webkit-details-marker{display:none}.person-fold>summary:after{content:"+";color:var(--brand);flex-shrink:0;font-size:22px;line-height:1;position:static}.person-fold[open]>summary:after{content:"−"}.person-fold-name{font-size:16px;font-weight:600;line-height:1}.person-fold>summary .person-email,.person-access-brief{display:none}.person-card .people-cols{flex-direction:column;align-items:stretch;gap:16px;margin-top:16px;display:flex}.person-card .people-cols>.person-email{color:var(--secondary);font-size:14px}.desk-only{display:none}.mobile-label{display:inline}.person-card .person-name{border:1px solid var(--line);background:var(--card);border-radius:10px;height:48px;margin:0;padding:0 14px;font-size:16px}.person-apps:before{content:"Access";color:var(--secondary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.person-card .check{min-height:44px;font-size:16px}.person-card .person-actions{justify-content:flex-start}.person-card .text-btn,.pending-row .text-btn{min-height:44px;font-size:16px}.person-card .icon-btn.remove,.pending-row .icon-btn.remove{width:53px;height:53px;min-height:53px;margin:4px 0 8px;padding:0}.person-card .icon-btn.remove svg,.pending-row .icon-btn.remove svg{width:23px;height:23px}.pending-row{background:var(--fill);border-radius:12px;margin-top:12px;padding:12px 14px}}
