/**
 * UniAdvisor -- Painel do parceiro (/parceiro/painel/)
 * Mesmo design system indigo/Sora/Inter de meus-vouchers.css --
 * continuação visual da mesma família de área logada de autoatendimento.
 *
 * Shell de sidebar (.pp-shell/.pp-sidebar/.pp-main/.pp-topbar) segue o
 * mockup fornecido pelo usuário (parceiro-painel-instituicao.html,
 * 09/08/2026) -- só pro estado "logado como parceiro". Os outros dois
 * estados (login / aviso de acesso) continuam no cartão centralizado
 * simples (.pp-wrap), sem sidebar.
 */

.pp-page{
	--indigo:#4338CA;
	--indigo-dark:#362DA0;
	--indigo-100:#EEECFB;
	--indigo-50:#F7F6FD;
	--font-display:'Sora', sans-serif;
	--font-body:'Inter', sans-serif;
	font-family:var(--font-body);
	background:var(--indigo-50);
	padding:48px 0 80px;
	min-height:60vh;
}

.pp-wrap{
	max-width:720px;
	margin:0 auto;
	padding:0 20px;
}

/* ---------- Cartões (login / solicitar acesso / aviso) ---------- */

.pp-card{
	background:#fff;
	border:1px solid var(--indigo-100);
	border-radius:16px;
	padding:32px;
	margin:0 auto 24px;
}

.pp-card h1,
.pp-card h2{
	font-family:var(--font-display);
	font-size:20px;
	font-weight:700;
	margin:0 0 6px;
	color:#181A2A;
}

.pp-card-subtitulo{
	font-size:14px;
	color:#5B5F73;
	margin:0 0 20px;
}

.pp-erro{
	background:#FDECEC;
	color:#B42318;
	border-radius:10px;
	padding:10px 14px;
	font-size:13px;
	margin-bottom:16px;
}

.pp-sucesso{
	background:#E7F7EF;
	color:#1A9A5E;
	border-radius:10px;
	padding:14px;
	font-size:14px;
}

.pp-campo{
	margin-bottom:16px;
}

.pp-campo label{
	display:block;
	font-size:13px;
	font-weight:600;
	color:#181A2A;
	margin-bottom:6px;
}

.pp-campo input[type="text"],
.pp-campo input[type="email"],
.pp-campo input[type="tel"],
.pp-campo input[type="password"],
.pp-campo input[type="url"],
.pp-campo input[type="file"],
.pp-campo textarea{
	width:100%;
	box-sizing:border-box;
	padding:11px 14px;
	border:1px solid #D9DAE3;
	border-radius:10px;
	font-family:inherit;
	font-size:14px;
	color:#181A2A;
}

.pp-campo textarea{
	resize:vertical;
	min-height:80px;
}

.pp-campo input:focus,
.pp-campo textarea:focus{
	outline:2px solid var(--indigo);
	outline-offset:1px;
	border-color:var(--indigo);
}

.pp-btn-primary{
	display:inline-block;
	background:var(--indigo);
	color:#fff;
	border:none;
	border-radius:10px;
	padding:13px 22px;
	font-family:var(--font-body);
	font-weight:600;
	font-size:15px;
	cursor:pointer;
	text-align:center;
}

.pp-btn-primary:hover{ background:var(--indigo-dark); }

.pp-btn-primary:disabled{
	opacity:.6;
	cursor:default;
}

.pp-link-secundario{
	display:inline-block;
	margin-top:16px;
	font-size:13px;
	color:var(--indigo);
	text-decoration:none;
}

.pp-link-secundario:hover{ text-decoration:underline; }

/* ---------- Cabeçalho (logado) ---------- */

.pp-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:24px;
}

.pp-header h1{
	font-family:var(--font-display);
	font-size:22px;
	font-weight:700;
	margin:0;
	color:#181A2A;
}

.pp-logout{
	font-size:13px;
	font-weight:600;
	color:var(--indigo);
	text-decoration:none;
}

.pp-logout:hover{ text-decoration:underline; }

.pp-vazio{
	color:#5B5F73;
	font-size:14px;
}

/* ---------- Card de edição de um post ---------- */

.pp-post-card{
	scroll-margin-top:20px;
}

.pp-post-card-titulo{
	display:flex;
	align-items:baseline;
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:4px;
}

.pp-post-card-titulo strong{
	font-family:var(--font-display);
	font-size:17px;
	color:#181A2A;
}

.pp-badge-papel{
	font-size:11px;
	font-weight:600;
	border-radius:999px;
	padding:3px 10px;
	background:var(--indigo-50);
	color:var(--indigo);
	white-space:nowrap;
}

.pp-post-card-aviso-salvo{
	background:#E7F7EF;
	color:#1A9A5E;
	border-radius:10px;
	padding:10px 14px;
	font-size:13px;
	margin:12px 0;
}

.pp-linha-2{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
}

.pp-fotos-grid{
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:16px;
	margin-bottom:16px;
}

.pp-foto-slot{
	border:1px dashed #D9DAE3;
	border-radius:10px;
	padding:12px;
}

.pp-foto-slot-preview{
	display:block;
	width:100%;
	height:100px;
	object-fit:cover;
	border-radius:8px;
	margin-bottom:8px;
	background:var(--indigo-50);
}

