body {
background: #f4f6f9;
font-family: 'Segoe UI', Roboto, sans-serif;
}

.login-wrap {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #1e3a5f 0%, #c8102e 100%);
padding: 20px;
}

.login-card {
max-width: 420px;
width: 100%;
border-radius: 16px;
box-shadow: 0 20px 60px rgba(0,0,0,0.35);
border: none;
padding: 14px;
}

.login-logo-circle {
width: 74px;
height: 74px;
border-radius: 50%;
background: linear-gradient(135deg, #1e3a5f 0%, #c8102e 100%);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 34px;
box-shadow: 0 6px 20px rgba(200,16,46,0.35);
}

.login-titulo {
color: #1e3a5f;
font-weight: 800;
letter-spacing: 0.5px;
}

.input-group-text {
background: #f4f6f9;
color: #1e3a5f;
border-right: none;
}

.input-group .form-control {
border-left: none;
}

.input-group .form-control:focus {
box-shadow: none;
border-color: #ced4da;
}

.input-group:focus-within .input-group-text,
.input-group:focus-within .form-control,
.input-group:focus-within .btn {
border-color: #c8102e;
}

.link-voltar {
color: #6c7a89;
text-decoration: none;
font-size: 14px;
transition: color 0.25s;
}

.link-voltar:hover {
color: #c8102e;
}

.sidebar {
width: 260px;
min-height: 100vh;
background: #1e3a5f;
color: #fff;
position: fixed;
top: 0;
left: 0;
padding-top: 20px;
z-index: 1000;
transition: left 0.3s;
}

.sidebar a {
color: #cfd8e3;
padding: 14px 22px;
display: block;
text-decoration: none;
border-left: 4px solid transparent;
font-size: 15px;
}

.sidebar a:hover,
.sidebar a.active {
background: rgba(255,255,255,0.08);
color: #fff;
border-left-color: #c8102e;
}

.sidebar .brand {
padding: 12px 22px 24px;
font-weight: 700;
font-size: 20px;
border-bottom: 1px solid rgba(255,255,255,0.1);
margin-bottom: 10px;
}

.content {
margin-left: 260px;
padding: 24px;
}

.topbar {
background: #fff;
border-radius: 10px;
padding: 14px 22px;
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
margin-bottom: 22px;
display: flex;
justify-content: space-between;
align-items: center;
}

.card-box {
background: #fff;
border-radius: 10px;
padding: 22px;
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
margin-bottom: 22px;
}

.img-thumb {
max-width: 90px;
border-radius: 6px;
}

.btn-primary {
background-color: #c8102e;
border-color: #c8102e;
}

.btn-primary:hover,
.btn-primary:focus {
background-color: #a10c25;
border-color: #a10c25;
}

.btn-primary:disabled {
background-color: #c8102e;
border-color: #c8102e;
opacity: 0.7;
}

@media (max-width: 900px) {
.sidebar {
left: -260px;
}
.sidebar.open {
left: 0;
}
.content {
margin-left: 0;
}
}