page {
	background-color: $fe-bg;
	color: $fe-foreground;
	font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', sans-serif;
	font-size: 28rpx;
	line-height: 1.55;
}

.fe-page {
	min-height: 100vh;
	background: $fe-bg;
	box-sizing: border-box;
}

.fe-page--white {
	background: $fe-surface;
}

.fe-page--scroll {
	padding-bottom: calc(#{$fe-h-safe-bottom} + 32rpx);
}

/* ===== BUTTONS ===== */
.fe-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12rpx;
	padding: 24rpx 40rpx;
	border-radius: $fe-radius-md;
	font-weight: 600;
	font-size: 28rpx;
	border: none;
	box-sizing: border-box;
}

.fe-btn--primary {
	background: $fe-primary;
	color: #fff;
}

.fe-btn--secondary {
	background: $fe-surface;
	color: $fe-gray-700;
	border: 1rpx solid $fe-gray-300;
}

.fe-btn--success {
	background: $fe-success;
	color: #fff;
}

.fe-btn--wechat {
	background: #07C160;
	color: #fff;
}

.fe-btn--lg {
	height: 96rpx;
	padding: 0 48rpx;
	font-size: 30rpx;
}

.fe-btn--sm {
	height: 64rpx;
	padding: 0 24rpx;
	font-size: 24rpx;
}

.fe-btn--full {
	width: 100%;
}

.fe-btn--ghost {
	background: transparent;
	color: $fe-gray-600;
}

/* ===== FORM ===== */
.fe-form-group {
	margin-bottom: 32rpx;
}

.fe-form-label {
	display: block;
	font-weight: 600;
	font-size: 26rpx;
	color: $fe-gray-700;
	margin-bottom: 12rpx;
}

.fe-form-input {
	width: 100%;
	height: 96rpx;
	padding: 0 32rpx;
	border: 1rpx solid $fe-gray-300;
	border-radius: $fe-radius-md;
	font-size: 30rpx;
	background: $fe-surface;
	color: $fe-foreground;
	box-sizing: border-box;
}

.fe-form-row {
	display: flex;
	gap: 20rpx;
}

.fe-form-row .fe-form-input {
	flex: 1;
}

/* ===== 页面标题栏（原生导航栏下方） ===== */
.fe-page-bar__title {
	font-weight: 700;
	font-size: 34rpx;
	color: $fe-foreground;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1;
	min-width: 0;
}

/* ===== 导航按钮（FePageBar 内使用） ===== */
.fe-nav-btn {
	width: 72rpx;
	height: 72rpx;
	border-radius: $fe-radius-full;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	flex-shrink: 0;
	box-sizing: border-box;
}

.fe-nav-btn--avatar {
	padding: 0;
	overflow: hidden;
}

.fe-nav-badge {
	position: absolute;
	top: 8rpx;
	right: 8rpx;
	min-width: 32rpx;
	height: 32rpx;
	background: $fe-danger;
	color: #fff;
	font-size: 20rpx;
	font-weight: 700;
	border-radius: $fe-radius-full;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 6rpx;
	border: 4rpx solid #fff;
}

.fe-nav-avatar {
	width: 64rpx;
	height: 64rpx;
	border-radius: $fe-radius-full;
	background: linear-gradient(135deg, $fe-avatar-user-from, $fe-avatar-user-to);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 700;
	font-size: 26rpx;
	flex-shrink: 0;
	line-height: 1;
}

/* ===== WORKER TOP TABS ===== */
.fe-worker-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24rpx;
	padding: 24rpx 32rpx;
	background: #fff;
	border-bottom: 1rpx solid $fe-border-light;
	flex-shrink: 0;
}

.fe-worker-tab {
	height: 80rpx;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8rpx;
	border-radius: $fe-radius-md;
	font-size: 28rpx;
	font-weight: 600;
	border: 2rpx solid $fe-border;
	background: $fe-surface;
	color: $fe-gray-600;
}

.fe-worker-tab--active {
	background: $fe-primary;
	border-color: $fe-primary;
	color: #fff;
}

/* ===== BOTTOM NAV (legacy) ===== */
.fe-bottom-nav {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.92);
	border-top: 1rpx solid $fe-border-light;
	display: flex;
	padding: 12rpx 0 calc(12rpx + #{$fe-h-safe-bottom});
}

.fe-bottom-nav__item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4rpx;
	padding: 12rpx 0;
	color: $fe-gray-400;
	font-size: 22rpx;
	font-weight: 600;
}

.fe-bottom-nav__item--active {
	color: $fe-primary;
}

.fe-bottom-nav__icon {
	font-size: 44rpx;
	line-height: 1;
}

/* ===== CHAT ===== */
.fe-chat-avatar {
	width: 68rpx;
	height: 68rpx;
	border-radius: $fe-radius-full;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28rpx;
}

.fe-chat-avatar--ai {
	background: linear-gradient(135deg, $fe-primary, $fe-secondary);
	color: #fff;
}

.fe-chat-avatar--user {
	background: linear-gradient(135deg, $fe-avatar-user-from, $fe-avatar-user-to);
	color: #fff;
	font-weight: 700;
}

.fe-chat-msg {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 20rpx;
	margin-bottom: 32rpx;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.fe-chat-msg--user {
	flex-direction: row-reverse;
}

.fe-chat-bubble {
	flex: 1;
	min-width: 0;
	padding: 24rpx 32rpx;
	border-radius: $fe-radius-lg;
	font-size: 28rpx;
	line-height: 1.6;
	box-sizing: border-box;
}

.fe-chat-bubble__text-wrap {
	width: 100%;
	max-width: 100%;
}

.fe-chat-bubble__text {
	width: 100%;
	max-width: 100%;
	word-wrap: break-word;
	word-break: break-word;
	white-space: pre-wrap;
	line-height: 1.6;
	box-sizing: border-box;
}

.fe-chat-msg--ai .fe-chat-bubble {
	background: $fe-surface;
	border: 1rpx solid $fe-border-light;
	border-bottom-left-radius: 8rpx;
	box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.05);
}

