:root{
	--bg:#1a2236;
	--bg-deep:#141b2d;
	--ink:#eef3fb;
	--muted:#c2cfe4;
	--line:#3d4b68;
	--surface:#27334a;
	--surface-strong:#2b3850;
	--surface-soft:#dce5f4;
	--surface-soft-ink:#1c2b45;
	--brand:#5579de;
	--brand-strong:#476bd0;
	--accent:#7db3eb;
	--warn:#efc06d;
	--danger:#f49a8f;
	--ok:#7ad3a4;
	--shadow:0 6px 16px rgba(7,12,24,0.10);
	/* Tipografia admin ~+10%, com ritmo alinhado */
	--type-scale:1.1;
	--space-scale:1.06;
}

*{
	box-sizing:border-box;
}

html,body{
	margin:0;
	padding:0;
}

body{
	font-family:"Manrope","Segoe UI",sans-serif;
	background:linear-gradient(180deg,var(--bg) 0%,var(--bg-deep) 100%);
	color:var(--ink);
	min-height:100vh;
	line-height:1.48;
}

a{
	color:inherit;
}

.admin-shell{
	min-height:100vh;
}

/* Tema claro: usado pelo backoffice contabilista (body.personal-admin-shell). Admin Pessoais já não usa esta classe. */
.personal-admin-shell{
	--bg:#f6f8ff;
	--bg-deep:#edf3ff;
	--ink:#122033;
	--muted:#58677f;
	--line:#dbe5f4;
	--surface:#ffffff;
	--surface-strong:#f2f6ff;
	--surface-soft:#eef4ff;
	--surface-soft-ink:#122033;
	--brand:#5d8ff2;
	--brand-strong:#4379e6;
	--accent:#8db8ff;
	--warn:#f59e0b;
	--danger:#ef4444;
	--ok:#0f766e;
	--shadow:0 10px 24px rgba(114,139,196,0.12);
}

.personal-admin-shell .topbar{
	background:linear-gradient(180deg,#dbe7ff 0%,#cfddff 100%);
	border-bottom:1px solid #bfd1ff;
}

.personal-admin-shell .nav-link{
	background:rgba(255,255,255,0.7);
	border-color:#bfd1ff;
	color:#33517a;
}

.personal-admin-shell .nav-link.is-current{
	background:#eef4ff;
	border-color:#a9c2ff;
	color:#335cc8;
}

.personal-admin-shell .panel,
.personal-admin-shell .metric-card{
	background:#ffffff;
	border-color:#dbe5f4;
	box-shadow:0 10px 24px rgba(114,139,196,0.12);
}

.personal-admin-shell .table-shell,
.personal-admin-shell .detail-summary,
.personal-admin-shell .info-box,
.personal-admin-shell .feed-item,
.personal-admin-shell .trend-item,
.personal-admin-shell .doc-list a,
.personal-admin-shell .empty-state{
	background:#f2f6ff;
	border-color:#dbe5f4;
}

.personal-admin-shell th{
	background:#eef4ff;
	color:#58677f;
}

.personal-admin-shell tbody tr:hover{
	background:#f7faff;
}

.personal-admin-shell tbody tr.is-selected{
	background:#eaf1ff;
}

.personal-admin-shell .button-secondary{
	background:#eef4ff;
	border-color:#bfd1ff;
	color:#335cc8;
}

.personal-admin-shell .button-secondary:hover{
	background:#dbe7ff;
}

.personal-admin-shell .button-success{
	background:rgba(15,118,110,0.1);
	border-color:rgba(15,118,110,0.2);
	color:#0f766e;
}

.personal-admin-shell .button-danger{
	background:rgba(239,68,68,0.08);
	border-color:rgba(239,68,68,0.16);
	color:#dc2626;
}

.personal-admin-shell .search-form input,
.personal-admin-shell .field input,
.personal-admin-shell .textarea{
	background:#ffffff;
	border-color:#dbe5f4;
	color:#122033;
}

.personal-admin-shell .search-form input::placeholder{
	color:#7c8da6;
}

.personal-admin-shell .status-active,
.personal-admin-shell .status-paid,
.personal-admin-shell .status-done,
.personal-admin-shell .status-normal{
	background:rgba(15,118,110,0.1);
	color:#0f766e;
}

.personal-admin-shell .status-trial,
.personal-admin-shell .status-processing,
.personal-admin-shell .status-pending,
.personal-admin-shell .status-alerta{
	background:rgba(245,158,11,0.12);
	color:#b45309;
}

.personal-admin-shell .status-blocked,
.personal-admin-shell .status-off,
.personal-admin-shell .status-failed,
.personal-admin-shell .status-cancelled,
.personal-admin-shell .status-none,
.personal-admin-shell .status-ocr_failed{
	background:rgba(239,68,68,0.1);
	color:#dc2626;
}

.personal-admin-shell .status-ready_for_confirmation{
	background:rgba(93,143,242,0.12);
	color:#335cc8;
}

.login-shell{
	--brand:#3d6fd4;
	--brand-strong:#355fbd;
	--accent:#93c5fd;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:calc(32px * var(--space-scale)) calc(18px * var(--space-scale));
	background:linear-gradient(165deg,#0f172a 0%,#152a48 45%,#1c3d6d 88%,#2a5294 100%);
}

.login-brand{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:calc(12px * var(--space-scale));
	margin:0 0 calc(10px * var(--space-scale));
	text-align:center;
}

.login-brand-wordmark{
	display:block;
	width:auto;
	height:calc(36px * var(--type-scale));
	max-width:min(100%,280px);
	object-fit:contain;
}

/* Login: lockup AppContabill em /logo-appcontabill.png?v=20260426.5 */
.login-brand--full{
	align-items:center;
	width:100%;
}

.login-brand--full .brand-lockup-frame{
	display:block;
	width:100%;
	max-width:min(100%,320px);
	margin-left:auto;
	margin-right:auto;
}

.login-brand--full .login-brand-wordmark{
	height:auto;
	width:100%;
	max-width:100%;
	aspect-ratio:396 / 98;
	max-height:none;
	object-fit:contain;
	object-position:center center;
}

.login-card{
	width:min(480px,100%);
	background:rgba(39,51,74,0.96);
	border:1px solid rgba(72,90,121,0.72);
	border-radius:20px;
	box-shadow:var(--shadow);
	padding:calc(28px * var(--space-scale));
}

.login-eyebrow,
.section-eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:6px 12px;
	border-radius:999px;
	background:rgba(105,167,234,0.14);
	color:var(--accent);
	font-size:calc(12px * var(--type-scale));
	font-weight:800;
	letter-spacing:0.03em;
}

.login-card h1{
	margin:16px 0 10px;
	font-size:calc(34px * var(--type-scale));
	line-height:1.1;
}

.login-card p{
	margin:0 0 calc(18px * var(--space-scale));
	color:var(--muted);
	font-size:calc(14px * var(--type-scale));
	line-height:1.55;
}

.login-card p.login-hint{
	margin-top:-6px;
	margin-bottom:calc(16px * var(--space-scale));
	font-size:calc(12px * var(--type-scale));
	line-height:1.5;
}

.login-card p.login-hint code{
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	font-size:0.92em;
	padding:0.12em 0.35em;
	border-radius:6px;
	background:rgba(15,23,42,0.06);
	color:var(--text);
}

.login-card-footer{
	margin:14px 0 0;
	font-size:calc(14px * var(--type-scale));
}

.login-card-footer a{
	color:var(--accent);
	font-weight:700;
	text-decoration:none;
}

.login-card-footer a:hover{
	text-decoration:underline;
}

.login-form,
.search-form{
	display:grid;
	gap:14px;
}

.field{
	display:grid;
	gap:8px;
}

.field label{
	font-size:calc(13px * var(--type-scale));
	font-weight:700;
	color:var(--muted);
}

.field input,
.search-form input,
.search-form button,
.button,
.textarea{
	font:inherit;
}

.field input,
.search-form input,
.textarea{
	width:100%;
	padding:14px 16px;
	border:1px solid rgba(52,66,93,0.85);
	border-radius:16px;
	background:var(--surface-soft);
	color:var(--surface-soft-ink);
}

.field input:focus,
.search-form input:focus,
.textarea:focus{
	outline:2px solid rgba(105,167,234,0.22);
	border-color:rgba(105,167,234,0.55);
}

.field-password .password-input-wrap{
	position:relative;
	display:block;
}

.field-password .password-input-wrap input{
	padding-right:112px;
}

.password-toggle{
	position:absolute;
	right:10px;
	top:50%;
	transform:translateY(-50%);
	margin:0;
	padding:8px 10px;
	border:none;
	border-radius:10px;
	background:rgba(105,167,234,0.12);
	color:var(--accent);
	font:inherit;
	font-size:calc(12px * var(--type-scale));
	font-weight:800;
	cursor:pointer;
	line-height:1.2;
}

.password-toggle:hover{
	background:rgba(105,167,234,0.2);
}

.password-toggle:focus-visible{
	outline:2px solid rgba(105,167,234,0.55);
	outline-offset:2px;
}

.button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-height:40px;
	padding:0 14px;
	border:none;
	border-radius:12px;
	cursor:pointer;
	font-weight:800;
	font-size:calc(13px * var(--type-scale));
	text-decoration:none;
	transition:background 160ms ease,border-color 160ms ease;
}

