/* Consola master (weostores.com): estilo base de themes/default + estes acrescentos.
   Todas as regras vivem sob #objectview (ou .platform-nav) para vencerem as do tema base. */

/* ── Largura: o tema base fixa #subcontainer em 1000px; a consola precisa de mais ── */
#subcontainer { width: 1240px !important; max-width: calc(100vw - 48px); }
#content { width: 100% !important; }
#objectview { width: 100% !important; box-sizing: border-box; }

/* ── Título e conteúdo: o tema base usa larguras fixas com float; aqui acompanham o bloco ── */
#objectview .title { float: none; width: auto !important; padding-right: 40px; box-sizing: border-box; position: relative; overflow: hidden; }
#objectview .content { float: none; width: auto !important; box-sizing: border-box; clear: both; }
#objectview .title .block_options { float: right; }

/* ── Campos: o tema base fixa height: 22px, que corta o texto com preenchimento ── */
#objectview select,
#objectview input[type=text],
#objectview textarea { height: auto; min-height: 38px; line-height: 1.3; box-sizing: border-box; }
#objectview textarea { min-height: 88px; }

/* ── Botão no título do bloco ── */
#objectview .title .block_options a.button_small { display: inline-block; height: auto; padding: 8px 20px; line-height: 1.2; color: #fff; text-decoration: none; background: #465157; border-radius: 3px; }
#objectview .title .block_options a.button_small:hover { background: #252c34; }