.fe-chat-msg--user .fe-chat-bubble {
	background: linear-gradient(135deg, $fe-avatar-user-from, $fe-avatar-user-to);
	color: #fff;
	border-bottom-right-radius: 8rpx;
}

/* ===== BIZ CARD ===== */
.fe-biz-card {
	background: $fe-surface;
	border: 1rpx solid $fe-border;
	border-radius: $fe-radius-md;
	padding: 28rpx;
	margin-top: 16rpx;
	box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.05);
}

.fe-biz-card--report {
	border-left: 6rpx solid $fe-primary;
}

.fe-biz-card--draft {
	border-left: 6rpx solid $fe-warning;
	position: relative;
	overflow: hidden;
}

.fe-biz-card--draft-confirmed {
	border-left-color: $fe-success;
}

.fe-biz-card--draft-voided {
	opacity: 0.62;
	filter: grayscale(0.35);
	border-left-color: #94A3B8;
}

.fe-draft-void-stamp {
	position: absolute;
	right: 20rpx;
	bottom: 28rpx;
	z-index: 2;
	padding: 8rpx 18rpx;
	border: 4rpx solid rgba(239, 68, 68, 0.85);
	border-radius: 8rpx;
	color: rgba(239, 68, 68, 0.9);
	font-size: 28rpx;
	font-weight: 700;
	letter-spacing: 4rpx;
	line-height: 1.2;
	transform: rotate(-28deg);
	background: rgba(255, 255, 255, 0.72);
	pointer-events: none;
}

.fe-biz-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12rpx;
	font-weight: 700;
	font-size: 28rpx;
	margin-bottom: 20rpx;
}

.fe-biz-card__header-title {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fe-draft-card-status {
	flex-shrink: 0;
	font-size: 22rpx;
	font-weight: 600;
	line-height: 1.2;
	padding: 6rpx 16rpx;
	border-radius: $fe-radius-full;
}

.fe-draft-card-status--pending {
	background: $fe-warning-light;
	color: $fe-warning;
}

.fe-draft-card-status--confirmed {
	background: $fe-success-light;
	color: $fe-success;
}

.fe-draft-card-status--cancelled {
	background: $fe-danger-light;
	color: $fe-danger;
}

.fe-biz-card__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10rpx 0;
	font-size: 26rpx;
	color: $fe-muted;
}

.fe-biz-card__val {
	font-weight: 600;
	color: $fe-foreground;
}

.fe-biz-card__val--danger {
	color: $fe-danger;
}

.fe-biz-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16rpx;
	margin-top: 20rpx;
}

.fe-biz-card__actions--draft {
	flex-direction: column;
	align-items: flex-start;
	gap: 12rpx;
}

.fe-draft-card-btns {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 16rpx;
}

.fe-biz-card__hint {
	font-size: 22rpx;
	line-height: 1.4;
	color: $fe-primary;
}

.fe-biz-btn {
	display: inline-flex;
	align-items: center;
	gap: 8rpx;
	padding: 14rpx 24rpx;
	border-radius: $fe-radius-full;
	border: 1rpx solid $fe-border;
	background: $fe-surface;
	font-size: 24rpx;
	font-weight: 600;
	color: $fe-foreground;
}

.fe-biz-btn--primary {
	background: $fe-primary;
	color: #fff;
	border-color: $fe-primary;
}

.fe-biz-btn--disabled {
	opacity: 0.42;
	pointer-events: none;
}

.fe-draft-groups {
	display: flex;
	flex-direction: column;
	gap: 8rpx;
}

.fe-draft-group + .fe-draft-group {
	margin-top: 8rpx;
	padding-top: 16rpx;
	border-top: 1rpx dashed $fe-border-light;
}

.fe-draft-group__title {
	font-size: 22rpx;
	font-weight: 600;
	color: $fe-muted;
	margin-bottom: 8rpx;
}

.fe-draft-price {
	font-size: 40rpx;
	font-weight: 800;
	color: $fe-primary;
	margin-top: 12rpx;
}

.fe-draft-price small {
	font-size: 26rpx;
	font-weight: 500;
	color: $fe-muted;
}

.fe-biz-card--workflow {
	min-width: 520rpx;
}

/* 流程引导卡状态：当前 / 待开始 / 已完成 / 已跳过 */
.fe-process-status {
	flex-shrink: 0;
	font-size: 22rpx;
	font-weight: 600;
	line-height: 1.2;
	padding: 6rpx 16rpx;
	border-radius: $fe-radius-full;
}

.fe-process-status--current {
	background: $fe-primary-bg;
	color: $fe-primary;
}

.fe-process-status--pending {
	background: $fe-gray-100;
	color: $fe-muted;
}

.fe-process-status--done {
	background: $fe-success-light;
	color: $fe-success;
}

.fe-process-status--skipped {
	background: $fe-gray-100;
	color: $fe-muted-light;
}

.fe-biz-card--process {
	border-left: 6rpx solid $fe-info;
	min-width: 520rpx;
}

.fe-biz-card--process.fe-biz-card--process-pending {
	opacity: 0.88;
}

.fe-process-card__head {
	display: flex;
	align-items: flex-start;
	gap: 16rpx;
	margin-bottom: 20rpx;
}