.button-primary{
	background:var(--brand);
	color:#fff;
}

.button-primary:hover{
	background:var(--brand-strong);
}

.button-secondary{
	background:rgba(49,63,89,0.96);
	color:var(--ink);
	border:1px solid rgba(78,96,128,0.72);
}

.button-danger{
	background:rgba(244,154,143,0.14);
	color:var(--danger);
	border:1px solid rgba(244,154,143,0.24);
}

.button-success{
	background:rgba(122,211,164,0.14);
	color:var(--ok);
	border:1px solid rgba(122,211,164,0.24);
}

.button-compact{
	min-height:32px;
	padding:0 12px;
	border-radius:10px;
	font-size:calc(12px * var(--type-scale));
}

.message{
	margin-top:16px;
	padding:12px 14px;
	border-radius:16px;
	font-size:calc(14px * var(--type-scale));
	font-weight:700;
}

.message.error{
	background:rgba(244,154,143,0.14);
	color:var(--danger);
	border:1px solid rgba(244,154,143,0.2);
}

.message.success{
	background:rgba(122,211,164,0.14);
	color:var(--ok);
	border:1px solid rgba(122,211,164,0.2);
}

.admin-app-messages-panel{
	margin-bottom:20px;
}
.admin-app-msg-setup-callout{
	margin:0 0 14px;
	padding:12px 14px;
	border-radius:12px;
	border:1px solid rgba(37,99,235,0.3);
	background:rgba(37,99,235,0.09);
	color:var(--text);
	font-size:calc(14px * var(--type-scale));
	line-height:1.55;
}
.admin-app-msg-setup-callout strong{
	color:#1d4ed8;
}
.admin-app-msg-setup-title{
	margin:0 0 8px;
	font-size:calc(15px * var(--type-scale));
	font-weight:700;
	color:var(--text);
}
.admin-app-messages-body .admin-messages-mode-bar{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:12px;
	align-items:center;
}
.admin-app-messages-body .admin-messages-mode-bar .button.is-active{
	border-color:rgba(37,99,235,0.45);
	background:rgba(37,99,235,0.1);
	color:#1d4ed8;
}
.admin-app-messages-body textarea.admin-app-msg-composer{
	width:100%;
	min-height:88px;
	padding:10px 12px;
	border-radius:12px;
	border:1px solid rgba(15,23,42,0.12);
	font:inherit;
	resize:vertical;
	box-sizing:border-box;
}
.admin-app-messages-body .admin-app-msg-pending{
	margin:8px 0 12px;
	font-size:calc(13px * var(--type-scale));
}
.admin-app-messages-body .admin-app-msg-feedback{
	margin:0 0 12px;
	padding:10px 12px;
	border-radius:12px;
	font-size:calc(13px * var(--type-scale));
}
.admin-app-messages-body .admin-app-msg-feedback.is-ok{
	border-left:3px solid var(--ok);
	background:rgba(122,211,164,0.1);
}
.admin-app-messages-body .admin-app-msg-feedback.is-err{
	border-left:3px solid var(--danger);
	background:rgba(244,154,143,0.1);
}

.topbar{
	position:relative;
	z-index:20;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:16px 24px;
	background:#222c43;
	border-bottom:1px solid rgba(78,96,128,0.58);
}

/* Topbar fixo: navegação e ações sempre visíveis; --admin-topbar-h vem de admin-session-meta.js */
body.admin-shell{
	--admin-topbar-h:72px;
}

body.admin-shell > .topbar{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:100;
	width:100%;
	box-sizing:border-box;
	box-shadow:0 4px 24px rgba(7,12,24,0.35);
}

body.admin-shell > .admin-main{
	padding-top:calc(var(--admin-topbar-h) + (22px * var(--space-scale)));
}

