.field { margin-bottom: 1rem; }
.label { display: block; margin-bottom: .35rem; font-size: .875rem; font-weight: 700; color: #334155; }
.input, .select, .textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: .7rem; background: white; padding: .65rem .8rem; font-size: .95rem; }
.textarea { min-height: 7rem; }
.btn { display: inline-flex; align-items: center; justify-content: center; border-radius: .7rem; padding: .65rem 1rem; font-weight: 700; font-size: .9rem; }
.btn-primary { background: #047857; color: white; }
.btn-secondary { background: #e2e8f0; color: #0f172a; }
.btn-danger { background: #be123c; color: white; }
.card { border: 1px solid #e2e8f0; background: white; border-radius: .8rem; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.table-wrap { overflow-x: auto; border: 1px solid #e2e8f0; border-radius: .8rem; background: white; }
.table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.table th { background: #f8fafc; color: #475569; text-align: left; font-weight: 800; }
.table th, .table td { border-bottom: 1px solid #e2e8f0; padding: .8rem; vertical-align: top; }
.badge { display: inline-flex; border-radius: 999px; padding: .2rem .55rem; font-size: .75rem; font-weight: 800; background: #e2e8f0; color: #334155; }
.badge-good { background: #dcfce7; color: #166534; }
.badge-warn { background: #fef3c7; color: #92400e; }
.badge-bad { background: #ffe4e6; color: #9f1239; }
