/* Piattaforma MAC — layout frontend */

.hw-mac-app {
	max-width: 1100px;
	margin: 0 auto;
	padding: 1rem 1rem 3rem;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--hw-mac-brand: #1e3a5f;
	--hw-mac-brand-soft: #eff6ff;
	--hw-mac-form-radius: 12px;
	--hw-mac-form-radius-lg: 16px;
	--hw-mac-form-border: #e2e8f0;
	--hw-mac-form-border-focus: #3b82f6;
	--hw-mac-form-bg: #fff;
	--hw-mac-form-muted: #f8fafc;
	--hw-mac-form-shadow: 0 4px 24px rgba(30, 58, 95, 0.07);
	--hw-mac-form-shadow-lg: 0 12px 40px rgba(30, 58, 95, 0.1);
	--hw-mac-input-bg: #fff;
	--hw-mac-label: #475569;
	--hw-mac-text: #334155;
}

.hw-mac-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 1rem;
	margin-bottom: 1.5rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.hw-mac-nav__brand a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: #1e3a5f;
	line-height: 1.2;
}

.hw-mac-nav__brand strong {
	font-size: 1.1rem;
}

.hw-mac-nav__brand span {
	font-size: 0.75rem;
	color: #64748b;
}

.hw-mac-nav__role {
	display: inline-block;
	margin-top: 0.35rem;
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 600;
	color: #1e3a5f;
	background: #e2e8f0;
}

.hw-mac-panel--departments {
	margin-bottom: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.hw-mac-departments-list {
	display: grid;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.hw-mac-department-card {
	border: 1px solid #dbe3ef;
	border-radius: 10px;
	background: #fff;
	padding: 0.35rem 0.85rem;
}

.hw-mac-department-card summary {
	cursor: pointer;
	padding: 0.55rem 0;
	font-size: 0.95rem;
}

.hw-mac-form--department-create {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #dbe3ef;
}

.hw-mac-nav__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.hw-mac-nav__links a {
	display: block;
	padding: 0.4rem 0.75rem;
	border-radius: 999px;
	text-decoration: none;
	color: #334155;
	font-size: 0.9rem;
	font-weight: 500;
}

.hw-mac-nav__links a:hover,
.hw-mac-nav__links a.is-active {
	background: #1e3a5f;
	color: #fff;
}

/* Pulsantiera demo settore */
.hw-mac-demo-bar {
	margin-bottom: 1.25rem;
	padding: 1rem 1.1rem 0.85rem;
	background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
	border: 1px solid #cbd5e1;
	border-radius: 14px;
	box-shadow: 0 4px 20px rgba(30, 58, 95, 0.08);
}

.hw-mac-demo-bar__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 0.85rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid #e2e8f0;
}

.hw-mac-demo-bar__brand {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.65rem;
}

.hw-mac-demo-bar__logo {
	font-size: 1.05rem;
	color: #1e3a5f;
	letter-spacing: -0.02em;
}

.hw-mac-demo-bar__sector {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: #334155;
}

.hw-mac-demo-bar__sector-icon {
	font-size: 1.1rem;
	line-height: 1;
}

.hw-mac-demo-bar__tag {
	display: inline-block;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	background: #dbeafe;
	color: #1d4ed8;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.hw-mac-demo-bar__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}

.hw-mac-demo-switcher--compact {
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
}

.hw-mac-demo-switcher--compact .hw-mac-demo-switcher__form {
	flex-wrap: nowrap;
	gap: 0.45rem;
}

.hw-mac-demo-switcher--compact .hw-mac-demo-switcher__form label {
	font-size: 0.78rem;
	font-weight: 600;
	color: #64748b;
	white-space: nowrap;
}

.hw-mac-demo-switcher--compact .hw-mac-demo-switcher__form select {
	min-width: 200px;
	max-width: 280px;
	padding: 0.35rem 0.55rem;
	font-size: 0.85rem;
	border-color: #cbd5e1;
}

.hw-mac-tenant-switch--compact select {
	min-width: 140px;
	padding: 0.35rem 0.55rem;
	font-size: 0.85rem;
}

.hw-mac-demo-role-switch select {
	min-width: 240px;
	max-width: 320px;
	padding: 0.35rem 0.55rem;
	font-size: 0.85rem;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	background: #fff;
	color: #1e293b;
}

.hw-mac-demo-bar__persona-badge {
	display: inline-block;
	margin-right: 0.35rem;
	padding: 0.1rem 0.5rem;
	border-radius: 999px;
	background: #e0e7ff;
	color: #3730a3;
	font-size: 0.78rem;
	font-weight: 700;
}

.hw-mac-demo-bar__role-badge {
	display: inline-block;
	margin-right: 0.35rem;
	padding: 0.1rem 0.45rem;
	border-radius: 999px;
	background: #fef3c7;
	color: #92400e;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.hw-mac-demo-bar__tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
	gap: 0.5rem;
}

.hw-mac-demo-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 76px;
	padding: 0.55rem 0.45rem;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	background: #fff;
	text-decoration: none;
	color: #334155;
	text-align: center;
	transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.hw-mac-demo-tile:hover {
	border-color: #93c5fd;
	background: #f8fafc;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(30, 58, 95, 0.1);
	color: #1e293b;
}

.hw-mac-demo-tile.is-active {
	border-color: #1e3a5f;
	background: #1e3a5f;
	color: #fff;
	box-shadow: 0 4px 14px rgba(30, 58, 95, 0.25);
}

.hw-mac-demo-tile.is-active:hover {
	background: #2c5282;
	border-color: #2c5282;
	color: #fff;
}

.hw-mac-demo-tile__icon {
	font-size: 1.35rem;
	line-height: 1;
}

.hw-mac-demo-tile__label {
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.25;
}

.hw-mac-demo-bar__hint {
	margin: 0.65rem 0 0;
	font-size: 0.78rem;
	color: #64748b;
	text-align: center;
}

.hw-mac-demo .hw-mac-demo-reset-notice {
	display: none;
}

@media (max-width: 640px) {
	.hw-mac-demo-bar__tiles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hw-mac-demo-switcher--compact .hw-mac-demo-switcher__form {
		flex-wrap: wrap;
	}
}

.hw-mac-tenant-switch select {
	padding: 0.4rem 0.65rem;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font: inherit;
	background: #fff;
	min-width: 160px;
}

.hw-mac-form--inline .hw-mac-field {
	margin-bottom: 0.85rem;
}

.hw-mac-section__header h1 {
	margin: 0 0 0.35rem;
	font-size: 1.75rem;
	color: #1e293b;
}

.hw-mac-section__header p {
	margin: 0 0 1.5rem;
	color: #64748b;
}

.hw-mac-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	margin-bottom: 1.25rem;
	padding: 0.25rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
}

.hw-mac-tabs__tab {
	display: inline-block;
	padding: 0.55rem 1.1rem;
	border-radius: 8px;
	text-decoration: none;
	color: #64748b;
	font-size: 0.92rem;
	font-weight: 600;
	transition: background 0.15s ease, color 0.15s ease;
}

.hw-mac-tabs__tab:hover {
	color: #1e3a5f;
	background: #f1f5f9;
}

.hw-mac-tabs__tab.is-active {
	color: #fff;
	background: #1e3a5f;
}

.hw-mac-tabs__panels {
	min-height: 120px;
}

.hw-mac-tab-content {
	margin-bottom: 0;
}

.hw-mac-portal__hero {
	text-align: center;
	padding: 1.5rem 0 0.5rem;
}

.hw-mac-portal__badge {
	display: inline-block;
	margin: 0 0 0.5rem;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	background: #e0e7ff;
	color: #3730a3;
	font-size: 0.8rem;
	font-weight: 600;
}

.hw-mac-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1rem;
	margin-bottom: 2rem;
}

.hw-mac-card {
	display: block;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s, transform 0.15s;
}

.hw-mac-card:hover {
	box-shadow: 0 8px 24px rgba(30, 58, 95, 0.12);
	transform: translateY(-2px);
}

.hw-mac-card__icon {
	font-size: 1.75rem;
	display: block;
	margin-bottom: 0.5rem;
}

.hw-mac-card h2 {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	color: #1e3a5f;
}

.hw-mac-card p {
	margin: 0;
	font-size: 0.9rem;
	color: #64748b;
	line-height: 1.45;
}

.hw-mac-portal__stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

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

.hw-mac-stat {
	padding: 1rem;
	background: #f8fafc;
	border-radius: 10px;
	text-align: center;
	border: 1px solid #e2e8f0;
}

.hw-mac-stat strong {
	display: block;
	font-size: 1.5rem;
	color: #1e3a5f;
}

.hw-mac-stat span {
	font-size: 0.85rem;
	color: #64748b;
}