body.admin-shell.compact-admin > .admin-main{
	padding-top:calc(var(--admin-topbar-h) + (10px * var(--space-scale)));
}

/* Layout com menu lateral (criação de utilizadores e restantes áreas admin) */
body.admin-shell.admin-shell--with-sidebar{
	--admin-sidebar-w:min(260px,92vw);
	--admin-content-max:1320px;
	--admin-main-hpad:calc(24px * var(--space-scale));
}

body.admin-shell.compact-admin.admin-shell--with-sidebar{
	--admin-main-hpad:12px;
}

body.admin-shell.admin-shell--with-sidebar > .admin-layout{
	min-height:100vh;
	padding-left:var(--admin-sidebar-w);
	box-sizing:border-box;
}

body.admin-shell.admin-shell--with-sidebar > .admin-layout > .admin-layout__main{
	min-width:0;
}

/* A coluna principal já está à direita da sidebar por padding-left em .admin-layout.
   Não usar left/right na topbar com position:relative — duplicava o deslocamento e gerava scroll horizontal. */
body.admin-shell.admin-shell--with-sidebar > .admin-layout > .admin-layout__main > .topbar{
	width:100%;
	max-width:100%;
	box-sizing:border-box;
	padding-left:max(var(--admin-main-hpad),calc((100% - min(var(--admin-content-max),100%)) / 2 + var(--admin-main-hpad)));
	padding-right:max(var(--admin-main-hpad),calc((100% - min(var(--admin-content-max),100%)) / 2 + var(--admin-main-hpad)));
}

body.admin-shell.admin-shell--with-sidebar > .admin-layout > .admin-layout__main > .admin-main{
	padding-top:calc(var(--admin-topbar-h) + (10px * var(--space-scale)));
	max-width:1320px;
	margin:0 auto;
}

.admin-sidebar{
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	z-index:101;
	width:var(--admin-sidebar-w,260px);
	box-sizing:border-box;
	padding:18px 12px 24px;
	background:linear-gradient(180deg,#1e283c 0%,#161d2e 100%);
	border-right:1px solid rgba(78,96,128,0.45);
	display:flex;
	flex-direction:column;
	gap:10px;
	overflow-y:auto;
}

.admin-sidebar__brand{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:8px;
	padding:6px 10px 14px;
	border-bottom:1px solid rgba(78,96,128,0.35);
	margin-bottom:4px;
}

.admin-sidebar__logo{
	display:block;
	width:100%;
	max-width:200px;
	height:auto;
	max-height:42px;
	object-fit:contain;
	object-position:left center;
}

/* Moldura: cantos do lock-up PNG/SVG — clip-path no wrapper + overflow (motores que falham só com border-radius) */
.brand-lockup-frame{
	display:inline-block;
	max-width:100%;
	line-height:0;
	vertical-align:middle;
	border-radius:12px;
	overflow:hidden;
	-webkit-clip-path:inset(0 round 12px);
	clip-path:inset(0 round 12px);
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	isolation:isolate;
	transform:translateZ(0);
}

.brand-lockup-frame .admin-sidebar__logo,
.brand-lockup-frame .login-brand-wordmark{
	border-radius:0 !important;
	-webkit-clip-path:none !important;
	clip-path:none !important;
	vertical-align:top;
}

.admin-sidebar__context{
	display:block;
	font-size:12px;
	color:var(--muted);
	font-weight:600;
	line-height:1.35;
}

.admin-sidebar__section-label{
	margin:8px 10px 0;
	font-size:11px;
	font-weight:800;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:rgba(194,207,228,0.55);
}

.admin-sidebar__nav{
	display:flex;
	flex-direction:column;
	gap:4px;
	padding:0 4px;
}

.admin-sidebar__link{
	display:block;
	padding:10px 12px;
	border-radius:10px;
	text-decoration:none;
	color:var(--muted);
	font-weight:700;
	font-size:calc(13px * var(--type-scale));
	border:1px solid transparent;
	transition:background 0.15s ease,color 0.15s ease;
}

.admin-sidebar__link:hover{
	background:rgba(39,51,74,0.85);
	color:var(--ink);
}

.admin-sidebar__link.is-current{
	background:rgba(85,121,222,0.2);
	border-color:rgba(125,179,235,0.35);
	color:var(--ink);
}

.topbar--end-only .topbar-actions{
	margin-left:auto;
}

.personal-admin-shell .admin-sidebar{
	background:linear-gradient(180deg,#e8eeff 0%,#dfe8ff 100%);
	border-right-color:#bfd1ff;
}

.personal-admin-shell .admin-sidebar__link{
	color:#4a5f82;
}

.personal-admin-shell .admin-sidebar__link:hover{
	background:rgba(255,255,255,0.75);
	color:#1c2b45;
}

.personal-admin-shell .admin-sidebar__link.is-current{
	background:#fff;
	border-color:#a9c2ff;
	color:#1f4fd6;
}

.personal-admin-shell .admin-sidebar__section-label{
	color:#6b7c9e;
}

.personal-admin-shell .admin-sidebar__brand{
	border-bottom-color:#bfd1ff;
}

.personal-admin-shell .admin-sidebar__brand-text strong{
	color:#122033;
}

.personal-admin-shell .admin-sidebar__brand-text span{
	color:#58677f;
}

.admin-create-user-form{
	max-width:760px;
}

.admin-create-user-kind{
	border:1px solid var(--line);
	border-radius:12px;
	padding:14px 16px;
	margin:0 0 18px;
}

.admin-create-user-kind legend{
	font-weight:800;
	padding:0 6px;
}

.admin-create-user-radio{
	display:flex;
	align-items:center;
	gap:8px;
	margin:8px 0;
	font-weight:600;
	cursor:pointer;
}

.admin-create-user-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px 16px;
}

@media (max-width:720px){
	.admin-create-user-grid{
		grid-template-columns:1fr;
	}
}

.admin-create-user-span2{
	grid-column:1 / -1;
}

.admin-create-user-hidden{
	display:none !important;
}

.admin-create-user-grid label span{
	display:block;
	font-size:12px;
	font-weight:700;
	color:var(--muted);
	margin-bottom:4px;
}

.admin-create-user-grid input,
.admin-create-user-grid select{
	width:100%;
	box-sizing:border-box;
	min-height:40px;
	border-radius:10px;
	border:1px solid var(--line);
	background:var(--surface-strong);
	color:var(--ink);
	padding:8px 10px;
	font:inherit;
}

.admin-create-user-message{
	margin-top:14px;
	padding:10px 12px;
	border-radius:10px;
	font-weight:600;
	line-height:1.45;
}

.admin-create-user-message.is-error{
	background:rgba(244,154,143,0.12);
	border:1px solid rgba(244,154,143,0.3);
	color:#fec8c0;
}

.admin-create-user-message.is-success{
	background:rgba(122,211,164,0.1);
	border:1px solid rgba(122,211,164,0.28);
	color:var(--ok);
}

.admin-create-user-actions{
	margin-top:18px;
}

.admin-accountant-section{
	margin-top:20px;
}

.admin-accountant-section__head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	flex-wrap:wrap;
	margin-bottom:12px;
}

