* { box-sizing: border-box; margin: 0; padding: 0; }
body { font: 14px/1.5 system-ui, sans-serif; background: #f8fafc; color: #1e293b; padding: 2rem; }
#login { max-width: 400px; margin: 4rem auto; background: #fff; padding: 2rem; border-radius: 12px; box-shadow: 0 4px 24px rgba(0,0,0,.06); text-align: center; }
#login h1 { color: #2563eb; font-size: 1.5rem; margin-bottom: .5rem; }
#login p { color: #64748b; font-size: .9rem; margin-bottom: 1.5rem; }
#login input { width: 100%; padding: .7rem; border: 1px solid #e2e8f0; border-radius: 8px; margin-bottom: 1rem; font-size: .95rem; }
header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
header h1 { color: #2563eb; }
.toolbar { display: flex; gap: .5rem; margin-bottom: 1rem; }
button { padding: .6rem 1rem; background: #2563eb; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: 500; }
button:hover { background: #1d4ed8; }
.btn-secondary { background: #64748b; }
.btn-secondary:hover { background: #475569; }
.btn-danger { background: #dc2626; padding: .3rem .6rem; font-size: .8rem; }
.btn-danger:hover { background: #b91c1c; }
#newForm { display: flex; gap: .5rem; flex-wrap: wrap; padding: 1rem; background: #fff; border-radius: 8px; margin-bottom: 1rem; }
#newForm input, #newForm select { padding: .6rem; border: 1px solid #e2e8f0; border-radius: 6px; flex: 1; min-width: 120px; }
table { width: 100%; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,.04); border-collapse: collapse; }
th, td { padding: .7rem 1rem; text-align: left; border-bottom: 1px solid #f1f5f9; font-size: .85rem; }
th { background: #f8fafc; font-weight: 600; color: #475569; }
td.ok { color: #16a34a; font-weight: 500; }
td.err { color: #dc2626; font-weight: 500; }
.error { color: #dc2626; font-size: .85rem; margin-top: .5rem; }
.msg { padding: .7rem 1rem; border-radius: 8px; margin-bottom: 1rem; display: none; }
.msg-ok { background: #dcfce7; color: #166534; display: block; }
.msg-err { background: #fee2e2; color: #991b1b; display: block; }