.hw-mac-stat--warn {
	background: #fffbeb;
	border-color: #fcd34d;
}

.hw-mac-kpi-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.hw-mac-kpi {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 1rem;
	text-align: center;
}

.hw-mac-kpi--warn {
	border-color: #fbbf24;
	background: #fffbeb;
}

.hw-mac-kpi-value {
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
	color: #1e293b;
}

.hw-mac-kpi-label {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.8rem;
	color: #64748b;
}

.hw-mac-panels {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

@media (max-width: 768px) {
	.hw-mac-panels {
		grid-template-columns: 1fr;
	}

	.hw-mac-nav {
		flex-direction: column;
		align-items: flex-start;
	}
}

.hw-mac-panel {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 1rem 1.25rem;
}

.hw-mac-panel h2 {
	margin: 0 0 1rem;
	font-size: 1rem;
	color: #1e3a5f;
}

.hw-mac-panel--muted {
	margin-top: 1.5rem;
	background: #f8fafc;
}

.hw-mac-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.hw-mac-table th,
.hw-mac-table td {
	padding: 0.5rem 0.65rem;
	border-bottom: 1px solid #e2e8f0;
	text-align: left;
}

.hw-mac-table th {
	font-weight: 600;
	color: #475569;
	background: #f8fafc;
}

.hw-mac-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hw-mac-list li {
	padding: 0.75rem 0;
	border-bottom: 1px solid #f1f5f9;
}

.hw-mac-list li:last-child {
	border-bottom: none;
}

.hw-mac-list a {
	color: #1e3a5f;
	text-decoration: none;
}

.hw-mac-list a:hover {
	text-decoration: underline;
}

.hw-mac-list p {
	margin: 0.25rem 0 0;
	font-size: 0.85rem;
	color: #64748b;
}

.hw-mac-tag {
	display: inline-block;
	margin-left: 0.35rem;
	padding: 0.1rem 0.45rem;
	border-radius: 4px;
	background: #e0e7ff;
	color: #3730a3;
	font-size: 0.75rem;
	font-weight: 600;
}

.hw-mac-empty {
	color: #94a3b8;
	font-style: italic;
}

.hw-mac-notice {
	padding: 0.75rem 1rem;
	border-radius: 8px;
	margin-bottom: 1rem;
}

.hw-mac-notice--warn {
	background: #fffbeb;
	border: 1px solid #fcd34d;
	color: #92400e;
}

.hw-mac-notice--success {
	background: #ecfdf5;
	border: 1px solid #6ee7b7;
	color: #065f46;
}

.hw-mac-notice--info {
	background: #eff6ff;
	border: 1px solid #93c5fd;
	color: #1e40af;
}

.hw-mac-form {
	max-width: 720px;
	background: var(--hw-mac-form-bg);
	border: 1px solid var(--hw-mac-form-border);
	border-radius: var(--hw-mac-form-radius-lg);
	padding: 1.35rem 1.5rem;
	margin-bottom: 1.5rem;
	box-shadow: var(--hw-mac-form-shadow);
}

.hw-mac-form-panel__body .hw-mac-form,
.hw-mac-panel .hw-mac-form:not(.hw-mac-form--boxed),
.hw-mac-contact-form-panel .hw-mac-contact-form {
	max-width: none;
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	margin-bottom: 0;
	box-shadow: none;
}

.hw-mac-field {
	display: grid;
	gap: 0.4rem;
	margin-bottom: 1rem;
}

.hw-mac-field:last-child {
	margin-bottom: 0;
}

.hw-mac-field > label,
.hw-mac-field__label {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-bottom: 0;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--hw-mac-label);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.hw-mac-field__icon {
	font-size: 0.95rem;
	line-height: 1;
}

.hw-mac-app .hw-mac-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.hw-mac-app .hw-mac-field select,
.hw-mac-app .hw-mac-field textarea {
	width: 100%;
	padding: 0.7rem 0.9rem;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	font: inherit;
	color: var(--hw-mac-text);
	background: var(--hw-mac-input-bg);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.hw-mac-app .hw-mac-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,
.hw-mac-app .hw-mac-field select:hover,
.hw-mac-app .hw-mac-field textarea:hover {
	border-color: #94a3b8;
}

.hw-mac-app .hw-mac-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.hw-mac-app .hw-mac-field select:focus,
.hw-mac-app .hw-mac-field textarea:focus {
	outline: none;
	border-color: var(--hw-mac-form-border-focus);
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
	background: #fff;
}

.hw-mac-app .hw-mac-field textarea {
	min-height: 6rem;
	resize: vertical;
	line-height: 1.5;
}

.hw-mac-app .hw-mac-field select {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	padding-right: 2.25rem;
}

.hw-mac-field--checkbox {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin-bottom: 0.85rem;
}

.hw-mac-field--checkbox input[type="checkbox"] {
	width: 1.05rem;
	height: 1.05rem;
	margin: 0.15rem 0 0;
	accent-color: var(--hw-mac-brand);
	flex-shrink: 0;
}

.hw-mac-field--checkbox label {
	text-transform: none;
	font-size: 0.92rem;
	font-weight: 500;
	color: var(--hw-mac-text);
	letter-spacing: normal;
}

.hw-mac-field--file input[type="file"] {
	width: 100%;
	padding: 1rem;
	border: 2px dashed #cbd5e1;
	border-radius: 12px;
	background: var(--hw-mac-form-muted);
	font: inherit;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.hw-mac-field--file input[type="file"]:hover,
.hw-mac-field--file input[type="file"]:focus {
	border-color: #93c5fd;
	background: var(--hw-mac-brand-soft);
	outline: none;
}

.hw-mac-form__grid,
.hw-mac-form--grid,
.hw-mac-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.15rem;
}

.hw-mac-form__full,
.hw-mac-field--full {
	grid-column: 1 / -1;
}

.hw-mac-form__actions,
.hw-mac-contact-form__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	margin-top: 1.25rem;
	padding-top: 1.15rem;
	border-top: 1px solid var(--hw-mac-form-border);
}

/* Pannello form collassabile (details) */
.hw-mac-form-panel {
	margin: 1.25rem 0;
	border: 1px solid var(--hw-mac-form-border);
	border-radius: var(--hw-mac-form-radius-lg);
	background: var(--hw-mac-form-bg);
	box-shadow: var(--hw-mac-form-shadow);
	overflow: hidden;
}

.hw-mac-form-panel > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem 1.35rem;
	background: linear-gradient(180deg, var(--hw-mac-form-muted) 0%, #fff 100%);
	border-bottom: 1px solid transparent;
	font-weight: 700;
	font-size: 1rem;
	color: var(--hw-mac-brand);
	transition: background 0.15s ease, border-color 0.15s ease;
	user-select: none;
}

.hw-mac-form-panel > summary::-webkit-details-marker {
	display: none;
}

.hw-mac-form-panel > summary::after {
	content: "";
	margin-left: auto;
	width: 0.55rem;
	height: 0.55rem;
	border-right: 2px solid #64748b;
	border-bottom: 2px solid #64748b;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	flex-shrink: 0;
}

.hw-mac-form-panel[open] > summary {
	border-bottom-color: var(--hw-mac-form-border);
}

.hw-mac-form-panel[open] > summary::after {
	transform: rotate(-135deg) translateY(-2px);
}

.hw-mac-form-panel > summary:hover {
	background: linear-gradient(180deg, #eef2ff 0%, #fff 100%);
}

.hw-mac-form-panel__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 10px;
	background: var(--hw-mac-brand-soft);
	font-size: 1.1rem;
	line-height: 1;
	flex-shrink: 0;
}

.hw-mac-form-panel__title {
	flex: 1;
	min-width: 0;
}

.hw-mac-form-panel__subtitle {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.82rem;
	font-weight: 500;
	color: #64748b;
	text-transform: none;
	letter-spacing: normal;
}

.hw-mac-form-panel__body {
	padding: 1.25rem 1.35rem 1.35rem;
}

.hw-mac-form-panel--static {
	border: 1px solid var(--hw-mac-form-border);
	border-radius: var(--hw-mac-form-radius-lg);
	background: var(--hw-mac-form-bg);
	box-shadow: var(--hw-mac-form-shadow);
	overflow: hidden;
}

.hw-mac-form-panel--static .hw-mac-form-panel__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.15rem 1.35rem;
	background: linear-gradient(180deg, var(--hw-mac-form-muted) 0%, #fff 100%);
	border-bottom: 1px solid var(--hw-mac-form-border);
}

.hw-mac-form-panel--static .hw-mac-form-panel__head h2 {
	margin: 0;
	font-size: 1.05rem;
	color: var(--hw-mac-brand);
}

.hw-mac-form-panel--static .hw-mac-form-panel__head p {
	margin: 0.25rem 0 0;
	font-size: 0.88rem;
	color: #64748b;
}

.hw-mac-form-panel--static .hw-mac-form-panel__body {
	padding: 1.25rem 1.35rem 1.35rem;
}

.hw-mac-form-callout {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin: 0 0 1.15rem;
	padding: 0.85rem 1rem;
	border-radius: 10px;
	background: #fffbeb;
	border: 1px solid #fde68a;
	color: #92400e;
	font-size: 0.9rem;
	line-height: 1.5;
}

.hw-mac-form-callout::before {
	content: "💡";
	flex-shrink: 0;
	line-height: 1.4;
}

.hw-mac-form-callout--info {
	background: var(--hw-mac-brand-soft);
	border-color: #bfdbfe;
	color: #1e40af;
}

.hw-mac-form-callout--info::before {
	content: "ℹ️";
}

@media (max-width: 768px) {
	.hw-mac-form__grid,
	.hw-mac-form--grid,
	.hw-mac-contact-form__grid {
		grid-template-columns: 1fr;
	}

	.hw-mac-form {
		padding: 1.1rem 1.15rem;
	}

	.hw-mac-form-panel__body,
	.hw-mac-form-panel > summary {
		padding-left: 1.1rem;
		padding-right: 1.1rem;
	}
}

.hw-mac-btn--small {
	padding: 0.4rem 0.85rem;
	font-size: 0.85rem;
}

/* Varianti btn — selettori doppia classe in fondo al file (dopo .hw-mac-btn base) */

.hw-mac-proposal-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hw-mac-proposal-item {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid #e2e8f0;
}

.hw-mac-proposal-item:last-child {
	border-bottom: none;
}

.hw-mac-proposal-item__body p {
	margin: 0.25rem 0;
	color: #64748b;
	font-size: 0.9rem;
}

.hw-mac-proposal-item__body small {
	color: #94a3b8;
}

.hw-mac-proposal-item__actions {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
}

.hw-mac-panel--proposals {
	margin-bottom: 1.5rem;
	border-color: #93c5fd;
	background: #eff6ff;
}

.hw-mac-panel--team {
	margin-bottom: 1.5rem;
	border-color: #c4b5fd;
	background: #f5f3ff;
}

.hw-mac-panel__intro {
	margin: 0 0 1rem;
	color: #64748b;
	font-size: 0.95rem;
}

.hw-mac-form--team {
	max-width: none;
	margin-top: 0;
}

.hw-mac-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

@media (max-width: 640px) {
	.hw-mac-field-row {
		grid-template-columns: 1fr;
	}
}

.hw-mac-field__hint {
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
	color: #94a3b8;
}

.hw-mac-field--checkbox label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 500;
}