.fe-process-card__icon {
	width: 64rpx;
	height: 64rpx;
	border-radius: $fe-radius-sm;
	background: $fe-info-light;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.fe-process-card__icon-text {
	font-size: 32rpx;
	line-height: 1;
}

.fe-process-card__titles {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6rpx;
	padding-top: 2rpx;
}

.fe-process-card__title {
	font-size: 28rpx;
	font-weight: 700;
	color: $fe-foreground;
	line-height: 1.3;
}

.fe-process-card__subtitle {
	font-size: 22rpx;
	color: $fe-muted;
	line-height: 1.4;
}

.fe-process-card__divider {
	height: 1rpx;
	background: $fe-border-light;
	margin: 0 0 16rpx;
}

.fe-process-card__list {
	display: flex;
	flex-direction: column;
	gap: 12rpx;
	margin-bottom: 8rpx;
}

.fe-process-card__bullet {
	display: flex;
	align-items: flex-start;
	gap: 12rpx;
}

.fe-process-card__dot {
	width: 10rpx;
	height: 10rpx;
	margin-top: 12rpx;
	border-radius: 50%;
	background: $fe-gray-300;
	flex-shrink: 0;
}

.fe-process-card__bullet-text {
	flex: 1;
	font-size: 24rpx;
	line-height: 1.5;
	color: $fe-muted;
}

.fe-biz-card--process .fe-biz-card__actions {
	margin-top: 24rpx;
}

.fe-biz-btn__icon {
	font-size: 26rpx;
	line-height: 1;
	font-weight: 700;
}

.fe-stepper {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	width: 100%;
	margin: 8rpx 0 20rpx;
	padding: 16rpx 4rpx 12rpx;
	box-sizing: border-box;
}

.fe-stepper__col {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* 当前 swiper 正在查看的步骤（点击/滑动后高亮） */
.fe-stepper__col--viewing .fe-stepper__node {
	box-shadow: 0 0 0 4rpx rgba(124, 58, 237, 0.28);
}

.fe-stepper__col--viewing .fe-stepper__label-line {
	color: $fe-primary;
	font-weight: 700;
}

.fe-stepper__head {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	height: 48rpx;
}

.fe-stepper__rail {
	flex: 1;
	height: 4rpx;
	background: $fe-border-light;
	border-radius: 2rpx;
}

.fe-stepper__rail--on {
	background: $fe-success-light;
}

.fe-stepper__rail--ghost {
	flex: 1;
	height: 4rpx;
	background: transparent;
}

/* 对齐进度总览 fe-timeline-dot */
.fe-stepper__node {
	width: 44rpx;
	height: 44rpx;
	margin: 0 2rpx;
	border-radius: 50%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	background: $fe-border-light;
	z-index: 1;
}

.fe-stepper__node-text {
	font-size: 22rpx;
	line-height: 1;
	font-weight: 600;
}

.fe-stepper__node--done {
	background: $fe-success-light;
	color: $fe-success;
}

.fe-stepper__node--done .fe-stepper__node-text {
	color: $fe-success;
}

.fe-stepper__node--active {
	background: $fe-warning-light;
	color: $fe-warning;
}

.fe-stepper__node--active .fe-stepper__node-text {
	color: $fe-warning;
	font-size: 24rpx;
}

.fe-stepper__node--pending {
	background: $fe-border-light;
	color: $fe-muted-light;
}

.fe-stepper__node--pending .fe-stepper__node-text {
	color: $fe-muted-light;
	font-size: 22rpx;
	font-weight: 700;
}

.fe-stepper__label {
	margin-top: 10rpx;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.fe-stepper__label-line {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 20rpx;
	line-height: 1.3;
	color: $fe-foreground;
}

.fe-stepper__label--done .fe-stepper__label-line {
	color: $fe-foreground;
	font-weight: 600;
}

.fe-stepper__label--active .fe-stepper__label-line {
	color: $fe-foreground;
	font-weight: 700;
}

.fe-stepper__label--pending .fe-stepper__label-line {
	color: $fe-muted-light;
}

.fe-workflow-card__steps {
	margin-top: 4rpx;
}

.fe-workflow-swiper {
	height: 220rpx;
	width: 100%;
}

/* 流程面板：swiper 与卡片统一尺寸，左右滑不跳动 */
.fe-workflow-swiper--process {
	height: 560rpx;
	width: 100%;
}

.fe-workflow-step {
	height: 200rpx;
	width: 100%;
	margin: 0;
	padding: 24rpx 20rpx;
	box-sizing: border-box;
	border-radius: $fe-radius-md;
	background: $fe-gray-50;
	border: 1rpx solid $fe-border-light;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 8rpx;
}

.fe-workflow-step--process {
	width: 100%;
	height: 540rpx;
	justify-content: flex-start;
	background: $fe-surface;
	border: 1rpx solid $fe-border;
	border-left: 6rpx solid $fe-info;
	padding: 24rpx 22rpx;
	gap: 0;
	overflow: hidden;
	box-sizing: border-box;
}

.fe-workflow-step--qr {
	border-left-color: $fe-warning;
}

.fe-workflow-step--task {
	border-left-color: $fe-warning;
}

.fe-workflow-step--settle {
	border-left-color: $fe-success;
}

.fe-process-card__icon--settle {
	background: $fe-success-light;
	color: $fe-success;
}

.fe-workflow-step--invoice {
	border-left-color: $fe-danger;
}

.fe-process-card__icon--invoice {
	background: $fe-danger-light;
	color: $fe-danger;
}

.fe-workflow-step--process .fe-process-card__list {
	flex: 1;
	min-height: 0;
	overflow: hidden;
}

.fe-workflow-step--process .fe-biz-card__actions {
	margin-top: auto;
	padding-top: 16rpx;
	width: 100%;
	box-sizing: border-box;
}

.fe-process-card__icon--qr {
	background: $fe-warning-light;
}

.fe-process-card__icon--recruit {
	background: $fe-primary-bg;
	color: $fe-primary;
}

.fe-workflow-step--recruit {
	border-left-color: $fe-primary;
}

.fe-recruit-progress {
	margin: 0 0 16rpx;
	padding: 12rpx 16rpx;
	border-radius: $fe-radius-sm;
	background: $fe-primary-bg;
	box-sizing: border-box;
}

.fe-recruit-progress__text {
	font-size: 24rpx;
	font-weight: 700;
	color: $fe-primary;
}

/* 人员登记：副标题单行展示 */
.fe-workflow-step--qr .fe-process-card__subtitle {
	display: block;
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.fe-workflow-step--recruit .fe-process-card__subtitle {
	display: block;
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.fe-process-card__icon--task {
	background: $fe-warning-light;
	color: $fe-warning;
}

.fe-workflow-qr__img {
	display: block;
	width: 200rpx;
	height: 200rpx;
	margin: 12rpx auto 0;
	flex-shrink: 0;
	background: $fe-gray-50;
	border-radius: $fe-radius-sm;
}

.fe-workflow-qr__empty {
	width: 200rpx;
	height: 200rpx;
	margin: 12rpx auto 0;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: $fe-gray-50;
	border-radius: $fe-radius-sm;
	border: 1rpx dashed $fe-border;
	box-sizing: border-box;
}

.fe-workflow-qr__empty-text {
	font-size: 22rpx;
	color: $fe-muted;
	text-align: center;
	padding: 0 16rpx;
}

.fe-workflow-qr__progress {
	display: block;
	margin-top: 10rpx;
	font-size: 22rpx;
	font-weight: 600;
	color: $fe-primary;
	text-align: center;
}

.fe-workflow-qr__hint {
	display: block;
	margin-top: 6rpx;
	font-size: 22rpx;
	color: $fe-muted;
	text-align: center;
}

.fe-workflow-step--active {
	background: $fe-primary-bg;
	border-color: $fe-primary-light;
}

.fe-workflow-step--done {
	background: rgba($fe-success, 0.08);
	border-color: rgba($fe-success, 0.35);
}

.fe-workflow-step__dot {
	width: 40rpx;
	height: 40rpx;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22rpx;
	background: $fe-border;
	color: #fff;
}

.fe-workflow-step__dot--done {
	background: $fe-success;
}

.fe-workflow-step__dot--active {
	background: $fe-primary;
}

.fe-workflow-step__dot--pending {
	background: $fe-muted-light;
}

.fe-workflow-step__title {
	font-size: 28rpx;
	font-weight: 700;
	color: $fe-foreground;
}

.fe-workflow-step__status {
	font-size: 22rpx;
	color: $fe-muted;
}

.fe-workflow-step__status--active {
	color: $fe-primary;
	font-weight: 600;
}

.fe-workflow-step__status--done {
	color: $fe-success;
}

.fe-workflow-step__highlight {
	font-size: 22rpx;
	color: $fe-primary;
}

.fe-workflow-step__time {
	font-size: 20rpx;
	color: $fe-muted-light;
}

.fe-dot-indicator--workflow {
	padding: 8rpx 0 0;
}

.fe-workflow-card__swipe-hint {
	display: block;
	text-align: center;
	font-size: 20rpx;
	color: $fe-muted-light;
	margin-top: 4rpx;
}

.fe-draft-recommend {
	margin: 16rpx 0 8rpx;
	padding: 16rpx 12rpx;
	background: rgba($fe-primary, 0.06);
	border-radius: $fe-radius-sm;
}

.fe-draft-recommend__title {
	display: block;
	font-size: 24rpx;
	font-weight: 600;
	color: $fe-foreground;
	margin-bottom: 12rpx;
}

.fe-draft-recommend__row {
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

.fe-draft-recommend__row--single {
	justify-content: flex-start;
}

.fe-draft-recommend__row--single .fe-draft-recommend__cell {
	flex: none;
	align-items: flex-start;
	padding: 0;
}

.fe-draft-recommend__cell {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 0 4rpx;
}

.fe-draft-recommend__cell + .fe-draft-recommend__cell {
	border-left: 1rpx solid $fe-border-light;
}

.fe-draft-recommend__val {
	font-size: 26rpx;
	font-weight: 700;
	color: $fe-primary;
	line-height: 1.3;
	text-align: center;
	word-break: break-all;
}

.fe-draft-recommend__label {
	margin-top: 6rpx;
	font-size: 20rpx;
	color: $fe-muted;
	text-align: center;
}

.fe-quick-actions {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16rpx;
	margin-top: 20rpx;
	padding: 20rpx;
	background: $fe-surface;
	border-radius: $fe-radius-md;
	border: 1rpx solid $fe-border-light;
}

.fe-quick-actions--dock {
	margin-top: 0;
	border: none;
	border-radius: 0;
	border-bottom: 1rpx solid $fe-border-light;
	padding: 10rpx 20rpx 8rpx;
	gap: 8rpx;
	background: transparent;

	.fe-quick-action {
		gap: 4rpx;
		padding: 4rpx 0;
	}

	.fe-quick-action__icon {
		width: 48rpx;
		height: 48rpx;
		font-size: 28rpx;
	}

	.fe-quick-action__label {
		font-size: 20rpx;
		line-height: 1.2;
	}
}

.fe-quick-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8rpx;
	padding: 16rpx 8rpx;
}

.fe-quick-action__icon {
	width: 72rpx;
	height: 72rpx;
	border-radius: $fe-radius-sm;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36rpx;
}

.fe-quick-action__label {
	font-size: 22rpx;
	font-weight: 600;
	color: $fe-muted;
	text-align: center;
}

.fe-summary-bubble {
	display: flex;
	align-items: center;
	gap: 16rpx;
	padding: 20rpx 28rpx;
	background: $fe-surface;
	border: 1rpx solid $fe-border-light;
	border-radius: $fe-radius-md;
	margin-bottom: 24rpx;
	font-size: 26rpx;
	color: $fe-muted;
}

.fe-summary-bubble__check {
	color: $fe-success;
	font-size: 32rpx;
}

.fe-summary-bubble__text {
	font-weight: 600;
	color: $fe-foreground;
}

.fe-thinking-dots {
	display: flex;
	align-items: center;
	gap: 8rpx;
	padding: 28rpx 36rpx;
	background: $fe-surface;
	border: 1rpx solid $fe-border-light;
	border-radius: $fe-radius-lg;
	border-bottom-left-radius: 8rpx;
}

.fe-thinking-dots__dot {
	width: 14rpx;
	height: 14rpx;
	border-radius: 50%;
	background: $fe-primary-light;
	animation: fe-thinking-bounce 1.4s infinite ease-in-out both;
}

.fe-thinking-dots__dot:nth-child(2) {
	animation-delay: 0.16s;
}

.fe-thinking-dots__dot:nth-child(3) {
	animation-delay: 0.32s;
}

.fe-thinking-dots--inline {
	display: flex;
	align-items: center;
	gap: 10rpx;
	min-height: 40rpx;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
}

@keyframes fe-thinking-bounce {
	0%,
	80%,
	100% {
		transform: scale(0.55);
		opacity: 0.35;
	}

	40% {
		transform: scale(1);
		opacity: 1;
	}
}

/* ===== INPUT BAR ===== */
.fe-input-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99;
	background: rgba(255, 255, 255, 0.92);
	border-top: 1rpx solid $fe-border-light;
	padding: 20rpx 24rpx calc(20rpx + #{$fe-h-safe-bottom});
	display: flex;
	align-items: center;
	gap: 16rpx;
	box-sizing: border-box;
}

.fe-input-bar__field {
	flex: 1;
	height: 88rpx;
	padding: 0 32rpx;
	border-radius: $fe-radius-full;
	border: 1rpx solid $fe-border;
	background: $fe-surface;
	font-size: 30rpx;
	box-sizing: border-box;
}

.fe-input-bar__btn {
	width: 88rpx;
	height: 88rpx;
	border-radius: $fe-radius-full;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36rpx;
	flex-shrink: 0;
}

.fe-input-bar__btn--voice {
	background: $fe-surface;
	border: 1rpx solid $fe-border;
	color: $fe-muted;
}

.fe-input-bar__hold {
	flex: 1;
	height: 88rpx;
	border-radius: $fe-radius-full;
	border: 1rpx solid $fe-border;
	background: $fe-surface;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.fe-input-bar__hold.is-recording {
	background: $fe-gray-100;
	border-color: $fe-gray-300;
}

.fe-input-bar__hold.is-waiting {
	background: $fe-gray-100;
	border-color: $fe-gray-200;
	opacity: 0.7;
}

.fe-input-bar__hold.is-waiting .fe-input-bar__hold-text {
	color: $fe-gray-400;
}

.fe-input-bar__hold-text {
	font-size: 30rpx;
	color: $fe-gray-700;
	font-weight: 500;
}

.fe-input-bar__btn--send {
	background: $fe-primary;
	color: #fff;
	opacity: 0.4;
}

.fe-input-bar__btn--send.active {
	opacity: 1;
}

/* ===== VOICE RECORD MASK ===== */
.fe-voice-mask {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 180;
	background: rgba(0, 0, 0, 0.55);
	pointer-events: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	box-sizing: border-box;
}

.fe-voice-mask__tip {
	position: absolute;
	left: 50%;
	top: 42%;
	transform: translate(-50%, -50%);
	min-width: 220rpx;
	padding: 36rpx 48rpx 28rpx;
	background: #95ec69;
	border-radius: 24rpx;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16rpx;
	box-sizing: border-box;
}

.fe-voice-mask__tip::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -16rpx;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 18rpx solid transparent;
	border-right: 18rpx solid transparent;
	border-top: 18rpx solid #95ec69;
}

.fe-voice-mask__wave {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10rpx;
	height: 64rpx;
}

.fe-voice-mask__bar {
	width: 8rpx;
	border-radius: 8rpx;
	background: #fff;
	animation: fe-voice-wave 0.9s ease-in-out infinite;
}

.fe-voice-mask__bar--1 {
	height: 16rpx;
	animation-delay: 0s;
}

.fe-voice-mask__bar--2 {
	height: 28rpx;
	animation-delay: 0.1s;
}

.fe-voice-mask__bar--3 {
	height: 44rpx;
	animation-delay: 0.2s;
}

.fe-voice-mask__bar--4 {
	height: 56rpx;
	animation-delay: 0.15s;
}

.fe-voice-mask__bar--5 {
	height: 64rpx;
	animation-delay: 0.05s;
}

.fe-voice-mask__countdown {
	font-size: 28rpx;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.55);
	line-height: 1.2;
}

.fe-voice-mask__live {
	position: absolute;
	left: 48rpx;
	right: 48rpx;
	bottom: 320rpx;
	max-height: 280rpx;
	padding: 28rpx 32rpx;
	border-radius: 20rpx;
	background: rgba(255, 255, 255, 0.94);
	box-sizing: border-box;
	overflow: hidden;
}

.fe-voice-mask__live-text {
	display: block;
	font-size: 30rpx;
	line-height: 1.55;
	color: $fe-gray-800;
	word-break: break-word;
}

.fe-voice-mask__footer {
	width: 100%;
	height: 280rpx;
	padding-bottom: $fe-h-safe-bottom;
	border-radius: 50% 50% 0 0 / 48rpx 48rpx 0 0;
	background: rgba(245, 245, 245, 0.96);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 56rpx;
	box-sizing: border-box;
}

.fe-voice-mask__footer-text {
	font-size: 32rpx;
	color: $fe-gray-600;
	font-weight: 500;
}

@keyframes fe-voice-wave {
	0%,
	100% {
		transform: scaleY(0.45);
		opacity: 0.75;
	}

	50% {
		transform: scaleY(1);
		opacity: 1;
	}
}

/* ===== OVERLAY & SHEET ===== */
.fe-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 200;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}

.fe-overlay--active {
	opacity: 1;
	pointer-events: auto;
}

.fe-overlay--elevated {
	z-index: 315;
}

.fe-bottom-sheet {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 210;
	width: 100%;
	max-height: 85vh;
	background: $fe-surface;
	border-radius: $fe-radius-xl $fe-radius-xl 0 0;
	transform: translateY(100%);
	transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	box-sizing: border-box;
}

.fe-bottom-sheet--active {
	transform: translateY(0);
}

.fe-bottom-sheet--elevated {
	z-index: 320;
}

.fe-sheet-handle {
	display: flex;
	justify-content: center;
	padding: 20rpx 0 12rpx;
}

.fe-sheet-handle::after {
	content: '';
	width: 72rpx;
	height: 8rpx;
	border-radius: 4rpx;
	background: $fe-border;
}

.fe-sheet-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8rpx 40rpx 24rpx;
	border-bottom: 1rpx solid $fe-border-light;
	box-sizing: border-box;
	width: 100%;
}

.fe-sheet-title {
	font-size: 34rpx;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 16rpx;
}

.fe-sheet-badge {
	font-size: 22rpx;
	font-weight: 600;
	padding: 4rpx 16rpx;
	border-radius: $fe-radius-full;
	background: $fe-warning;
	color: #fff;
}

.fe-sheet-source {
	font-size: 24rpx;
	color: $fe-muted;
	padding: 12rpx 40rpx 20rpx;
	box-sizing: border-box;
	width: 100%;
}

/* scroll-view 不要直接加水平 padding，会撑宽溢出；padding 放 __inner */
.fe-sheet-body {
	flex: 1;
	width: 100%;
	max-height: 60vh;
	box-sizing: border-box;
}

.fe-sheet-body__inner {
	width: 100%;
	padding: 0 40rpx 0;
	box-sizing: border-box;
}

.fe-sheet-footer {
	padding: 24rpx 40rpx calc(24rpx + #{$fe-h-safe-bottom});
	border-top: 1rpx solid $fe-border-light;
	display: flex;
	gap: 20rpx;
	box-sizing: border-box;
	width: 100%;
}

.fe-sheet-footer .fe-btn {
	flex: 1;
}

/* ===== FORM SECTION (sheet) ===== */
.fe-form-section {
	width: 100%;
	background: $fe-gray-50;
	border-radius: $fe-radius-md;
	padding: 28rpx;
	margin-bottom: 28rpx;
	border: 1rpx solid $fe-border-light;
	box-sizing: border-box;
}

.fe-form-section--highlight {
	background: $fe-primary-bg;
	border-color: $fe-primary-light;
}

.fe-form-section__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 28rpx;
	font-weight: 700;
	margin-bottom: 20rpx;
}

.fe-form-section__edit {
	font-size: 24rpx;
	color: $fe-primary;
	font-weight: 600;
}

.fe-draft-sheet-hint {
	display: block;
	margin-top: 16rpx;
}

.fe-form-section__desc {
	display: flex;
	flex-direction: column;
	gap: 8rpx;
	font-size: 26rpx;
	color: $fe-muted;
	line-height: 1.6;
	width: 100%;
	box-sizing: border-box;
}

.fe-info-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12rpx 0;
	font-size: 28rpx;
	width: 100%;
	box-sizing: border-box;
	gap: 16rpx;
}

.fe-info-row__label {
	color: $fe-muted;
	flex-shrink: 0;
}

.fe-info-row__value {
	font-weight: 600;
	flex: 1;
	min-width: 0;
	text-align: right;
	word-break: break-all;
}

.fe-info-row__value--highlight {
	color: $fe-primary;
	font-size: 32rpx;
}

/* ===== COST CARD ===== */
.fe-cost-card {
	width: 100%;
	background: $fe-gray-50;
	border: 1rpx solid $fe-border-light;
	border-radius: $fe-radius-md;
	padding: 32rpx;
	margin-bottom: 24rpx;
	position: relative;
	box-sizing: border-box;
}

.fe-cost-card--recommended {
	border: 4rpx solid $fe-primary;
	background: $fe-primary-bg;
}

.fe-cost-card__tag {
	position: absolute;
	top: -2rpx;
	right: 24rpx;
	background: $fe-primary;
	color: #fff;
	font-size: 22rpx;
	font-weight: 700;
	padding: 4rpx 20rpx;
	border-radius: 0 0 16rpx 16rpx;
}

.fe-cost-total {
	font-size: 56rpx;
	font-weight: 800;
	color: $fe-primary;
	margin-bottom: 4rpx;
}

.fe-cost-total-label {
	display: block;
	font-size: 22rpx;
	color: $fe-muted;
	margin-bottom: 16rpx;
}

.fe-cost-groups {
	display: flex;
	flex-direction: column;
	gap: 12rpx;
	margin-top: 4rpx;
}

.fe-cost-group {
	padding: 12rpx 16rpx;
	background: rgba(255, 255, 255, 0.72);
	border-radius: $fe-radius-sm;
	border: 1rpx solid $fe-border-light;
}

.fe-cost-group__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12rpx;
}