.admin-accountant-item{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	flex-wrap:wrap;
}

.admin-accountant-item__name-row{
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:6px 10px;
}

.admin-accountant-alterar{
	font:inherit;
	font-size:12px;
	line-height:1.3;
	padding:0;
	margin:0;
	border:none;
	background:none;
	color:#64748b;
	text-decoration:underline;
	cursor:pointer;
	text-underline-offset:2px;
}

.admin-accountant-alterar:hover,
.admin-accountant-alterar:focus-visible{
	color:#0f172a;
}

.topbar-start{
	display:flex;
	align-items:center;
	gap:calc(18px * var(--space-scale));
	flex-wrap:wrap;
}

.brand{
	display:flex;
	align-items:center;
	gap:calc(14px * var(--space-scale));
	text-decoration:none;
}

.topbar-links{
	display:flex;
	align-items:center;
	gap:calc(8px * var(--space-scale));
	flex-wrap:wrap;
}

.nav-link{
	display:inline-flex;
	align-items:center;
	min-height:calc(38px * var(--space-scale));
	padding:0 calc(14px * var(--space-scale));
	border-radius:12px;
	border:1px solid rgba(78,96,128,0.52);
	background:rgba(39,51,74,0.72);
	color:var(--muted);
	font-size:calc(13px * var(--type-scale));
	font-weight:700;
	text-decoration:none;
}

.nav-link.is-current{
	background:rgba(85,121,222,0.18);
	border-color:rgba(125,179,235,0.34);
	color:var(--ink);
}

.brand-copy span,
.topbar-meta{
	color:var(--muted);
	font-size:calc(13px * var(--type-scale));
}

.topbar-actions{
	display:flex;
	align-items:center;
	gap:calc(10px * var(--space-scale));
	flex-wrap:wrap;
}

.admin-main{
	padding:calc(22px * var(--space-scale)) calc(24px * var(--space-scale)) calc(28px * var(--space-scale));
	max-width:1320px;
	margin:0 auto;
}

.panel{
	background:rgba(39,51,74,0.96);
	border:1px solid rgba(78,96,128,0.58);
	border-radius:18px;
	box-shadow:var(--shadow);
}

.panel h2{
	margin:0;
	font-size:calc(17px * var(--type-scale));
}

.panel p,
.mini-note{
	margin:0;
	color:var(--muted);
	line-height:1.55;
}

.metric-grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:calc(12px * var(--space-scale));
	margin-bottom:calc(16px * var(--space-scale));
}

.metric-card{
	padding:calc(14px * var(--space-scale)) calc(16px * var(--space-scale));
	background:rgba(39,51,74,0.96);
	border:1px solid rgba(78,96,128,0.54);
	border-radius:16px;
}

.metric-label{
	font-size:calc(13px * var(--type-scale));
	font-weight:800;
	color:var(--muted);
	text-transform:uppercase;
	letter-spacing:0.06em;
}

.metric-value{
	margin-top:10px;
	font-size:calc(24px * var(--type-scale));
	line-height:1;
}

.metric-sub{
	margin-top:8px;
	font-size:calc(13px * var(--type-scale));
	color:var(--muted);
}

/* Métricas: uma linha por cartão; separadores verticais no interior; cartões bem espaçados */
.metric-grid-inline{
	column-gap:calc(18px * var(--space-scale));
	row-gap:calc(8px * var(--space-scale));
	margin-bottom:calc(12px * var(--space-scale));
}

.metric-grid-inline .metric-card{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:center;
	gap:0;
	padding:3px 10px;
	min-height:28px;
	border-radius:10px;
	box-shadow:0 1px 0 rgba(0,0,0,0.18);
}

.metric-grid-inline .metric-label{
	margin:0;
	font-size:calc(9px * var(--type-scale));
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:0.06em;
	color:var(--muted);
	white-space:nowrap;
	flex-shrink:0;
	line-height:1.2;
	padding-right:8px;
}

.metric-grid-inline .metric-value{
	margin:0;
	font-size:calc(13px * var(--type-scale));
	font-weight:800;
	line-height:1;
	white-space:nowrap;
	flex-shrink:0;
	padding:6px 8px;
	border-left:1px solid rgba(78,96,128,0.5);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:calc(1.4em + 10px);
	box-sizing:border-box;
}

.metric-grid-inline .metric-sub{
	margin:0;
	font-size:calc(9px * var(--type-scale));
	line-height:1.2;
	color:var(--muted);
	min-width:0;
	flex:1 1 auto;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	padding-left:8px;
	border-left:1px solid rgba(78,96,128,0.5);
}

.personal-admin-shell .metric-grid-inline .metric-value,
.personal-admin-shell .metric-grid-inline .metric-sub{
	border-left-color:#c5d4ef;
}

.personal-admin-shell .metric-grid-inline .metric-card{
	box-shadow:0 1px 2px rgba(114,139,196,0.14);
}

.panel-grid{
	display:grid;
	grid-template-columns:minmax(0,1.35fr) minmax(280px,0.85fr);
	gap:calc(16px * var(--space-scale));
	margin-bottom:calc(16px * var(--space-scale));
}

.panel-grid > .panel,
.panel-grid > aside.panel{
	min-width:0;
}

/* Painel de detalhe: não esticar à altura da tabela à esquerda (evita grande espaço vazio). */
.panel-grid > aside.panel{
	align-self:start;
}

.panel{
	padding:calc(18px * var(--space-scale));
}

.panel-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:calc(12px * var(--space-scale));
	margin-bottom:calc(14px * var(--space-scale));
}

.panel-head h2{
	margin-bottom:4px;
}

.panel-head-compact{
	margin-bottom:10px;
}

.search-form{
	grid-template-columns:minmax(0,1fr) auto auto;
	align-items:center;
	gap:10px;
}

.search-form-compact{
	grid-template-columns:minmax(0,1fr) auto;
}