.hw-mac-table--team {
	margin-top: 0.5rem;
}

.hw-mac-badge {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
}

.hw-mac-badge--ok {
	background: #dcfce7;
	color: #166534;
}

.hw-mac-badge--info {
	background: #dbeafe;
	color: #1d4ed8;
}

.hw-mac-badge--off {
	background: #fee2e2;
	color: #991b1b;
}

.hw-mac-badge--admin {
	background: #dbeafe;
	color: #1d4ed8;
}

.hw-mac-badge--operator {
	background: #f1f5f9;
	color: #475569;
}

.hw-mac-table--demo-team tr.is-active-persona {
	background: #f0fdf4;
}

.hw-mac-table--demo-team tr.is-active-persona td:first-child strong {
	color: #166534;
}

.hw-mac-inline-form {
	display: inline;
	margin: 0;
}

.hw-mac-team-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.hw-mac-team-actions .hw-mac-btn {
	white-space: nowrap;
}

.hw-mac-sector-form select {
	max-width: 220px;
	padding: 0.35rem 0.5rem;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font: inherit;
	font-size: 0.85rem;
}

.hw-mac-portal__sector-badge {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.65rem;
	margin: 0 0 0.75rem;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: #f1f5f9;
	color: #475569;
	font-size: 0.8rem;
	font-weight: 600;
}

.hw-mac-portal__sector-desc {
	font-weight: 500;
	color: #64748b;
}

.hw-mac-portal__modules {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.25rem;
}

.hw-mac-portal__module {
	display: inline-block;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: #fff7ed;
	color: #9a3412;
	font-size: 0.78rem;
	font-weight: 600;
	border: 1px solid #fed7aa;
}

.hw-mac-demo-switcher {
	margin: 0 0 1.25rem;
	padding: 1rem 1.1rem;
	border-radius: 12px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
}

.hw-mac-demo-switcher__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1rem;
	margin: 0;
}

.hw-mac-demo-switcher__form label {
	font-weight: 700;
	color: #1e3a8a;
}

.hw-mac-demo-switcher__form select {
	min-width: 260px;
	padding: 0.45rem 0.65rem;
	border: 1px solid #93c5fd;
	border-radius: 8px;
	font: inherit;
	background: #fff;
}

.hw-mac-demo-switcher__hint {
	flex: 1 1 100%;
	margin: 0;
	font-size: 0.85rem;
	color: #1d4ed8;
}

.hw-mac-cert__hint {
	margin: 0.65rem 0 0;
	font-size: 0.88rem;
	color: #64748b;
}

.hw-mac-readonly {
	background: #f1f5f9;
}

.hw-mac-help {
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
	color: #64748b;
}

.hw-mac-help--warn {
	color: #b45309;
	font-weight: 600;
}

.hw-mac-setup-form {
	max-width: 640px;
}

.hw-mac-setup .hw-mac-form__actions {
	margin-top: 1.5rem;
}

.hw-mac-license-summary {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 0.35rem 1rem;
	margin: 0 0 1rem;
}

.hw-mac-license-summary dt {
	font-weight: 600;
	color: #475569;
}

.hw-mac-license-summary dd {
	margin: 0;
}

.hw-mac-license-banner {
	margin-bottom: 1rem;
}

.hw-mac-btn {
	padding: 0.6rem 1.25rem;
	background: #1e3a5f;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-weight: 600;
	cursor: pointer;
}

a.hw-mac-btn {
	display: inline-block;
	text-decoration: none;
	text-align: center;
	line-height: 1.35;
}

.hw-mac-btn:hover,
a.hw-mac-btn:hover {
	background: #2c5282;
	color: #fff;
	text-decoration: none;
}