.fe-cost-group__title-row {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12rpx;
}

.fe-cost-group__title {
	flex: 1;
	min-width: 0;
	font-size: 24rpx;
	font-weight: 700;
	color: $fe-foreground;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fe-cost-group__cost {
	flex-shrink: 0;
	font-size: 26rpx;
	font-weight: 700;
	color: $fe-primary;
}

.fe-cost-group__body {
	margin-top: 8rpx;
	padding-top: 8rpx;
	border-top: 1rpx dashed $fe-border-light;
}

.fe-cost-group__fees {
	margin-top: 8rpx;
	padding-top: 8rpx;
	border-top: 1rpx dashed $fe-border-light;
}

.fe-cost-group__fees-title {
	display: block;
	font-size: 22rpx;
	font-weight: 600;
	color: $fe-muted;
	margin-bottom: 4rpx;
}

.fe-swipe-indicator {
	display: flex;
	align-items: center;
	gap: 8rpx;
	font-size: 24rpx;
	color: $fe-muted-light;
	flex-shrink: 0;
}

.fe-swipe-indicator__arrow {
	font-size: 28rpx;
	line-height: 1;
}

.fe-cost-swiper {
	width: 100%;
	height: 800rpx;
}

.fe-cost-swiper__inner {
	padding: 24rpx 40rpx 0;
	box-sizing: border-box;
}

.fe-dot-indicator {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12rpx;
	padding: 16rpx 0 24rpx;
}

.fe-dot-indicator__dot {
	width: 12rpx;
	height: 12rpx;
	border-radius: 50%;
	background: $fe-border;
	transition: all 0.25s;
}

.fe-dot-indicator__dot--active {
	width: 36rpx;
	border-radius: 6rpx;
	background: $fe-primary;
}

.fe-compliance {
	display: flex;
	flex-wrap: wrap;
	gap: 12rpx;
	margin-top: 24rpx;
	padding-top: 24rpx;
	border-top: 1rpx solid $fe-border-light;
}

.fe-compliance-badge {
	display: inline-flex;
	align-items: center;
	gap: 8rpx;
	padding: 8rpx 20rpx;
	border-radius: $fe-radius-full;
	background: $fe-success-light;
	font-size: 24rpx;
	font-weight: 600;
	color: #065F46;
}

/* ===== PROGRESS ===== */
.fe-stat-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16rpx;
	margin-bottom: 32rpx;
}

