/* Login page custom styles */
.login-container {
	max-width: 350px;
	margin: 60px auto;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 16px #0002;
	padding: 32px 28px 24px 28px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.login-container h2 {
	text-align: center;
	margin-bottom: 1.5em;
	color: #222e3c;
}
.login-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.login-form label {
	font-size: 1em;
	color: #222e3c;
	margin-bottom: 2px;
}
.login-form input[type="text"],
.login-form input[type="password"],
.login-form input[type="email"] {
	padding: 8px 10px;
	border: 1px solid #cfd8dc;
	border-radius: 5px;
	font-size: 1em;
	background: #f7f9fb;
	margin-bottom: 8px;
}
.login-form button {
	background: #2ecc71;
	color: #fff;
	border: none;
	border-radius: 5px;
	padding: 10px 0;
	font-size: 1.1em;
	font-weight: 600;
	cursor: pointer;
	margin-top: 8px;
	transition: background .2s;
}
.login-form button:hover {
	background: #27ae60;
}
.login-links {
	text-align: center;
	margin-top: 18px;
	font-size: .98em;
}
.login-links a {
	color: #2ecc71;
	text-decoration: none;
	margin: 0 4px;
}
.login-links a:hover {
	text-decoration: underline;
}
.login-erro {
	background: #ffeaea;
	color: #c0392b;
	border: 1px solid #e57373;
	border-radius: 5px;
	padding: 8px 12px;
	margin-bottom: 16px;
	text-align: center;
	font-size: 1em;
}
.login-sucesso {
	background: #eafaf1;
	color: #1e7e46;
	border: 1px solid #98d9b4;
	border-radius: 5px;
	padding: 8px 12px;
	margin-bottom: 16px;
	text-align: center;
	font-size: 1em;
}
body {margin:0;font-family:'Segoe UI',Arial,sans-serif;background:#f7f9fb;}
.sidebar {width:220px;position:fixed;top:0;left:0;height:100vh;background:#222e3c;color:#fff;padding:32px 0 0 0;box-shadow:2px 0 8px #0001;z-index:10;}
.sidebar h2 {font-size:1.3em;text-align:center;margin-bottom:2em;letter-spacing:1px;}
.sidebar nav {display:flex;flex-direction:column;gap:1em;align-items:center;}
.sidebar nav a {color:#fff;text-decoration:none;padding:10px 24px;border-radius:6px;transition:.2s;background:transparent;}
.sidebar nav a.novo {background:#2ecc71;color:#fff;}
.sidebar nav a:hover {background:#1a2230;}
.main-content {margin-left:220px;padding:40px 32px;min-height:100vh;}
.main-content a.novo, .main-content .btn-novo {display:inline-block;background:#2ecc71;color:#fff;text-decoration:none;padding:9px 20px;border-radius:6px;font-weight:600;margin-bottom:1.2em;transition:background .2s;}
.main-content a.novo:hover, .main-content .btn-novo:hover {background:#27ae60;}
.kpis {display:flex;gap:2em;margin-bottom:2em;}
.kpi {background:#fff;border-radius:10px;box-shadow:0 2px 8px #0001;padding:24px 32px;flex:1;text-align:center;}
.kpi-title {display:block;font-size:.95em;color:#888;margin-bottom:8px;}
.kpi-value {font-size:2.2em;font-weight:600;color:#222e3c;}
/* Tabelas modernas para listagens */
table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 8px #0001;
	overflow: hidden;
	margin-bottom: 2em;
}
th, td {
	padding: 12px 16px;
	text-align: left;
}
th {
	background: #f0f4f8;
	color: #222e3c;
	font-weight: 600;
	border-bottom: 2px solid #e0e6ed;
}
tr:nth-child(even) td {
	background: #f7f9fb;
}
tr:hover td {
	background: #eafaf1;
}
td a {
	color: #2ecc71;
	text-decoration: none;
	font-weight: 500;
	transition: color .2s;
}
td a:hover {
	color: #27ae60;
	text-decoration: underline;
}
@media (max-width:600px) {
	table, thead, tbody, th, td, tr {
		display: block;
	}
	thead tr {
		display: none;
	}
	tr {
		margin-bottom: 1em;
		border-radius: 8px;
		box-shadow: 0 1px 4px #0001;
		background: #fff;
		padding: 8px 0;
	}
	td {
		position: relative;
		padding-left: 50%;
		min-height: 36px;
		border-bottom: 1px solid #f0f4f8;
	}
	td:before {
		position: absolute;
		left: 16px;
		top: 12px;
		width: 45%;
		white-space: nowrap;
		font-weight: 600;
		color: #888;
		content: attr(data-label);
	}
}
@media (max-width:800px){.sidebar{position:static;width:100vw;height:auto;}.main-content{margin-left:0;padding:16px;}.kpis{flex-direction:column;gap:1em;}}