/**
 * AdminFacile Fiscal Bridge — Mobile Design System.
 *
 * Dedicated smartphone experience for the real Fiscal Bridge application
 * rendered inside templates/frontend/fiscal-mobile-shell.php.
 *
 * Load order:
 * 1. adminfacile-fiscal-design-system.css
 * 2. adminfacile-fiscal-dossier.css
 * 3. adminfacile-fiscal-frontend-device.css
 * 4. adminfacile-fiscal-mobile.css
 *
 * @package AdminFacile_Fiscal_Bridge
 * @since   1.0.0
 * @version 3.3.5
 */

/* ==========================================================================
   1. Mobile tokens
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device-stage {
		--afw-mobile-bg: #f4f7fb;
		--afw-mobile-surface: #ffffff;
		--afw-mobile-surface-soft: #f8fafc;
		--afw-mobile-surface-muted: #eef3f8;
		--afw-mobile-border: #dce5ef;
		--afw-mobile-border-strong: #c5d1df;
		--afw-mobile-ink: #142033;
		--afw-mobile-text: #344258;
		--afw-mobile-muted: #718096;
		--afw-mobile-primary: #155eef;
		--afw-mobile-primary-dark: #0b459f;
		--afw-mobile-primary-soft: #eaf2ff;
		--afw-mobile-secondary: #5b4ce6;
		--afw-mobile-success: #15803d;
		--afw-mobile-success-soft: #ecfdf3;
		--afw-mobile-warning: #b45309;
		--afw-mobile-warning-soft: #fff7ed;
		--afw-mobile-danger: #b91c1c;
		--afw-mobile-danger-soft: #fef2f2;
		--afw-mobile-info: #0369a1;
		--afw-mobile-info-soft: #f0f9ff;
		--afw-mobile-radius-sm: 12px;
		--afw-mobile-radius-md: 16px;
		--afw-mobile-radius-lg: 22px;
		--afw-mobile-radius-xl: 28px;
		--afw-mobile-shadow-sm:
			0 3px 10px rgba(15, 23, 42, 0.06),
			0 1px 2px rgba(15, 23, 42, 0.04);
		--afw-mobile-shadow-md:
			0 10px 28px rgba(15, 23, 42, 0.09),
			0 2px 6px rgba(15, 23, 42, 0.05);
		--afw-mobile-shadow-lg:
			0 20px 45px rgba(15, 23, 42, 0.14),
			0 4px 10px rgba(15, 23, 42, 0.07);
		--afw-mobile-safe-top: env(safe-area-inset-top, 0px);
		--afw-mobile-safe-right: env(safe-area-inset-right, 0px);
		--afw-mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
		--afw-mobile-safe-left: env(safe-area-inset-left, 0px);
		--afw-mobile-dock-height: 72px;
		--afw-mobile-control-height: 48px;
		--afw-mobile-transition: 160ms cubic-bezier(0.2, 0.8, 0.2, 1);

		width: 100%;
		max-width: 100%;
		min-height: 100dvh;
		margin: 0;
		padding: 0;
		overflow: visible;
		background: var(--afw-mobile-bg);
	}

	.afw-fiscal-device-stage *,
	.afw-fiscal-device-stage *::before,
	.afw-fiscal-device-stage *::after {
		box-sizing: border-box;
	}

	html:has(.afw-fiscal-device-stage--frontend),
	body.afw-fiscal-frontend-screen {
		overflow-x: hidden;
		background: var(--afw-mobile-bg, #f4f7fb);
	}
}

/* ==========================================================================
   2. Remove simulated tablet/device frame on real phones
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device-stage__backdrop,
	.afw-fiscal-device__speaker,
	.afw-fiscal-device__side-button,
	.afw-fiscal-device__home-indicator,
	.afw-fiscal-device__island {
		display: none !important;
	}

	.afw-fiscal-device {
		width: 100%;
		height: auto;
		min-height: 100dvh;
		filter: none;
	}

	.afw-fiscal-device__frame {
		width: 100%;
		height: auto;
		min-height: 100dvh;
		padding: 0;
		overflow: visible;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.afw-fiscal-device__frame::before,
	.afw-fiscal-device__frame::after {
		display: none;
	}

	.afw-fiscal-device__screen {
		display: flex;
		flex-direction: column;
		width: 100%;
		min-height: 100dvh;
		height: auto;
		overflow: visible;
		border-radius: 0;
		background: var(--afw-mobile-bg);
		box-shadow: none;
	}
}

/* ==========================================================================
   3. Mobile status bar and application header
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__statusbar {
		position: sticky;
		z-index: 100;
		top: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: calc(34px + var(--afw-mobile-safe-top));
		padding:
			calc(7px + var(--afw-mobile-safe-top))
			calc(18px + var(--afw-mobile-safe-right))
			7px
			calc(18px + var(--afw-mobile-safe-left));
		color: #ffffff;
		background: #0b3975;
		font-size: 12px;
		box-shadow: none;
	}

	.afw-fiscal-device__time {
		font-weight: 800;
		font-variant-numeric: tabular-nums;
	}

	.afw-fiscal-device__system-icons {
		display: inline-flex;
		align-items: center;
		gap: 6px;
	}

	.afw-fiscal-device__appbar {
		position: sticky;
		z-index: 99;
		top: calc(34px + var(--afw-mobile-safe-top));
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 66px;
		padding:
			10px
			calc(16px + var(--afw-mobile-safe-right))
			11px
			calc(16px + var(--afw-mobile-safe-left));
		gap: 12px;
		color: #ffffff;
		background:
			radial-gradient(circle at 88% 5%, rgba(255, 255, 255, 0.13), transparent 34%),
			linear-gradient(135deg, #0b3975 0%, #155eef 64%, #4f46e5 135%);
		box-shadow: 0 5px 18px rgba(11, 57, 117, 0.22);
	}

	.afw-fiscal-device__brand {
		display: flex;
		align-items: center;
		min-width: 0;
		gap: 10px;
	}

	.afw-fiscal-device__brand-icon {
		display: grid;
		flex: 0 0 auto;
		width: 40px;
		height: 40px;
		place-items: center;
		border: 1px solid rgba(255, 255, 255, 0.22);
		border-radius: 13px;
		background: rgba(255, 255, 255, 0.12);
		font-size: 19px;
	}

	.afw-fiscal-device__brand > div {
		min-width: 0;
	}

	.afw-fiscal-device__eyebrow {
		margin: 0 0 2px;
		overflow: hidden;
		color: rgba(255, 255, 255, 0.74);
		font-size: 9px;
		font-weight: 850;
		letter-spacing: 0.08em;
		text-overflow: ellipsis;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.afw-fiscal-device__title {
		margin: 0;
		overflow: hidden;
		color: #ffffff;
		font-size: 17px;
		font-weight: 800;
		line-height: 1.15;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.afw-fiscal-device__menu-button {
		display: grid;
		flex: 0 0 auto;
		width: 44px;
		height: 44px;
		place-content: center;
		padding: 0;
		gap: 4px;
		border: 1px solid rgba(255, 255, 255, 0.24);
		border-radius: 13px;
		color: #ffffff;
		background: rgba(255, 255, 255, 0.10);
		box-shadow: inset 0 1px rgba(255, 255, 255, 0.10);
	}

	.afw-fiscal-device__menu-button span {
		display: block;
		width: 18px;
		height: 2px;
		border-radius: 999px;
		background: currentColor;
	}

	.afw-fiscal-device__menu-button:active {
		background: rgba(255, 255, 255, 0.20);
		transform: scale(0.97);
	}

	.afw-fiscal-device__session {
		position: relative;
		z-index: 5;
		display: flex;
		align-items: center;
		min-height: 30px;
		padding:
			6px
			calc(16px + var(--afw-mobile-safe-right))
			6px
			calc(16px + var(--afw-mobile-safe-left));
		gap: 7px;
		border-bottom: 1px solid var(--afw-mobile-border);
		color: var(--afw-mobile-muted);
		background: rgba(255, 255, 255, 0.96);
		font-size: 10px;
	}

	.afw-fiscal-device__session span {
		color: #22c55e;
		font-size: 8px;
	}
}

/* ==========================================================================
   4. Real application viewport
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__viewport {
		position: relative;
		flex: 1 1 auto;
		width: 100%;
		min-height: 0;
		padding-bottom: calc(var(--afw-mobile-dock-height) + var(--afw-mobile-safe-bottom) + 20px);
		overflow: visible;
		background:
			radial-gradient(circle at 100% 0%, rgba(91, 76, 230, 0.055), transparent 20rem),
			var(--afw-mobile-bg);
		outline: none;
	}

	.afw-fiscal-device__application,
	.afw-fiscal-device__application .afw-fiscal-dossier,
	.afw-fiscal-device__application .afw-fiscal-form {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.afw-fiscal-device__application .afw-fiscal-form {
		min-height: 0;
		padding: 14px;
		color: var(--afw-mobile-text);
		font-size: 14px;
		line-height: 1.55;
	}

	.afw-fiscal-device__application img,
	.afw-fiscal-device__application svg,
	.afw-fiscal-device__application canvas {
		max-width: 100%;
		height: auto;
	}
}

/* ==========================================================================
   5. Mobile hero and primary actions
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-form__header,
	.afw-fiscal-device__application .afw-fiscal-hero {
		display: block;
		margin: 0 0 14px;
		padding: 20px 18px;
		overflow: hidden;
		border: 1px solid rgba(255, 255, 255, 0.15);
		border-radius: var(--afw-mobile-radius-lg);
		color: #ffffff;
		background:
			radial-gradient(circle at 88% 15%, rgba(255, 255, 255, 0.13), transparent 33%),
			linear-gradient(135deg, #173d62 0%, #155eef 62%, #4f46e5 135%);
		box-shadow: var(--afw-mobile-shadow-lg);
	}

	.afw-fiscal-device__application .afw-fiscal-form__heading,
	.afw-fiscal-device__application .afw-fiscal-hero__content {
		max-width: none;
	}

	.afw-fiscal-device__application .afw-fiscal-form__eyebrow,
	.afw-fiscal-device__application .afw-fiscal-hero__eyebrow {
		margin-bottom: 6px;
		color: rgba(255, 255, 255, 0.72);
		font-size: 10px;
		font-weight: 850;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.afw-fiscal-device__application .afw-fiscal-form__title,
	.afw-fiscal-device__application .afw-fiscal-hero h1,
	.afw-fiscal-device__application .afw-fiscal-hero__title {
		margin-bottom: 8px;
		color: #ffffff !important;
		font-size: clamp(27px, 8.4vw, 37px);
		font-weight: 850;
		line-height: 1.02;
		letter-spacing: -0.035em;
	}

	.afw-fiscal-device__application .afw-fiscal-form__subtitle,
	.afw-fiscal-device__application .afw-fiscal-hero p {
		margin-bottom: 0;
		color: rgba(255, 255, 255, 0.78);
		font-size: 12px;
		line-height: 1.55;
	}

	.afw-fiscal-device__application .afw-fiscal-form__actions,
	.afw-fiscal-device__application .afw-fiscal-hero__actions,
	.afw-fiscal-device__application .afw-fiscal-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
		min-width: 0;
		margin-top: 16px;
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-form__actions .afw-fiscal-button,
	.afw-fiscal-device__application .afw-fiscal-hero__actions .afw-fiscal-button,
	.afw-fiscal-device__application .afw-fiscal-actions .afw-fiscal-button {
		width: 100%;
		min-height: 46px;
		padding: 9px 10px;
		border-color: rgba(255, 255, 255, 0.24);
		color: #ffffff;
		background: rgba(255, 255, 255, 0.10);
		box-shadow: none;
		font-size: 11px;
		white-space: normal;
		backdrop-filter: blur(8px);
	}

	.afw-fiscal-device__application .afw-fiscal-form__actions .afw-fiscal-button--primary,
	.afw-fiscal-device__application .afw-fiscal-hero__actions .afw-fiscal-button--primary {
		border-color: #ffffff;
		color: var(--afw-mobile-primary-dark);
		background: #ffffff;
	}
}

/* ==========================================================================
   6. Cockpit Fiscal 360 — smartphone layout
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-cockpit,
	.afw-fiscal-device__application .afw-fiscal-cockpit--360 {
		width: auto;
		margin: 0 0 14px;
		padding: 16px;
		border: 1px solid var(--afw-mobile-border);
		border-radius: var(--afw-mobile-radius-lg);
		background:
			radial-gradient(circle at 100% 0%, rgba(79, 70, 229, 0.07), transparent 18rem),
			linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
		box-shadow: var(--afw-mobile-shadow-md);
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__header {
		display: flex;
		align-items: stretch;
		flex-direction: column;
		margin-bottom: 16px;
		gap: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__eyebrow {
		margin-bottom: 4px;
		color: var(--afw-mobile-primary);
		font-size: 10px;
		font-weight: 850;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__header h2,
	.afw-fiscal-device__application .afw-fiscal-cockpit__title {
		margin-bottom: 5px;
		color: var(--afw-mobile-ink);
		font-size: 23px;
		font-weight: 850;
		line-height: 1.08;
		letter-spacing: -0.025em;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__header h2 + p {
		margin-bottom: 0;
		color: var(--afw-mobile-muted);
		font-size: 11px;
		line-height: 1.5;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__header-actions {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
		gap: 8px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__year,
	.afw-fiscal-device__application [data-afw-fiscal-cockpit-refresh] {
		width: 100%;
		min-height: 44px;
		justify-content: center;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__scoreboard {
		display: grid;
		grid-template-columns: 1fr;
		margin-bottom: 12px;
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		min-height: 96px;
		padding: 14px;
		gap: 12px;
		border-radius: 16px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card--global {
		display: flex;
		align-items: center;
		flex-direction: row;
		min-height: 122px;
		padding: 17px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card__dial {
		width: 78px;
		height: 78px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card__dial strong {
		font-size: 23px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card > span:first-child {
		width: 44px;
		height: 44px;
		border-radius: 13px;
		font-size: 20px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card p {
		font-size: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card strong {
		font-size: 23px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card small {
		font-size: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__grid,
	.afw-fiscal-device__application .afw-fiscal-cockpit__grid--financial,
	.afw-fiscal-device__application .afw-fiscal-kpis,
	.afw-fiscal-device__application .afw-fiscal-cockpit-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-bottom: 12px;
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi,
	.afw-fiscal-device__application .afw-fiscal-cockpit__item {
		display: block;
		min-height: 122px;
		padding: 13px;
		border: 1px solid var(--afw-mobile-border);
		border-radius: 15px;
		background: #ffffff;
		box-shadow: var(--afw-mobile-shadow-sm);
	}

	.afw-fiscal-device__application .afw-fiscal-kpi > span:first-child,
	.afw-fiscal-device__application .afw-fiscal-cockpit__item > span:first-child {
		display: grid;
		width: 38px;
		height: 38px;
		margin-bottom: 10px;
		place-items: center;
		border-radius: 11px;
		background: var(--afw-mobile-primary-soft);
		font-size: 18px;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi p,
	.afw-fiscal-device__application .afw-fiscal-cockpit__item p {
		margin-bottom: 4px;
		overflow: visible;
		color: var(--afw-mobile-muted);
		font-size: 10px;
		line-height: 1.35;
		white-space: normal;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi strong,
	.afw-fiscal-device__application .afw-fiscal-cockpit__item strong {
		display: block;
		overflow: visible;
		color: var(--afw-mobile-ink);
		font-size: 18px;
		font-variant-numeric: tabular-nums;
		line-height: 1.15;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi small {
		display: block;
		margin-top: 4px;
		color: var(--afw-mobile-muted);
		font-size: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__status-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit-panel {
		padding: 14px;
		border-radius: 16px;
		box-shadow: var(--afw-mobile-shadow-sm);
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit-panel > header {
		margin-bottom: 11px;
		padding-bottom: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit-panel > header h3 {
		font-size: 15px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__issue-counters {
		display: grid;
		grid-template-columns: 1fr;
		margin-bottom: 11px;
		gap: 7px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__issue-counters > div {
		display: grid;
		grid-template-columns: auto auto minmax(0, 1fr);
		padding: 10px 11px;
		column-gap: 8px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__issue-counters span {
		grid-row: auto;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__list,
	.afw-fiscal-device__application .afw-fiscal-cockpit__tabs-list {
		gap: 7px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__list li,
	.afw-fiscal-device__application .afw-fiscal-cockpit__tabs-list li {
		font-size: 11px;
		line-height: 1.45;
		overflow-wrap: anywhere;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__tabs-list li {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__tabs-list li > span {
		white-space: normal;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__issues {
		display: grid;
		grid-template-columns: 1fr;
		margin-top: 12px;
		gap: 7px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__issues span {
		width: 100%;
		min-height: 38px;
		justify-content: flex-start;
		border-radius: 12px;
		white-space: normal;
	}
}

/* ==========================================================================
   7. Progress and completion
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-completion,
	.afw-fiscal-device__application .afw-fiscal-progress {
		width: auto;
		margin: 0 0 14px;
		padding: 15px;
		border: 1px solid var(--afw-mobile-border);
		border-radius: var(--afw-mobile-radius-md);
		background: var(--afw-mobile-surface);
		box-shadow: var(--afw-mobile-shadow-sm);
	}

	.afw-fiscal-device__application .afw-fiscal-completion__header {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		margin-bottom: 10px;
		gap: 4px;
	}

	.afw-fiscal-device__application .afw-fiscal-completion__header h2 {
		font-size: 16px;
	}

	.afw-fiscal-device__application .afw-fiscal-completion__header > strong {
		font-size: 21px;
	}

	.afw-fiscal-device__application .afw-fiscal-progress,
	.afw-fiscal-device__application .afw-fiscal-completion__track,
	.afw-fiscal-device__application .afw-fiscal-tax-package__progress-track {
		height: 11px;
		border-radius: 999px;
		background: var(--afw-mobile-surface-muted);
	}

	.afw-fiscal-device__application .afw-fiscal-progress > span,
	.afw-fiscal-device__application .afw-fiscal-completion__track > span,
	.afw-fiscal-device__application .afw-fiscal-tax-package__progress-track > span {
		border-radius: inherit;
		background: linear-gradient(90deg, var(--afw-mobile-primary), var(--afw-mobile-secondary));
	}
}

/* ==========================================================================
   8. Mobile tab navigation
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-tabs {
		position: sticky;
		z-index: 80;
		top: calc(100px + var(--afw-mobile-safe-top));
		width: auto;
		margin: 0 -14px 14px;
		padding: 8px 10px;
		border-width: 1px 0;
		border-radius: 0;
		background: rgba(244, 247, 251, 0.96);
		box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06);
		backdrop-filter: blur(14px);
	}

	.afw-fiscal-device__application .afw-fiscal-tabs__list,
	.afw-fiscal-device__application [role="tablist"] {
		display: flex;
		width: 100%;
		margin: 0;
		padding: 1px 2px 4px;
		gap: 8px;
		overflow-x: auto;
		list-style: none;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 2px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.afw-fiscal-device__application .afw-fiscal-tabs__list::-webkit-scrollbar,
	.afw-fiscal-device__application [role="tablist"]::-webkit-scrollbar {
		display: none;
	}

	.afw-fiscal-device__application .afw-fiscal-tabs__list > li {
		flex: 0 0 auto;
		margin: 0;
	}

	.afw-fiscal-device__application .afw-fiscal-tabs__list button,
	.afw-fiscal-device__application [role="tab"] {
		display: grid;
		grid-template-columns: auto minmax(70px, auto) auto;
		align-items: center;
		min-width: 128px;
		min-height: 50px;
		padding: 7px 10px;
		gap: 7px;
		border: 1px solid var(--afw-mobile-border);
		border-radius: 14px;
		color: var(--afw-mobile-text);
		background: #ffffff;
		box-shadow: 0 3px 9px rgba(15, 23, 42, 0.045);
		font-size: 10px;
		font-weight: 760;
		scroll-snap-align: start;
	}

	.afw-fiscal-device__application .afw-fiscal-tabs__list li.is-active button,
	.afw-fiscal-device__application [role="tab"][aria-selected="true"] {
		border-color: rgba(21, 94, 239, 0.45);
		color: var(--afw-mobile-primary-dark);
		background: var(--afw-mobile-primary-soft);
		box-shadow:
			0 0 0 2px rgba(21, 94, 239, 0.08),
			0 5px 13px rgba(21, 94, 239, 0.10);
	}

	.afw-fiscal-device__application .afw-fiscal-tabs__list li.is-active button::after {
		display: none;
	}

	.afw-fiscal-device__application .afw-fiscal-tabs__list button > span:first-child {
		width: 24px;
		height: 24px;
		font-size: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-tabs__list button > span:nth-child(3) {
		max-width: 92px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

/* ==========================================================================
   9. Panels, cards and section hierarchy
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-form__workspace,
	.afw-fiscal-device__application .afw-fiscal-tab-panel,
	.afw-fiscal-device__application [data-afw-fiscal-tab-panel] {
		width: 100%;
		min-height: 0;
		margin: 0;
		padding: 0;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-panel__header {
		display: block;
		margin-bottom: 12px;
		padding: 0 2px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-panel__header p:first-child {
		margin-bottom: 4px;
		font-size: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-panel__header h2 {
		margin-bottom: 5px;
		font-size: 24px;
		line-height: 1.08;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-panel__header p:last-child {
		font-size: 12px;
		line-height: 1.5;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-panel__content {
		display: grid;
		gap: 12px;
	}

	.afw-fiscal-device__application .afw-fiscal-card,
	.afw-fiscal-device__application .afw-fiscal-section,
	.afw-fiscal-device__application .afw-fiscal-panel-card,
	.afw-fiscal-device__application .afw-fiscal-form-section,
	.afw-fiscal-device__application fieldset,
	.afw-fiscal-device__application [data-afw-fiscal-card] {
		width: 100%;
		margin: 0;
		overflow: hidden;
		border: 1px solid var(--afw-mobile-border);
		border-radius: var(--afw-mobile-radius-md);
		background: var(--afw-mobile-surface);
		box-shadow: var(--afw-mobile-shadow-sm);
	}

	.afw-fiscal-device__application .afw-fiscal-card__header {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		padding: 15px;
		gap: 10px;
		border-bottom: 1px solid var(--afw-mobile-border);
		background: linear-gradient(180deg, #ffffff, #f8fafc);
	}

	.afw-fiscal-device__application .afw-fiscal-card__heading {
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-card__icon {
		width: 38px;
		height: 38px;
		border-radius: 11px;
		font-size: 18px;
	}

	.afw-fiscal-device__application .afw-fiscal-card__title {
		font-size: 16px;
	}

	.afw-fiscal-device__application .afw-fiscal-card__description {
		font-size: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-card__body,
	.afw-fiscal-device__application .afw-fiscal-card,
	.afw-fiscal-device__application .afw-fiscal-section,
	.afw-fiscal-device__application .afw-fiscal-panel-card,
	.afw-fiscal-device__application .afw-fiscal-form-section,
	.afw-fiscal-device__application fieldset,
	.afw-fiscal-device__application [data-afw-fiscal-card] {
		padding: 15px;
	}

	.afw-fiscal-device__application .afw-fiscal-card__header + .afw-fiscal-card__body {
		padding-top: 15px;
	}

	.afw-fiscal-device__application fieldset legend {
		max-width: calc(100% - 20px);
		padding: 0 6px;
		font-size: 14px;
		font-weight: 800;
	}
}

/* ==========================================================================
   10. Forms and touch controls
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-fields-grid,
	.afw-fiscal-device__application .afw-fiscal-grid,
	.afw-fiscal-device__application .afw-fiscal-form-grid,
	.afw-fiscal-device__application .afw-field-grid,
	.afw-fiscal-device__application [data-afw-fiscal-grid] {
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.afw-fiscal-device__application .afw-fiscal-field,
	.afw-fiscal-device__application .afw-field,
	.afw-fiscal-device__application .form-field,
	.afw-fiscal-device__application [data-afw-fiscal-field-wrap] {
		grid-column: 1 / -1;
		min-width: 0;
	}

	.afw-fiscal-device__application .afw-fiscal-field__label,
	.afw-fiscal-device__application label,
	.afw-fiscal-device__application .afw-fiscal-label,
	.afw-fiscal-device__application .afw-field-label {
		display: flex;
		align-items: flex-start;
		margin-bottom: 7px;
		gap: 5px;
		color: var(--afw-mobile-text);
		font-size: 12px;
		font-weight: 780;
		line-height: 1.35;
	}

	.afw-fiscal-device__application input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="range"]),
	.afw-fiscal-device__application select,
	.afw-fiscal-device__application textarea {
		width: 100%;
		max-width: 100%;
		min-height: var(--afw-mobile-control-height);
		margin: 0;
		padding: 11px 13px;
		border: 1px solid var(--afw-mobile-border-strong);
		border-radius: var(--afw-mobile-radius-sm);
		color: var(--afw-mobile-ink);
		background: #ffffff;
		box-shadow:
			inset 0 1px 2px rgba(15, 23, 42, 0.025),
			0 1px 2px rgba(15, 23, 42, 0.035);
		font-size: 16px;
		line-height: 1.35;
		-webkit-appearance: none;
		appearance: none;
	}

	.afw-fiscal-device__application textarea {
		min-height: 116px;
		resize: vertical;
		line-height: 1.5;
	}

	.afw-fiscal-device__application select {
		padding-right: 40px;
	}

	.afw-fiscal-device__application input:focus,
	.afw-fiscal-device__application select:focus,
	.afw-fiscal-device__application textarea:focus {
		border-color: var(--afw-mobile-primary);
		background: #ffffff;
		box-shadow: 0 0 0 4px rgba(21, 94, 239, 0.12);
		outline: none;
	}

	.afw-fiscal-device__application input[readonly],
	.afw-fiscal-device__application textarea[readonly],
	.afw-fiscal-device__application select:disabled {
		color: #64748b;
		border-color: #d7e0ea;
		background: var(--afw-mobile-surface-muted);
		cursor: not-allowed;
	}

	.afw-fiscal-device__application input[type="checkbox"],
	.afw-fiscal-device__application input[type="radio"] {
		width: 22px;
		height: 22px;
		flex: 0 0 auto;
		accent-color: var(--afw-mobile-primary);
	}

	.afw-fiscal-device__application .afw-fiscal-switch {
		min-height: 48px;
	}

	.afw-fiscal-device__application .afw-fiscal-switch__track {
		width: 50px;
		height: 28px;
	}

	.afw-fiscal-device__application .afw-fiscal-switch__track::after {
		width: 20px;
		height: 20px;
	}

	.afw-fiscal-device__application .afw-fiscal-switch input:checked + .afw-fiscal-switch__track::after {
		transform: translateX(22px);
	}

	.afw-fiscal-device__application .afw-fiscal-field__help,
	.afw-fiscal-device__application .afw-field-help,
	.afw-fiscal-device__application .description {
		margin-top: 6px;
		color: var(--afw-mobile-muted);
		font-size: 10px;
		line-height: 1.45;
	}
}

/* ==========================================================================
   11. Buttons and action groups
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-button,
	.afw-fiscal-device__application button,
	.afw-fiscal-device__application input[type="button"],
	.afw-fiscal-device__application input[type="submit"] {
		min-height: 46px;
		padding: 10px 14px;
		border-radius: 12px;
		font-size: 12px;
		font-weight: 780;
		line-height: 1.2;
		touch-action: manipulation;
	}

	.afw-fiscal-device__application .afw-fiscal-button:active,
	.afw-fiscal-device__application button:active {
		transform: scale(0.98);
	}

	.afw-fiscal-device__application .afw-fiscal-field__ai-actions,
	.afw-fiscal-device__application .afw-fiscal-repeater__cell-ai-actions,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__footer-actions,
	.afw-fiscal-device__application .afw-fiscal-tax-package__footer-actions,
	.afw-fiscal-device__application .afw-fiscal-export__footer-actions {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
		gap: 8px;
	}

	.afw-fiscal-device__application .afw-fiscal-field__ai-actions .afw-fiscal-button,
	.afw-fiscal-device__application .afw-fiscal-repeater__cell-ai-actions .afw-fiscal-button,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__footer-actions .afw-fiscal-button,
	.afw-fiscal-device__application .afw-fiscal-tax-package__footer-actions .afw-fiscal-button,
	.afw-fiscal-device__application .afw-fiscal-export__footer-actions .afw-fiscal-button {
		width: 100%;
		white-space: normal;
	}
}

/* ==========================================================================
   12. Notices, alerts and validation
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-notice,
	.afw-fiscal-device__application .afw-fiscal-alert,
	.afw-fiscal-device__application .afw-fiscal-feedback__message,
	.afw-fiscal-device__application [data-afw-fiscal-feedback] {
		display: flex;
		align-items: flex-start;
		width: 100%;
		padding: 13px 14px;
		gap: 10px;
		border-left-width: 4px;
		border-radius: 13px;
		font-size: 11px;
		line-height: 1.5;
		overflow-wrap: anywhere;
	}

	.afw-fiscal-device__application .afw-fiscal-notice--success,
	.afw-fiscal-device__application .afw-fiscal-alert--success,
	.afw-fiscal-device__application .afw-fiscal-feedback__message--success {
		border-color: #86efac;
		border-left-color: var(--afw-mobile-success);
		background: var(--afw-mobile-success-soft);
	}

	.afw-fiscal-device__application .afw-fiscal-notice--warning,
	.afw-fiscal-device__application .afw-fiscal-alert--warning,
	.afw-fiscal-device__application .afw-fiscal-feedback__message--warning {
		border-color: #fdba74;
		border-left-color: var(--afw-mobile-warning);
		background: var(--afw-mobile-warning-soft);
	}

	.afw-fiscal-device__application .afw-fiscal-notice--error,
	.afw-fiscal-device__application .afw-fiscal-alert--error,
	.afw-fiscal-device__application .afw-fiscal-feedback__message--error {
		border-color: #fca5a5;
		border-left-color: var(--afw-mobile-danger);
		background: var(--afw-mobile-danger-soft);
	}

	.afw-fiscal-device__application .afw-fiscal-feedback {
		margin-top: 14px;
		padding: 13px;
		border-radius: 15px;
	}

	.afw-fiscal-device__application .afw-fiscal-feedback > header {
		align-items: flex-start;
		flex-direction: column;
	}

	.afw-fiscal-device__application .afw-fiscal-field__errors,
	.afw-fiscal-device__application .afw-field-error,
	.afw-fiscal-device__application [data-afw-fiscal-field-error] {
		font-size: 10px;
		line-height: 1.45;
	}
}

/* ==========================================================================
   13. Repeaters and collection cards
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-repeater,
	.afw-fiscal-device__application .afw-fiscal-repeater__items,
	.afw-fiscal-device__application [data-afw-fiscal-repeater] {
		display: grid;
		gap: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-repeater__item,
	.afw-fiscal-device__application .afw-fiscal-bank-card,
	.afw-fiscal-device__application .afw-fiscal-asset-card,
	.afw-fiscal-device__application [data-afw-fiscal-repeater-item] {
		padding: 14px;
		border-radius: 15px;
		background: var(--afw-mobile-surface-soft);
	}

	.afw-fiscal-device__application .afw-fiscal-repeater__item-header {
		align-items: flex-start;
	}

	.afw-fiscal-device__application .afw-fiscal-repeater__remove,
	.afw-fiscal-device__application [data-afw-fiscal-repeater-remove] {
		width: 42px;
		height: 42px;
		flex: 0 0 auto;
	}

	.afw-fiscal-device__application .afw-fiscal-repeater__add,
	.afw-fiscal-device__application [data-afw-fiscal-repeater-add] {
		width: 100%;
		min-height: 46px;
	}
}

/* ==========================================================================
   14. Tables become readable mobile cards
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-table-wrap,
	.afw-fiscal-device__application [data-afw-fiscal-table-wrap],
	.afw-fiscal-device__application .afw-fiscal-export__history-table-wrap {
		width: 100%;
		overflow-x: auto;
		border: 1px solid var(--afw-mobile-border);
		border-radius: 14px;
		background: #ffffff;
		box-shadow: var(--afw-mobile-shadow-sm);
		-webkit-overflow-scrolling: touch;
	}

	.afw-fiscal-device__application table {
		display: table;
		width: max-content;
		min-width: 100%;
		border-collapse: separate;
		border-spacing: 0;
		font-size: 11px;
		white-space: nowrap;
	}

	.afw-fiscal-device__application table th,
	.afw-fiscal-device__application table td {
		padding: 10px 11px;
	}

	.afw-fiscal-device__application table th {
		position: sticky;
		z-index: 2;
		top: 0;
		background: var(--afw-mobile-surface-muted);
		font-size: 10px;
	}

	.afw-fiscal-device__application table td input,
	.afw-fiscal-device__application table td select {
		min-width: 118px;
		min-height: 42px;
		font-size: 14px;
	}
}

/* ==========================================================================
   15. Corporate tax, tax package and export
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-corporate-tax,
	.afw-fiscal-device__application .afw-fiscal-tax-package,
	.afw-fiscal-device__application .afw-fiscal-export {
		display: grid;
		gap: 12px;
	}

	.afw-fiscal-device__application .afw-fiscal-corporate-tax__hero,
	.afw-fiscal-device__application .afw-fiscal-tax-package__hero,
	.afw-fiscal-device__application .afw-fiscal-export__hero {
		display: block;
		padding: 16px;
		border-radius: 17px;
	}

	.afw-fiscal-device__application .afw-fiscal-corporate-tax__hero-content,
	.afw-fiscal-device__application .afw-fiscal-tax-package__hero-content,
	.afw-fiscal-device__application .afw-fiscal-export__hero-content {
		display: flex;
		align-items: flex-start;
		gap: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-corporate-tax__hero-icon,
	.afw-fiscal-device__application .afw-fiscal-tax-package__hero-icon,
	.afw-fiscal-device__application .afw-fiscal-export__hero-icon {
		width: 46px;
		height: 46px;
		border-radius: 13px;
		font-size: 22px;
	}

	.afw-fiscal-device__application .afw-fiscal-corporate-tax__hero h3,
	.afw-fiscal-device__application .afw-fiscal-tax-package__hero h3,
	.afw-fiscal-device__application .afw-fiscal-export__hero h3 {
		font-size: 22px;
	}

	.afw-fiscal-device__application .afw-fiscal-corporate-tax__mapping,
	.afw-fiscal-device__application .afw-fiscal-tax-package__status,
	.afw-fiscal-device__application .afw-fiscal-export__status {
		width: 100%;
		margin-top: 13px;
		align-items: flex-start;
	}

	.afw-fiscal-device__application .afw-fiscal-corporate-tax__ratios,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__bridge-grid,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__reinstatement-grid,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__deduction-grid,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__loss-grid,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__credit-grid,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__advanced-grid,
	.afw-fiscal-device__application .afw-fiscal-tax-package__final-grid,
	.afw-fiscal-device__application .afw-fiscal-export__final-grid,
	.afw-fiscal-device__application .afw-fiscal-tax-package__source-grid,
	.afw-fiscal-device__application .afw-fiscal-tax-package__forms-grid,
	.afw-fiscal-device__application .afw-fiscal-export__readiness-grid,
	.afw-fiscal-device__application .afw-fiscal-export__format-grid,
	.afw-fiscal-device__application .afw-fiscal-tax-package__check-list,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__controls,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__simulation-grid,
	.afw-fiscal-device__application .afw-fiscal-export__security-summary {
		display: grid;
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-corporate-tax__bridge,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__reinstatement-summary,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__deduction-summary,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__loss-summary,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__credit-summary,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__advanced-dashboard,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__simulation,
	.afw-fiscal-device__application .afw-fiscal-corporate-tax__advanced-controls,
	.afw-fiscal-device__application .afw-fiscal-tax-package__final-summary,
	.afw-fiscal-device__application .afw-fiscal-export__final-summary {
		padding: 15px;
		border-radius: 16px;
	}

	.afw-fiscal-device__application .afw-fiscal-corporate-tax__footer,
	.afw-fiscal-device__application .afw-fiscal-tax-package__footer,
	.afw-fiscal-device__application .afw-fiscal-export__footer {
		align-items: stretch;
		flex-direction: column;
		padding: 15px;
	}
}

/* ==========================================================================
   16. Calculated fields and AI actions
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-field.is-calculated {
		padding: 12px;
		border-radius: 14px;
	}

	.afw-fiscal-device__application .afw-fiscal-field__calculated-badge {
		width: 100%;
		justify-content: center;
		padding: 7px 10px;
		font-size: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-field__calculated-help {
		font-size: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-field.is-editable::before {
		display: none;
	}
}

/* ==========================================================================
   17. Fixed mobile dock
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__dock {
		position: fixed;
		z-index: 120;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		min-height: calc(var(--afw-mobile-dock-height) + var(--afw-mobile-safe-bottom));
		padding:
			7px
			calc(7px + var(--afw-mobile-safe-right))
			calc(8px + var(--afw-mobile-safe-bottom))
			calc(7px + var(--afw-mobile-safe-left));
		border-top: 1px solid rgba(197, 209, 223, 0.88);
		background: rgba(255, 255, 255, 0.96);
		box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.11);
		backdrop-filter: blur(18px);
		-webkit-backdrop-filter: blur(18px);
	}

	.afw-fiscal-device__dock-item {
		display: grid;
		place-items: center;
		align-content: center;
		min-width: 0;
		min-height: 52px;
		padding: 4px 2px;
		gap: 3px;
		border: 0;
		border-radius: 13px;
		color: #64748b;
		background: transparent;
		touch-action: manipulation;
	}

	.afw-fiscal-device__dock-item span {
		font-size: 21px;
		line-height: 1;
	}

	.afw-fiscal-device__dock-item small {
		max-width: 100%;
		overflow: hidden;
		font-size: 8px;
		font-weight: 760;
		line-height: 1.1;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.afw-fiscal-device__dock-item.is-active {
		color: var(--afw-mobile-primary);
		background: rgba(21, 94, 239, 0.075);
	}

	.afw-fiscal-device__dock-item--primary {
		width: 54px;
		height: 54px;
		justify-self: center;
		margin-top: -27px;
		border-radius: 50%;
		color: #ffffff;
		background: linear-gradient(145deg, #2474ff, #0b4ed7);
		box-shadow:
			0 11px 24px rgba(21, 94, 239, 0.34),
			inset 0 1px rgba(255, 255, 255, 0.30);
	}

	.afw-fiscal-device__dock-item:active {
		transform: scale(0.95);
	}
}

/* ==========================================================================
   18. Dark mode
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-dark-mode .afw-fiscal-device-stage {
		--afw-mobile-bg: #0f172a;
		--afw-mobile-surface: #111827;
		--afw-mobile-surface-soft: #172033;
		--afw-mobile-surface-muted: #1e293b;
		--afw-mobile-border: #2b3850;
		--afw-mobile-border-strong: #42526b;
		--afw-mobile-ink: #f8fafc;
		--afw-mobile-text: #e2e8f0;
		--afw-mobile-muted: #94a3b8;
	}

	.afw-fiscal-dark-mode .afw-fiscal-device__viewport,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-form {
		background: #0f172a;
		color: #e2e8f0;
	}

	.afw-fiscal-dark-mode .afw-fiscal-device__session,
	.afw-fiscal-dark-mode .afw-fiscal-device__dock,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-card,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-section,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-panel-card,
	.afw-fiscal-dark-mode .afw-fiscal-device__application fieldset,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-cockpit,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-cockpit-panel,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-kpi,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-score-card:not(.afw-fiscal-score-card--global) {
		color: #e2e8f0;
		border-color: #2b3850;
		background: #111827;
	}

	.afw-fiscal-dark-mode .afw-fiscal-device__application input,
	.afw-fiscal-dark-mode .afw-fiscal-device__application select,
	.afw-fiscal-dark-mode .afw-fiscal-device__application textarea {
		color: #f8fafc;
		border-color: #42526b;
		background: #1e293b;
	}

	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-tabs {
		border-color: #2b3850;
		background: rgba(15, 23, 42, 0.96);
	}

	.afw-fiscal-dark-mode .afw-fiscal-device__application [role="tab"],
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-tabs__list button {
		color: #cbd5e1;
		border-color: #2b3850;
		background: #111827;
	}
}

/* ==========================================================================
   19. Very small phones
   ========================================================================== */

