* { box-sizing: border-box; }
body {
    font-family: system-ui, sans-serif;
    margin: 0;
    background: #f4f5f7;
    color: #1a1a1a;
}
header {
    background: #1f2a44;
    color: #fff;
    padding: 0.8rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header a { color: #fff; text-decoration: none; }
header nav a { margin-right: 1rem; }
main {
    max-width: 1000px;
    margin: 1.5rem auto;
    padding: 0 1rem;
}
.card {
    background: #fff;
    border-radius: 6px;
    padding: 1.2rem 1.5rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 0.5rem 0.6rem; border-bottom: 1px solid #e2e2e2; }
th { background: #f0f1f4; }
.flash { padding: 0.7rem 1rem; border-radius: 4px; margin-bottom: 1rem; }
.flash.error { background: #fde2e2; color: #8a1f1f; }
.flash.success { background: #dcf5e0; color: #1f6b2e; }
.warn { color: #8a5a00; font-weight: 600; }
label { display: block; margin-top: 0.6rem; font-weight: 600; }
input[type=text], input[type=password], input[type=date], input[type=number], textarea, select {
    width: 100%; padding: 0.4rem 0.5rem; margin-top: 0.2rem;
    border: 1px solid #ccc; border-radius: 4px; font: inherit;
}
input[type=number] { width: 5rem; }
button, .btn {
    background: #1f2a44; color: #fff; border: none; padding: 0.5rem 1rem;
    border-radius: 4px; cursor: pointer; font: inherit; text-decoration: none;
    display: inline-block; margin-top: 0.8rem;
}
button.danger, .btn.danger { background: #a02020; }
button.secondary, .btn.secondary { background: #666; }
.small { font-size: 0.85rem; color: #555; }
.result-row td { padding: 0.3rem; }
