body { font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; -webkit-tap-highlight-color: transparent; }
html, body { overflow-x: clip; }
.card { background: #fff; border: 1px solid rgba(229,229,229,.9); border-radius: 1.25rem; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.field { width: 100%; padding: .65rem .85rem; border-radius: .75rem; background: #fafafa; border: 1px solid #e5e5e5; color: #171717; outline: none; transition: border-color .15s, box-shadow .15s; }
.field:focus { border-color: #059669; box-shadow: 0 0 0 3px rgba(5,150,105,.15); background: #fff; }
.lbl { display: block; font-weight: 700; color: #404040; margin-bottom: .3rem; font-size: .78rem; }
.hint { font-size: .72rem; color: #a3a3a3; margin-top: .25rem; }
.btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; background: #059669; color: #fff; font-weight: 700; border-radius: .75rem; padding: .6rem 1.1rem; min-height: 42px; font-size: .875rem; transition: background .15s; }
.btn-primary:hover { background: #047857; }
.btn-soft { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; background: #f5f5f5; color: #404040; font-weight: 700; border-radius: .75rem; padding: .6rem 1.1rem; min-height: 42px; font-size: .875rem; }
.btn-soft:hover { background: #e5e5e5; }
.btn-danger { display: inline-flex; align-items: center; justify-content: center; background: #fff1f2; color: #be123c; font-weight: 700; border-radius: .75rem; padding: .5rem .9rem; min-height: 38px; font-size: .8rem; }
.btn-danger:hover { background: #ffe4e6; }
.tbl { width: 100%; font-size: .8rem; text-align: left; }
.tbl th { background: #fafafa; color: #737373; text-transform: uppercase; font-size: .68rem; font-weight: 700; padding: .65rem .85rem; border-bottom: 1px solid #e5e5e5; white-space: nowrap; }
.tbl td { padding: .65rem .85rem; border-bottom: 1px solid #f5f5f5; vertical-align: top; }
.badge { display: inline-block; padding: .15rem .55rem; border-radius: 9999px; font-size: .68rem; font-weight: 800; }
@media (max-width: 640px) { input, select, textarea { font-size: 16px !important; } }