@media (max-width: 390px) {
	.afw-fiscal-device__application .afw-fiscal-form {
		padding: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-form__actions,
	.afw-fiscal-device__application .afw-fiscal-hero__actions,
	.afw-fiscal-device__application .afw-fiscal-actions,
	.afw-fiscal-device__application .afw-fiscal-cockpit__grid,
	.afw-fiscal-device__application .afw-fiscal-cockpit__grid--financial,
	.afw-fiscal-device__application .afw-fiscal-kpis,
	.afw-fiscal-device__application .afw-fiscal-cockpit-grid {
		grid-template-columns: 1fr;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card--global {
		align-items: flex-start;
		flex-direction: column;
	}

	.afw-fiscal-device__application .afw-fiscal-tabs {
		margin-right: -11px;
		margin-left: -11px;
	}

	.afw-fiscal-device__dock-item small {
		font-size: 7.5px;
	}
}

/* ==========================================================================
   20. Accessibility, reduced motion and print
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device-stage :focus-visible {
		outline: 3px solid rgba(21, 94, 239, 0.50);
		outline-offset: 2px;
	}

	.afw-fiscal-device-stage button,
	.afw-fiscal-device-stage a,
	.afw-fiscal-device-stage input,
	.afw-fiscal-device-stage select,
	.afw-fiscal-device-stage textarea {
		-webkit-tap-highlight-color: transparent;
	}
}

@media (max-width: 782px) and (prefers-reduced-motion: reduce) {
	.afw-fiscal-device-stage *,
	.afw-fiscal-device-stage *::before,
	.afw-fiscal-device-stage *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.afw-fiscal-device__statusbar,
	.afw-fiscal-device__appbar,
	.afw-fiscal-device__session,
	.afw-fiscal-device__dock,
	.afw-fiscal-device__menu-button {
		display: none !important;
	}

	.afw-fiscal-device__viewport {
		padding-bottom: 0 !important;
	}

	.afw-fiscal-device__application .afw-fiscal-form {
		padding: 0 !important;
	}
}

/* ==========================================================================
   21. Cockpit Fiscal 360 Premium V3 — mobile
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-cockpit--v3 {
		display: grid;
		gap: 14px;
		padding: 14px;
		border-radius: 18px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__header--v3 {
		margin: 0;
		padding-bottom: 14px;
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__header--v3 h2 {
		font-size: 24px;
		line-height: 1.08;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__api-badge {
		width: 100%;
		min-height: 42px;
		justify-content: center;
	}

	.afw-fiscal-device__application .afw-fiscal-executive-summary {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 14px;
		border-radius: 15px;
	}

	.afw-fiscal-device__application .afw-fiscal-executive-summary__icon {
		width: 44px;
		height: 44px;
		border-radius: 13px;
		font-size: 21px;
	}

	.afw-fiscal-device__application .afw-fiscal-executive-summary h3 {
		font-size: 18px;
		line-height: 1.25;
	}

	.afw-fiscal-device__application .afw-fiscal-executive-summary h3 + p {
		font-size: 11px;
		line-height: 1.55;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__executive-actions {
		gap: 6px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__executive-actions li {
		padding: 8px 9px 8px 32px;
		font-size: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-dashboard-section {
		padding: 14px;
		border-radius: 15px;
	}

	.afw-fiscal-device__application .afw-fiscal-dashboard-section__header,
	.afw-fiscal-device__application .afw-fiscal-risk-center__header,
	.afw-fiscal-device__application .afw-fiscal-timeline__header,
	.afw-fiscal-device__application .afw-fiscal-dashboard-charts__header {
		display: flex;
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
		margin-bottom: 13px;
	}

	.afw-fiscal-device__application .afw-fiscal-dashboard-section__header h3 {
		font-size: 19px;
	}

	.afw-fiscal-device__application .afw-fiscal-dashboard-section__header h3 + p,
	.afw-fiscal-device__application .afw-fiscal-dashboard-section__header > div:first-child > p:last-child {
		font-size: 10px;
		line-height: 1.5;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi-grid--v3 {
		display: grid;
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi--v3 {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		min-height: 96px;
		padding: 13px;
		gap: 11px;
		border-radius: 14px;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi--v3 .afw-fiscal-kpi__icon {
		width: 42px;
		height: 42px;
		border-radius: 12px;
		font-size: 19px;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi--v3 p {
		font-size: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi--v3 strong {
		font-size: 20px;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi--v3 small {
		font-size: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__scoreboard--v3 {
		display: grid;
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card--global {
		grid-column: auto;
		grid-row: auto;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card--smart {
		min-height: 88px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card--smart strong {
		font-size: 20px;
	}
}

/* ==========================================================================
   22. Risk Center V3 — mobile
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-risk-center__overall,
	.afw-fiscal-device__application .afw-fiscal-timeline__overview {
		width: 100%;
		min-width: 0;
		text-align: left;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-center__summary {
		padding: 12px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-grid,
	.afw-fiscal-device__application .afw-fiscal-risk-center__priorities ol {
		display: grid;
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-card {
		padding: 13px;
		border-radius: 14px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-card__header {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-card__header > strong {
		grid-column: 1 / -1;
		margin-top: 5px;
		font-size: 18px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-card__explanation {
		font-size: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-card__actions li {
		font-size: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-center__priorities {
		padding: 12px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-center__priorities li {
		padding: 9px;
	}
}

/* ==========================================================================
   23. Timeline Premium V3 — mobile
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-timeline__summary-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.afw-fiscal-device__application .afw-fiscal-timeline-summary-card {
		padding: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-timeline-summary-card strong {
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-list {
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-item {
		padding: 12px;
		border-radius: 13px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-header {
		align-items: flex-start;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-header > div {
		align-items: flex-start;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-header > span {
		flex: 0 0 auto;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-meta {
		display: grid;
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-next {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* ==========================================================================
   24. Dashboard Charts V3 — mobile
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-dashboard-charts__status {
		width: 100%;
	}

	.afw-fiscal-device__application .afw-fiscal-dashboard-charts__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card {
		border-radius: 14px;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card__header,
	.afw-fiscal-device__application .afw-fiscal-chart-card__footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card__canvas {
		min-height: 210px;
		padding: 12px;
		overflow: hidden;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card__canvas canvas,
	.afw-fiscal-device__application .afw-fiscal-chart-card__canvas svg {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}

	.afw-fiscal-device__application .afw-fiscal-dashboard-charts__legend {
		display: grid;
		grid-template-columns: 1fr;
		gap: 7px;
	}
}

/* ==========================================================================
   25. AI Insights + Export Dashboard V3 — mobile
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-ai-export-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-ai-insights,
	.afw-fiscal-device__application .afw-fiscal-export-dashboard {
		padding: 13px;
		border-radius: 15px;
	}

	.afw-fiscal-device__application .afw-fiscal-ai-insights__header,
	.afw-fiscal-device__application .afw-fiscal-export-dashboard__header {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
	}

	.afw-fiscal-device__application .afw-fiscal-ai-insights__identity,
	.afw-fiscal-device__application .afw-fiscal-export-dashboard__identity {
		grid-column: 1 / -1;
	}

	.afw-fiscal-device__application .afw-fiscal-ai-insights__confidence,
	.afw-fiscal-device__application .afw-fiscal-export-dashboard__score {
		grid-column: 1 / -1;
		width: 100%;
		margin-top: 5px;
		text-align: left;
	}

	.afw-fiscal-device__application .afw-fiscal-ai-insights__panel,
	.afw-fiscal-device__application .afw-fiscal-export-dashboard__panel {
		padding: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-ai-insights__footer,
	.afw-fiscal-device__application .afw-fiscal-export-dashboard__footer {
		display: grid;
		grid-template-columns: 1fr;
	}

	.afw-fiscal-device__application .afw-fiscal-ai-insights__footer .afw-fiscal-button,
	.afw-fiscal-device__application .afw-fiscal-export-dashboard__footer .afw-fiscal-button {
		width: 100%;
	}

	.afw-fiscal-device__application .afw-fiscal-export-format-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ==========================================================================
   26. Footer V3 + API Bootstrap — mobile
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-cockpit-footer--v3 {
		display: flex;
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit-footer__status {
		display: grid;
		grid-template-columns: 1fr;
		gap: 7px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit-footer__status > div {
		min-height: 54px;
		padding: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit-footer__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit-footer__actions .afw-fiscal-button {
		width: 100%;
	}
}

/* ==========================================================================
   27. Dark mode for V3 mobile components
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-cockpit--v3,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-dashboard-section,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-executive-summary,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-kpi--v3,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-risk-card,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-chart-card,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-ai-insights,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-export-dashboard,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-cockpit__timeline-item,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-cockpit-footer__status > div {
		color: #e2e8f0;
		border-color: #2b3850;
		background: #111827;
	}

	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-kpi--v3 small,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-risk-card__explanation,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-chart-card__header p,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-cockpit__timeline-meta,
	.afw-fiscal-dark-mode .afw-fiscal-device__application .afw-fiscal-cockpit-footer__status small {
		color: #94a3b8;
	}
}

/* ==========================================================================
   28. Very small phones — V3
   ========================================================================== */

@media (max-width: 390px) {
	.afw-fiscal-device__application .afw-fiscal-cockpit--v3,
	.afw-fiscal-device__application .afw-fiscal-dashboard-section,
	.afw-fiscal-device__application .afw-fiscal-executive-summary {
		padding: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi--v3 {
		grid-template-columns: 1fr;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi--v3 .afw-fiscal-kpi__icon {
		margin-bottom: 2px;
	}

	.afw-fiscal-device__application .afw-fiscal-export-format-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   29. Assistant de saisie compact — smartphone
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application .afw-fiscal-tab-panel__assistant {
		margin: 0 0 12px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant--compact {
		width: 100%;
		margin: 0;
		overflow: hidden;
		border: 1px solid var(--afw-mobile-border);
		border-radius: 16px;
		background:
			radial-gradient(
				circle at 100% 0%,
				rgba(91, 76, 230, 0.06),
				transparent 13rem
			),
			linear-gradient(
				180deg,
				#ffffff 0%,
				#f9fbfe 100%
			);
		box-shadow: var(--afw-mobile-shadow-sm);
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__summary {
		display: grid;
		grid-template-columns: 1fr;
		padding: 13px 12px 11px 15px;
		gap: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__identity {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__icon {
		width: 40px;
		height: 40px;
		border-radius: 12px;
		font-size: 19px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__identity p {
		font-size: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__identity h3 {
		font-size: 18px;
		white-space: normal;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__stats {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
		overflow: visible;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__stats > span {
		min-width: 0;
		padding: 9px 10px;
		border-radius: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__stats strong {
		font-size: 14px;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__stats small {
		font-size: 8px;
		white-space: normal;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__progress {
		height: 5px;
		margin: 0 12px 0 15px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__action-line {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
		padding: 11px 12px 13px 15px;
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__action-line p {
		min-width: 0;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__action-line strong {
		font-size: 10px;
		line-height: 1.45;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__action-line .afw-fiscal-button {
		grid-column: 1 / -1;
		width: 100%;
		min-height: 44px;
		white-space: normal;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__details > summary {
		min-height: 44px;
		padding: 11px 12px 11px 15px;
		font-size: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__details-content {
		display: grid;
		grid-template-columns: 1fr;
		padding: 0 12px 12px 15px;
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__details-content > section {
		padding: 10px;
		border-radius: 11px;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__details-content li button,
	.afw-fiscal-device__application .afw-fiscal-tab-assistant__details-content article {
		min-height: 42px;
		padding: 9px 10px;
		font-size: 10px;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__details-content article {
		align-items: flex-start;
		flex-direction: column;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__details-content article button {
		width: 100%;
		min-height: 38px;
	}
}

@media (max-width: 390px) {
	.afw-fiscal-device__application .afw-fiscal-tab-assistant__stats {
		grid-template-columns: 1fr;
	}

	.afw-fiscal-device__application .afw-fiscal-tab-assistant__summary,
	.afw-fiscal-device__application .afw-fiscal-tab-assistant__action-line,
	.afw-fiscal-device__application .afw-fiscal-tab-assistant__details > summary,
	.afw-fiscal-device__application .afw-fiscal-tab-assistant__details-content {
		padding-left: 12px;
		padding-right: 10px;
	}
}

@media (max-width: 782px) {
	.afw-fiscal-dark-mode
		.afw-fiscal-device__application
		.afw-fiscal-tab-assistant--compact,
	.afw-fiscal-dark-mode
		.afw-fiscal-device__application
		.afw-fiscal-tab-assistant__stats > span,
	.afw-fiscal-dark-mode
		.afw-fiscal-device__application
		.afw-fiscal-tab-assistant__details-content > section {
		color: #e2e8f0;
		border-color: #2b3850;
		background: #111827;
	}
}

/* ==========================================================================
   30. Reusable Cockpit components — smartphone layout V1.0
   ========================================================================== */

@media (max-width: 782px) {
	/* Global sizing and overflow protection. */
	.afw-fiscal-device__application .afw-fiscal-kpi-grid--v3,
	.afw-fiscal-device__application .afw-fiscal-cockpit__scoreboard--v3,
	.afw-fiscal-device__application .afw-fiscal-risk-grid,
	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-list,
	.afw-fiscal-device__application .afw-fiscal-dashboard-charts__grid,
	.afw-fiscal-device__application .afw-fiscal-kpi-card,
	.afw-fiscal-device__application .afw-fiscal-score-card--component,
	.afw-fiscal-device__application .afw-fiscal-risk-card--component,
	.afw-fiscal-device__application .afw-fiscal-timeline-item--component,
	.afw-fiscal-device__application .afw-fiscal-chart-card--component {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	/* KPI: two columns on ordinary phones. */
	.afw-fiscal-device__application .afw-fiscal-kpi-grid--v3 {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi-card {
		display: grid;
		grid-template-columns: 1fr;
		align-content: start;
		min-height: 142px;
		padding: 13px;
		gap: 9px;
		overflow: hidden;
		border-radius: 14px;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi-card .afw-fiscal-kpi__icon {
		width: 40px;
		height: 40px;
		border-radius: 12px;
		font-size: 19px;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi-card [data-afw-fiscal-kpi-value] {
		overflow: visible;
		font-size: clamp(17px, 5.5vw, 22px);
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi-card [data-afw-fiscal-kpi-label],
	.afw-fiscal-device__application .afw-fiscal-kpi-card [data-afw-fiscal-kpi-description] {
		font-size: 9px;
		line-height: 1.45;
		overflow-wrap: anywhere;
	}

	/* Scores: compact, readable circular gauges. */
	.afw-fiscal-device__application .afw-fiscal-cockpit__scoreboard--v3 {
		display: grid;
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card--component {
		display: grid;
		grid-template-columns: 68px minmax(0, 1fr);
		align-items: center;
		min-height: 108px;
		padding: 13px;
		gap: 12px;
		border-radius: 14px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card--component .afw-fiscal-score-card__dial {
		width: 68px;
		height: 68px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card--component [data-afw-fiscal-score-value] {
		font-size: 20px;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card__display {
		font-size: 19px;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	/* Risks: one stacked card per row. */
	.afw-fiscal-device__application .afw-fiscal-risk-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-card--component {
		min-height: 0;
		padding: 13px;
		border-radius: 14px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-card--component .afw-fiscal-risk-card__header {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-card--component [data-afw-fiscal-risk-explanation] {
		font-size: 10px;
		line-height: 1.55;
		overflow-wrap: anywhere;
	}

	/* Timeline: compact vertical flow. */
	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-list {
		display: grid;
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-item-shell {
		padding-left: 17px;
	}

	.afw-fiscal-device__application .afw-fiscal-cockpit__timeline-item-shell::before {
		top: 24px;
		bottom: -15px;
		left: 7px;
	}

	.afw-fiscal-device__application .afw-fiscal-timeline-item--component {
		display: grid;
		grid-template-columns: 32px minmax(0, 1fr);
		padding: 12px;
		gap: 10px;
		border-radius: 13px;
	}

	.afw-fiscal-device__application .afw-fiscal-timeline-item__marker {
		width: 32px;
		height: 32px;
		border-width: 3px;
		font-size: 14px;
	}

	.afw-fiscal-device__application .afw-fiscal-timeline-item__header {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.afw-fiscal-device__application .afw-fiscal-timeline-item__meta,
	.afw-fiscal-device__application .afw-fiscal-timeline-item__dates {
		display: grid;
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.afw-fiscal-device__application .afw-fiscal-timeline-item__meta > span {
		width: 100%;
		min-height: 28px;
		justify-content: flex-start;
	}

	/* Charts: full-width and bounded. */
	.afw-fiscal-device__application .afw-fiscal-dashboard-charts__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card--component {
		overflow: hidden;
		border-radius: 14px;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card--component .afw-fiscal-chart-card__header {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		padding: 13px;
		gap: 9px;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card__summary {
		display: grid;
		grid-template-columns: 1fr;
		padding: 10px 12px 0;
		gap: 7px;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card--component .afw-fiscal-chart-card__body {
		width: 100%;
		min-height: 220px;
		padding: 10px;
		overflow: hidden;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card--component .afw-fiscal-chart-card__canvas {
		width: 100%;
		max-width: 100%;
		min-height: 210px;
		overflow: hidden;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card__canvas canvas,
	.afw-fiscal-device__application .afw-fiscal-chart-card__canvas svg {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 300px;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-card__legend {
		display: grid;
		grid-template-columns: 1fr;
		gap: 7px;
		padding: 10px 12px;
	}

	/* All contextual actions remain touch-friendly. */
	.afw-fiscal-device__application .afw-fiscal-kpi-card button,
	.afw-fiscal-device__application .afw-fiscal-score-card--component button,
	.afw-fiscal-device__application .afw-fiscal-risk-card--component button,
	.afw-fiscal-device__application .afw-fiscal-timeline-item--component button,
	.afw-fiscal-device__application .afw-fiscal-chart-card--component button,
	.afw-fiscal-device__application .afw-fiscal-kpi-card a,
	.afw-fiscal-device__application .afw-fiscal-score-card--component a,
	.afw-fiscal-device__application .afw-fiscal-risk-card--component a,
	.afw-fiscal-device__application .afw-fiscal-timeline-item--component a,
	.afw-fiscal-device__application .afw-fiscal-chart-card--component a {
		width: 100%;
		min-height: 44px;
		white-space: normal;
		touch-action: manipulation;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi-card *,
	.afw-fiscal-device__application .afw-fiscal-score-card--component *,
	.afw-fiscal-device__application .afw-fiscal-risk-card--component *,
	.afw-fiscal-device__application .afw-fiscal-timeline-item--component *,
	.afw-fiscal-device__application .afw-fiscal-chart-card--component * {
		max-width: 100%;
	}
}

/* ==========================================================================
   31. Reusable components — very small phones
   ========================================================================== */

@media (max-width: 420px) {
	.afw-fiscal-device__application .afw-fiscal-kpi-grid--v3 {
		grid-template-columns: 1fr;
	}

	.afw-fiscal-device__application .afw-fiscal-kpi-card {
		min-height: 0;
	}

	.afw-fiscal-device__application .afw-fiscal-score-card--component {
		grid-template-columns: 60px minmax(0, 1fr);
	}

	.afw-fiscal-device__application .afw-fiscal-score-card--component .afw-fiscal-score-card__dial {
		width: 60px;
		height: 60px;
	}

	.afw-fiscal-device__application .afw-fiscal-risk-card--component .afw-fiscal-risk-card__header,
	.afw-fiscal-device__application .afw-fiscal-timeline-item--component {
		grid-template-columns: 1fr;
	}
}



/* ==========================================================================
   32. Native Dashboard Charts — mobile rendering bridge V1.1
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application [data-afw-fiscal-dashboard-charts],
	.afw-fiscal-device__application [data-afw-fiscal-chart-card],
	.afw-fiscal-device__application [data-afw-fiscal-chart-host] {
		min-width: 0;
		max-width: 100%;
	}

	.afw-fiscal-device__application [data-afw-fiscal-chart-card] {
		display: block;
		width: 100%;
		overflow: visible;
		contain: layout style;
	}

	.afw-fiscal-device__application [data-afw-fiscal-chart-body] {
		display: block;
		width: 100%;
		min-height: 300px;
		overflow: visible;
	}

	.afw-fiscal-device__application [data-afw-fiscal-chart-host],
	.afw-fiscal-device__application .afw-fiscal-chart-native-host {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		min-width: 0;
		min-height: 286px !important;
		height: auto !important;
		padding: 10px 6px 8px !important;
		overflow: visible !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.afw-fiscal-device__application [data-afw-fiscal-chart-host] > svg,
	.afw-fiscal-device__application .afw-fiscal-chart-native-host > svg {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		height: 286px !important;
		min-height: 286px !important;
		max-height: none !important;
		flex: 0 0 auto;
		overflow: visible;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-native-legend {
		display: flex;
		width: 100%;
		justify-content: flex-start;
		padding: 6px 10px 12px;
		gap: 6px 10px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-native-legend::-webkit-scrollbar {
		display: none;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-native-legend__item {
		flex: 0 0 auto;
		font-size: 10px;
		white-space: nowrap;
	}

	.afw-fiscal-device__application .afw-fiscal-chart-native-tooltip {
		position: fixed;
		z-index: 200;
		max-width: min(220px, calc(100vw - 28px));
	}
}

@media (max-width: 420px) {
	.afw-fiscal-device__application [data-afw-fiscal-chart-body] {
		min-height: 272px;
	}

	.afw-fiscal-device__application [data-afw-fiscal-chart-host],
	.afw-fiscal-device__application .afw-fiscal-chart-native-host {
		min-height: 258px !important;
		padding-inline: 2px !important;
	}

	.afw-fiscal-device__application [data-afw-fiscal-chart-host] > svg,
	.afw-fiscal-device__application .afw-fiscal-chart-native-host > svg {
		height: 258px !important;
		min-height: 258px !important;
	}
}


/* ==========================================================================
   32. Dashboard Charts — correctif de rendu mobile 3.2.2
   ========================================================================== */

@media (max-width: 782px) {
	.afw-fiscal-device__application [data-afw-fiscal-chart-card] {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
	}

	.afw-fiscal-device__application [data-afw-fiscal-chart-host],
	.afw-fiscal-device__application .afw-fiscal-chart-native-host,
	.afw-fiscal-device__application .afw-fiscal-chart-card__canvas {
		display: block !important;
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 285px !important;
		height: auto !important;
		overflow: visible !important;
		contain: none !important;
	}

	.afw-fiscal-device__application [data-afw-fiscal-chart-host] > svg,
	.afw-fiscal-device__application .afw-fiscal-chart-native-host > svg,
	.afw-fiscal-device__application .afw-fiscal-chart-card__canvas > svg {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 285px !important;
		height: 285px !important;
		overflow: visible !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none;
	}

	.afw-fiscal-device__application [data-afw-fiscal-chart-card][data-afw-fiscal-chart-ready="1"]
	.afw-fiscal-chart-card__state {
		display: none !important;
	}
}

@media (max-width: 420px) {
	.afw-fiscal-device__application [data-afw-fiscal-chart-host],
	.afw-fiscal-device__application .afw-fiscal-chart-native-host,
	.afw-fiscal-device__application .afw-fiscal-chart-card__canvas,
	.afw-fiscal-device__application [data-afw-fiscal-chart-host] > svg,
	.afw-fiscal-device__application .afw-fiscal-chart-native-host > svg,
	.afw-fiscal-device__application .afw-fiscal-chart-card__canvas > svg {
		min-height: 255px !important;
		height: 255px !important;
	}
}


/* ==========================================================================
   24. Shell v1.2.0 — Smart Explain / Validator / Repeater consolidation
   ========================================================================== */

@media (max-width: 782px) {
	/*
	 * Shell contract v1.2.0.
	 * The shared fiscal form remains the only application source.
	 */
	[data-afw-fiscal-mobile-shell="1"][data-afw-fiscal-mobile-safe-area="1"] {
		padding-right: var(--afw-mobile-safe-right, env(safe-area-inset-right, 0px));
		padding-left: var(--afw-mobile-safe-left, env(safe-area-inset-left, 0px));
	}

	[data-afw-fiscal-device-screen][data-afw-fiscal-mobile-safe-area="1"],
	[data-afw-fiscal-device][data-afw-fiscal-mobile-safe-area="1"] {
		max-width: 100%;
		min-width: 0;
		overflow-x: clip;
	}

	[data-afw-fiscal-smart-explain-viewport="1"],
	[data-afw-fiscal-validator-viewport="1"],
	[data-afw-fiscal-repeater-viewport="1"],
	[data-afw-fiscal-responsive-viewport="1"] {
		min-width: 0;
		max-width: 100%;
	}

	/*
	 * Field Renderer v4.1.x — label row + blue information bridges.
	 */
	.afw-fiscal-device__application .afw-fiscal-field__label-row,
	.afw-fiscal-device__application .afw-financial-indicator__label-row {
		display: flex;
		align-items: flex-start;
		min-width: 0;
		margin-bottom: 7px;
		gap: 7px;
	}

	.afw-fiscal-device__application .afw-fiscal-field__label-row > .afw-fiscal-field__label,
	.afw-fiscal-device__application .afw-financial-indicator__label-row > label {
		flex: 1 1 auto;
		min-width: 0;
		margin-bottom: 0;
	}

	.afw-fiscal-device__application .afw-financial-explain-trigger,
	.afw-fiscal-device__application .afw-fiscal-field__smart-explain-trigger {
		display: inline-grid !important;
		flex: 0 0 auto;
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		min-height: 28px !important;
		padding: 0 !important;
		place-items: center;
		border: 1px solid rgba(21, 94, 239, 0.32) !important;
		border-radius: 999px !important;
		color: #ffffff !important;
		background: var(--afw-mobile-primary, #155eef) !important;
		box-shadow:
			0 2px 6px rgba(21, 94, 239, 0.18),
			inset 0 1px rgba(255, 255, 255, 0.16);
		font-size: 13px !important;
		font-weight: 850 !important;
		line-height: 1 !important;
		vertical-align: middle;
		touch-action: manipulation;
	}

	.afw-fiscal-device__application .afw-financial-explain-trigger:hover,
	.afw-fiscal-device__application .afw-fiscal-field__smart-explain-trigger:hover,
	.afw-fiscal-device__application .afw-financial-explain-trigger:focus-visible,
	.afw-fiscal-device__application .afw-fiscal-field__smart-explain-trigger:focus-visible {
		color: #ffffff !important;
		background: var(--afw-mobile-primary-dark, #0b459f) !important;
		border-color: rgba(11, 69, 159, 0.5) !important;
		outline: none;
		box-shadow:
			0 0 0 3px rgba(21, 94, 239, 0.15),
			0 3px 8px rgba(21, 94, 239, 0.22);
	}

	.afw-fiscal-device__application .afw-financial-explain-trigger > span[aria-hidden="true"],
	.afw-fiscal-device__application .afw-fiscal-field__smart-explain-trigger > span[aria-hidden="true"] {
		display: grid;
		width: 100%;
		height: 100%;
		place-items: center;
		color: inherit;
		line-height: 1;
	}

	/*
	 * Smart Explain panel v3.1 — full mobile sheet.
	 */
	.afw-smart-explain {
		position: fixed;
		z-index: 10000;
		inset:
			var(--afw-mobile-safe-top, env(safe-area-inset-top, 0px))
			0
			0
			0;
		width: 100%;
		max-width: none;
		height: auto;
		max-height: calc(100dvh - var(--afw-mobile-safe-top, env(safe-area-inset-top, 0px)));
		margin: 0;
		overflow: hidden;
		border-radius: 22px 22px 0 0;
		background: #ffffff;
		box-shadow: 0 -18px 42px rgba(15, 23, 42, 0.24);
	}

	.afw-smart-explain__dialog,
	.afw-smart-explain__panel {
		width: 100%;
		max-width: 100%;
		max-height: inherit;
		overflow: hidden;
		border-radius: inherit;
	}

	.afw-smart-explain__header {
		position: sticky;
		z-index: 5;
		top: 0;
		padding:
			14px
			calc(14px + var(--afw-mobile-safe-right, 0px))
			12px
			calc(14px + var(--afw-mobile-safe-left, 0px));
		background: #ffffff;
	}

	.afw-smart-explain__body,
	.afw-smart-explain__content {
		max-height: calc(
			100dvh
			- var(--afw-mobile-safe-top, 0px)
			- var(--afw-mobile-safe-bottom, 0px)
			- 92px
		);
		padding:
			0
			calc(14px + var(--afw-mobile-safe-right, 0px))
			calc(22px + var(--afw-mobile-safe-bottom, 0px))
			calc(14px + var(--afw-mobile-safe-left, 0px));
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.afw-smart-explain__eyebrow-row {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 7px;
	}

	.afw-smart-explain__family-badge {
		display: inline-flex;
		align-items: center;
		min-height: 24px;
		padding: 4px 8px;
		border: 1px solid rgba(21, 94, 239, 0.18);
		border-radius: 999px;
		color: var(--afw-mobile-primary-dark, #0b459f);
		background: var(--afw-mobile-primary-soft, #eaf2ff);
		font-size: 9px;
		font-weight: 800;
		line-height: 1.2;
	}

	.afw-smart-explain__summary {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.afw-smart-explain__summary-item {
		min-width: 0;
	}

	.afw-smart-explain__nav {
		display: flex;
		width: 100%;
		padding-bottom: 4px;
		gap: 7px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.afw-smart-explain__nav::-webkit-scrollbar {
		display: none;
	}

	.afw-smart-explain__nav button {
		flex: 0 0 auto;
		min-height: 38px;
		padding: 7px 10px;
		border-radius: 11px;
		font-size: 10px;
		white-space: nowrap;
	}

	.afw-smart-explain__section,
	.afw-smart-explain__card {
		padding: 13px;
		border-radius: 14px;
	}

	.afw-smart-explain__validator-summary {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: flex-start;
		padding: 12px;
		gap: 9px;
		border: 1px solid #fdba74;
		border-radius: 13px;
		background: var(--afw-mobile-warning-soft, #fff7ed);
	}

	.afw-smart-explain__validator-summary[hidden],
	.afw-smart-explain__family-badge[hidden],
	.afw-smart-explain__empty-state[hidden] {
		display: none !important;
	}

	.afw-smart-explain__validator-summary p,
	.afw-smart-explain__section p,
	.afw-smart-explain__section li {
		overflow-wrap: anywhere;
	}

	/*
	 * Validator states.
	 */
	.afw-fiscal-device__application .afw-fiscal-field__errors,
	.afw-fiscal-device__application .afw-fiscal-field__error,
	.afw-fiscal-device__application [data-afw-validator-message],
	.afw-fiscal-device__application [data-afw-validation-message] {
		width: 100%;
		margin-top: 6px;
		padding: 8px 10px;
		border-left: 3px solid var(--afw-mobile-danger, #b91c1c);
		border-radius: 9px;
		color: #7f1d1d;
		background: var(--afw-mobile-danger-soft, #fef2f2);
		font-size: 10px;
		line-height: 1.45;
		overflow-wrap: anywhere;
	}

	.afw-fiscal-device__application [data-validation-status="warning"],
	.afw-fiscal-device__application [data-validator-status="warning"],
	.afw-fiscal-device__application [data-afw-validation-status="warning"] {
		border-color: rgba(180, 83, 9, 0.35);
	}

	.afw-fiscal-device__application [data-validation-status="error"],
	.afw-fiscal-device__application [data-validator-status="error"],
	.afw-fiscal-device__application [data-afw-validation-status="error"],
	.afw-fiscal-device__application [data-validation-status="blocking"],
	.afw-fiscal-device__application [data-validator-status="blocking"],
	.afw-fiscal-device__application [data-afw-validation-status="blocking"] {
		border-color: rgba(185, 28, 28, 0.42);
	}

	/*
	 * Immobilisations repeater: one field per row on phones.
	 */
	.afw-fiscal-device__application [data-afw-registry-parent-field="fixed_assets_register"],
	.afw-fiscal-device__application [data-field-key="fixed_assets_register"] {
		min-width: 0;
		max-width: 100%;
	}

	.afw-fiscal-device__application .afw-fiscal-repeater__row,
	.afw-fiscal-device__application [data-afw-repeater-row],
	.afw-fiscal-device__application .afw-fiscal-assets-register__row {
		display: grid !important;
		grid-template-columns: 1fr !important;
		min-width: 0;
		gap: 12px;
	}

	.afw-fiscal-device__application .afw-fiscal-repeater__cell,
	.afw-fiscal-device__application [data-afw-repeater-cell] {
		min-width: 0;
		width: 100%;
		max-width: 100%;
	}

	.afw-fiscal-device__application .afw-fiscal-repeater__cell .afw-fiscal-field {
		width: 100%;
		min-width: 0;
	}

	.afw-fiscal-device__application .afw-fiscal-repeater__cell input,
	.afw-fiscal-device__application .afw-fiscal-repeater__cell select,
	.afw-fiscal-device__application .afw-fiscal-repeater__cell textarea {
		max-width: 100%;
	}

	/*
	 * Calculated fields and badges stay legible inside repeater cards.
	 */
	.afw-fiscal-device__application .afw-fiscal-field__badges {
		display: flex;
		flex: 0 1 auto;
		flex-wrap: wrap;
		gap: 5px;
	}

	.afw-fiscal-device__application .afw-fiscal-field__badge,
	.afw-fiscal-device__application .afw-fiscal-field__calculated-badge {
		max-width: 100%;
		white-space: normal;
		text-align: left;
		overflow-wrap: anywhere;
	}

	/*
	 * Dock safe-area contract from fiscal-mobile-shell.php v1.2.0.
	 */
	[data-afw-fiscal-mobile-dock="1"][data-afw-fiscal-mobile-safe-area="1"] {
		padding-bottom: calc(8px + var(--afw-mobile-safe-bottom, env(safe-area-inset-bottom, 0px)));
	}

	/*
	 * Prevent the fixed dock from covering the last form controls.
	 */
	[data-afw-fiscal-responsive-viewport="1"] {
		padding-bottom: calc(
			var(--afw-mobile-dock-height, 72px)
			+ var(--afw-mobile-safe-bottom, env(safe-area-inset-bottom, 0px))
			+ 28px
		);
	}
}

/* Narrow phones */
@media (max-width: 420px) {
	.afw-fiscal-device__application .afw-fiscal-form {
		padding-right: 10px;
		padding-left: 10px;
	}

	.afw-fiscal-device__application .afw-fiscal-tabs {
		margin-right: -10px;
		margin-left: -10px;
	}

	.afw-fiscal-device__application .afw-fiscal-tabs__list button,
	.afw-fiscal-device__application [role="tab"] {
		min-width: 116px;
	}

	.afw-smart-explain__header {
		padding-right: 11px;
		padding-left: 11px;
	}

	.afw-smart-explain__body,
	.afw-smart-explain__content {
		padding-right: 11px;
		padding-left: 11px;
	}

	.afw-fiscal-device__dock-item small {
		font-size: 7px;
	}
}

/* Reduced motion */
@media (max-width: 782px) and (prefers-reduced-motion: reduce) {
	.afw-fiscal-device-stage *,
	.afw-fiscal-device-stage *::before,
	.afw-fiscal-device-stage *::after,
	.afw-smart-explain *,
	.afw-smart-explain *::before,
	.afw-smart-explain *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}


/* ==========================================================================
   25. Smart Explain mobile — typography and reading comfort
   ========================================================================== */

@media (max-width: 782px) {
	/*
	 * Les fiches Smart Explain restent alignées à gauche pour préserver
	 * la lisibilité des contenus comptables, mais disposent désormais
	 * d'une vraie marge de lecture sur smartphone.
	 */
	.afw-smart-explain,
	.afw-smart-explain__dialog,
	.afw-smart-explain__panel,
	.afw-smart-explain__body,
	.afw-smart-explain__content {
		text-align: left;
	}

	/*
	 * Cible le contrat V3 réel utilisé par le JS :
	 * chaque rubrique possède un slot data-afw-smart-explain-slot.
	 */
	.afw-smart-explain [data-afw-smart-explain-slot] {
		min-width: 0;
		padding-right: 16px;
		padding-left: 16px;
		color: var(--afw-mobile-text, #344258);
		font-size: 13.5px;
		font-weight: 400;
		line-height: 1.58;
		letter-spacing: 0;
		text-align: left;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.afw-smart-explain [data-afw-smart-explain-slot] p,
	.afw-smart-explain [data-afw-smart-explain-slot] li,
	.afw-smart-explain__section p,
	.afw-smart-explain__section li,
	.afw-smart-explain__card p,
	.afw-smart-explain__card li {
		margin-top: 0;
		margin-bottom: 10px;
		color: var(--afw-mobile-text, #344258);
		font-size: 13.5px;
		font-weight: 400;
		line-height: 1.58;
		text-align: left;
		overflow-wrap: anywhere;
	}

	.afw-smart-explain [data-afw-smart-explain-slot] p:last-child,
	.afw-smart-explain [data-afw-smart-explain-slot] li:last-child,
	.afw-smart-explain__section p:last-child,
	.afw-smart-explain__section li:last-child {
		margin-bottom: 0;
	}

	/*
	 * Les cartes/rubriques gagnent une marge interne régulière.
	 */
	.afw-smart-explain__section,
	.afw-smart-explain__card,
	.afw-smart-explain [data-afw-smart-explain-section] {
		margin-right: 8px;
		margin-left: 8px;
		padding: 15px 0 16px;
		border-radius: 14px;
	}

	/*
	 * Titre de rubrique : Définition, Formule, Interprétation, etc.
	 */
	.afw-smart-explain__section h2,
	.afw-smart-explain__section h3,
	.afw-smart-explain__card h2,
	.afw-smart-explain__card h3,
	.afw-smart-explain [data-afw-smart-explain-section] h2,
	.afw-smart-explain [data-afw-smart-explain-section] h3 {
		margin: 0;
		color: var(--afw-mobile-ink, #142033);
		font-size: 16px;
		font-weight: 800;
		line-height: 1.28;
		letter-spacing: -0.01em;
	}

	/*
	 * En-têtes des rubriques : l'icône et le titre restent visuellement liés.
	 */
	.afw-smart-explain__section-header,
	.afw-smart-explain__card-header,
	.afw-smart-explain [data-afw-smart-explain-section] > header {
		display: flex;
		align-items: center;
		min-width: 0;
		padding: 0 16px 11px;
		gap: 9px;
	}

	.afw-smart-explain__section-icon,
	.afw-smart-explain__card-icon,
	.afw-smart-explain [data-afw-smart-explain-section] > header > span:first-child {
		display: grid;
		flex: 0 0 auto;
		width: 30px;
		height: 30px;
		place-items: center;
		border-radius: 9px;
		color: var(--afw-mobile-info, #0369a1);
		background: var(--afw-mobile-info-soft, #f0f9ff);
		font-size: 14px;
		line-height: 1;
	}

	/*
	 * Évite que les listes collent au bord du slot.
	 */
	.afw-smart-explain [data-afw-smart-explain-slot] ul,
	.afw-smart-explain [data-afw-smart-explain-slot] ol {
		margin: 8px 0 0;
		padding-left: 20px;
	}

	.afw-smart-explain [data-afw-smart-explain-slot] li + li {
		margin-top: 6px;
	}

	/*
	 * Le texte d'en-tête du panneau reste légèrement plus compact.
	 */
	.afw-smart-explain__header p,
	.afw-smart-explain__header .afw-smart-explain__subtitle {
		max-width: 100%;
		margin-bottom: 0;
		color: var(--afw-mobile-muted, #718096);
		font-size: 11.5px;
		line-height: 1.48;
	}

	.afw-smart-explain__header h1,
	.afw-smart-explain__header h2,
	.afw-smart-explain__title {
		font-size: clamp(24px, 7vw, 30px);
		line-height: 1.08;
		letter-spacing: -0.025em;
	}

	/*
	 * Résumés Valeur / Statut / Famille : texte compact mais non collé.
	 */
	.afw-smart-explain__summary-item {
		padding: 11px 12px;
	}

	.afw-smart-explain__summary-item strong,
	.afw-smart-explain__summary-item span,
	.afw-smart-explain__summary-item p {
		font-size: 11px;
		line-height: 1.35;
	}

	/*
	 * Le dock du téléphone ne doit pas masquer la dernière rubrique.
	 */
	.afw-smart-explain__body,
	.afw-smart-explain__content {
		padding-bottom: calc(
			32px
			+ var(--afw-mobile-safe-bottom, env(safe-area-inset-bottom, 0px))
			+ var(--afw-mobile-dock-height, 72px)
		);
	}
}

@media (max-width: 420px) {
	.afw-smart-explain [data-afw-smart-explain-slot] {
		padding-right: 14px;
		padding-left: 14px;
		font-size: 13px;
		line-height: 1.56;
	}

	.afw-smart-explain [data-afw-smart-explain-slot] p,
	.afw-smart-explain [data-afw-smart-explain-slot] li,
	.afw-smart-explain__section p,
	.afw-smart-explain__section li,
	.afw-smart-explain__card p,
	.afw-smart-explain__card li {
		font-size: 13px;
		line-height: 1.56;
	}

	.afw-smart-explain__section-header,
	.afw-smart-explain__card-header,
	.afw-smart-explain [data-afw-smart-explain-section] > header {
		padding-right: 14px;
		padding-left: 14px;
	}

	.afw-smart-explain__section h2,
	.afw-smart-explain__section h3,
	.afw-smart-explain__card h2,
	.afw-smart-explain__card h3,
	.afw-smart-explain [data-afw-smart-explain-section] h2,
	.afw-smart-explain [data-afw-smart-explain-section] h3 {
		font-size: 15px;
	}
}

/* ==========================================================================\n   26. Smart Explain mobile — header visual alignment (safe correction)\n   ========================================================================== */

@media (max-width: 782px) {
	/*
	 * IMPORTANT : ne modifie ni la largeur ni la position du panneau portail.
	 * On aligne uniquement les trois blocs réels du header visuel V3 :
	 * 1) header identity ; 2) summary ; 3) navigation.
	 */
	.afw-smart-explain__header {
		padding-right: 16px !important;
		padding-left: 16px !important;
	}

	.afw-smart-explain__identity {
		flex: 1 1 auto;
		min-width: 0;
		max-width: calc(100% - 50px);
	}

	.afw-smart-explain__heading {
		min-width: 0;
		max-width: 100%;
	}

	.afw-smart-explain__heading h2,
	.afw-smart-explain__heading p {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	/*
	 * Le résumé est un frère du <header>, pas son enfant.
	 * On lui donne donc sa propre marge intérieure mobile.
	 */
	.afw-smart-explain__summary {
		width: calc(100% - 28px) !important;
		max-width: calc(100% - 28px) !important;
		margin-right: 14px !important;
		margin-bottom: 14px !important;
		margin-left: 14px !important;
		padding: 0 !important;
		box-sizing: border-box;
	}

	.afw-smart-explain__summary > div,
	.afw-smart-explain__summary-item {
		width: 100%;
		min-width: 0;
		max-width: 100%;
		padding: 12px 14px !important;
		box-sizing: border-box;
	}

	.afw-smart-explain__summary span,
	.afw-smart-explain__summary strong,
	.afw-smart-explain__summary-item span,
	.afw-smart-explain__summary-item strong {
		max-width: 100%;
		margin-left: 0 !important;
		padding-left: 0 !important;
		white-space: normal !important;
		text-overflow: clip !important;
		overflow: visible !important;
	}

	/*
	 * Le CSS desktop applique margin: 0 -24px à la navigation V3.
	 * On neutralise seulement ce margin négatif sur mobile.
	 */
	.afw-smart-explain__nav {
		width: calc(100% - 28px) !important;
		max-width: calc(100% - 28px) !important;
		margin-right: 14px !important;
		margin-bottom: 14px !important;
		margin-left: 14px !important;
		padding: 8px 0 !important;
		box-sizing: border-box;
		overflow-x: auto;
	}

	.afw-smart-explain__nav button:first-child {
		margin-left: 0 !important;
	}
}

@media (max-width: 420px) {
	.afw-smart-explain__header {
		padding-right: 14px !important;
		padding-left: 14px !important;
	}

	.afw-smart-explain__summary,
	.afw-smart-explain__nav {
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		margin-right: 12px !important;
		margin-left: 12px !important;
	}
}