#userSearchForm{
	grid-template-columns:minmax(0,1fr) auto auto auto;
}

.search-submit-icon{
	min-width:40px;
	padding:0 10px;
	font-size:16px;
	line-height:1;
}

.table-shell{
	overflow:auto;
	border:1px solid rgba(78,96,128,0.54);
	border-radius:16px;
	background:#243047;
}

table{
	width:100%;
	border-collapse:collapse;
}

th,
td{
	padding:10px 10px;
	font-size:calc(13px * var(--type-scale));
	text-align:left;
	border-bottom:1px solid rgba(78,96,128,0.42);
	vertical-align:top;
}

th{
	font-size:calc(11px * var(--type-scale));
	text-transform:uppercase;
	letter-spacing:0.06em;
	color:var(--muted);
	background:#223049;
	position:sticky;
	top:0;
	z-index:1;
}

tbody tr{
	cursor:pointer;
	transition:background 140ms ease;
}

tbody tr:hover{
	background:#2d3b55;
}

tbody tr.is-selected{
	background:rgba(85,121,222,0.16);
}

tr.admin-table-section td{
	cursor:default;
	font-size:calc(11px * var(--type-scale));
	letter-spacing:0.04em;
	text-transform:uppercase;
	color:var(--muted);
	background:#1e2838;
	border-bottom:1px solid rgba(78,96,128,0.35);
	padding-top:14px;
}
tr.admin-table-section:hover{
	background:transparent;
}

tbody tr:last-child td{
	border-bottom:none;
}

.user-name{
	font-weight:800;
	font-size:calc(13px * var(--type-scale));
}

.user-inline{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:4px 10px;
	font-size:calc(12px * var(--type-scale));
	line-height:1.35;
}

.user-inline.has-linked-accountant{
	color:#9ec5ff;
}

.user-accountant-tag{
	display:inline-flex;
	align-items:center;
	padding:2px 8px;
	border-radius:999px;
	font-size:calc(10px * var(--type-scale));
	font-weight:800;
	letter-spacing:0.02em;
	background:rgba(125,179,235,0.2);
	color:#cbe3ff;
	border:1px solid rgba(157,198,245,0.42);
}

.user-inline span{
	white-space:nowrap;
}

.user-inline span:first-child{
	font-weight:800;
	font-size:calc(13px * var(--type-scale));
}

.user-sub{
	display:block;
	margin-top:3px;
	font-size:calc(11px * var(--type-scale));
	color:var(--muted);
}

.table-action-cell{
	white-space:nowrap;
}

.table-action-link{
	min-width:0;
}

.status{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:5px 10px;
	border-radius:999px;
	font-size:calc(11px * var(--type-scale));
	font-weight:800;
	text-transform:capitalize;
	white-space:nowrap;
}

.status-active,
.status-paid,
.status-done{
	background:rgba(122,211,164,0.16);
	color:var(--ok);
}

.status-trial,
.status-processing,
.status-pending,
.status-alerta{
	background:rgba(239,192,109,0.16);
	color:var(--warn);
}

.status-blocked,
.status-off,
.status-failed,
.status-cancelled,
.status-none,
.status-ocr_failed{
	background:rgba(244,154,143,0.16);
	color:var(--danger);
}

.status-ready_for_confirmation{
	background:rgba(85,121,222,0.16);
	color:var(--accent);
}

.status-normal{
	background:rgba(122,211,164,0.16);
	color:var(--ok);
}

.detail-card{
	display:grid;
	gap:18px;
}

.detail-header{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content:space-between;
	gap:12px;
}

.detail-header__meta{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content:space-between;
	gap:10px 20px;
	width:100%;
	margin-bottom:10px;
	padding-bottom:12px;
	border-bottom:1px solid rgba(15,23,42,0.08);
	font-size:calc(13px * var(--type-scale));
	line-height:1.45;
}

.detail-header__account-type{
	font-weight:700;
	color:#0f172a;
}

.detail-header__accountant{
	flex:1 1 200px;
	min-width:0;
	text-align:right;
	color:var(--muted);
}

.detail-header__accountant-label{
	display:block;
	font-size:calc(11px * var(--type-scale));
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.04em;
	color:var(--muted);
	margin-bottom:2px;
}

.detail-header__accountant-value{
	display:block;
	color:#0f172a;
	font-weight:600;
	word-break:break-word;
}

.detail-header > div:first-child{
	flex:1 1 200px;
	min-width:0;
}

.detail-header h3{
	margin:0;
	font-size:calc(24px * var(--type-scale));
}

.detail-header p{
	margin:8px 0 0;
}

.detail-inline{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:6px 10px;
	margin-top:8px;
	font-size:calc(12px * var(--type-scale));
	color:var(--muted);
}

.detail-inline-sep{
	font-weight:700;
	color:var(--muted);
}

.detail-actions{
	flex:0 1 auto;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:center;
	justify-content:flex-end;
	gap:6px;
	min-width:0;
	max-width:100%;
	width:auto;
	align-self:flex-start;
	margin-left:auto;
}

.detail-actions .button,
.detail-actions a.button{
	width:auto;
	max-width:none;
	min-height:28px;
	padding:4px 8px;
	font-size:calc(10px * var(--type-scale));
	line-height:1.2;
	white-space:nowrap;
	text-align:center;
	justify-content:center;
}

.mini-stats,
.doc-list,
.feed-list,
.trend-list{
	display:grid;
	gap:12px;
}

.detail-stack{
	display:grid;
	gap:14px;
}

.detail-section{
	display:grid;
	gap:12px;
}

.detail-section-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
}

.detail-section-head strong{
	font-size:calc(13px * var(--type-scale));
}

.detail-section-head span{
	font-size:calc(12px * var(--type-scale));
	color:var(--muted);
}

.detail-summary{
	display:grid;
	gap:0;
	margin-bottom:2px;
	border:1px solid rgba(78,96,128,0.52);
	border-radius:14px;
	overflow:hidden;
	background:var(--surface-strong);
}

.detail-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:12px 14px;
	border-bottom:1px solid rgba(78,96,128,0.38);
}

.detail-row:last-child{
	border-bottom:none;
}

.detail-row strong{
	font-size:calc(13px * var(--type-scale));
	color:var(--muted);
}

.detail-row span{
	font-size:calc(13px * var(--type-scale));
	text-align:right;
}

.readonly-input{
	width:100%;
	min-height:40px;
	padding:0 12px;
	border-radius:12px;
	border:1px solid rgba(78,96,128,0.52);
	background:var(--surface-strong);
	color:var(--ink);
	font:inherit;
}