.fe-stat-box {
	text-align: center;
	padding: 20rpx 8rpx;
	background: $fe-gray-50;
	border-radius: $fe-radius-sm;
}

.fe-stat-box--primary {
	background: $fe-primary-bg;
}

.fe-stat-box__num {
	font-size: 44rpx;
	font-weight: 800;
}

.fe-stat-box__label {
	font-size: 22rpx;
	color: $fe-muted;
	margin-top: 4rpx;
}

.fe-progress-label {
	display: flex;
	justify-content: space-between;
	font-size: 26rpx;
	margin-bottom: 12rpx;
}

.fe-progress-track {
	height: 16rpx;
	background: $fe-border-light;
	border-radius: 8rpx;
	overflow: hidden;
}

.fe-progress-fill {
	height: 100%;
	background: linear-gradient(90deg, $fe-primary, $fe-secondary);
	border-radius: 8rpx;
}

.fe-timeline-item {
	display: flex;
	gap: 24rpx;
	padding: 16rpx 0;
	position: relative;
}

.fe-timeline-item:not(:last-child)::after {
	content: '';
	position: absolute;
	left: 22rpx;
	top: 56rpx;
	bottom: 0;
	width: 4rpx;
	background: $fe-border-light;
}

.fe-timeline-item--done:not(:last-child)::after {
	background: $fe-success-light;
}