.hw-mac-btn--primary,
.hw-mac-btn.hw-mac-btn--primary {
	background: linear-gradient(180deg, #1e4d8c 0%, #1e3a5f 100%);
	color: #fff;
	box-shadow: 0 1px 2px rgba(30, 58, 95, 0.25);
}

.hw-mac-btn--primary:hover,
.hw-mac-btn.hw-mac-btn--primary:hover,
a.hw-mac-btn.hw-mac-btn--primary:hover {
	background: linear-gradient(180deg, #2563a8 0%, #2c5282 100%);
	color: #fff;
}

/* Varianti — dopo base .hw-mac-btn per cascade corretta */
.hw-mac-btn.hw-mac-btn--ghost {
	background: #fff;
	color: #475569;
	border: 1px solid #cbd5e1;
}

.hw-mac-btn.hw-mac-btn--ghost:hover,
a.hw-mac-btn.hw-mac-btn--ghost:hover {
	background: #f1f5f9;
	color: #1e293b;
	border-color: #94a3b8;
}

.hw-mac-btn.hw-mac-btn--reset {
	background: #eff6ff;
	color: #1d4ed8;
	border: 1px solid #93c5fd;
}

.hw-mac-btn.hw-mac-btn--reset:hover,
a.hw-mac-btn.hw-mac-btn--reset:hover {
	background: #1d4ed8;
	color: #fff;
	border-color: #1d4ed8;
}

.hw-mac-btn.hw-mac-btn--danger {
	background: #fef2f2;
	color: #b91c1c;
	border: 1px solid #fca5a5;
}

.hw-mac-btn.hw-mac-btn--danger:hover,
a.hw-mac-btn.hw-mac-btn--danger:hover {
	background: #b91c1c;
	color: #fff;
	border-color: #b91c1c;
}

.hw-mac-btn.hw-mac-btn--success {
	background: #ecfdf5;
	color: #047857;
	border: 1px solid #6ee7b7;
}

.hw-mac-btn.hw-mac-btn--success:hover,
a.hw-mac-btn.hw-mac-btn--success:hover {
	background: #047857;
	color: #fff;
	border-color: #047857;
}

.hw-mac-dl {
	margin: 0;
}

.hw-mac-dl dt {
	font-weight: 600;
	margin-top: 0.75rem;
	color: #475569;
}

.hw-mac-dl dd {
	margin: 0.25rem 0 0;
}

.hw-mac-dl code {
	display: block;
	padding: 0.5rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	font-size: 0.8rem;
	word-break: break-all;
}

.hw-mac-app .hw-mac-chat {
	max-width: none;
	box-shadow: none;
}

/* Fullscreen template */
.hw-mac-body {
	margin: 0;
	background: #f1f5f9;
}

.hw-mac-shell {
	min-height: 100vh;
}

.hw-mac-fullscreen .hw-mac-app {
	max-width: 1200px;
}

/* Certificazione */
.hw-mac-cert {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 1.25rem;
	margin-bottom: 1.5rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
}

.hw-mac-cert--bronze { border-color: #d97706; background: linear-gradient(135deg, #fff 0%, #fffbeb 100%); }
.hw-mac-cert--silver { border-color: #94a3b8; background: linear-gradient(135deg, #fff 0%, #f8fafc 100%); }
.hw-mac-cert--gold   { border-color: #ca8a04; background: linear-gradient(135deg, #fff 0%, #fef9c3 100%); }
.hw-mac-cert--none   { border-color: #cbd5e1; }

.hw-mac-cert__badge {
	font-size: 2.5rem;
	line-height: 1;
}

.hw-mac-cert__info {
	flex: 1;
}

.hw-mac-cert__label {
	margin: 0 0 0.15rem;
	font-size: 0.8rem;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.hw-mac-cert__info h2 {
	margin: 0 0 0.65rem;
	font-size: 1.15rem;
	color: #1e3a5f;
}

.hw-mac-cert__bar {
	height: 8px;
	background: #e2e8f0;
	border-radius: 999px;
	overflow: hidden;
}

.hw-mac-cert__bar span {
	display: block;
	height: 100%;
	background: #1e3a5f;
	border-radius: 999px;
}

.hw-mac-cert__progress {
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
	color: #64748b;
}

.hw-mac-cert-download {
	margin: -0.5rem 0 1.5rem;
	padding: 0 0.25rem;
}

.hw-mac-cert-download__meta {
	margin: 0.5rem 0 0;
	font-size: 0.85rem;
	color: #64748b;
}

.hw-mac-btn.hw-mac-btn--cert {
	display: inline-block;
	text-decoration: none;
}

.hw-mac-btn.hw-mac-btn--cert.hw-mac-btn--bronze {
	background: #b45309;
}

.hw-mac-btn.hw-mac-btn--cert.hw-mac-btn--bronze:hover {
	background: #92400e;
	color: #fff;
}

.hw-mac-btn.hw-mac-btn--cert.hw-mac-btn--silver {
	background: #64748b;
}

.hw-mac-btn.hw-mac-btn--cert.hw-mac-btn--silver:hover {
	background: #475569;
	color: #fff;
}

.hw-mac-btn.hw-mac-btn--cert.hw-mac-btn--gold {
	background: #ca8a04;
}

.hw-mac-btn.hw-mac-btn--cert.hw-mac-btn--gold:hover {
	background: #a16207;
	color: #fff;
}

/* Singolo procedura/caso */
.hw-mac-breadcrumb {
	margin: 0 0 1rem;
}

.hw-mac-breadcrumb a {
	color: #2c5282;
	text-decoration: none;
	font-weight: 500;
}

.hw-mac-single__type {
	margin: 0 0 0.25rem;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	color: #64748b;
	letter-spacing: 0.05em;
}

.hw-mac-single__excerpt {
	font-size: 1.05rem;
	color: #475569;
}

.hw-mac-meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0.75rem;
	margin: 0 0 1.25rem;
	padding: 1rem;
	background: #f8fafc;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
}

.hw-mac-meta dt {
	font-size: 0.75rem;
	font-weight: 600;
	color: #64748b;
	text-transform: uppercase;
}

.hw-mac-meta dd {
	margin: 0.15rem 0 0;
	font-weight: 500;
	color: #1e293b;
}

.hw-mac-single__content {
	line-height: 1.65;
}

/* Rubriche settoriali */
.hw-mac-portal__rubrics {
	margin: 2rem 0 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e2e8f0;
}

.hw-mac-portal__rubrics-title {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
	color: #1e3a5f;
}

.hw-mac-portal__rubrics-intro {
	margin: 0 0 1rem;
	color: #64748b;
	font-size: 0.95rem;
}

.hw-mac-cards--rubrics {
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.hw-mac-card--rubric .hw-mac-rubriche__count,
.hw-mac-rubriche__count {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: #1d4ed8;
}

.hw-mac-card--channel {
	border-color: #bbf7d0;
	background: linear-gradient(180deg, #f0fdf4 0%, #fff 100%);
}

.hw-mac-rubriche__back {
	margin: 0 0 0.5rem;
}

.hw-mac-rubriche__back a {
	color: #1d4ed8;
	text-decoration: none;
	font-size: 0.9rem;
}

.hw-mac-rubriche__grid {
	margin-top: 1rem;
}

.hw-mac-rubriche__channel {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 1.25rem;
	align-items: start;
}

.hw-mac-message-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hw-mac-message {
	padding: 1rem 0;
	border-bottom: 1px solid #e2e8f0;
}

.hw-mac-message:last-child {
	border-bottom: none;
}

.hw-mac-message--in {
	border-left: 3px solid #22c55e;
	padding-left: 0.75rem;
}

.hw-mac-message--out {
	border-left: 3px solid #3b82f6;
	padding-left: 0.75rem;
}

.hw-mac-message__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	align-items: center;
	margin-bottom: 0.35rem;
	font-size: 0.85rem;
	color: #64748b;
}

.hw-mac-message__meta strong {
	color: #1e293b;
}

.hw-mac-message__reply {
	margin-top: 0.75rem;
	display: grid;
	gap: 0.55rem;
	padding: 0.85rem;
	border: 1px solid var(--hw-mac-form-border);
	border-radius: 10px;
	background: var(--hw-mac-form-muted);
}

.hw-mac-message__reply textarea {
	width: 100%;
	padding: 0.7rem 0.9rem;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	font: inherit;
	resize: vertical;
	min-height: 4.5rem;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hw-mac-message__reply textarea:focus {
	outline: none;
	border-color: var(--hw-mac-form-border-focus);
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

.hw-mac-form__preview {
	margin: 0.65rem 0 0;
}

.hw-mac-form__preview img {
	max-width: 140px;
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.hw-mac-rubriche-toolbar__search input[type="search"] {
	width: 100%;
	padding: 0.65rem 0.9rem 0.65rem 2.35rem;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	font: inherit;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242 1.006a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E") no-repeat 0.85rem center;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hw-mac-rubriche-toolbar__search input[type="search"]:focus {
	outline: none;
	border-color: var(--hw-mac-form-border-focus);
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

/* Legacy grid alias — kept for backward compatibility */
.hw-mac-form--grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.15rem;
}

.hw-mac-form__full {
	grid-column: 1 / -1;
}

.hw-mac-form__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
}

.hw-mac-table-wrap {
	overflow-x: auto;
}

.hw-mac-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
}

.hw-mac-table th,
.hw-mac-table td {
	padding: 0.65rem 0.75rem;
	border-bottom: 1px solid #e2e8f0;
	text-align: left;
	vertical-align: top;
}

.hw-mac-table th {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #64748b;
}

.hw-mac-tag--warn {
	background: #fef3c7;
	color: #92400e;
}

.hw-mac-list--compact li {
	padding: 0.25rem 0;
}

@media (max-width: 768px) {
	.hw-mac-rubriche__channel {
		grid-template-columns: 1fr;
	}

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

/* Avviso reset demo giornaliero */
.hw-mac-demo-reset-notice {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	margin: 0;
	padding: 0.85rem 1.25rem;
	background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
	border-bottom: 2px solid #fdba74;
	color: #7c2d12;
}

.hw-mac-demo-reset-notice__icon {
	font-size: 1.35rem;
	line-height: 1;
	margin-top: 0.1rem;
}

.hw-mac-demo-reset-notice__body p {
	margin: 0.35rem 0 0;
	font-size: 0.92rem;
	line-height: 1.45;
}

.hw-mac-demo-reset-notice__body strong {
	display: block;
	font-size: 0.98rem;
	color: #9a3412;
}

.hw-mac-demo-reset-notice__warn {
	font-weight: 600;
}

.hw-mac-demo-reset-notice__next {
	font-size: 0.85rem !important;
	color: #c2410c;
}

.hw-mac-demo-reset-notice__next time {
	font-weight: 700;
}

.hw-mac-demo-switcher__reset {
	margin: 0.5rem 0 0;
	font-size: 0.82rem;
	color: #c2410c;
	font-weight: 500;
}

/* Rubriche — anagrafica professionale */
.hw-mac-rubriche-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1rem;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
}

.hw-mac-rubriche-toolbar__search {
	flex: 1 1 220px;
}

.hw-mac-rubriche-toolbar__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.hw-mac-contact-form-panel {
	margin-bottom: 1rem;
	border: 1px solid #dbeafe;
	border-radius: var(--hw-mac-form-radius-lg);
	box-shadow: var(--hw-mac-form-shadow-lg);
	overflow: hidden;
	background: var(--hw-mac-form-bg);
}

.hw-mac-contact-form-panel[hidden] {
	display: none !important;
}

.hw-mac-contact-form-panel__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.15rem 1.35rem;
	background: linear-gradient(180deg, var(--hw-mac-form-muted) 0%, #fff 100%);
	border-bottom: 1px solid var(--hw-mac-form-border);
}

.hw-mac-contact-form-panel__head h2 {
	margin: 0;
	font-size: 1.15rem;
	color: #1e3a5f;
}

.hw-mac-contact-form-panel__head p {
	margin: 0.2rem 0 0;
	font-size: 0.88rem;
	color: #64748b;
}

.hw-mac-contact-form-panel .hw-mac-contact-form {
	padding: 1.25rem 1.35rem 1.35rem;
}

.hw-mac-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.9rem 1rem;
}

.hw-mac-field {
	display: grid;
	gap: 0.4rem;
}

.hw-mac-field--full {
	grid-column: 1 / -1;
}

.hw-mac-field__label {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--hw-mac-label);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.hw-mac-field__icon {
	font-size: 0.95rem;
	line-height: 1;
}

.hw-mac-required {
	color: #dc2626;
	text-decoration: none;
}

.hw-mac-contact-form__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 1.25rem;
	padding-top: 1.15rem;
	border-top: 1px solid var(--hw-mac-form-border);
}

/* Legacy duplicate field rules removed — see global .hw-mac-app .hw-mac-field styles above */

.hw-mac-rubriche-import {
	margin-bottom: 1rem;
}

.hw-mac-rubriche-import.hw-mac-form-panel > summary,
details.hw-mac-panel.hw-mac-rubriche-import > summary {
	font-size: 0.95rem;
}

.hw-mac-rubriche-import summary {
	cursor: pointer;
	font-weight: 600;
	color: #1e3a5f;
}

.hw-mac-rubriche-import__body {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px solid #e2e8f0;
}

.hw-mac-rubriche-import__body p {
	margin: 0 0 0.85rem;
	color: #64748b;
	font-size: 0.92rem;
}

.hw-mac-rubriche-import__form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	align-items: flex-end;
}

.hw-mac-field--file input[type="file"] {
	padding: 0.45rem 0;
	border: none;
	background: transparent;
}

.hw-mac-rubriche-list__head h2 {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	color: #334155;
}

.hw-mac-contact-cell {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.hw-mac-contact-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: #e0e7ff;
	color: #3730a3;
	font-size: 0.75rem;
	font-weight: 700;
	flex-shrink: 0;
}

.hw-mac-table__notes {
	max-width: 220px;
	color: #64748b;
	font-size: 0.88rem;
}

.hw-mac-table__actions {
	white-space: nowrap;
	width: 1%;
}

.hw-mac-table__actions .hw-mac-btn + .hw-mac-btn {
	margin-left: 0.35rem;
}

.hw-mac-table a:not(.hw-mac-btn) {
	color: #1d4ed8;
	text-decoration: none;
}

.hw-mac-table a:not(.hw-mac-btn):hover {
	text-decoration: underline;
}

@media (max-width: 768px) {
	.hw-mac-contact-form__grid {
		grid-template-columns: 1fr;
	}

	.hw-mac-rubriche-toolbar__actions {
		width: 100%;
	}
}

/* Email — impostazioni e scheda contatto */
.hw-mac-mail-settings {
	margin-top: 0;
}

.hw-mac-mail-settings__form {
	margin-top: 1rem;
	border: 1px dashed #cbd5e1;
	border-radius: 10px;
	background: #f8fafc;
	padding: 0.65rem 1rem;
}

.hw-mac-mail-settings__form > summary {
	cursor: pointer;
	font-weight: 600;
	color: #1e3a5f;
	list-style: none;
	padding: 0.35rem 0;
}

.hw-mac-mail-settings__form > summary::-webkit-details-marker {
	display: none;
}

.hw-mac-mail-settings__form > summary::before {
	content: "▸";
	display: inline-block;
	margin-right: 0.45rem;
	transition: transform 0.15s ease;
}

.hw-mac-mail-settings__form[open] > summary::before {
	transform: rotate(90deg);
}

.hw-mac-mail-settings__form-inner {
	margin-top: 0.75rem;
	padding-top: 1rem;
	border-top: 1px solid #e2e8f0;
	max-width: none;
	background: transparent;
	border: none;
	border-radius: 0;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 0;
}

.hw-mac-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem 1rem;
	margin-bottom: 1rem;
}

.hw-mac-form-grid--inline {
	align-items: end;
}

.hw-mac-form-grid h3 {
	grid-column: 1 / -1;
	margin: 0.5rem 0 0;
	font-size: 0.95rem;
	color: #334155;
}

.hw-mac-contact-sheet {
	display: grid;
	gap: 1rem;
}

@media (min-width: 900px) {
	.hw-mac-contact-sheet {
		grid-template-columns: 1fr 1fr;
	}

	.hw-mac-contact-sheet__history {
		grid-column: 1 / -1;
	}

	.hw-mac-contact-sheet__notes,
	.hw-mac-contact-sheet__actions {
		grid-column: 1 / -1;
	}
}

.hw-mac-contact-sheet__meta {
	color: #64748b;
}

.hw-mac-contact-sheet__meta a {
	color: #1d4ed8;
	text-decoration: none;
}

.hw-mac-email-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

.hw-mac-email {
	padding: 0.85rem 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
}

.hw-mac-email--in {
	border-left: 3px solid #0ea5e9;
}

.hw-mac-email--out {
	border-left: 3px solid #22c55e;
}

.hw-mac-email--failed {
	border-left-color: #ef4444;
}

.hw-mac-email__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.65rem;
	align-items: center;
	margin-bottom: 0.35rem;
}

.hw-mac-email__meta strong {
	flex: 1 1 100%;
}

.hw-mac-email__addresses {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	color: #64748b;
}

.hw-mac-email__body {
	font-size: 0.92rem;
	color: #334155;
}

.hw-mac-sector-context {
	margin-bottom: 1.25rem;
}

.hw-mac-sector-context__back {
	margin: 0 0 0.65rem;
}

.hw-mac-sector-context__back a {
	color: #1d4ed8;
	text-decoration: none;
	font-weight: 600;
}

.hw-mac-sector-context__back a:hover {
	text-decoration: underline;
}

.hw-mac-sector-context__badge {
	margin: 0 0 0.75rem;
}

.hw-mac-rubriche__back-sep {
	margin: 0 0.35rem;
	color: #94a3b8;
}

.hw-mac-rubriche--embedded {
	padding-top: 0;
}

/* Mini-CRM contatto */
.hw-mac-crm__badge {
	display: inline-block;
	margin: 0 0 0.35rem;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	background: #ecfdf5;
	color: #047857;
	font-size: 0.78rem;
	font-weight: 700;
}

.hw-mac-crm__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 0.65rem;
	margin-bottom: 1.25rem;
}

.hw-mac-crm-stat {
	padding: 0.75rem 0.85rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	text-align: center;
}

.hw-mac-crm-stat--warn {
	border-color: #fcd34d;
	background: #fffbeb;
}

.hw-mac-crm-stat--wide {
	grid-column: span 2;
}

.hw-mac-crm-stat strong {
	display: block;
	font-size: 1.25rem;
	color: #1e3a5f;
}

.hw-mac-crm-stat span {
	font-size: 0.78rem;
	color: #64748b;
}

.hw-mac-crm__layout {
	display: grid;
	grid-template-columns: minmax(260px, 320px) 1fr;
	gap: 1rem;
	align-items: start;
}

.hw-mac-crm__sidebar {
	display: grid;
	gap: 0.85rem;
}

.hw-mac-crm__panel h2 {
	margin: 0 0 0.75rem;
	font-size: 1rem;
}

.hw-mac-crm__email summary {
	cursor: pointer;
	font-weight: 700;
	color: #1e3a5f;
}

.hw-mac-crm__email-body {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px solid #e2e8f0;
}

.hw-mac-crm__timeline-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.hw-mac-crm__timeline-head h2 {
	margin: 0;
	font-size: 1.05rem;
}

.hw-mac-crm-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.hw-mac-crm-filter {
	padding: 0.35rem 0.75rem;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	background: #fff;
	color: #475569;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
}

.hw-mac-crm-filter.is-active,
.hw-mac-crm-filter:hover {
	background: #1e3a5f;
	border-color: #1e3a5f;
	color: #fff;
}

.hw-mac-crm-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.75rem;
}

.hw-mac-crm-item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
}