.readonly-input[readonly]{
	cursor:text;
}

.info-box,
.feed-item,
.trend-item{
	padding:12px 14px;
	background:var(--surface-strong);
	border:1px solid rgba(78,96,128,0.5);
	border-radius:14px;
}

.info-box strong,
.feed-item strong,
.trend-item strong{
	display:block;
	margin-bottom:6px;
}

.info-box span,
.feed-item span,
.trend-item span,
.doc-list span{
	color:var(--muted);
	font-size:calc(12px * var(--type-scale));
	line-height:1.5;
}

.feed-button{
	width:100%;
	font:inherit;
	color:inherit;
	text-align:left;
	cursor:pointer;
}

.feed-button:hover{
	border-color:rgba(125,179,235,0.52);
}

.month-register{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(72px,1fr));
	gap:10px;
}

.month-register-item{
	display:grid;
	gap:4px;
	padding:10px 12px;
	background:var(--surface-strong);
	border:1px solid rgba(78,96,128,0.5);
	border-radius:14px;
}

.month-register-item strong{
	margin:0;
	font-size:calc(16px * var(--type-scale));
	line-height:1;
}

.month-register-item span{
	color:var(--muted);
	font-size:calc(12px * var(--type-scale));
}

.month-register-item.is-active{
	border-color:rgba(125,179,235,0.6);
	box-shadow:0 0 0 1px rgba(125,179,235,0.22);
}

.detail-alert{
	display:grid;
	gap:4px;
	padding:12px 14px;
	background:rgba(239,192,109,0.14);
	border:1px solid rgba(239,192,109,0.28);
	border-radius:14px;
}

.detail-alert strong{
	font-size:calc(13px * var(--type-scale));
}

.detail-alert span{
	color:var(--muted);
	font-size:calc(12px * var(--type-scale));
}

.detail-alert-danger{
	background:rgba(244,154,143,0.12);
	border-color:rgba(244,154,143,0.24);
}

.doc-list a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:12px 14px;
	background:var(--surface-strong);
	border:1px solid rgba(78,96,128,0.5);
	border-radius:14px;
	text-decoration:none;
}

.doc-list a:hover{
	border-color:rgba(125,179,235,0.52);
}

.analytics-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:16px;
}

.blocked-panel{
	margin-bottom:16px;
}

.blocked-layout{
	display:grid;
	grid-template-columns:minmax(0,1.45fr) minmax(280px,0.55fr);
	gap:16px;
}

.blocked-alerts{
	display:grid;
	align-content:start;
	gap:12px;
}

.is-blocked-row{
	background:rgba(244,154,143,0.08);
}

.is-blocked-row:hover{
	background:rgba(244,154,143,0.12);
}

.analytics-grid-duo{
	grid-template-columns:repeat(2,minmax(0,1fr));
}

.analytics-grid-simple{
	margin-top:18px;
}

.empty-state{
	padding:16px;
	text-align:center;
	color:var(--muted);
	background:var(--surface-strong);
	border:1px dashed rgba(78,96,128,0.5);
	border-radius:14px;
}

.flash{
	position:fixed;
	right:24px;
	bottom:24px;
	max-width:360px;
	padding:14px 16px;
	border-radius:14px;
	box-shadow:var(--shadow);
	z-index:30;
}

.muted{
	color:var(--muted);
}

/* Modo compacto para listas grandes (10k+ utilizadores) */
.compact-admin{
	font-size:calc(11px * var(--type-scale));
}

.compact-admin .panel{
	padding:10px;
}

.compact-admin .panel-head{
	flex-wrap:wrap;
	gap:6px;
	margin-bottom:6px;
}

.compact-admin .panel-head h2{
	font-size:calc(15px * var(--type-scale));
	margin:0;
}

.compact-admin .search-form{
	gap:6px;
}

.compact-admin .search-form input,
.compact-admin .field input,
.compact-admin .textarea{
	padding:6px 8px;
	border-radius:8px;
	font-size:calc(11px * var(--type-scale));
}

.compact-admin .button{
	min-height:30px;
	padding:5px 8px;
	border-radius:8px;
	font-size:calc(10px * var(--type-scale));
	font-weight:700;
}

.compact-admin .search-submit-icon{
	min-width:30px;
	padding:0 6px;
	font-size:13px;
}

.compact-admin th{
	padding:6px 8px;
	font-size:calc(10px * var(--type-scale));
}

.compact-admin td{
	padding:5px 8px;
	font-size:calc(10px * var(--type-scale));
}

.compact-admin .user-inline{
	gap:2px;
	font-size:calc(10px * var(--type-scale));
}

.compact-admin .detail-header{
	flex-direction:column;
	align-items:stretch;
	gap:6px;
}

.compact-admin .detail-header > div:first-child{
	flex:0 1 auto;
	max-width:100%;
}

.compact-admin .detail-header h3{
	font-size:calc(13px * var(--type-scale));
	margin:0;
}

.compact-admin .detail-card{
	gap:12px;
}

.compact-admin .panel-grid > aside.panel .panel-head--detail-aside{
	margin-bottom:4px;
}

.compact-admin .detail-inline{
	margin-top:4px;
}

.compact-admin .detail-actions{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	gap:4px;
	max-width:100%;
	flex:0 0 auto;
	align-self:flex-start;
	margin-left:0;
	margin-top:0;
	width:auto;
	justify-content:flex-start;
}

.compact-admin .detail-actions .button,
.compact-admin .detail-actions a.button{
	min-height:26px;
	padding:3px 6px;
	font-size:calc(9px * var(--type-scale));
	white-space:nowrap;
	width:auto;
}

.compact-admin .detail-stack{
	gap:6px;
}

.compact-admin .detail-section{
	padding:7px;
}

.compact-admin .detail-row{
	padding:4px 0;
}

.compact-admin .detail-row strong,
.compact-admin .detail-row span{
	font-size:calc(10px * var(--type-scale));
}

.compact-admin .feed-item{
	padding:6px 7px;
}

.compact-admin .topbar{
	padding:8px 12px;
}

.compact-admin .brand{
	gap:6px;
}

.compact-admin .brand-copy span{
	font-size:calc(10px * var(--type-scale));
}

.compact-admin .topbar-links{
	gap:6px;
}

.compact-admin .nav-link{
	padding:5px 8px;
	font-size:calc(10px * var(--type-scale));
	border-radius:8px;
}

.compact-admin .admin-main{
	padding-left:12px;
	padding-right:12px;
	padding-bottom:16px;
}