.fe-timeline-dot {
	width: 48rpx;
	height: 48rpx;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: $fe-border-light;
	font-size: 24rpx;
}

.fe-timeline-dot--done {
	background: $fe-success-light;
	color: $fe-success;
}

.fe-timeline-dot--active {
	background: $fe-warning-light;
	color: $fe-warning;
}

.fe-timeline-dot--pending {
	background: $fe-gray-100;
	border: 2rpx solid $fe-border;
}

.fe-timeline-title--pending {
	color: $fe-muted-light;
}

.fe-person-item {
	display: flex;
	align-items: center;
	gap: 20rpx;
	padding: 20rpx 0;
	border-bottom: 1rpx solid $fe-border-light;
}

.fe-person-avatar {
	width: 72rpx;
	height: 72rpx;
	border-radius: 50%;
	background: $fe-primary-bg;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28rpx;
	font-weight: 700;
	color: $fe-primary;
}

.fe-person-status {
	font-size: 24rpx;
	font-weight: 600;
	padding: 6rpx 20rpx;
	border-radius: $fe-radius-full;
}

.fe-person-status--done {
	background: $fe-success-light;
	color: #065F46;
}

.fe-person-status--pending {
	background: $fe-warning-light;
	color: #92400E;
}

.fe-person-status--fail {
	background: $fe-danger-light;
	color: #991B1B;
}