.pp-foto-slot label{
	display:block;
	font-size:12px;
	font-weight:600;
	color:#181A2A;
	margin-bottom:4px;
}

.pp-foto-slot input[type="file"]{
	font-size:12px;
	padding:6px;
	margin-bottom:8px;
}

.pp-foto-slot input[type="text"]{
	font-size:12px;
	padding:8px 10px;
}

/* ---------- Campos somente leitura (dentro de um form editável) ---------- */

.pp-tag-leitura{
	font-size:10px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.04em;
	color:#8B85A0;
	margin-left:4px;
}

.pp-campo input:disabled,
.pp-campo textarea:disabled{
	background:#F5F4FA;
	color:#8B85A0;
	cursor:not-allowed;
	border-color:var(--indigo-100);
}

.pp-campos-institucionais{
	display:grid;
	grid-template-columns:96px 1fr 1fr;
	gap:16px;
	margin-bottom:20px;
	align-items:start;
}

.pp-logo-preview{
	width:96px;
	height:96px;
	border:1.5px dashed #D9DAE3;
	border-radius:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--indigo-50);
	overflow:hidden;
	padding:10px;
}

.pp-logo-preview img{
	max-width:100%;
	max-height:100%;
	object-fit:contain;
}

.pp-logo-preview-vazio{
	font-size:11px;
	color:#8B85A0;
	text-align:center;
}

/* ---------- Shell (dashboard logado -- sidebar + conteúdo) ---------- */

.pp-page--dashboard{
	padding:0;
}

.pp-shell{
	display:flex;
	min-height:80vh;
	background:var(--indigo-50);
}

.pp-sidebar{
	width:248px;
	flex-shrink:0;
	background:#fff;
	border-right:1px solid var(--indigo-100);
	display:flex;
	flex-direction:column;
	padding:22px 16px;
}

.pp-sidebar-logo{
	display:flex;
	align-items:center;
	padding:4px 8px 22px;
}

.pp-sidebar-logo .pp-logo-img{
	max-width:150px;
	width:100%;
	height:auto;
	display:block;
}

.pp-sidebar-logo .pp-brand{
	font-family:var(--font-display);
	font-weight:800;
	font-size:16.5px;
	color:#181A2A;
}

.pp-sidebar-label{
	font-size:11px;
	font-weight:700;
	color:#8B85A0;
	text-transform:uppercase;
	letter-spacing:.06em;
	padding:0 8px;
	margin-bottom:10px;
}

.pp-sidebar-nav{
	display:flex;
	flex-direction:column;
	gap:2px;
}

.pp-sidebar-nav a{
	display:flex;
	align-items:center;
	padding:10px 10px;
	border-radius:9px;
	font-size:14px;
	font-weight:600;
	color:#5B5F73;
	text-decoration:none;
}

.pp-sidebar-nav a:hover{
	background:#F0EEF7;
	color:#181A2A;
}

.pp-sidebar-nav a.active{
	background:var(--indigo-50);
	color:var(--indigo);
}

.pp-main{
	flex:1;
	min-width:0;
}

.pp-topbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:26px 40px 0;
	flex-wrap:wrap;
	gap:12px;
}

.pp-topbar h1{
	font-family:var(--font-display);
	font-size:24px;
	font-weight:700;
	margin:0 0 4px;
	color:#181A2A;
}

.pp-topbar p{
	font-size:13.5px;
	color:#5B5F73;
	margin:0;
}

.pp-user-chip{
	display:flex;
	align-items:center;
	gap:10px;
}

.pp-user-chip .pp-avatar{
	width:38px;
	height:38px;
	border-radius:50%;
	background:#7C3AED;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-family:var(--font-display);
	font-weight:800;
	font-size:13px;
	flex-shrink:0;
}

.pp-user-chip .pp-who strong{
	display:block;
	font-size:13.5px;
	line-height:1.3;
	color:#181A2A;
}

.pp-user-chip .pp-who span{
	font-size:11.5px;
	color:#8B85A0;
}

.pp-dashboard-content{
	padding:24px 40px 60px;
	max-width:900px;
}

.pp-dashboard-content .pp-vazio{
	background:#fff;
	border:1px solid var(--indigo-100);
	border-radius:16px;
	padding:32px;
}

/* ---------- Responsivo ---------- */

@media (max-width:900px){

	.pp-shell{
		flex-direction:column;
	}

	.pp-sidebar{
		width:100%;
		flex-direction:row;
		align-items:center;
		justify-content:space-between;
		padding:14px 16px;
		border-right:none;
		border-bottom:1px solid var(--indigo-100);
	}

	.pp-sidebar-label{
		display:none;
	}

	.pp-sidebar-nav{
		flex-direction:row;
	}

	.pp-topbar{
		padding:20px 20px 0;
	}

	.pp-dashboard-content{
		padding:20px;
	}

	.pp-campos-institucionais{
		grid-template-columns:1fr 1fr;
	}

	.pp-campos-institucionais .pp-logo-preview{
		grid-column:1 / -1;
	}
}

@media (max-width:640px){

	.pp-page{ padding:24px 0 56px; }

	.pp-card{ padding:24px; }

	.pp-linha-2,
	.pp-fotos-grid{
		grid-template-columns:1fr;
	}

	.pp-campos-institucionais{
		grid-template-columns:1fr;
	}
}