.compact-admin .hub-card{
	padding:8px 10px;
}

.compact-admin .hub-card strong{
	font-size:calc(11px * var(--type-scale));
}

.compact-admin .hub-card span{
	font-size:calc(10px * var(--type-scale));
}

.compact-admin .status{
	font-size:calc(10px * var(--type-scale));
	padding:2px 6px;
	border-radius:999px;
}

.compact-admin .readonly-input{
	padding:6px 8px;
	font-size:calc(10px * var(--type-scale));
	border-radius:8px;
}

.compact-admin .metric-grid-inline{
	column-gap:14px;
}

.compact-admin .metric-grid-inline .metric-card{
	padding:4px 8px;
	min-height:26px;
	border-radius:8px;
}

.compact-admin .metric-grid-inline .metric-label{
	font-size:calc(8px * var(--type-scale));
	padding-right:6px;
}

.compact-admin .metric-grid-inline .metric-value{
	font-size:calc(11px * var(--type-scale));
	padding:5px 6px;
	min-height:calc(1.35em + 8px);
}

.compact-admin .metric-grid-inline .metric-sub{
	font-size:calc(8px * var(--type-scale));
	padding-left:6px;
}

@media (max-width: 1220px){
	.metric-grid,
	.metric-grid-inline{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.panel-grid,
	.analytics-grid,
	.blocked-layout{
		grid-template-columns:1fr;
	}

	.analytics-grid .panel:last-child{
		grid-column:auto;
	}
}

@media (max-width: 760px){
	.topbar,
	.admin-main{
		padding-left:16px;
		padding-right:16px;
	}

	.topbar{
		align-items:flex-start;
	}

	.topbar-start,
	.topbar-links,
	.topbar-actions{
		width:100%;
	}

	.search-form{
		grid-template-columns:1fr;
	}

	#userSearchForm{
		grid-template-columns:minmax(120px,1fr) auto auto auto;
	}

	.metric-grid,
	.metric-grid-inline,
	.detail-summary{
		grid-template-columns:1fr;
	}

	th,
	td{
		padding:12px 10px;
	}

	.detail-row{
		flex-direction:column;
		align-items:flex-start;
	}

	.detail-row span{
		text-align:left;
	}
}

.admin-hub-strip{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
	gap:12px;
	margin-bottom:20px;
}

.hub-card{
	display:flex;
	flex-direction:column;
	gap:4px;
	padding:14px 16px;
	border-radius:14px;
	border:1px solid rgba(78,96,128,0.55);
	background:rgba(39,51,74,0.75);
	text-decoration:none;
	color:inherit;
	transition:border-color .15s ease, background .15s ease, transform .12s ease;
}

.hub-card:hover{
	border-color:rgba(125,179,235,0.5);
	background:rgba(47,62,90,0.92);
}

.hub-card strong{
	font-size:calc(14px * var(--type-scale));
	font-weight:800;
}

.hub-card span{
	font-size:calc(12px * var(--type-scale));
	color:var(--muted);
	line-height:1.4;
}

.hub-card.is-current{
	border-color:rgba(85,121,222,0.55);
	background:rgba(85,121,222,0.14);
}

.personal-admin-shell .hub-card{
	background:rgba(255,255,255,0.92);
	border-color:#bfd1ff;
}

.personal-admin-shell .hub-card:hover{
	background:#ffffff;
	border-color:#a9c2ff;
}

.personal-admin-shell .hub-card.is-current{
	background:#eef4ff;
	border-color:#a9c2ff;
}

.metric-grid.metric-grid-four{
	grid-template-columns:repeat(4,minmax(0,1fr));
}