.fe-person-status--review {
	background: $fe-info-light;
	color: #1E40AF;
}

/* ===== SIDE DRAWER ===== */
.fe-side-drawer {
	position: fixed;
	top: 0;
	right: 0;
	width: 82%;
	max-width: 600rpx;
	height: 100vh;
	background: $fe-surface;
	z-index: 215;
	transform: translateX(100%);
	transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
	display: flex;
	flex-direction: column;
	box-shadow: -20rpx 0 60rpx rgba(0, 0, 0, 0.1);
}

.fe-side-drawer--active {
	transform: translateX(0);
}

.fe-drawer-header {
	padding: 40rpx 40rpx 32rpx;
	border-bottom: 1rpx solid $fe-border-light;
}

.fe-drawer-title {
	font-size: 36rpx;
	font-weight: 700;
}

.fe-drawer-body {
	flex: 1;
	width: 100%;
	height: 0;
	box-sizing: border-box;
}

.fe-drawer-body__inner {
	width: 100%;
	padding: 32rpx 40rpx;
	box-sizing: border-box;
}

.fe-msg-item {
	padding: 24rpx;
	border-radius: $fe-radius-sm;
	border: 1rpx solid $fe-border-light;
	margin-bottom: 16rpx;
}

.fe-msg-type {
	font-size: 22rpx;
	font-weight: 700;
	padding: 4rpx 16rpx;
	border-radius: $fe-radius-full;
}

.fe-msg-type--pending {
	background: $fe-warning-light;
	color: #92400E;
}

.fe-msg-type--error {
	background: $fe-danger-light;
	color: #991B1B;
}

/* ===== MODAL ===== */
.fe-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 300;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}

.fe-modal-overlay--active {
	opacity: 1;
	pointer-events: auto;
}

.fe-modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0.9);
	width: calc(100% - 96rpx);
	max-width: 640rpx;
	background: $fe-surface;
	border-radius: $fe-radius-lg;
	z-index: 310;
	opacity: 0;
	pointer-events: none;
	transition: all 0.25s;
	box-shadow: 0 40rpx 50rpx rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.fe-modal--active {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, -50%) scale(1);
}

.fe-modal-body {
	padding: 48rpx 40rpx;
	text-align: center;
}

.fe-modal-icon {
	width: 112rpx;
	height: 112rpx;
	border-radius: 50%;
	margin: 0 auto 28rpx;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 56rpx;
}

.fe-modal-icon--success {
	background: $fe-success-light;
	color: $fe-success;
}

.fe-modal-title {
	font-size: 34rpx;
	font-weight: 700;
	margin-bottom: 12rpx;
}

.fe-modal-desc {
	font-size: 28rpx;
	color: $fe-muted;
	line-height: 1.5;
}

.fe-modal-footer {
	display: flex;
	gap: 20rpx;
	padding: 0 40rpx 40rpx;
}

.fe-modal-btn {
	flex: 1;
	height: 88rpx;
	border-radius: $fe-radius-sm;
	font-size: 30rpx;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
}

.fe-modal-btn--cancel {
	background: $fe-gray-100;
	color: $fe-foreground;
}

.fe-modal-btn--confirm {
	background: $fe-primary;
	color: #fff;
}

/* ===== PROFILE / WALLET ===== */
.fe-profile-card {
	background: $fe-primary-bg;
	border-radius: $fe-radius-md;
	padding: 32rpx;
	margin-bottom: 32rpx;
	text-align: center;
}