.hw-mac-crm-item--open {
	border-left: 3px solid #f59e0b;
}

.hw-mac-crm-item--email {
	border-left: 3px solid #3b82f6;
}

.hw-mac-crm-item--message {
	border-left: 3px solid #22c55e;
}

.hw-mac-crm-item__icon {
	font-size: 1.35rem;
	line-height: 1;
	padding-top: 0.15rem;
}

.hw-mac-crm-item__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.55rem;
	align-items: center;
	margin-bottom: 0.35rem;
}

.hw-mac-crm-item__meta strong {
	flex: 1 1 100%;
	color: #1e293b;
}

.hw-mac-crm-item__meta time {
	font-size: 0.8rem;
	color: #94a3b8;
}

.hw-mac-crm-item__sub {
	margin: 0 0 0.35rem;
	font-size: 0.82rem;
	color: #64748b;
}

.hw-mac-crm-item__text {
	font-size: 0.92rem;
	color: #334155;
}

.hw-mac-crm-item__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.65rem;
}

.hw-mac-crm-item__action-form {
	margin: 0;
}

@media (max-width: 900px) {
	.hw-mac-crm__layout {
		grid-template-columns: 1fr;
	}

	.hw-mac-crm-stat--wide {
		grid-column: span 1;
	}
}

@media (max-width: 768px) {
	.hw-mac-form-grid {
		grid-template-columns: 1fr;
	}
}

