* { box-sizing: border-box; }
body { margin: 0; font-family: Manrope, sans-serif; color: #1d293f; background: #f4f7fb; }
a { color: #1f4e9f; text-decoration: none; }
.admin-shell { display: grid; grid-template-columns: 260px 1fr; min-height: 100vh; }
.admin-sidebar { background: #0b2349; color: #ecf3ff; padding: 22px; }
.admin-sidebar h1 { margin: 0 0 8px; font-size: 1.3rem; }
.admin-sidebar nav { display: grid; gap: 8px; margin-top: 18px; }
.admin-sidebar nav a { color: #dbe9ff; padding: 10px 12px; border-radius: 8px; background: rgba(255,255,255,.06); }
.admin-sidebar nav a:hover,
.admin-sidebar nav a:focus { background: rgba(255,255,255,.14); outline: none; }
.admin-main { padding: 24px; }
.breadcrumb { list-style: none; display: flex; gap: 10px; margin: 0 0 16px; padding: 0; color: #5d6f8d; font-size: 13px; }
.card { background: #fff; border: 1px solid #d9e2f2; border-radius: 14px; padding: 16px; margin-bottom: 16px; }
.metric-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.metric-grid article { background: #fff; border: 1px solid #dce4f2; border-radius: 12px; padding: 12px; }
.metric-grid h3 { margin: 0 0 8px; font-size: .95rem; color: #546987; }
.metric-grid p { margin: 0; font-size: 1.5rem; font-weight: 800; }
.admin-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
label { display: block; margin: 10px 0 6px; font-weight: 700; font-size: .9rem; }
input, select, textarea, button { font: inherit; }
input, select, textarea { width: 100%; border: 1px solid #c8d5ee; border-radius: 10px; padding: 10px; }
input[type="checkbox"], input[type="radio"] { width: auto; }
button { border: 0; background: #1a4c9d; color: #fff; border-radius: 10px; padding: 9px 12px; cursor: pointer; }
table { width: 100%; border-collapse: collapse; }
th, td { border-bottom: 1px solid #e0e8f4; padding: 9px; text-align: left; font-size: .93rem; }
.actions { display: flex; gap: 8px; align-items: center; }
.actions form { margin: 0; }
.grid-2 { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.alert { padding: 12px; border-radius: 10px; margin-bottom: 12px; font-weight: 600; }
.alert-success { background: #e7f8ed; color: #0f6a3f; border: 1px solid #bde9cd; }
.alert-danger { background: #ffe9e9; color: #a12626; border: 1px solid #f5b8b8; }
.auth-page { min-height: 100vh; display: grid; place-items: center; background: linear-gradient(120deg, #113364, #2a5fae); }
.auth-card { width: min(420px, 92vw); background: #fff; border-radius: 18px; padding: 24px; border: 1px solid #d8e3f8; box-shadow: 0 14px 40px rgba(0,0,0,.2); }
.auth-kicker { display: inline-block; margin-bottom: 10px; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #1a4c9d; }
.auth-card h1 { margin: 0 0 8px; font-size: 1.75rem; }
.auth-copy { margin: 0 0 16px; color: #4e607f; line-height: 1.5; }
.actions .button-link { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 9px 12px; border-radius: 10px; background: #eef4ff; color: #1a4c9d; font-weight: 700; }
.import-card { padding: 0; }
.import-card h3 { margin: 0 0 12px; padding: 16px 16px 0; }
.import-card > p,
.import-card > .alert { margin: 0 16px 16px; }
.import-card table { margin: 0; }
.import-card td:last-child,
.import-card th:last-child { width: 140px; }
.import-preview { margin: 14px 0 18px; padding: 14px; border: 1px dashed #c8d5ee; border-radius: 12px; background: #f8fbff; }
.import-preview p { margin: 0 0 10px; }
.import-preview__media img { display: block; width: 100%; max-width: 280px; border-radius: 12px; border: 1px solid #dbe6f7; }
@media (max-width: 960px) {
    .admin-shell { grid-template-columns: 1fr; }
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-two, .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
}