/* ── Navegação (Empresas | Utilizadores) ── */
.platform-nav { display: flex; gap: 8px; margin: 28px 0 0; padding: 0; }
.platform-nav a { display: inline-block; padding: 10px 22px; border: 1px solid #d9d9d6; border-radius: 4px; background: #fff; color: #333; font-weight: 600; text-decoration: none; transition: background 150ms, color 150ms; }
.platform-nav a:hover { background: #f1f1ef; }
.platform-nav a.active { background: #252c34; border-color: #252c34; color: #fff; }

/* ── Bloco ── */
#objectview { margin: 20px 0 40px; }
#objectview .content { padding: 28px 40px 40px; }
#objectview .block_options .button_small { display: inline-block; }

/* ── Textos de apoio ── */
#objectview .platform-hint { color: #777; font-size: 12px; line-height: 1.5; margin-top: 8px; }
#objectview .platform-hint-top { margin: 0 0 16px; }
#objectview .platform-lead { margin: 0 0 20px; line-height: 1.6; }
#objectview .platform-muted { color: #8a8a86; }
#objectview .platform-note { background: #fff7e0; border: 1px solid #f0dca0; border-radius: 4px; padding: 12px 16px; margin-bottom: 24px; line-height: 1.5; }
#objectview .platform-empty { padding: 40px 0; text-align: center; color: #8a8a86; }
#objectview .platform-count { color: #8a8a86; font-size: 12px; margin: 0 0 12px; }

/* ── Tabelas de lista ── */
#objectview table.object_list { width: 100%; border-collapse: collapse; }
#objectview table.object_list th { padding: 12px 16px; text-align: left; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #777; background: none; border-bottom: 2px solid #e5e5e2; }
#objectview table.object_list td { padding: 16px; text-align: left; vertical-align: middle; border-bottom: 1px solid #eeeeeb; }
#objectview table.object_list tr.row:hover td { background: #fafaf8; }
#objectview table.object_list tr.platform-deleted td,
#objectview table.object_list tr.platform-inactive td { opacity: .55; }
#objectview table.object_list tr.platform-inactive td.platform-actions,
#objectview table.object_list tr.platform-deleted td.platform-actions { opacity: 1; }
#objectview .platform-user-name { font-weight: 600; }
#objectview .platform-user-email { color: #8a8a86; font-size: 12px; margin-top: 2px; }
#objectview .platform-you { margin-left: 6px; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: #fff; background: #8a8a86; border-radius: 3px; padding: 1px 6px; }
#objectview th.platform-col-actions { text-align: right; }
#objectview td.platform-actions { white-space: nowrap; text-align: right; }
#objectview table.object_list td.platform-actions a { display: inline-block !important; vertical-align: middle; width: auto; margin-left: 16px; color: #e8742a; text-decoration: underline; }
#objectview td.platform-actions form { display: inline-block; vertical-align: middle; margin: 0 0 0 16px; }
#objectview .platform-link-button { background: none; border: 0; padding: 0; color: #e8742a; cursor: pointer; font: inherit; text-decoration: underline; width: auto; height: auto; }
#objectview .platform-link-button.platform-link-danger { color: #c0392b; }
#objectview .platform-link-button.platform-link-enter { color: #252c34; font-weight: 600; }

#objectview a.platform-count-link { color: #252c34; font-weight: 600; text-decoration: underline; }

/* ── Etiquetas ── */
#objectview .platform-badge { display: inline-block; padding: 3px 11px; border-radius: 12px; font-size: 11px; font-weight: 700; background: #ececea; color: #555; }
#objectview .platform-badge-on { background: #e1f3e8; color: #1f7a45; }
#objectview .platform-badge-off { background: #ececea; color: #777; }
#objectview .platform-badge-master { background: #252c34; color: #fff; }
#objectview .platform-badge-admin { background: #fde9d9; color: #b4531a; }
#objectview .platform-badge-employee { background: #e4eefb; color: #2c5f9e; }

/* ── Filtros ── */
#objectview .platform-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 20px; margin: 0 0 28px; padding: 20px 24px; background: #f7f7f5; border: 1px solid #eeeeeb; border-radius: 4px; }
#objectview .platform-filter { display: flex; flex-direction: column; gap: 6px; }
#objectview .platform-filter label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #777; float: none; width: auto; }
#objectview .platform-filter select,
#objectview .platform-filter input[type=text] { width: 100%; min-width: 180px; padding: 8px 10px; }
#objectview .platform-filter-grow { flex: 1 1 220px; }
#objectview .platform-filter-buttons { flex-direction: row; align-items: center; gap: 16px; }
#objectview .platform-clear { color: #777; font-size: 12px; }
#objectview .platform-pick { max-width: 560px; }
#objectview .platform-pick .platform-filter select { width: 100%; padding: 10px 12px; }

/* ── Formulários ── */
#objectview table.object_content { width: 100%; border-collapse: collapse; }
#objectview table.object_content td.col_field { width: 260px; padding: 18px 28px 18px 0; vertical-align: top; font-weight: 600; color: #555; line-height: 1.4; }
#objectview table.object_content td.col_data { padding: 12px 0; vertical-align: top; }
#objectview table.object_content td.col_data input[type=text],
#objectview table.object_content td.col_data select,
#objectview table.object_content td.col_data textarea { max-width: 560px; box-sizing: border-box; padding: 9px 12px; }
#objectview table.object_content td.col_data input[type=text] { width: 100%; }
#objectview .platform-section { padding: 44px 0 12px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #252c34; border-bottom: 1px solid #e2e2df; }
#objectview table.object_content tr:first-child .platform-section { padding-top: 8px; }
h3.platform-section { margin: 36px 0 14px; font-size: 13px; }
#objectview .buttons.centered { display: flex; justify-content: center; gap: 14px; margin-top: 44px; padding-top: 28px; border-top: 1px solid #eeeeeb; }

/* ── Caixas de seleção, radios e módulos ── */
#objectview table.object_content td.col_data .platform-check,
#objectview .platform-modules label { display: inline-flex; align-items: center; float: none; width: auto; margin: 0; line-height: 1.4; cursor: pointer; }
#objectview table.object_content td.col_data input[type=checkbox],
#objectview table.object_content td.col_data input[type=radio] { width: auto; height: auto; margin: 0 8px 0 0; float: none; display: inline-block; }
#objectview .platform-modules { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px 24px; max-width: 760px; margin-top: 4px; }
#objectview .platform-radios { display: flex; flex-wrap: wrap; gap: 8px 32px; margin-bottom: 16px; }
#objectview .platform-crm-list { margin-top: 0; }

/* ── Permissões por função ── */
#objectview .platform-perm-module { max-width: 760px; margin-bottom: 12px; border: 1px solid #e2e2df; border-radius: 4px; background: #fff; }
#objectview .platform-perm-module summary { padding: 14px 18px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 12px; list-style: none; }
#objectview .platform-perm-module summary::-webkit-details-marker { display: none; }
#objectview .platform-perm-module summary::before { content: '\25B8'; color: #8a8a86; }
#objectview .platform-perm-module[open] summary::before { content: '\25BE'; }
#objectview .platform-perm-module[open] summary { border-bottom: 1px solid #eeeeeb; }
#objectview table.platform-perm-table { width: 100%; border-collapse: collapse; }
#objectview table.platform-perm-table th { padding: 10px 18px; text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #8a8a86; }
#objectview table.platform-perm-table td { padding: 10px 18px; border-top: 1px solid #f1f1ef; font-size: 13px; }
#objectview select.platform-perm-select { padding: 6px 10px; min-width: 150px; }
#objectview select.platform-perm-allow { background: #e1f3e8; }
#objectview select.platform-perm-deny { background: #fbe4e1; }

/* ── Ações da conta ── */
#objectview .platform-account-actions { margin-top: 48px; padding-top: 28px; border-top: 1px solid #eeeeeb; }
#objectview .platform-section-title { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 16px; color: #252c34; }

/* ── Credenciais e checklist ── */
#objectview .platform-cred { background: #f7f7f5; border: 1px solid #e2e2e0; border-radius: 4px; padding: 24px 28px; margin-bottom: 12px; }
#objectview .platform-cred table.object_content td.col_field { width: 200px; padding: 12px 20px 12px 0; }
#objectview .platform-password { font-size: 17px; background: #fff; border: 1px solid #ccc; border-radius: 3px; padding: 6px 12px; user-select: all; }
#objectview .platform-checklist { list-style: none; margin: 0; padding: 0; }
#objectview .platform-checklist li { padding: 14px 0 14px 30px; position: relative; border-bottom: 1px solid #eee; line-height: 1.5; }
#objectview .platform-checklist li::before { position: absolute; left: 4px; top: 14px; font-weight: bold; }
#objectview .platform-checklist li.ok::before { content: '\2713'; color: #2e8b57; }
#objectview .platform-checklist li.ko::before { content: '\2022'; color: #c0392b; }
#objectview .platform-checklist pre { background: #f7f7f5; padding: 12px 16px; margin: 12px 0 0; overflow-x: auto; border-radius: 3px; }

/* ── Ecrãs estreitos ── */
@media (max-width: 800px) {
	#objectview .content { padding: 20px 18px 28px; }
	#objectview table.object_content td.col_field { display: block; width: auto; padding: 16px 0 4px; }
	#objectview table.object_content td.col_data { display: block; padding: 4px 0 12px; }
	#objectview .platform-filters { padding: 16px; }
}

/* Gerir utilizadores da empresa (por utilizador) */
.platform-manage-users {
	margin-bottom: 16px;
	padding: 12px 14px;
	border: 1px solid #dcdcdc;
	border-radius: 4px;
	background: #fafafa;
}

.platform-manage-users strong {
	display: inline-block;
	margin-right: 12px;
	font-size: 13px;
}
