* { box-sizing: border-box; }

body {
    font-family: -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    background: #f4f5f7;
    color: #1f2328;
    margin: 0;
}

.container {
    max-width: 960px;
    margin: 0 auto;
    padding: 32px 16px;
}

h1, h2 { margin-top: 0; }

.card {
    background: #fff;
    border: 1px solid #d8dee4;
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 16px;
}

form .field { margin-bottom: 16px; }

label { display: block; font-weight: 600; margin-bottom: 4px; }

input[type="text"],
input[type="password"],
textarea {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #c4cad1;
    border-radius: 6px;
    font-size: 14px;
}

input[type="file"] { display: block; }

button, .btn {
    display: inline-block;
    background: #1f6feb;
    color: #fff;
    border: none;
    padding: 9px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    text-decoration: none;
}

button.danger, .btn.danger { background: #cf222e; }

button:hover, .btn:hover { opacity: 0.9; }

.error {
    background: #fff0f0;
    border: 1px solid #f3c4c4;
    color: #82181a;
    padding: 10px 14px;
    border-radius: 6px;
    margin-bottom: 16px;
}

.success {
    background: #eaffea;
    border: 1px solid #b9e6b9;
    color: #1a7f37;
    padding: 10px 14px;
    border-radius: 6px;
    margin-bottom: 16px;
}

table { width: 100%; border-collapse: collapse; background: #fff; }

th, td {
    text-align: left;
    padding: 10px 12px;
    border-bottom: 1px solid #e3e6ea;
    vertical-align: middle;
}

th { background: #f6f8fa; font-weight: 600; }

.thumb {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #d8dee4;
}

.preview-large {
    max-width: 100%;
    max-height: 480px;
    border-radius: 8px;
    border: 1px solid #d8dee4;
}

.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.muted { color: #656d76; font-size: 13px; }

.actions { display: flex; gap: 8px; }
