:root{--color-bg:#f5f6f8;--color-surface:#fff;--color-text:#111827;--color-text-muted:#4b5563;--color-border:#e5e7eb;--color-divider:#eef0f3;--color-accent:#0f766e;--color-accent-hover:#115e59;--color-accent-soft:#e6f4f1;--color-danger:#b91c1c;--color-danger-soft:#fef2f2;--radius-card:16px;--radius-control:10px;--space-page:16px;--nav-height:76px;--font-sans:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.45}#root{min-height:100dvh}a{color:var(--color-accent)}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.page{width:100%;max-width:560px;padding:24px var(--space-page) 24px;flex-direction:column;flex-grow:1;gap:16px;margin:0 auto;display:flex}.page--centered{justify-content:center;align-items:center;min-height:100dvh}.page--with-nav{padding-bottom:calc(var(--nav-height) + 24px + env(safe-area-inset-bottom))}.page-header{flex-direction:column;gap:4px;padding:0 4px;display:flex}.page-header__row{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-header__eyebrow{color:var(--color-text-muted);margin:0;font-size:13px;font-weight:500}.page-header__title{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.page-header__subtitle{color:var(--color-text-muted);min-height:1.45em;margin:0;font-size:15px}.card{background:var(--color-surface);border-radius:var(--radius-card);padding:16px}.muted{color:var(--color-text-muted);margin:0 4px}.button{border-radius:var(--radius-control);min-height:44px;font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.button--primary{background:var(--color-accent);color:#fff}.button--primary:hover{background:var(--color-accent-hover);color:#fff}.button--primary:disabled{opacity:.6;cursor:progress}.button--secondary{background:var(--color-surface);color:var(--color-accent);border:1.5px solid var(--color-accent)}.button--block{width:100%}.link-button{min-height:44px;font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:14px;font-weight:500}.form{flex-direction:column;gap:20px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:14px;font-weight:600}.field__input{border-radius:var(--radius-control);border:1.5px solid var(--color-border);background:var(--color-surface);min-height:48px;font:inherit;color:inherit;width:100%;padding:0 12px}.field__input:focus{border-color:var(--color-accent);outline:none}.field__input[aria-invalid=true]{border-color:var(--color-danger)}.field__hint{color:var(--color-text-muted);margin:0;font-size:13px}.field__error{color:var(--color-danger);margin:0;font-size:13px;font-weight:500}.alert{border-radius:var(--radius-control);background:var(--color-danger-soft);color:var(--color-danger);flex-direction:column;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-size:14px;display:flex}.alert p{margin:0}.sign-in,.message{text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:360px;display:flex}.sign-in__logo{border-radius:14px}.sign-in__title,.message__title{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.sign-in__lede,.message__body{color:var(--color-text-muted);margin:0}.sign-in__hint{color:var(--color-text-muted);margin:0;font-size:13px}.empty-state{text-align:center;color:var(--color-accent);flex-direction:column;align-items:center;gap:8px;padding:40px 24px;display:flex}.empty-state__title{color:var(--color-text);margin:8px 0 0;font-size:18px;font-weight:600}.empty-state__body{max-width:300px;color:var(--color-text-muted);margin:0;font-size:14px}.bottom-nav{background:var(--color-surface);border-top:1px solid var(--color-border);padding:6px 8px calc(10px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.bottom-nav__item{min-height:48px;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.bottom-nav__item.active{color:var(--color-accent);font-weight:600}.bottom-nav__item--disabled{opacity:.55;cursor:not-allowed}
