:root{--color-bg-page: #f3f4f6;--color-bg-surface: #ffffff;--color-bg-brand: #8200db;--color-bg-brand-hover: #6b00b5;--color-bg-brand-soft: #faf5ff;--color-border: #e5e7eb;--color-border-brand: #e9d4ff;--color-text-heading: #18181b;--color-text-body: #52525c;--color-text-subtle: #71717b;--color-text-brand: #59168b;color:var(--color-text-heading);background:var(--color-bg-page);font-family:Public Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input{font:inherit}button:focus-visible{outline:3px solid rgba(130,0,219,.3);outline-offset:2px}.app-page{display:flex;min-height:100vh;flex-direction:column;background:var(--color-bg-page)}.env-banner{display:flex;min-height:24px;align-items:center;justify-content:center;padding:2px 12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.06em}.env-banner--local{background:#4f46e5}.env-banner--dev{background:#059669}.env-banner--staging{background:#d97706}.env-banner--demo{background:#2563eb}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-surface)}.app-header__inner{display:flex;min-height:80px;max-width:1280px;align-items:center;justify-content:space-between;gap:24px;margin:0 auto;padding:20px 24px}.app-brand,.user-summary{display:flex;align-items:center}.app-brand{gap:12px}.app-brand__logo{display:block;flex:none;object-fit:contain}.app-brand__name{color:var(--color-text-heading);font-size:18px;font-weight:600}.user-summary{min-width:0;gap:12px}.user-summary__avatar{display:grid;width:32px;height:32px;flex:none;place-items:center;border:1px solid var(--color-border-brand);border-radius:50%;background:var(--color-bg-brand-soft);color:var(--color-text-brand);font-size:14px;font-weight:600}.user-summary__name{max-width:280px;overflow:hidden;color:var(--color-text-body);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.auth-main{display:grid;flex:1;place-items:center;padding:32px 24px}.auth-card{display:flex;width:100%;max-width:448px;flex-direction:column;align-items:stretch;gap:16px;padding:32px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-surface)}.auth-card__title{margin:0;color:var(--color-text-heading);font-size:30px;font-weight:400;line-height:1.2}.auth-card__subtitle{margin:0 0 8px;color:var(--color-text-subtle);font-size:14px;line-height:1.5}.primary-button,.secondary-button{min-height:44px;border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.primary-button{width:100%;border:1px solid var(--color-bg-brand);background:var(--color-bg-brand);color:#fff}.primary-button:hover{border-color:var(--color-bg-brand-hover);background:var(--color-bg-brand-hover)}.secondary-button{padding:0 16px;border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-heading)}.secondary-button:hover{border-color:var(--color-border-brand);background:var(--color-bg-brand-soft)}.home{flex:1;min-height:0}@media(max-width:640px){.app-header__inner{min-height:72px;padding:16px}.user-summary{gap:8px}.user-summary__name{display:none}.auth-main{align-items:start;padding:24px 16px}.auth-card{padding:24px}.auth-card__title{font-size:26px}}@media(prefers-reduced-motion:reduce){.primary-button,.secondary-button{transition:none}}