/* Calendario operativo */
.hw-mac-calendario__badge,
.hw-mac-calendario__digest-note {
	margin: 0 0 0.5rem;
	color: #64748b;
	font-size: 0.9rem;
}

.hw-mac-calendario__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.hw-mac-calendario__nav {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.hw-mac-calendario__month {
	min-width: 10rem;
	text-align: center;
	font-size: 1.05rem;
}

.hw-mac-calendario__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.9fr);
	gap: 1rem;
	align-items: start;
}

.hw-mac-calendario__weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 0.35rem;
	margin-bottom: 0.35rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: #64748b;
	text-align: center;
}

.hw-mac-calendario__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 0.35rem;
}

.hw-mac-calendario__cell {
	min-height: 5.5rem;
	padding: 0.35rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.5rem;
	background: #fff;
}

.hw-mac-calendario__cell.is-today {
	border-color: #3b82f6;
	box-shadow: inset 0 0 0 1px #3b82f6;
}

.hw-mac-calendario__cell--empty {
	background: transparent;
	border-color: transparent;
}

.hw-mac-calendario__daynum {
	font-size: 0.82rem;
	font-weight: 700;
	margin-bottom: 0.25rem;
}

.hw-mac-calendario__daynum a {
	color: inherit;
	text-decoration: none;
}

.hw-mac-calendario__day-events {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hw-mac-calendario__pill {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.68rem;
	padding: 0.1rem 0.25rem;
	border-radius: 0.25rem;
	background: #eff6ff;
	color: #1e40af;
	text-decoration: none;
}

.hw-mac-calendario__more {
	font-size: 0.68rem;
	color: #64748b;
}

.hw-mac-calendario__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hw-mac-calendario__list-item a {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
	padding: 0.55rem 0;
	border-bottom: 1px solid #f1f5f9;
	color: inherit;
	text-decoration: none;
}

.hw-mac-calendario__list-item--completed {
	opacity: 0.75;
}

.hw-mac-calendario__list-body {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	font-size: 0.85rem;
}

.hw-mac-calendario__list-body span {
	color: #64748b;
}

.hw-mac-calendario__form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.5rem;
}

.hw-mac-calendario__legend ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hw-mac-calendario__legend li {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.2rem 0;
	font-size: 0.88rem;
}

.hw-mac-crm__appointments {
	margin-bottom: 1rem;
}

.hw-mac-crm-appointments {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
}

.hw-mac-crm-appointments__block h3 {
	margin: 0 0 0.35rem;
	font-size: 0.9rem;
	color: #64748b;
}

.hw-mac-calendario__list-item button.hw-mac-calendario__list-trigger {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
	width: 100%;
	padding: 0.55rem 0;
	border: 0;
	border-bottom: 1px solid #f1f5f9;
	background: transparent;
	color: inherit;
	text-align: left;
	cursor: pointer;
	font: inherit;
}

.hw-mac-calendario__pill.hw-mac-calendario__event-trigger {
	border: 0;
	cursor: pointer;
	width: 100%;
	text-align: left;
	font: inherit;
}

body.hw-mac-calendario-modal-open {
	overflow: hidden;
}

.hw-mac-calendario-modal[hidden] {
	display: none !important;
}

.hw-mac-calendario-modal {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.hw-mac-calendario-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
}

.hw-mac-calendario-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 480px);
	max-height: calc(100vh - 2rem);
	overflow: auto;
	padding: 1.25rem 1.35rem;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 20px 45px rgba(15, 23, 42, 0.25);
}

.hw-mac-calendario-modal__close {
	position: absolute;
	top: 0.5rem;
	right: 0.65rem;
	border: 0;
	background: transparent;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	color: #64748b;
}

.hw-mac-calendario-modal__type {
	margin: 0 0 0.25rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: #3b82f6;
}

.hw-mac-calendario-modal__head h2 {
	margin: 0 0 0.75rem;
	font-size: 1.25rem;
}

.hw-mac-calendario-modal__description {
	margin: 0.75rem 0;
	padding: 0.75rem;
	border-radius: 0.5rem;
	background: #f8fafc;
	color: #334155;
	font-size: 0.92rem;
	white-space: pre-wrap;
}

.hw-mac-calendario-modal__digest {
	margin: 0.5rem 0 0;
	font-size: 0.85rem;
	color: #64748b;
}

.hw-mac-calendario-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

@media (max-width: 960px) {
	.hw-mac-calendario__layout {
		grid-template-columns: 1fr;
	}

	.hw-mac-calendario__cell {
		min-height: 4rem;
	}
}

/* Catalogo prodotti */
.hw-mac-catalogo__products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

.hw-mac-catalogo-product {
	display: flex;
	flex-direction: column;
	border: 1px solid #e2e8f0;
	border-radius: 0.65rem;
	overflow: hidden;
	background: #fff;
}

.hw-mac-catalogo-product__image {
	aspect-ratio: 4/3;
	background: #f8fafc;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.hw-mac-catalogo-product__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hw-mac-catalogo-product__image--placeholder {
	font-size: 2rem;
	color: #94a3b8;
}

.hw-mac-catalogo-product__image--logo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: #f8fafc;
}

.hw-mac-catalogo-product__image--logo img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.hw-mac-catalogo-product__body {
	padding: 0.85rem;
}

.hw-mac-catalogo-product__price {
	font-weight: 700;
	color: #0f766e;
	margin: 0.25rem 0 0.5rem;
}

.hw-mac-catalogo-product__actions {
	display: flex;
	gap: 0.35rem;
	flex-wrap: wrap;
}

.hw-mac-catalogo__thumb {
	max-width: 120px;
	border-radius: 0.35rem;
}

.hw-mac-catalogo__form-panel {
	margin: 1.25rem 0;
}

.hw-mac-calendario__form-panel {
	box-shadow: var(--hw-mac-form-shadow-lg);
}

.hw-mac-catalogo__pending {
	margin-top: 2rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--hw-mac-border, #e5e7eb);
}

.hw-mac-catalogo__pending h3 {
	margin: 0 0 0.35rem;
}

.hw-mac-catalogo-product--pending {
	border-style: dashed;
	opacity: 0.95;
}

.hw-mac-tag--pending {
	background: #fef3c7;
	color: #92400e;
	margin-left: 0.35rem;
}

/* Preventivi CRM */
.hw-mac-quotes {
	margin-bottom: 1rem;
}

.hw-mac-quotes__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.hw-mac-quotes__catalog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 0.5rem;
	margin: 0.5rem 0 1rem;
}

.hw-mac-quotes__pick {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
	padding: 0.55rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.5rem;
	background: #fff;
	cursor: pointer;
	text-align: left;
	font: inherit;
}

.hw-mac-quotes__pick img {
	width: 100%;
	height: 64px;
	object-fit: cover;
	border-radius: 0.35rem;
}

.hw-mac-quotes__lines-wrap {
	overflow-x: auto;
}

.hw-mac-quotes__lines input {
	width: 5rem;
}

.hw-mac-quotes__totals {
	margin: 1rem 0;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	background: #f8fafc;
	text-align: right;
}

.hw-mac-quotes__totals p {
	margin: 0.2rem 0;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}