.fe-profile-avatar-lg {
	width: 120rpx;
	height: 120rpx;
	border-radius: 50%;
	background: linear-gradient(135deg, $fe-primary, $fe-secondary);
	margin: 0 auto 20rpx;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 44rpx;
	font-weight: 800;
}

.fe-profile-menu-item {
	display: flex;
	align-items: center;
	gap: 24rpx;
	padding: 28rpx;
}

.fe-profile-menu-icon {
	width: 72rpx;
	height: 72rpx;
	border-radius: $fe-radius-sm;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36rpx;
	flex-shrink: 0;
}

.fe-profile-menu-title {
	font-size: 28rpx;
	font-weight: 600;
}

.fe-profile-menu-desc {
	font-size: 24rpx;
	color: $fe-muted;
	margin-top: 4rpx;
}

.fe-section-title {
	font-size: 24rpx;
	font-weight: 700;
	color: $fe-muted;
	text-transform: uppercase;
	letter-spacing: 1rpx;
	margin-bottom: 20rpx;
	margin-top: 32rpx;
}

.fe-wallet-header {
	background: linear-gradient(135deg, $fe-primary, $fe-primary-dark);
	border-radius: $fe-radius-xl;
	padding: 48rpx 40rpx;
	color: #fff;
	margin-bottom: 32rpx;
	position: relative;
	overflow: hidden;
}

.fe-wallet-balance-amount {
	font-size: 64rpx;
	font-weight: 800;
	letter-spacing: -2rpx;
}

.fe-wallet-section {
	background: #fff;
	border-radius: $fe-radius-lg;
	margin-bottom: 24rpx;
	box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.05);
	border: 1rpx solid $fe-border-light;
}

.fe-wallet-menu-item {
	display: flex;
	align-items: center;
	gap: 24rpx;
	padding: 28rpx 32rpx;
}

.fe-wallet-record {
	display: flex;
	align-items: center;
	gap: 24rpx;
	padding: 24rpx 32rpx;
	border-bottom: 1rpx solid $fe-border-light;
}

.fe-wallet-help {
	background: $fe-warning-light;
	border-radius: $fe-radius-lg;
	padding: 32rpx;
	border: 1rpx solid rgba(245, 158, 11, 0.2);
}

/* ===== LOGIN ===== */
.fe-login-visual {
	background: linear-gradient(135deg, $fe-primary 0%, $fe-primary-dark 100%);
	border-radius: $fe-radius-xl;
	padding: 24rpx 32rpx;
	color: #fff;
	margin-bottom: 24rpx;
}

.fe-login-visual__title {
	font-size: 36rpx;
	font-weight: 800;
	margin-bottom: 10rpx;
}

.fe-login-visual__desc {
	display: block;
	font-size: 24rpx;
	line-height: 1.5;
	opacity: 0.9;
	white-space: normal;
}

.fe-login-feature {
	display: flex;
	align-items: center;
	gap: 12rpx;
	margin-top: 12rpx;
	font-size: 24rpx;
}

.fe-login-feature__check {
	color: $fe-success;
	font-size: 28rpx;
}

.fe-login-card__title {
	font-size: 44rpx;
	font-weight: 700;
	margin-bottom: 12rpx;
	margin-right: 12rpx;
}

.fe-login-card__subtitle {
	color: $fe-gray-500;
	margin-bottom: 48rpx;
	font-size: 28rpx;
}

.fe-login-tabs {
	display: flex;
	flex-direction: row;
	margin-bottom: 40rpx;
}

.fe-login-tab {
	flex: 1;
	height: 96rpx;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 24rpx;
	border-radius: $fe-radius-md;
	font-size: 30rpx;
	font-weight: 600;
	border: 4rpx solid $fe-border;
	background: $fe-surface;
	color: $fe-gray-600;

	&:last-child {
		margin-right: 0;
	}
}

.fe-login-tab--active {
	background: $fe-primary;
	color: #fff;
	border-color: $fe-primary;
}

.fe-login-divider {
	display: flex;
	align-items: center;
	gap: 24rpx;
	margin: 40rpx 0;
	color: $fe-gray-400;
	font-size: 26rpx;
}

.fe-login-divider::before,
.fe-login-divider::after {
	content: '';
	flex: 1;
	height: 1rpx;
	background: $fe-gray-200;
}

.fe-nl-input-section {
	width: 100%;
	margin: 24rpx 0;
	padding: 24rpx;
	background: $fe-primary-bg;
	border-radius: $fe-radius-md;
	border: 2rpx dashed $fe-primary-light;
	box-sizing: border-box;
}

.fe-nl-input {
	width: 100%;
	min-height: 88rpx;
	padding: 20rpx 28rpx;
	border: 1rpx solid $fe-primary-light;
	border-radius: $fe-radius-sm;
	font-size: 28rpx;
	background: #fff;
	box-sizing: border-box;
}

.fe-sidebar {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 0;
	overflow: hidden;
	background: $fe-gray-50;
	border-right: 1rpx solid $fe-border-light;
	z-index: 205;
	transition: width 0.3s;
}

.fe-sidebar--open {
	width: 480rpx;
}

.fe-sidebar-item {
	padding: 20rpx 24rpx;
	border-radius: $fe-radius-sm;
	margin: 4rpx 16rpx;
}

.fe-sidebar-item--active {
	background: $fe-primary-bg;
	border: 1rpx solid $fe-primary-100;
}

.fe-sidebar-item__title {
	font-weight: 600;
	font-size: 26rpx;
	color: $fe-gray-800;
}

.fe-sidebar-item__time {
	font-size: 22rpx;
	color: $fe-gray-400;
	margin-top: 4rpx;
}

.fe-settlement-row {
	display: flex;
	justify-content: space-between;
	padding: 16rpx 0;
	font-size: 28rpx;
}

.fe-settlement-row--total {
	border-top: 4rpx solid $fe-border;
	margin-top: 12rpx;
	padding-top: 20rpx;
	font-weight: 700;
	font-size: 32rpx;
}

.fe-settlement-row__val--primary {
	color: $fe-primary;
}
