:root{--ink:#0a1020;--ink-soft:#3a4560;--muted:#5a6780;--border:#e3e9f2;--border-strong:#c3cddd;--bg:#f4f7fb;--card:#fff;--green:#10d9a0;--lime:#b6f23a;--accent:#067a58;--gradient:linear-gradient(135deg, var(--green), var(--lime));--error:#b42318;--radius:16px;--touch:48px;--tabs-height:72px;color:var(--ink);background:var(--bg);letter-spacing:-.012em;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}.gate{max-width:480px;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 28px max(40px, env(safe-area-inset-bottom));flex-direction:column;gap:24px;margin:0 auto;display:flex}.gate--signin{background:radial-gradient(130% 55% at 50% 0%, #ddf8ee 0%, var(--bg) 62%)}.gate--center{justify-content:center}.gate__brand{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.gate__icon{border-radius:27px}.gate__icon--small{border-radius:16px;width:72px;height:72px}.gate__wordmark{margin:0;line-height:0}.gate__wordmark img{max-width:100%;height:auto;display:block}.gate__tagline{color:var(--muted);margin:-12px 0 0;font-size:1.0625rem;line-height:1.4}.gate__title{margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.gate__text{color:var(--muted);overflow-wrap:anywhere;margin:0}.gate__text strong{color:var(--ink)}.gate__actions{flex-direction:column;gap:14px;display:flex}.gate__note{color:var(--muted);text-align:center;margin:0;font-size:.875rem;line-height:1.45}.field__label{font-weight:600}.field__input{min-height:var(--touch);border:1px solid var(--border-strong);background:var(--card);color:var(--ink);font:inherit;border-radius:12px;padding:0 16px;font-size:1rem}.field__input:focus-visible{outline:3px solid var(--green);outline-offset:1px;border-color:var(--accent)}.field__input[aria-invalid=true]{border-color:var(--error)}.status{background:var(--card);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;display:flex;box-shadow:0 1px 3px #0a102014}.status__title{margin:0;font-weight:700}.status__detail{color:var(--ink-soft);overflow-wrap:anywhere;margin:0}.status--error .status__title{color:var(--error)}.status__spinner{border:3px solid #0a10201f;border-top-color:var(--green);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.status__spinner{animation:none}}.button{min-height:var(--touch);min-width:var(--touch);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border:1px solid #0a102026;border-radius:999px;padding:0 24px;font-weight:700}.button--primary{background:var(--ink);color:#fff;border-color:var(--ink)}.button:disabled{opacity:.6;cursor:default}.button:focus-visible{outline:3px solid var(--green);outline-offset:2px}.button--google{justify-content:center;align-items:center;gap:12px;min-height:56px;font-size:1.0625rem;font-weight:600;display:flex}.button__g{width:26px;height:26px;color:var(--ink);background:#fff;border-radius:13px;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.shell{min-height:100dvh;padding-bottom:calc(var(--tabs-height) + env(safe-area-inset-bottom));flex-direction:column;display:flex}.shell__header{width:100%;max-width:480px;padding:max(16px, env(safe-area-inset-top)) 20px 0;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.shell__title{margin:0;font-size:1.75rem;font-weight:700;line-height:1.1}.shell__title:focus{outline:none}.shell__settings{width:var(--touch);height:var(--touch);border-radius:12px;justify-content:center;align-items:center;display:flex}.shell__settings img{border-radius:8px;display:block}.shell__settings:focus-visible{outline:3px solid var(--green);outline-offset:2px}.shell__settings[aria-current=page] img{box-shadow:0 0 0 3px var(--green)}.shell__main{flex:1;width:100%;max-width:480px;margin:0 auto;padding:20px}.placeholder{flex-direction:column;gap:16px;display:flex}.tabs{height:calc(var(--tabs-height) + env(safe-area-inset-bottom));padding:8px 8px env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--border);justify-content:space-around;align-items:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs__tab{min-height:56px;color:var(--muted);border-radius:12px;flex-direction:column;flex:0 110px;justify-content:center;align-items:center;gap:2px;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.tabs__tab[aria-current=page]{color:var(--accent);font-weight:700}.tabs__tab:focus-visible{outline:3px solid var(--green);outline-offset:-3px}.settings{flex-direction:column;gap:16px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.card--center{text-align:center;align-items:center}.card__title{margin:0;font-size:1.0625rem;font-weight:700}.card__text{color:var(--muted);overflow-wrap:anywhere;margin:0}.card__ok{color:var(--accent);overflow-wrap:anywhere;margin:0;font-weight:600}.card__link{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:.875rem}.field__row{gap:8px;display:flex}.field__row .field__input{flex:1;min-width:0}.field__hint,.field__error{color:var(--muted);margin:0;font-size:.875rem}.field__error{color:var(--error);font-weight:600}.add-email{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:4px;display:flex}.add-email .field__label{padding-top:8px}.people{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.people__row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.people__row:last-child{border-bottom:0}.people__who{flex-direction:column;min-width:0;display:flex}.people__email{overflow-wrap:anywhere;font-weight:600}.people__state{color:var(--muted);font-size:.875rem}.button--small{flex-shrink:0;padding:0 16px}.button--danger{background:var(--error);color:#fff;border-color:var(--error)}.qr{border-radius:8px;display:block}.qr--loading{justify-content:center;align-items:center;display:flex}.settings__version{text-align:center;color:var(--muted);margin:0;font-size:.875rem}.dialog__backdrop{z-index:10;background:#0a102073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--card);border-radius:var(--radius);flex-direction:column;gap:12px;width:100%;max-width:400px;padding:20px;display:flex;box-shadow:0 12px 32px #0a102040}.dialog__title{overflow-wrap:anywhere;margin:0;font-size:1.125rem}.dialog__body p{color:var(--ink-soft);margin:0}.dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}
