*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100dvh;-webkit-tap-highlight-color:transparent}
body.has-contact-footer.has-bottom-nav{padding-bottom:calc(var(--contact-footer-h) + var(--nav-h) + env(safe-area-inset-bottom))}
#app-main{padding:calc(var(--header-h) + 12px) 16px calc(var(--nav-h) + 72px);max-width:720px;margin:0 auto;min-height:50vh}
.page-title{font-size:1.25rem;font-weight:800;margin-bottom:12px}
.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px}
.muted{color:var(--text-secondary);font-size:.875em}
.empty-hint{text-align:center;padding:24px}
.fade-in{animation:fadeIn .4s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.form-stack{display:flex;flex-direction:column;gap:10px}
.form-stack input,.form-stack select,.form-stack label{padding:8px 0;font-size:1rem;color:var(--text-primary)}
.form-stack input,.form-stack select{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary)}
.highlight-list{list-style:none;margin-top:8px}
.highlight-list li{padding:4px 0;color:var(--text-secondary)}