.hw-mac-quotes__total {
	font-size: 1.05rem;
}

.hw-mac-quotes__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hw-mac-quotes__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid #f1f5f9;
}

.hw-mac-quotes__item-main {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	align-items: center;
}

.hw-mac-quotes__item-actions,
.hw-mac-quotes__send-actions,
.hw-mac-quotes__form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.hw-mac-quotes__send {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #e2e8f0;
}

/* Impostazioni MAC — layout e sezioni */
.hw-mac-settings {
	max-width: 920px;
}

.hw-mac-settings__subtitle {
	margin: 0.35rem 0 0;
	color: #64748b;
}

.hw-mac-settings__notice {
	margin-bottom: 1.25rem;
}

.hw-mac-settings-form {
	max-width: none;
	padding: 0;
	background: transparent;
	border: none;
	margin-bottom: 0;
	display: grid;
	gap: 1.25rem;
}

.hw-mac-settings-stack {
	display: grid;
	gap: 1.25rem;
	margin-top: 1.25rem;
}

.hw-mac-settings-block {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.hw-mac-settings-block__header {
	padding: 1.1rem 1.35rem 0.85rem;
	border-bottom: 1px solid #f1f5f9;
	background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.hw-mac-settings-block__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: #1e3a5f;
	letter-spacing: -0.01em;
}

.hw-mac-settings-block__lead {
	margin: 0.45rem 0 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: #64748b;
	max-width: 62ch;
}

.hw-mac-settings-block__body {
	padding: 1.15rem 1.35rem 1.35rem;
}

.hw-mac-settings-block__body > .hw-mac-field:last-child,
.hw-mac-settings-block__body > .hw-mac-settings-toggles:last-child,
.hw-mac-settings-block__body > .hw-mac-settings-upload:last-child,
.hw-mac-settings-block__body > .hw-mac-settings-toggle:last-child {
	margin-bottom: 0;
}

.hw-mac-settings-block .hw-mac-field {
	margin-bottom: 1.1rem;
}

.hw-mac-settings-form .hw-mac-field input[type="url"],
.hw-mac-settings-form .hw-mac-field input[type="text"],
.hw-mac-settings-form .hw-mac-field input[type="email"],
.hw-mac-settings-form .hw-mac-field input[type="number"],
.hw-mac-settings-form .hw-mac-field input[type="password"],
.hw-mac-settings-form .hw-mac-field select,
.hw-mac-settings-form .hw-mac-field textarea,
.hw-mac-mail-settings .hw-mac-field input,
.hw-mac-mail-settings .hw-mac-field select,
.hw-mac-mail-settings .hw-mac-field textarea {
	width: 100%;
	padding: 0.7rem 0.9rem;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	font: inherit;
	background: var(--hw-mac-input-bg);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hw-mac-settings-form .hw-mac-field input:focus,
.hw-mac-settings-form .hw-mac-field select:focus,
.hw-mac-settings-form .hw-mac-field textarea:focus,
.hw-mac-mail-settings .hw-mac-field input:focus,
.hw-mac-mail-settings .hw-mac-field select:focus {
	outline: none;
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.hw-mac-settings-form .hw-mac-readonly {
	background: #f1f5f9;
	color: #475569;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.88rem;
}

.hw-mac-settings-toggles {
	display: grid;
	gap: 0.65rem;
	margin: 0 0 1.1rem;
}

.hw-mac-settings-toggles--single {
	max-width: 520px;
}

.hw-mac-settings-toggle {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #f8fafc;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.hw-mac-settings-toggle:hover {
	border-color: #cbd5e1;
	background: #f1f5f9;
}

.hw-mac-settings-toggle input[type="checkbox"] {
	width: 1.05rem;
	height: 1.05rem;
	margin: 0.15rem 0 0;
	flex-shrink: 0;
	accent-color: #1e3a5f;
}

.hw-mac-settings-toggle__text {
	display: grid;
	gap: 0.2rem;
	min-width: 0;
}

.hw-mac-settings-toggle__text strong {
	font-size: 0.92rem;
	font-weight: 600;
	color: #334155;
}

.hw-mac-settings-toggle__text small {
	font-size: 0.82rem;
	line-height: 1.45;
	color: #64748b;
}

.hw-mac-settings-toggle--danger {
	border-color: #fecaca;
	background: #fff5f5;
}

.hw-mac-settings-toggle--danger:hover {
	border-color: #fca5a5;
	background: #fef2f2;
}

.hw-mac-settings-toggle--danger .hw-mac-settings-toggle__text strong {
	color: #991b1b;
}

.hw-mac-settings-upload {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 0.85rem 1rem;
	align-items: end;
	margin-bottom: 1rem;
}

.hw-mac-settings-upload__or {
	align-self: center;
	padding-bottom: 1.35rem;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #94a3b8;
}

.hw-mac-settings-form .hw-mac-field--file input[type="file"] {
	width: 100%;
	padding: 0.55rem 0.65rem;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	background: #fff;
	font-size: 0.88rem;
}

.hw-mac-branding__preview {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1rem;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
}

.hw-mac-branding__preview img {
	display: block;
	max-width: 220px;
	max-height: 120px;
	object-fit: contain;
}

.hw-mac-settings-form__footer {
	padding: 1rem 1.35rem 1.35rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.hw-mac-settings-endpoint {
	padding: 0;
	overflow: hidden;
}

.hw-mac-settings-endpoint .hw-mac-settings-block__header {
	padding-bottom: 1rem;
}

.hw-mac-settings-endpoint__list {
	margin: 0;
	padding: 0 1.35rem 1.35rem;
	display: grid;
	gap: 1rem;
}

.hw-mac-settings-endpoint__item {
	margin: 0;
}

.hw-mac-settings-endpoint__item dt,
.hw-mac-settings-endpoint__label {
	margin: 0 0 0.35rem;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #64748b;
}

.hw-mac-settings-endpoint__item dd {
	margin: 0;
}

.hw-mac-settings-endpoint__item code {
	display: block;
	padding: 0.75rem 0.85rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	font-size: 0.82rem;
	line-height: 1.5;
	word-break: break-all;
	color: #334155;
}

.hw-mac-mail-settings.hw-mac-settings-block {
	padding: 0;
}

.hw-mac-mail-settings .hw-mac-notice {
	margin-top: 0;
}

.hw-mac-mail-settings .hw-mac-empty {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
}

.hw-mac-mail-settings .hw-mac-table-wrap {
	margin-bottom: 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
}

@media (max-width: 768px) {
	.hw-mac-settings-upload {
		grid-template-columns: 1fr;
	}

	.hw-mac-settings-upload__or {
		padding-bottom: 0;
		text-align: center;
	}
}

/* Registro chiamate */
.hw-mac-chiamate__registry-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.hw-mac-chiamate__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.hw-mac-chiamate__filters .hw-mac-btn.is-active {
	background: var(--hw-mac-brand);
	color: #fff;
	border-color: var(--hw-mac-brand);
}

.hw-mac-chiamate-table__row--overdue {
	background: #fffbeb;
}

.hw-mac-phone-call-form__product-results {
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0;
	border: 1px solid var(--hw-mac-form-border);
	border-radius: 10px;
	max-height: 220px;
	overflow-y: auto;
	background: #fff;
	box-shadow: var(--hw-mac-form-shadow);
}

.hw-mac-phone-call-form__product-results li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hw-mac-phone-call-form__product-results[hidden] {
	display: none !important;
}

.hw-mac-app .hw-mac-phone-call-form__product-pick {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	width: 100%;
	padding: 0.65rem 0.85rem;
	border: none;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
	color: #1e293b;
	text-align: left;
	font-size: 0.92rem;
	line-height: 1.35;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.hw-mac-app .hw-mac-phone-call-form__product-pick:last-child {
	border-bottom: none;
}

.hw-mac-app .hw-mac-phone-call-form__product-pick:hover,
.hw-mac-app .hw-mac-phone-call-form__product-pick:focus {
	background: var(--hw-mac-brand-soft);
	color: #1e293b;
	outline: none;
}

.hw-mac-phone-call-form__product-name {
	display: block;
	font-weight: 600;
	color: #1e293b;
}

.hw-mac-phone-call-form__product-cat {
	display: block;
	font-size: 0.78rem;
	font-weight: 500;
	color: #64748b;
}

.hw-mac-phone-call-form__product-empty {
	padding: 0.75rem 0.85rem;
	font-size: 0.88rem;
	color: #64748b;
}

.hw-mac-phone-call-form__product-picked {
	margin: 0.35rem 0 0;
	font-size: 0.9rem;
	color: var(--hw-mac-brand);
	font-weight: 600;
}

.hw-mac-phone-call-panel {
	margin-bottom: 1.25rem;
}

.hw-mac-kpi-grid--calls {
	margin-bottom: 1.25rem;
}

/* —— Coda lavoro / workflow —— */

.hw-mac-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.hw-mac-stats--workflow {
	margin-top: 0.5rem;
}

.hw-mac-stat--ok {
	background: #ecfdf5;
	border-color: #6ee7b7;
}

.hw-mac-stat--ok strong {
	color: #047857;
}

.hw-mac-lavoro__form-panel {
	margin-bottom: 1.5rem;
}

.hw-mac-workflow-board {
	margin-bottom: 1.5rem;
}

.hw-mac-workflow-board__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1rem;
}

.hw-mac-workflow-board__card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.hw-mac-workflow-board__card.is-available {
	border-left: 4px solid #34d399;
}

.hw-mac-workflow-board__card.is-busy {
	border-left: 4px solid #fbbf24;
}

.hw-mac-workflow-board__card.is-alert {
	border-color: #fca5a5;
	background: #fef2f2;
}

.hw-mac-workflow-board__card-head {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
}

.hw-mac-workflow-board__avatar {
	font-size: 1.6rem;
	line-height: 1;
}

.hw-mac-workflow-board__role {
	display: block;
	font-size: 0.82rem;
	color: #64748b;
	font-weight: 400;
}

.hw-mac-workflow-board__card-head .hw-mac-badge {
	margin-left: auto;
	flex-shrink: 0;
}

.hw-mac-workflow-board__current-title {
	margin: 0;
	font-weight: 600;
	color: #1e293b;
	font-size: 0.95rem;
}

.hw-mac-workflow-board__meta,
.hw-mac-workflow-board__idle {
	margin: 0;
	font-size: 0.88rem;
	color: #64748b;
}

.hw-mac-workflow-board__alert {
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
	color: #b91c1c;
	font-weight: 600;
}

.hw-mac-workflow-board__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	font-size: 0.82rem;
	color: #475569;
	margin-top: auto;
	padding-top: 0.5rem;
	border-top: 1px solid #f1f5f9;
}

.hw-mac-workflow-board__queue {
	color: #b45309;
	font-weight: 600;
}

.hw-mac-workflow-tasks {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.hw-mac-workflow-task {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	padding: 1rem 1.1rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
}

.hw-mac-workflow-task.is-overdue,
.hw-mac-workflow-task--help_needed {
	border-color: #fca5a5;
	background: #fffafb;
}

.hw-mac-workflow-task--in_progress {
	border-left: 4px solid #60a5fa;
}

.hw-mac-workflow-task--pool {
	border-left: 4px solid #34d399;
}

.hw-mac-workflow-task--queued {
	border-left: 4px solid #fbbf24;
}

.hw-mac-workflow-task__title {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	color: #1e293b;
}

.hw-mac-workflow-task__desc {
	margin: 0 0 0.35rem;
	font-size: 0.88rem;
	color: #64748b;
	line-height: 1.45;
}

.hw-mac-workflow-task__meta {
	margin: 0;
	font-size: 0.82rem;
	color: #64748b;
}

.hw-mac-workflow-task__sla {
	color: #475569;
}

.hw-mac-workflow-task__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.hw-mac-workflow-complete-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
}

.hw-mac-workflow-complete-form__note {
	min-width: 160px;
	max-width: 220px;
	padding: 0.35rem 0.55rem;
	font-size: 0.85rem;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
}

.hw-mac-workflow-task__assign summary {
	cursor: pointer;
	font-size: 0.85rem;
	color: var(--hw-mac-brand, #1e3a5f);
}

.hw-mac-workflow-task__assign form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.5rem;
}

.hw-mac-workflow-task__assign select {
	min-width: 160px;
	padding: 0.35rem 0.5rem;
	font-size: 0.85rem;
}

.hw-mac-workflow-log {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.hw-mac-workflow-log li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.65rem;
	padding: 0.65rem 0.85rem;
	background: #f8fafc;
	border-radius: 8px;
	font-size: 0.88rem;
	color: #475569;
}

.hw-mac-workflow-log time {
	color: #94a3b8;
	font-size: 0.82rem;
}

.hw-mac-panel--workflow {
	margin-top: 1.5rem;
}

.hw-mac-table--workflow {
	width: 100%;
	margin-top: 0.75rem;
}

.hw-mac-table--workflow th,
.hw-mac-table--workflow td {
	padding: 0.55rem 0.75rem;
	text-align: left;
}

.hw-mac-workflow-task.is-paused {
	border-color: #93c5fd;
	background: #f8fbff;
}

.hw-mac-workflow-timer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin: 0.5rem 0 0.65rem;
	padding: 0.55rem 0.75rem;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 8px;
}

.hw-mac-workflow-timer--paused {
	background: #f8fafc;
	border-color: #cbd5e1;
}

.hw-mac-workflow-timer__clock {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 1.15rem;
	font-weight: 700;
	color: #1e3a5f;
	letter-spacing: 0.04em;
}

.hw-mac-workflow-timer--paused .hw-mac-workflow-timer__clock {
	color: #64748b;
}

.hw-mac-workflow-timer__label {
	font-size: 0.82rem;
	font-weight: 600;
	color: #2563eb;
}

.hw-mac-workflow-timer--paused .hw-mac-workflow-timer__label {
	color: #64748b;
}

.hw-mac-workflow-timer__pause-reason {
	font-size: 0.82rem;
	color: #475569;
}

.hw-mac-workflow-pause-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
}

.hw-mac-workflow-pause-form__reason {
	padding: 0.35rem 0.5rem;
	font-size: 0.85rem;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
}

.hw-mac-workflow-board__timer {
	margin: 0 0 0.35rem;
	font-size: 0.9rem;
}

.hw-mac-workflow-board__timer strong {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	margin-right: 0.35rem;
}

.hw-mac-workflow-board__pause,
.hw-mac-workflow-board__pause-total {
	color: #64748b;
	font-size: 0.82rem;
}

.hw-mac-btn--success {
	background: #059669;
	border-color: #059669;
	color: #fff;
}

.hw-mac-btn--success:hover {
	background: #047857;
	border-color: #047857;
	color: #fff;
}

@media (max-width: 640px) {
	.hw-mac-workflow-task {
		flex-direction: column;
	}

	.hw-mac-workflow-complete-form__note {
		width: 100%;
		max-width: none;
	}
}

/* Proponi procedura */
.hw-mac-proponi__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
	gap: 1.25rem;
	align-items: start;
}

