/* ===== LifePilot UI Web Components (lp-btn / lp-field / lp-card) ===== */
/* 全局兜底：确保 hidden 属性始终生效（自定义元素默认 display 会覆盖 UA 的 [hidden]） */
[hidden] { display: none !important; }

/* --- LpBtn --- */
.lp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: inherit; border: none; background: none; padding: 0;
  cursor: pointer; text-decoration: none;
}
.lp-btn--block { display: flex; width: 100%; }
.lp-btn__el {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; border: none; cursor: pointer; text-decoration: none; font-family: inherit;
  font-weight: var(--font-weight-semibold, 600);
  border-radius: var(--radius-md, 10px);
  padding: 10px 18px; font-size: var(--font-size-md, 15px);
  transition: transform var(--transition-fast, .12s), box-shadow var(--transition-normal, .2s),
              background var(--transition-normal), border-color var(--transition-normal);
}
.lp-btn--sm .lp-btn__el { padding: 6px 12px; font-size: var(--font-size-sm, 13px); }
.lp-btn--lg .lp-btn__el { padding: 14px 24px; font-size: var(--font-size-lg, 17px); }
.lp-btn--primary .lp-btn__el { background: var(--color-primary-gradient); color: var(--color-text-inverse, #fff); box-shadow: var(--shadow-button); }
.lp-btn--primary .lp-btn__el:hover { transform: translateY(-1px); box-shadow: var(--shadow-lg); }
.lp-btn--primary .lp-btn__el:active { transform: scale(.98); }
.lp-btn--ghost .lp-btn__el { background: var(--color-surface); border: var(--border-width, 1px) solid var(--color-border); color: var(--color-text-primary); }
.lp-btn--ghost .lp-btn__el:hover { border-color: var(--color-primary); color: var(--color-primary); }
.lp-btn--danger .lp-btn__el { background: var(--color-danger, #d9534f); color: #fff; }
.lp-btn--subtle .lp-btn__el { background: var(--color-surface-hover); color: var(--color-text-primary); }
.lp-btn__el:disabled, .lp-btn__el[disabled] { opacity: .55; cursor: not-allowed; }
.lp-btn--primary .lp-btn__el:disabled:hover { transform: none; box-shadow: var(--shadow-button); }

/* --- LpField --- */
.lp-field { display: block; margin-bottom: var(--space-xl, 20px); }
.lp-field__label {
  display: block; font-size: var(--font-size-sm, 13px); color: var(--color-text-secondary);
  margin-bottom: var(--space-sm, 6px); font-weight: var(--font-weight-medium, 500);
}
.lp-field__control input {
  width: 100%; box-sizing: border-box;
  padding: var(--space-md, 10px) var(--space-lg, 14px);
  border: var(--border-width, 1px) solid var(--color-border);
  border-radius: var(--radius-md, 10px); font-size: var(--font-size-md, 15px);
  transition: border var(--transition-normal, .2s), background var(--transition-normal, .2s);
  background: var(--color-surface-hover);
}
.lp-field__control input:focus { border-color: var(--color-primary); outline: none; background: var(--color-surface); }
.lp-field__error { color: var(--color-danger, #d9534f); font-size: var(--font-size-sm, 13px); margin-top: 6px; }
.lp-field__error[hidden] { display: none; }

/* --- LpCard：语义容器，具体外观由携带的 bento-* 类或后续扩展决定 --- */
.lp-card { /* 基础形态留空，样式复用既有 .bento-* 类 */ }
