page { --ink: #17231d; --muted: #68726c; --paper: #f7f4ec; --card: #fffdf7; --green: #1d6b4f; --green-dark: #124a37; --lime: #d9ef72; --orange: #ef8f4a; --red: #d9554d; background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 30rpx; } view, text, button, input, slider, switch { box-sizing: border-box; } button { display: flex; align-items: center; justify-content: center; border-radius: 24rpx; font-weight: 700; line-height: normal; } button::after { border: none; } .page { min-height: 100vh; padding: 36rpx 32rpx 64rpx; } .eyebrow { color: var(--green); font-size: 22rpx; font-weight: 800; letter-spacing: 4rpx; text-transform: uppercase; } .title { margin-top: 12rpx; font-size: 54rpx; font-weight: 900; line-height: 1.15; } .subtitle { margin-top: 16rpx; color: var(--muted); font-size: 28rpx; line-height: 1.7; } .card { margin-top: 24rpx; padding: 28rpx; background: var(--card); border: 2rpx solid rgba(23, 35, 29, 0.08); border-radius: 28rpx; box-shadow: 0 12rpx 36rpx rgba(35, 46, 40, 0.06); } .card-title { font-size: 32rpx; font-weight: 800; } .primary-button { height: 100rpx; padding: 0 32rpx; background: var(--green); color: #fff; font-size: 32rpx; } .secondary-button { height: 94rpx; padding: 0 32rpx; background: var(--lime); color: var(--ink); font-size: 30rpx; } .ghost-button { height: 86rpx; background: transparent; border: 2rpx solid rgba(23, 35, 29, 0.16); color: var(--ink); font-size: 28rpx; } .danger-button { height: 86rpx; background: #fff0ee; color: var(--red); font-size: 28rpx; } .button-stack { display: flex; flex-direction: column; gap: 20rpx; margin-top: 32rpx; } .row { display: flex; align-items: center; } .between { justify-content: space-between; } .pill { display: inline-flex; align-items: center; min-height: 48rpx; padding: 0 18rpx; border-radius: 999rpx; background: #e7eee8; color: var(--green-dark); font-size: 23rpx; font-weight: 700; } .pill.orange { background: #fff0df; color: #9c531e; } .pill.red { background: #ffe8e5; color: #a63b35; } .section-label { margin: 40rpx 0 16rpx; font-size: 24rpx; font-weight: 800; letter-spacing: 2rpx; color: var(--muted); } .muted { color: var(--muted); } .divider { height: 2rpx; margin: 24rpx 0; background: rgba(23, 35, 29, 0.08); } .safe-bottom { height: 40rpx; } .state-page { display: flex; min-height: 80vh; flex-direction: column; align-items: center; justify-content: center; padding: 60rpx 48rpx; text-align: center; } .state-icon { display: flex; align-items: center; justify-content: center; width: 100rpx; height: 100rpx; background: #e7eee8; border-radius: 32rpx; color: var(--green); font-size: 50rpx; font-weight: 900; } .state-title { margin-top: 28rpx; font-size: 36rpx; font-weight: 900; } .state-copy { max-width: 560rpx; margin-top: 14rpx; color: var(--muted); font-size: 25rpx; line-height: 1.65; } .state-action { width: 320rpx; margin-top: 36rpx; } .empty-inline { padding: 34rpx 24rpx; color: var(--muted); font-size: 23rpx; text-align: center; }