.hw-mac-proponi__panel {
	margin: 0;
}

.hw-mac-proponi__panel .hw-mac-form--proponi {
	max-width: none;
	margin-bottom: 0;
	padding: 0;
	border: none;
	box-shadow: none;
	background: transparent;
}

.hw-mac-form__grid--single {
	grid-template-columns: 1fr;
}

.hw-mac-field__optional {
	margin-left: auto;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #94a3b8;
}

.hw-mac-field--textarea textarea {
	min-height: 14rem;
	font-family: inherit;
	line-height: 1.55;
}

.hw-mac-proponi__aside {
	display: grid;
	gap: 1rem;
}

.hw-mac-proponi__tips {
	background: var(--hw-mac-form-bg);
	border: 1px solid var(--hw-mac-form-border);
	border-radius: var(--hw-mac-form-radius-lg);
	padding: 1.1rem 1.2rem;
	box-shadow: var(--hw-mac-form-shadow);
}

.hw-mac-proponi__tips--muted {
	background: var(--hw-mac-form-muted);
}

.hw-mac-proponi__tips h3 {
	margin: 0 0 0.65rem;
	font-size: 0.95rem;
	color: var(--hw-mac-brand);
}

.hw-mac-proponi__tips p {
	margin: 0;
	font-size: 0.9rem;
	color: #475569;
	line-height: 1.5;
}

.hw-mac-proponi__tips p + p {
	margin-top: 0.65rem;
}

.hw-mac-proponi__checklist {
	margin: 0;
	padding-left: 1.15rem;
	font-size: 0.88rem;
	color: #475569;
	line-height: 1.55;
}

.hw-mac-proponi__checklist li + li {
	margin-top: 0.45rem;
}

.hw-mac-proponi__notice {
	margin-bottom: 1rem;
}

.hw-mac-proponi__success {
	max-width: 640px;
}

.hw-mac-proponi__success .hw-mac-notice p {
	margin: 0.35rem 0 0;
}

.hw-mac-proponi__success-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 1rem;
}

@media (max-width: 900px) {
	.hw-mac-proponi__layout {
		grid-template-columns: 1fr;
	}

	.hw-mac-proponi__aside {
		order: -1;
	}
}

@media (max-width: 640px) {
	.hw-mac-proponi__success-actions .hw-mac-btn {
		width: 100%;
		justify-content: center;
	}
}