@media (max-width: 1400px){
	.metric-grid.metric-grid-four{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width: 900px){
	.metric-grid.metric-grid-four{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

.upload-dedup-panel{
	margin-bottom:calc(16px * var(--space-scale));
}

.upload-dedup-root{
	min-height:calc(48px * var(--space-scale));
}

.dedup-note{
	margin:0 0 12px;
	font-size:calc(13px * var(--type-scale));
	line-height:1.5;
	color:var(--muted);
}

.dedup-table-wrap{
	overflow:auto;
	border:1px solid rgba(78,96,128,0.54);
	border-radius:12px;
	background:rgba(39,51,74,0.5);
}

table.dedup-table{
	margin:0;
	font-size:calc(12px * var(--type-scale));
}

table.dedup-table th,
table.dedup-table td{
	white-space:nowrap;
	vertical-align:middle;
}

table.dedup-table thead th{
	text-align:center;
}

table.dedup-table thead th:first-child{
	text-align:left;
}

table.dedup-table tbody td:first-child{
	text-align:left;
}

table.dedup-table td.num{
	text-align:center;
	font-variant-numeric:tabular-nums;
}

table.dedup-table td.dedup-mb{
	color:#475569;
	font-weight:600;
}

table.dedup-table .dedup-total-row{
	background:rgba(85,121,222,0.12);
}

table.dedup-table .dedup-other-row{
	opacity:0.9;
	font-size:calc(11px * var(--type-scale));
}

.compact-admin table.dedup-table th,
.compact-admin table.dedup-table td{
	padding:6px 8px;
	font-size:calc(11px * var(--type-scale));
}

.metric-card-interactive{
	cursor:pointer;
	transition:background 0.15s ease, border-color 0.15s ease;
}

.metric-card-interactive:hover{
	background:rgba(85,121,222,0.08);
}

.metric-card-interactive.is-segment-selected{
	border:1px solid rgba(125,179,235,0.55);
	background:rgba(85,121,222,0.14);
	box-shadow:0 0 0 1px rgba(125,179,235,0.25);
}

tr.dedup-segment-row{
	cursor:pointer;
	transition:background 0.12s ease;
}

tr.dedup-segment-row:hover{
	background:rgba(85,121,222,0.09);
}

tr.dedup-segment-row.is-segment-selected{
	background:rgba(85,121,222,0.16);
}

.personal-admin-shell .metric-card-interactive.is-segment-selected{
	border-color:#a9c2ff;
	background:#eaf1ff;
}

.personal-admin-shell tr.dedup-segment-row.is-segment-selected{
	background:#eaf1ff;
}

.compact-admin .audit-user-filter{
	grid-template-columns:auto minmax(0,1fr) auto auto;
	align-items:center;
	gap:8px;
}

.compact-admin .audit-user-filter label{
	margin:0;
	font-size:calc(11px * var(--type-scale));
	font-weight:700;
	color:var(--muted);
	white-space:nowrap;
}

.audit-user-filter-hint{
	margin:0 0 12px;
	font-size:calc(11px * var(--type-scale));
	line-height:1.45;
	max-width:56rem;
}

.audit-panel .audit-details-cell{
	font-size:calc(12px * var(--type-scale));
	max-width:min(calc(360px * var(--space-scale)),30vw);
	word-break:break-word;
	line-height:1.5;
	vertical-align:top;
}

/* Menu lateral em gaveta só em viewport estreito (PC ≥901px inalterado) */
.admin-mobile-menu-btn{
	display:none;
}

.admin-mobile-nav-backdrop{
	display:none;
}

@media (max-width:900px){
	body.admin-shell.admin-shell--with-sidebar > .admin-layout{
		padding-left:0;
	}

	body.admin-shell.admin-shell--with-sidebar > .admin-layout > .admin-layout__main > .topbar{
		width:100%;
		max-width:100%;
		z-index:102;
	}

	body.admin-shell.admin-shell--with-sidebar .topbar .topbar-actions{
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
		align-items:center;
		gap:8px;
		width:100%;
		justify-content:flex-end;
	}

	body.admin-shell.admin-shell--with-sidebar .admin-mobile-menu-btn{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		margin-right:auto;
	}

	.admin-sidebar{
		transform:translateX(-100%);
		transition:transform 0.22s ease;
		pointer-events:none;
		box-shadow:none;
	}

	body.admin-mobile-nav-open .admin-sidebar{
		transform:translateX(0);
		pointer-events:auto;
		box-shadow:12px 0 40px rgba(0,0,0,0.28);
		z-index:103;
	}

	.admin-mobile-nav-backdrop{
		display:none;
		position:fixed;
		inset:0;
		margin:0;
		padding:0;
		border:0;
		background:rgba(10,14,24,0.52);
		z-index:101;
		cursor:pointer;
		-webkit-tap-highlight-color:transparent;
	}

	body.admin-mobile-nav-open .admin-mobile-nav-backdrop{
		display:block;
	}

	body.admin-mobile-nav-open{
		overflow:hidden;
		touch-action:none;
	}
}

/* Painel lateral: título do tipo de conta + contabilista no topo */
.panel-head--detail-aside .detail-aside-head{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:12px;
	flex-wrap:wrap;
	width:100%;
}

.panel-head--detail-aside h2{
	margin:0;
	font-size:calc(17px * var(--type-scale));
}

.detail-aside-role{
	font-size:calc(12px * var(--type-scale));
	font-weight:800;
	letter-spacing:0.04em;
	text-transform:uppercase;
	color:var(--muted);
	white-space:nowrap;
	max-width:min(240px,46vw);
	overflow:hidden;
	text-overflow:ellipsis;
}

.numeric-cell{
	text-align:right;
	white-space:nowrap;
}

.upload-summary-table{
	margin-top:12px;
}

.upload-summary-multi__title{
	margin:16px 0 10px;
	font-size:calc(14px * var(--type-scale));
	font-weight:700;
}

.upload-multi-block{
	margin-top:12px;
	padding:12px 14px;
	border:1px solid rgba(78,96,128,0.45);
	border-radius:12px;
	background:rgba(15,23,42,0.35);
}

.upload-multi-block__head{
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	justify-content:space-between;
	gap:8px;
	margin-bottom:8px;
}

.upload-multi-block__list{
	margin:0;
	padding-left:1.1rem;
	font-size:calc(12px * var(--type-scale));
	color:var(--muted);
	line-height:1.5;
}

.panel-subheading{
	margin:0 0 10px;
	font-size:calc(14px * var(--type-scale));
	font-weight:700;
	color:var(--muted);
}

/* Lock-up AppContabill (PNG/SVG): cantos — preferir .brand-lockup-frame em HTML para corte fiável */
img[src*="logo-appcontabill"]{
	border-radius:12px;
	vertical-align:middle;
	-webkit-clip-path:inset(0 round 12px);
	clip-path:inset(0 round 12px);
}

.brand-lockup-frame img[src*="logo-appcontabill"]{
	border-radius:0 !important;
	-webkit-clip-path:none !important;
	clip-path:none !important;
}

/* ─── Paginação da lista de utilizadores ─────────────────── */
.users-pagination{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:4px;
	padding:8px 12px;
	border-top:1px solid var(--border, rgba(255,255,255,.08));
	min-height:40px;
}
.pagination-btn{
	min-width:32px;
	height:28px;
	padding:0 8px;
	border:1px solid var(--border, rgba(255,255,255,.15));
	border-radius:6px;
	background:transparent;
	color:var(--text, #e2e8f0);
	font-size:13px;
	font-weight:500;
	cursor:pointer;
	transition:background .15s, border-color .15s;
	line-height:1;
}
.pagination-btn:hover:not(:disabled){
	background:var(--accent-soft, rgba(99,102,241,.18));
	border-color:var(--accent, #6366f1);
}
.pagination-btn--active{
	background:var(--accent, #6366f1) !important;
	border-color:var(--accent, #6366f1) !important;
	color:#fff !important;
}
.pagination-btn--disabled,
.pagination-btn:disabled{
	opacity:.35;
	cursor:default;
}
.pagination-ellipsis{
	padding:0 4px;
	color:var(--muted, #94a3b8);
	font-size:13px;
	line-height:28px;
}
.pagination-count{
	margin-left:auto;
	font-size:11px;
	color:var(--muted, #94a3b8);
	white-space:nowrap;
}

/* ─── Gestão de pagamentos (admin) ───────────────────────── */
.payment-mgmt-kpis{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
	gap:12px;
	margin-bottom:20px;
}
.payment-mgmt-kpi{
	border:1px solid var(--border, rgba(255,255,255,.1));
	border-radius:10px;
	padding:12px 14px;
	background:rgba(255,255,255,.03);
}
.payment-mgmt-kpi strong{
	display:block;
	font-size:1.35rem;
	font-weight:800;
	line-height:1.2;
	margin-bottom:4px;
}
.payment-mgmt-kpi span{
	font-size:12px;
	color:var(--muted, #94a3b8);
	line-height:1.35;
}
.payment-mgmt-kpi--warn strong{
	color:#f59e0b;
}
.payment-mgmt-kpi--danger strong{
	color:#f87171;
}
.payment-mgmt-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 14px;
}
.payment-mgmt-tabs .button{
	margin:0;
}
.payment-mgmt-tabs .button.is-active{
	border-color:var(--accent, #6366f1);
	background:var(--accent-soft, rgba(99,102,241,.22));
}
