:root {
	--ais-primary: #1457d9;
	--ais-accent: #13a89e;
	--ais-ink: #17233c;
	--ais-text: #4c5a73;
	--ais-muted: #65738a;
	--ais-line: #e4e9f2;
	--ais-soft: #f5f7fb;
	--ais-white: #ffffff;
	--ais-success: #16845b;
	--ais-warning: #b36a00;
	--ais-danger: #c13a4a;
	--ais-sidebar: #102041;
	--ais-radius: 18px;
	--ais-radius-lg: 18px;
	--ais-border: var(--ais-line);
	--ais-shadow: 0 18px 55px rgba(26, 48, 89, .09);
	--ais-shadow-sm: 0 8px 24px rgba(26, 48, 89, .08);
}

.ais-standalone-page,
.ais-standalone-page #ais-app-root {
	margin: 0;
	min-height: 100vh;
	background: var(--ais-soft);
}

.ais-standalone-page.admin-bar { margin-top: 0 !important; }
.ais-standalone-page #wpadminbar { display: none !important; }

.ais-app,
.ais-login-shell,
.ais-app *,
.ais-login-shell * { box-sizing: border-box; }

.ais-app,
.ais-login-shell {
	font-family: inherit;
	color: var(--ais-ink);
	font-size: 15px;
	line-height: 1.55;
}

.ais-app a,
.ais-login-shell a { color: inherit; text-decoration: none; }
.ais-app button,
.ais-app input,
.ais-app select,
.ais-app textarea,
.ais-login-shell button,
.ais-login-shell input { font: inherit; }
.ais-app svg,
.ais-login-shell svg { display: block; }
.ais-icon { width: 21px; height: 21px; fill: currentColor; flex: 0 0 auto; }
.screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

/* App shell */
.ais-app { display: flex; min-height: 100vh; background: var(--ais-soft); }
.ais-sidebar {
	position: fixed;
	inset: 0 auto 0 0;
	z-index: 1002;
	display: flex;
	flex-direction: column;
	width: 286px;
	padding: 22px 18px 18px;
	color: #dce6fa;
	background:
		radial-gradient(circle at 10% 10%, rgba(31, 108, 255, .28), transparent 33%),
		linear-gradient(165deg, var(--ais-sidebar), #0b1730 72%);
	box-shadow: 16px 0 55px rgba(7, 21, 47, .12);
}
.ais-sidebar__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 6px 19px; }
.ais-brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: -.02em; }
.ais-brand__logo { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px 14px 14px 5px; color: #fff; background: linear-gradient(145deg, var(--ais-primary), var(--ais-accent)); box-shadow: 0 10px 26px rgba(20, 87, 217, .28); font-size: 15px; letter-spacing: .04em; }
.ais-brand__text { font-size: 19px; color: #fff; }
.ais-sidebar__close { display: none !important; color: #fff !important; background: rgba(255,255,255,.1) !important; }
.ais-org-summary { display: flex; align-items: center; gap: 12px; margin: 4px 2px 19px; padding: 14px; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.06); }
.ais-org-summary__avatar { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: rgba(255,255,255,.13); font-weight: 800; }
.ais-org-summary div:last-child { min-width: 0; }
.ais-org-summary strong,
.ais-org-summary span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ais-org-summary strong { color: #fff; font-size: 13px; }
.ais-org-summary span { color: #aebddd; font-size: 11px; margin-top: 2px; }
.ais-org-summary--empty { border-style: dashed; }
.ais-nav { display: grid; gap: 4px; overflow-y: auto; padding: 3px 0 14px; }
.ais-nav__item { position: relative; display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 10px 13px; border-radius: 13px; color: #adbcda !important; font-size: 13px; font-weight: 680; transition: .2s ease; }
.ais-nav__item:hover { color: #fff !important; background: rgba(255,255,255,.07); transform: translateX(2px); }
.ais-nav__item.is-active { color: #fff !important; background: linear-gradient(90deg, rgba(44,117,255,.34), rgba(19,168,158,.15)); box-shadow: inset 3px 0 0 #55d8cf; }
.ais-nav__badge { display: grid; place-items: center; min-width: 22px; height: 22px; margin-left: auto; padding: 0 6px; border-radius: 11px; color: #0b1730; background: #63e0d8; font-size: 10px; font-weight: 900; }
.ais-nav__item--logout { margin-top: 8px; color: #efb5bd !important; }
.ais-sidebar__bottom { margin-top: auto; padding: 14px 2px 0; border-top: 1px solid rgba(255,255,255,.09); }
.ais-sidebar__release { padding: 0 9px 8px; color: #7387b1; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ais-user-mini { display: flex; align-items: center; gap: 10px; padding: 4px 9px 8px; min-width: 0; }
.ais-user-mini > div:last-child { min-width: 0; }
.ais-user-mini strong,
.ais-user-mini span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ais-user-mini strong { color: #fff; font-size: 12px; }
.ais-user-mini span { color: #91a3c8; font-size: 10px; }
.ais-avatar { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: linear-gradient(145deg, var(--ais-primary), var(--ais-accent)); font-size: 11px; font-weight: 850; }
.ais-avatar--top { width: 40px; height: 40px; box-shadow: 0 6px 16px rgba(20,87,217,.18); }

.ais-main { width: calc(100% - 286px); min-width: 0; margin-left: 286px; }
.ais-topbar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 86px; padding: 15px 34px; border-bottom: 1px solid rgba(221,228,239,.85); background: rgba(255,255,255,.91); backdrop-filter: blur(15px); }
.ais-topbar__left,
.ais-topbar__actions { display: flex; align-items: center; gap: 14px; min-width: 0; }
.ais-topbar h1 { margin: 0; color: var(--ais-ink); font-size: clamp(20px, 2vw, 27px); line-height: 1.15; letter-spacing: -.035em; }
.ais-topbar__eyebrow { margin: 0 0 3px; color: var(--ais-muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ais-icon-button { display: inline-grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; padding: 0; border: 1px solid var(--ais-line); border-radius: 12px; color: var(--ais-text) !important; background: #fff; cursor: pointer; transition: .2s ease; }
.ais-icon-button:hover { color: var(--ais-primary) !important; border-color: color-mix(in srgb, var(--ais-primary) 30%, white); box-shadow: 0 8px 24px rgba(31,64,121,.1); transform: translateY(-1px); }
.ais-icon-button--danger:hover { color: var(--ais-danger) !important; border-color: #f0c7cd; }
.ais-menu-button { display: none; }
.ais-notification-button { position: relative; }
.ais-notification-button > span { position: absolute; top: -6px; right: -5px; display: grid; place-items: center; min-width: 19px; height: 19px; padding: 0 5px; border: 2px solid #fff; border-radius: 10px; color: #fff; background: var(--ais-danger); font-size: 9px; font-weight: 900; }
.ais-org-switcher select { min-width: 190px; height: 40px; padding: 0 34px 0 12px; border: 1px solid var(--ais-line); border-radius: 12px; color: var(--ais-ink); background: #fff; font-size: 12px; font-weight: 700; }
.ais-org-switcher--sidebar { display: none; margin: 0 2px 14px; }
.ais-org-switcher--sidebar label { display: block; margin: 0 0 6px; color: #91a3c8; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ais-org-switcher--sidebar select { width: 100%; min-width: 0; color: #fff; border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.08); }
.ais-content { width: min(1500px, 100%); margin: 0 auto; padding: 34px; }
.ais-mobile-overlay { display: none; }

/* Typography and common */
.ais-eyebrow { margin: 0 0 7px; color: var(--ais-primary); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.ais-muted { color: var(--ais-muted) !important; }
.ais-page-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.ais-page-intro h2 { margin: 0 0 8px; color: var(--ais-ink); font-size: clamp(25px, 3vw, 38px); line-height: 1.1; letter-spacing: -.045em; }
.ais-page-intro p:not(.ais-eyebrow) { max-width: 740px; margin: 0; color: var(--ais-text); font-size: 14px; }
.ais-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 43px; padding: 10px 17px; border: 1px solid transparent; border-radius: 13px; cursor: pointer; font-size: 12px; font-weight: 800; line-height: 1.2; transition: .2s ease; }
.ais-button:hover { transform: translateY(-1px); }
.ais-button--primary { color: #fff !important; border-color: var(--ais-primary); background: linear-gradient(135deg, var(--ais-primary), color-mix(in srgb, var(--ais-primary) 76%, var(--ais-accent))); box-shadow: 0 10px 25px color-mix(in srgb, var(--ais-primary) 22%, transparent); }
.ais-button--primary:hover { box-shadow: 0 14px 30px color-mix(in srgb, var(--ais-primary) 30%, transparent); }
.ais-button--secondary { color: var(--ais-primary) !important; border-color: color-mix(in srgb, var(--ais-primary) 20%, var(--ais-line)); background: color-mix(in srgb, var(--ais-primary) 5%, white); }
.ais-button--light { color: var(--ais-ink) !important; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.ais-button--text { min-height: 34px; padding: 6px 9px; color: var(--ais-primary) !important; background: transparent; }
.ais-button--full { width: 100%; }
.ais-chip { display: inline-flex; align-items: center; width: fit-content; min-height: 24px; padding: 4px 9px; border-radius: 999px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 8%, white); font-size: 9px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.ais-alert { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 22px; padding: 13px 16px; border: 1px solid #cfe5dc; border-radius: 13px; color: #136247; background: #edf9f4; font-size: 13px; font-weight: 650; box-shadow: 0 9px 25px rgba(34,94,71,.06); }
.ais-alert--error { color: #9f2635; border-color: #efc9ce; background: #fff3f4; }
.ais-alert--warning { color: #83520c; border-color: #efd9b9; background: #fff9ed; }
.ais-alert__close { border: 0; color: inherit; background: transparent; cursor: pointer; font-size: 20px; }
.ais-panel { min-width: 0; padding: 23px; border: 1px solid rgba(222,228,238,.9); border-radius: var(--ais-radius); background: #fff; box-shadow: var(--ais-shadow); }
.ais-panel__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 19px; }
.ais-panel__header h3 { margin: 0; color: var(--ais-ink); font-size: 18px; line-height: 1.25; letter-spacing: -.025em; }
.ais-panel__header p { margin: 4px 0 0; color: var(--ais-muted); font-size: 12px; }
.ais-panel__header > a { color: var(--ais-primary); font-size: 11px; font-weight: 800; }
.ais-two-column { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr); gap: 22px; margin-top: 22px; }
.ais-layout-with-aside { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(310px, .7fr); align-items: start; gap: 22px; }
.ais-sticky-panel { position: sticky; top: 112px; }
.ais-empty-state { display: grid; justify-items: center; padding: 26px 15px; text-align: center; }
.ais-empty-state > span { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 12px; border-radius: 15px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 8%, white); }
.ais-empty-state > span .ais-icon { width: 24px; height: 24px; }
.ais-empty-state h4 { margin: 0 0 5px; color: var(--ais-ink); font-size: 15px; }
.ais-empty-state p { max-width: 390px; margin: 0; color: var(--ais-muted); font-size: 12px; }
.ais-empty-state--large { min-height: 280px; align-content: center; }

/* Dashboard */
.ais-onboarding-banner { display: flex; align-items: center; gap: 16px; margin-bottom: 23px; padding: 18px 20px; border-radius: 18px; color: #fff; background: linear-gradient(120deg, #153f93, var(--ais-primary) 55%, #14988f); box-shadow: 0 18px 38px rgba(20,87,217,.2); }
.ais-onboarding-banner__icon { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 15px; background: rgba(255,255,255,.15); }
.ais-onboarding-banner__body { flex: 1; min-width: 0; }
.ais-onboarding-banner__body strong { font-size: 15px; }
.ais-onboarding-banner__body p { margin: 2px 0 9px; color: rgba(255,255,255,.79); font-size: 11px; }
.ais-progress { height: 5px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.17); }
.ais-progress span { display: block; height: 100%; border-radius: inherit; background: #fff; }
.ais-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.ais-stat-card { display: flex; align-items: flex-start; gap: 15px; min-width: 0; padding: 20px; border: 1px solid var(--ais-line); border-radius: 17px; background: #fff; box-shadow: 0 13px 35px rgba(36,57,99,.06); }
.ais-stat-card__icon { display: grid; place-items: center; flex: 0 0 43px; width: 43px; height: 43px; border-radius: 14px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 8%, white); }
.ais-stat-card > div:last-child { min-width: 0; }
.ais-stat-card span { display: block; color: var(--ais-muted); font-size: 10px; font-weight: 750; }
.ais-stat-card strong { display: block; margin: 4px 0 5px; color: var(--ais-ink); font-size: 29px; line-height: 1; letter-spacing: -.04em; }
.ais-stat-card a { color: var(--ais-primary); font-size: 10px; font-weight: 800; }
.ais-stat-card small { color: var(--ais-muted); font-size: 9px; }
.ais-stat-card--future { background: linear-gradient(145deg, #fff, #f8fbff); }
.ais-timeline { display: grid; gap: 0; }
.ais-timeline__item { position: relative; display: grid; grid-template-columns: 18px 1fr; gap: 12px; padding: 0 0 18px; }
.ais-timeline__item:not(:last-child)::before { content: ''; position: absolute; top: 13px; bottom: 0; left: 5px; width: 1px; background: var(--ais-line); }
.ais-timeline__dot { position: relative; z-index: 1; display: block; width: 11px; height: 11px; margin-top: 4px; border: 3px solid color-mix(in srgb, var(--ais-primary) 23%, white); border-radius: 50%; background: var(--ais-primary); }
.ais-timeline strong { display: block; color: var(--ais-ink); font-size: 12px; }
.ais-timeline p { margin: 2px 0; color: var(--ais-text); font-size: 11px; }
.ais-timeline small { color: var(--ais-muted); font-size: 9px; }
.ais-compact-list { display: grid; gap: 9px; }
.ais-compact-list__item { display: flex; align-items: center; gap: 11px; padding: 9px; border: 1px solid #edf0f5; border-radius: 13px; }
.ais-compact-list__icon { display: grid; place-items: center; flex: 0 0 37px; width: 37px; height: 37px; border-radius: 11px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 7%, white); font-size: 12px; font-weight: 850; }
.ais-compact-list strong,
.ais-compact-list span { display: block; }
.ais-compact-list strong { color: var(--ais-ink); font-size: 11px; }
.ais-compact-list span { color: var(--ais-muted); font-size: 9px; }
.ais-panel--roadmap { margin-top: 22px; overflow: hidden; background: linear-gradient(145deg, #fff, #f6f9ff); }
.ais-roadmap-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.ais-roadmap-grid article { min-height: 145px; padding: 17px; border: 1px solid var(--ais-line); border-radius: 15px; background: rgba(255,255,255,.78); }
.ais-roadmap-grid article > span { display: inline-grid; place-items: center; width: 36px; height: 25px; border-radius: 99px; color: #fff; background: var(--ais-primary); font-size: 9px; font-weight: 900; }
.ais-roadmap-grid h4 { margin: 13px 0 7px; color: var(--ais-ink); font-size: 13px; }
.ais-roadmap-grid p { margin: 0; color: var(--ais-muted); font-size: 10px; }

/* Forms */
.ais-form-section + .ais-form-section { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--ais-line); }
.ais-form-section__heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 18px; }
.ais-form-section__heading > span,
.ais-onboarding-card__head > span { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 11px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 8%, white); font-size: 10px; font-weight: 900; }
.ais-form-section__heading h3 { margin: 0; color: var(--ais-ink); font-size: 16px; }
.ais-form-section__heading p { margin: 3px 0 0; color: var(--ais-muted); font-size: 11px; }
.ais-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.ais-field { display: grid; align-content: start; gap: 7px; min-width: 0; }
.ais-field--wide { grid-column: 1 / -1; }
.ais-field > span { color: var(--ais-ink); font-size: 10px; font-weight: 800; }
.ais-field small { color: var(--ais-muted); font-size: 9px; }
.ais-field input,
.ais-field select,
.ais-field textarea { width: 100%; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid #dce3ed; border-radius: 11px; outline: 0; color: var(--ais-ink); background: #fbfcfe; font-size: 12px; transition: .2s ease; }
.ais-field textarea { min-height: 95px; resize: vertical; }
.ais-field input:focus,
.ais-field select:focus,
.ais-field textarea:focus { border-color: color-mix(in srgb, var(--ais-primary) 60%, white); background: #fff; box-shadow: 0 0 0 4px color-mix(in srgb, var(--ais-primary) 8%, transparent); }
.ais-field input:disabled { color: var(--ais-muted); background: #f1f3f7; }
.ais-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 24px; padding-top: 19px; border-top: 1px solid var(--ais-line); }
.ais-form-actions > span { color: var(--ais-muted); font-size: 10px; }
.ais-form--compact { display: grid; gap: 15px; }
.ais-checkbox-grid { display: flex; flex-wrap: wrap; gap: 8px; min-height: 44px; padding: 9px; border: 1px solid #e2e7ef; border-radius: 11px; background: #fbfcfe; }
.ais-checkbox-grid label,
.ais-inline-check { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; }
.ais-checkbox-grid label { padding: 5px 9px; border: 1px solid #e2e7ef; border-radius: 999px; color: var(--ais-text); background: #fff; font-size: 10px; font-weight: 650; }
.ais-checkbox-grid input,
.ais-inline-check input { accent-color: var(--ais-primary); }
.ais-inline-check { margin-bottom: 12px; color: var(--ais-text); font-size: 10px; }

/* Departments */
.ais-department-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }
.ais-department-card { display: grid; align-content: space-between; min-height: 230px; padding: 17px; border: 1px solid var(--ais-line); border-radius: 16px; background: linear-gradient(145deg, #fff, #fbfcff); transition: .2s ease; }
.ais-department-card:hover { border-color: color-mix(in srgb, var(--ais-primary) 25%, var(--ais-line)); box-shadow: 0 14px 32px rgba(35,61,108,.08); transform: translateY(-2px); }
.ais-department-card.is-inactive { opacity: .62; }
.ais-department-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.ais-department-card__avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 8%, white); font-weight: 900; }
.ais-card-actions { display: flex; gap: 6px; }
.ais-card-actions .ais-icon-button { width: 34px; height: 34px; border-radius: 10px; }
.ais-card-actions .ais-icon { width: 17px; height: 17px; }
.ais-department-card h4 { margin: 13px 0 7px; color: var(--ais-ink); font-size: 15px; }
.ais-department-card p { margin: 10px 0; color: var(--ais-text); font-size: 10px; }
.ais-department-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 13px; border-top: 1px solid #edf0f5; color: var(--ais-muted); font-size: 9px; }
.ais-department-card footer span { display: inline-flex; align-items: center; gap: 5px; }
.ais-department-card footer .ais-icon { width: 14px; height: 14px; }

/* Team */
.ais-collapsible-panel { margin-bottom: 22px; }
.ais-member-list { display: grid; gap: 10px; }
.ais-member-card { overflow: hidden; border: 1px solid var(--ais-line); border-radius: 15px; background: #fff; }
.ais-member-card[open] { border-color: color-mix(in srgb, var(--ais-primary) 25%, var(--ais-line)); box-shadow: 0 12px 32px rgba(32,60,108,.07); }
.ais-member-card summary { display: grid; grid-template-columns: 42px minmax(150px, .8fr) minmax(280px, 1.4fr) 24px; align-items: center; gap: 13px; padding: 14px 16px; cursor: pointer; list-style: none; }
.ais-member-card summary::-webkit-details-marker { display: none; }
.ais-member-card__identity { min-width: 0; }
.ais-member-card__identity strong,
.ais-member-card__identity span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ais-member-card__identity strong { color: var(--ais-ink); font-size: 12px; }
.ais-member-card__identity span { color: var(--ais-muted); font-size: 9px; }
.ais-member-card__meta { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; }
.ais-member-card__meta small { overflow: hidden; max-width: 190px; color: var(--ais-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.ais-member-card__chevron { color: var(--ais-muted); font-size: 18px; transition: transform .2s; }
.ais-member-card[open] .ais-member-card__chevron { transform: rotate(180deg); }
.ais-status { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; color: var(--ais-success); background: #eaf8f2; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.ais-status::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.ais-status--suspended { color: var(--ais-danger); background: #fff0f2; }
.ais-member-card__form { padding: 19px; border-top: 1px solid var(--ais-line); background: #fbfcfe; }

/* Notifications */
.ais-notification-list { display: grid; }
.ais-notification { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 15px; padding: 18px 4px; border-bottom: 1px solid var(--ais-line); }
.ais-notification:last-child { border-bottom: 0; }
.ais-notification.is-unread { position: relative; }
.ais-notification.is-unread::before { content: ''; position: absolute; left: -23px; width: 3px; height: 35px; border-radius: 0 4px 4px 0; background: var(--ais-primary); }
.ais-notification__icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 14px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 8%, white); }
.ais-notification__body > div { display: flex; align-items: center; gap: 8px; }
.ais-notification h3 { margin: 0; color: var(--ais-ink); font-size: 13px; }
.ais-notification p { margin: 3px 0; color: var(--ais-text); font-size: 11px; }
.ais-notification small { color: var(--ais-muted); font-size: 9px; }
.ais-notification__actions { display: flex; align-items: center; gap: 4px; }
.ais-dot-label { display: inline-flex; align-items: center; gap: 4px; color: var(--ais-primary); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.ais-dot-label::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--ais-primary); }

/* Tables */
.ais-table-panel { padding: 0; overflow: hidden; }
.ais-table-wrap { overflow-x: auto; }
.ais-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.ais-table th { padding: 13px 15px; color: var(--ais-muted); background: #f6f8fb; font-size: 9px; text-align: left; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.ais-table td { padding: 14px 15px; border-top: 1px solid var(--ais-line); color: var(--ais-text); vertical-align: top; }
.ais-table td strong { color: var(--ais-ink); }
.ais-table time { white-space: nowrap; }

/* Profile */
.ais-profile-layout { display: grid; grid-template-columns: minmax(260px,.6fr) minmax(0,1.4fr); align-items: start; gap: 22px; }
.ais-profile-card { text-align: center; }
.ais-profile-card__avatar { display: grid; place-items: center; width: 82px; height: 82px; margin: 0 auto 14px; border-radius: 26px 26px 26px 9px; color: #fff; background: linear-gradient(145deg, var(--ais-primary), var(--ais-accent)); box-shadow: 0 15px 30px rgba(20,87,217,.22); font-size: 21px; font-weight: 900; }
.ais-profile-card h3 { margin: 0; color: var(--ais-ink); font-size: 18px; }
.ais-profile-card > p { margin: 4px 0 22px; color: var(--ais-muted); font-size: 10px; }
.ais-profile-card__org { display: grid; gap: 3px; padding: 15px; border-radius: 14px; background: var(--ais-soft); text-align: left; }
.ais-profile-card__org span { color: var(--ais-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.ais-profile-card__org strong { color: var(--ais-ink); font-size: 12px; }
.ais-profile-card__org small { color: var(--ais-primary); font-size: 9px; }

/* Onboarding */
.ais-onboarding-welcome { max-width: 760px; margin: 20px auto 26px; text-align: center; }
.ais-onboarding-welcome__icon { display: grid; place-items: center; width: 66px; height: 66px; margin: 0 auto 17px; border-radius: 22px 22px 22px 7px; color: #fff; background: linear-gradient(145deg, var(--ais-primary), var(--ais-accent)); box-shadow: 0 16px 38px rgba(20,87,217,.23); }
.ais-onboarding-welcome__icon .ais-icon { width: 31px; height: 31px; }
.ais-onboarding-welcome h2 { margin: 0 0 9px; color: var(--ais-ink); font-size: clamp(30px,4vw,47px); line-height: 1.04; letter-spacing: -.05em; }
.ais-onboarding-welcome > p:last-child { max-width: 650px; margin: 0 auto; color: var(--ais-text); }
.ais-onboarding-create { max-width: 870px; margin: 0 auto; }
.ais-progress-ring { display: grid; place-items: center; flex: 0 0 104px; width: 104px; height: 104px; border-radius: 50%; background: conic-gradient(var(--ais-primary) calc(var(--progress) * 1%), #e5eaf2 0); position: relative; }
.ais-progress-ring::before { content: ''; position: absolute; inset: 8px; border-radius: 50%; background: var(--ais-soft); }
.ais-progress-ring strong,
.ais-progress-ring span { position: relative; z-index: 1; }
.ais-progress-ring strong { font-size: 21px; line-height: 1; }
.ais-progress-ring span { color: var(--ais-muted); font-size: 8px; }
.ais-onboarding-steps { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-bottom: 22px; }
.ais-onboarding-step { display: flex; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid var(--ais-line); border-radius: 13px; color: var(--ais-muted); background: #fff; font-size: 9px; }
.ais-onboarding-step > span { display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 26px; border-radius: 9px; background: var(--ais-soft); font-weight: 900; }
.ais-onboarding-step .ais-icon { width: 15px; height: 15px; }
.ais-onboarding-step.is-done { color: var(--ais-success); border-color: #d2eade; background: #f6fcf9; }
.ais-onboarding-step.is-done > span { color: #fff; background: var(--ais-success); }
.ais-onboarding-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 17px; }
.ais-onboarding-card { display: grid; align-content: space-between; min-height: 190px; }
.ais-onboarding-card__head { display: flex; align-items: flex-start; gap: 12px; position: relative; }
.ais-onboarding-card__head h3 { margin: 0; color: var(--ais-ink); font-size: 14px; }
.ais-onboarding-card__head p { margin: 4px 0 20px; color: var(--ais-muted); font-size: 10px; }
.ais-onboarding-card__head em { position: absolute; top: -4px; right: -4px; display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #fff; background: var(--ais-success); }
.ais-onboarding-card__head em .ais-icon { width: 15px; height: 15px; }
.ais-onboarding-finish { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 18px; background: linear-gradient(135deg, #fff, #f6f9ff); }
.ais-onboarding-finish h3 { margin: 0 0 5px; color: var(--ais-ink); font-size: 18px; }
.ais-onboarding-finish p:not(.ais-eyebrow) { margin: 0; color: var(--ais-text); font-size: 11px; }
.ais-onboarding-finish form { display: grid; justify-items: end; }

/* Login */
.ais-login-shell { display: grid; grid-template-columns: minmax(360px,1.1fr) minmax(420px,.9fr); min-height: 100vh; background: #f4f7fc; }
.ais-login-shell--single { grid-template-columns: 1fr; place-items: center; padding: 24px; }
.ais-login-shell--single .ais-login-card { width: min(560px, 100%); }
.ais-login-visual { position: relative; display: grid; align-content: center; overflow: hidden; padding: clamp(45px,8vw,120px); color: #fff; background: linear-gradient(145deg, #0e1e3e, #163f8f 60%, #118f88); }
.ais-login-visual::before,
.ais-login-visual::after { content: ''; position: absolute; border-radius: 50%; background: rgba(255,255,255,.06); }
.ais-login-visual::before { width: 520px; height: 520px; right: -220px; top: -180px; }
.ais-login-visual::after { width: 340px; height: 340px; left: -160px; bottom: -120px; }
.ais-login-visual__mark { position: relative; z-index: 1; display: grid; place-items: center; width: 67px; height: 67px; margin-bottom: 25px; border: 1px solid rgba(255,255,255,.25); border-radius: 22px 22px 22px 7px; background: rgba(255,255,255,.12); backdrop-filter: blur(8px); }
.ais-login-visual__mark .ais-icon { width: 31px; height: 31px; }
.ais-login-visual .ais-eyebrow { position: relative; z-index: 1; color: #80e2dc; }
.ais-login-visual h1 { position: relative; z-index: 1; max-width: 700px; margin: 0 0 20px; color: #fff; font-size: clamp(40px,5.5vw,76px); line-height: .99; letter-spacing: -.06em; }
.ais-login-visual > p:last-child { position: relative; z-index: 1; max-width: 620px; margin: 0; color: rgba(255,255,255,.73); font-size: 15px; }
.ais-login-card { align-self: center; width: min(470px, calc(100% - 56px)); margin: 40px auto; padding: 39px; border: 1px solid #e0e6f0; border-radius: 24px; background: #fff; box-shadow: 0 25px 70px rgba(30,54,99,.12); }
.ais-brand--login { margin-bottom: 37px; color: var(--ais-ink); font-size: 19px; }
.ais-login-card h1,
.ais-login-card h2 { margin: 0 0 8px; color: var(--ais-ink); font-size: 30px; letter-spacing: -.045em; }
.ais-login-card .ais-muted { margin: 0 0 25px; font-size: 12px; }
.ais-login-error { margin: 0 0 16px; padding: 11px 12px; border: 1px solid #efc9ce; border-radius: 11px; color: #9f2635; background: #fff3f4; font-size: 10px; font-weight: 700; }
.ais-login-card form { display: grid; gap: 14px; }
.ais-login-card form > p { margin: 0; }
.ais-login-card label { display: grid; gap: 7px; color: var(--ais-ink); font-size: 10px; font-weight: 800; }
.ais-login-card input[type="text"],
.ais-login-card input[type="password"] { width: 100%; height: 48px; padding: 0 13px; border: 1px solid #dce3ed; border-radius: 12px; outline: 0; color: var(--ais-ink); background: #fbfcfe; }
.ais-login-card input:focus { border-color: var(--ais-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ais-primary) 8%, transparent); }
.ais-login-card .login-remember label { display: flex; align-items: center; gap: 7px; color: var(--ais-text); font-size: 10px; }
.ais-login-card input[type="checkbox"] { accent-color: var(--ais-primary); }
.ais-login-card .login-submit input { width: 100%; min-height: 48px; border: 0; border-radius: 13px; color: #fff; background: linear-gradient(135deg, var(--ais-primary), var(--ais-accent)); cursor: pointer; font-weight: 800; box-shadow: 0 12px 28px rgba(20,87,217,.22); }
.ais-login-card__footer { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--ais-line); text-align: center; }
.ais-login-card__footer a { color: var(--ais-primary); font-size: 10px; font-weight: 800; }


/* Accessibility and legibility */
.ais-app,
.ais-login-shell { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.ais-app :is(a, button, input, select, textarea, summary):focus-visible,
.ais-login-shell :is(a, button, input, select, textarea):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--ais-primary) 34%, transparent);
	outline-offset: 3px;
}
.ais-org-summary span,
.ais-user-mini span,
.ais-topbar__eyebrow,
.ais-eyebrow,
.ais-org-switcher--sidebar label,
.ais-stat-card span,
.ais-stat-card a,
.ais-stat-card small,
.ais-timeline small,
.ais-compact-list span,
.ais-roadmap-grid article > span,
.ais-chip,
.ais-form-section__heading p,
.ais-field > span,
.ais-field small,
.ais-form-actions > span,
.ais-checkbox-grid label,
.ais-inline-check,
.ais-department-card footer,
.ais-member-card__identity span,
.ais-member-card__meta small,
.ais-status,
.ais-notification small,
.ais-dot-label,
.ais-table th,
.ais-profile-card__org span,
.ais-profile-card__org small,
.ais-progress-ring span,
.ais-onboarding-step,
.ais-login-error,
.ais-login-card label,
.ais-login-card .login-remember label,
.ais-login-card__footer a { font-size: 11px; }
.ais-timeline p,
.ais-compact-list strong,
.ais-roadmap-grid p,
.ais-department-card p,
.ais-notification p,
.ais-profile-card > p,
.ais-onboarding-card__head p,
.ais-onboarding-finish p:not(.ais-eyebrow) { font-size: 12px; }
.ais-table { font-size: 12px; }
.ais-button { min-height: 44px; }
.ais-icon-button { min-width: 40px; min-height: 40px; }

/* Responsive */
@media (max-width: 1180px) {
	.ais-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ais-roadmap-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ais-layout-with-aside { grid-template-columns: minmax(0,1.2fr) minmax(290px,.8fr); }
}

@media (max-width: 980px) {
	.ais-sidebar { transform: translateX(-105%); transition: transform .25s ease; }
	.ais-app.is-nav-open .ais-sidebar { transform: translateX(0); }
	.ais-app.is-nav-open .ais-mobile-overlay { display: block; position: fixed; inset: 0; z-index: 1001; background: rgba(5,15,35,.58); backdrop-filter: blur(3px); }
	.ais-sidebar__close,
	.ais-menu-button { display: inline-grid !important; }
	.ais-main { width: 100%; margin-left: 0; }
	.ais-topbar { padding-inline: 22px; }
	.ais-content { padding: 27px 22px; }
	.ais-two-column,
	.ais-profile-layout { grid-template-columns: 1fr; }
	.ais-layout-with-aside { grid-template-columns: 1fr; }
	.ais-sticky-panel { position: static; }
	.ais-login-shell { grid-template-columns: 1fr; }
	.ais-login-visual { display: none; }
	.ais-login-card { width: min(480px, calc(100% - 32px)); }
}

@media (max-width: 720px) {
	.ais-topbar { min-height: 74px; padding: 12px 15px; }
	.ais-topbar__eyebrow { display: none; }
	.ais-topbar h1 { font-size: 19px; }
	.ais-topbar__actions { gap: 8px; }
	.ais-topbar .ais-org-switcher { display: none; }
	.ais-org-switcher--sidebar { display: block; }
	.ais-avatar--top { display: none; }
	.ais-content { padding: 22px 14px 38px; }
	.ais-page-intro { align-items: flex-start; flex-direction: column; margin-bottom: 20px; }
	.ais-page-intro h2 { font-size: 28px; }
	.ais-page-intro > .ais-button,
	.ais-page-intro > form { width: 100%; }
	.ais-page-intro > form .ais-button { width: 100%; }
	.ais-stat-grid,
	.ais-roadmap-grid,
	.ais-onboarding-grid,
	.ais-onboarding-steps,
	.ais-department-grid { grid-template-columns: 1fr; }
	.ais-panel { padding: 18px; border-radius: 16px; }
	.ais-onboarding-banner { align-items: flex-start; flex-wrap: wrap; }
	.ais-onboarding-banner .ais-button { width: 100%; }
	.ais-two-column { gap: 15px; }
	.ais-form-grid { grid-template-columns: 1fr; }
	.ais-field--wide { grid-column: auto; }
	.ais-form-actions { align-items: stretch; flex-direction: column; }
	.ais-form-actions .ais-button { width: 100%; }
	.ais-member-card summary { grid-template-columns: 42px minmax(0,1fr) 24px; }
	.ais-member-card__meta { grid-column: 2 / -1; justify-content: flex-start; flex-wrap: wrap; }
	.ais-member-card__chevron { grid-column: 3; grid-row: 1; }
	.ais-notification { grid-template-columns: 42px minmax(0,1fr); }
	.ais-notification__actions { grid-column: 2; justify-content: flex-start; }
	.ais-notification.is-unread::before { left: -18px; }
	.ais-onboarding-finish { align-items: stretch; flex-direction: column; }
	.ais-onboarding-finish form { justify-items: stretch; }
	.ais-progress-ring { width: 88px; height: 88px; flex-basis: 88px; }
	.ais-login-card { margin: 20px auto; padding: 27px 22px; }
}

@media (max-width: 440px) {
	.ais-stat-grid { grid-template-columns: 1fr; }
	.ais-topbar__actions .ais-notification-button { width: 37px; height: 37px; }
	.ais-page-intro h2 { font-size: 25px; }
	.ais-onboarding-welcome h2 { font-size: 33px; }
}

@media (prefers-reduced-motion: reduce) {
	.ais-app *, .ais-login-shell * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Release 0.2.1 · Readiness & Registry + OneSite visibility */
.ais-page-intro__actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.ais-button--danger { color: var(--ais-danger) !important; border-color: #efc8ce; background: #fff5f6; }
.ais-button--danger:hover { border-color: var(--ais-danger); background: #fff0f2; }
.ais-chip--warning { color: #83520c; background: #fff3d9; }
.ais-chip--success { color: var(--ais-success); background: #eaf8f2; }
.ais-stat-card--alert { border-color: #f0c8cd; background: linear-gradient(145deg, #fff, #fff5f6); }
.ais-stat-card--alert .ais-stat-card__icon { color: var(--ais-danger); background: #fff0f2; }
.ais-stat-card strong small { display: inline; margin-left: 2px; font-size: 12px; font-weight: 750; letter-spacing: 0; }
.ais-roadmap-grid article.is-complete { border-color: #cde7da; background: linear-gradient(145deg, #fff, #effaf5); }
.ais-roadmap-grid article.is-complete > span { width: 36px; color: #fff; background: var(--ais-success); }
.ais-roadmap-grid article.is-complete > span .ais-icon { width: 15px; height: 15px; }

/* Dashboard 0.2 */
.ais-stat-grid--dashboard { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ais-dashboard-main-grid { grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); }
.ais-priority-list { display: grid; gap: 10px; }
.ais-priority-item { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 12px; width: 100%; margin: 0; padding: 13px; border: 1px solid var(--ais-line); border-radius: 14px; color: inherit; background: #fbfcfe; text-align: left; }
.ais-priority-item > span:first-child { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 8%, white); }
.ais-priority-item > span:first-child .ais-icon { width: 20px; height: 20px; }
.ais-priority-item > .ais-icon { width: 18px; height: 18px; color: var(--ais-primary); }
.ais-priority-item strong { display: block; color: var(--ais-ink); font-size: 13px; }
.ais-priority-item p { margin: 2px 0 0; color: var(--ais-muted); font-size: 12px; }
.ais-priority-item--warning { border-color: #ecd7b6; background: #fffbf2; }
.ais-priority-item--warning > span:first-child { color: var(--ais-warning); background: #fff1d6; }
.ais-priority-item--danger { border-color: #efc8ce; background: #fff7f8; }
.ais-priority-item--danger > span:first-child { color: var(--ais-danger); background: #fff0f2; }
.ais-priority-item button.ais-icon-button { justify-self: end; }
.ais-empty-state--compact { min-height: 180px; align-content: center; padding: 20px 10px; }
.ais-dashboard-tool-list { display: grid; gap: 8px; }
.ais-dashboard-tool-list > a { display: grid; grid-template-columns: 39px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 10px; border: 1px solid #edf0f5; border-radius: 13px; transition: .2s ease; }
.ais-dashboard-tool-list > a:hover { border-color: color-mix(in srgb, var(--ais-primary) 22%, var(--ais-line)); background: color-mix(in srgb, var(--ais-primary) 3%, white); transform: translateY(-1px); }
.ais-dashboard-tool-list__icon { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 12px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 8%, white); }
.ais-dashboard-tool-list__icon .ais-icon { width: 19px; height: 19px; }
.ais-dashboard-tool-list strong,
.ais-dashboard-tool-list small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ais-dashboard-tool-list strong { color: var(--ais-ink); font-size: 12px; }
.ais-dashboard-tool-list small { color: var(--ais-muted); font-size: 11px; }

/* Statuses, attention and review indicators */
.ais-status--draft,
.ais-status--reported,
.ais-status--to_evaluate { color: #7b5a12; background: #fff4dc; }
.ais-status--in_review { color: #315f9f; background: #edf4ff; }
.ais-status--authorized,
.ais-status--completed { color: var(--ais-success); background: #eaf8f2; }
.ais-status--authorized_conditions { color: #755815; background: #fff2cf; }
.ais-status--suspended,
.ais-status--prohibited { color: var(--ais-danger); background: #fff0f2; }
.ais-status--retired { color: #5d6675; background: #eef1f5; }
.ais-attention { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.ais-attention--low { color: var(--ais-success); background: #eaf8f2; }
.ais-attention--moderate { color: #315f9f; background: #edf4ff; }
.ais-attention--elevated { color: #83520c; background: #fff4dc; }
.ais-attention--high { color: var(--ais-danger); background: #fff0f2; }
.ais-review-state { display: inline-flex; align-items: center; gap: 6px; color: var(--ais-muted); font-size: 11px; font-weight: 750; }
.ais-review-state::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #9aa5b5; }
.ais-review-state--planned::before { background: var(--ais-success); }
.ais-review-state--due { color: #83520c; }
.ais-review-state--due::before { background: var(--ais-warning); }
.ais-review-state--overdue { color: var(--ais-danger); }
.ais-review-state--overdue::before { background: var(--ais-danger); }

/* AI Sanità Readiness */
.ais-page-intro--questionnaire { align-items: center; }
.ais-readiness-progress-card { display: grid; grid-template-columns: minmax(220px,.42fr) minmax(300px,1fr); align-items: center; gap: 24px; margin-bottom: 18px; padding: 16px 19px; border: 1px solid var(--ais-line); border-radius: 15px; background: #fff; box-shadow: 0 10px 28px rgba(36,57,99,.05); }
.ais-readiness-progress-card strong,
.ais-readiness-progress-card span { display: block; }
.ais-readiness-progress-card strong { color: var(--ais-ink); font-size: 13px; }
.ais-readiness-progress-card span { margin-top: 2px; color: var(--ais-muted); font-size: 11px; }
.ais-readiness-progress-card .ais-progress { height: 8px; background: #e8edf5; }
.ais-readiness-progress-card .ais-progress span { margin: 0; background: linear-gradient(90deg, var(--ais-primary), var(--ais-accent)); }
.ais-readiness-stepper { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 8px; margin-bottom: 17px; }
.ais-readiness-stepper button { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 52px; padding: 8px 10px; border: 1px solid var(--ais-line); border-radius: 12px; color: var(--ais-muted); background: #fff; cursor: pointer; text-align: left; transition: .2s ease; }
.ais-readiness-stepper button:hover,
.ais-readiness-stepper button.is-active { color: var(--ais-primary); border-color: color-mix(in srgb, var(--ais-primary) 30%, var(--ais-line)); background: color-mix(in srgb, var(--ais-primary) 5%, white); }
.ais-readiness-stepper button.is-complete { color: var(--ais-success); border-color: #d2eade; background: #f6fcf9; }
.ais-readiness-stepper button > span { display: grid; place-items: center; flex: 0 0 27px; width: 27px; height: 27px; border-radius: 9px; color: inherit; background: currentColor; font-size: 0; }
.ais-readiness-stepper button > span { font-size: 10px; font-weight: 900; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 10%, white); }
.ais-readiness-stepper button.is-complete > span { color: #fff; background: var(--ais-success); }
.ais-readiness-stepper strong { min-width: 0; overflow: hidden; color: inherit; font-size: 11px; line-height: 1.2; text-overflow: ellipsis; }
.ais-readiness-step { display: none; }
.ais-readiness-step.is-active { display: block; }
.ais-readiness-step__header { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--ais-line); }
.ais-readiness-step__number { display: grid; place-items: center; flex: 0 0 52px; width: 52px; height: 52px; border-radius: 16px 16px 16px 6px; color: #fff; background: linear-gradient(145deg, var(--ais-primary), var(--ais-accent)); font-size: 15px; font-weight: 900; }
.ais-readiness-step__header h3 { margin: 0 0 5px; color: var(--ais-ink); font-size: 23px; letter-spacing: -.035em; }
.ais-readiness-step__header p:not(.ais-eyebrow) { margin: 0; color: var(--ais-muted); font-size: 12px; }
.ais-readiness-question-list { display: grid; gap: 16px; }
.ais-readiness-question { margin: 0; padding: 18px; border: 1px solid #e3e8f0; border-radius: 15px; background: #fbfcfe; }
.ais-readiness-question.has-error { border-color: #d84a58; background: #fff7f8; box-shadow: 0 0 0 3px rgba(216,74,88,.08); }
.ais-readiness-question.has-error legend { color: #a92536; }
.ais-readiness-question legend { width: 100%; padding: 0; color: var(--ais-ink); font-size: 15px; font-weight: 800; line-height: 1.35; }
.ais-readiness-question > p { margin: 5px 0 14px; color: var(--ais-muted); font-size: 12px; }
.ais-readiness-options { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 8px; }
.ais-readiness-option { position: relative; display: grid; grid-template-columns: 31px minmax(0,1fr); align-items: start; gap: 8px; min-width: 0; padding: 11px; border: 1px solid #dfe5ee; border-radius: 12px; background: #fff; cursor: pointer; transition: .18s ease; }
.ais-readiness-option:hover { border-color: color-mix(in srgb, var(--ais-primary) 32%, var(--ais-line)); }
.ais-readiness-option:has(input:checked) { border-color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 5%, white); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ais-primary) 8%, transparent); }
.ais-readiness-option input { position: absolute; opacity: 0; pointer-events: none; }
.ais-readiness-option:has(input:focus-visible) { outline: 3px solid color-mix(in srgb, var(--ais-primary) 34%, transparent); outline-offset: 2px; }
.ais-readiness-option__score { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 8%, white); font-size: 12px; font-weight: 900; }
.ais-readiness-option:has(input:checked) .ais-readiness-option__score { color: #fff; background: var(--ais-primary); }
.ais-readiness-option strong,
.ais-readiness-option small { display: block; }
.ais-readiness-option strong { color: var(--ais-ink); font-size: 11px; line-height: 1.25; }
.ais-readiness-option small { margin-top: 3px; color: var(--ais-muted); font-size: 10px; line-height: 1.3; }
.ais-readiness-step__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--ais-line); }
.ais-readiness-step__actions button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.ais-readiness-submit { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 18px; background: linear-gradient(145deg, #fff, #f7faff); }
.ais-readiness-submit strong { color: var(--ais-ink); font-size: 15px; }
.ais-readiness-submit p { margin: 4px 0 0; color: var(--ais-muted); font-size: 12px; }
.ais-readiness-submit__actions,
.ais-readiness-hero__actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; }
.ais-empty-state--readiness { min-height: 340px; align-content: center; }
.ais-empty-state--readiness > span { width: 68px; height: 68px; border-radius: 21px; }
.ais-empty-state--readiness > span .ais-icon { width: 32px; height: 32px; }
.ais-empty-state--readiness h3 { margin: 0 0 8px; font-size: 23px; }
.ais-empty-state--readiness p { max-width: 620px; margin-bottom: 18px; }
.ais-readiness-hero { display: grid; grid-template-columns: 170px minmax(0,1fr); align-items: center; gap: 28px; margin-bottom: 18px; padding: 30px; border-radius: 24px; color: #fff; background: radial-gradient(circle at 95% 10%, rgba(255,255,255,.15), transparent 28%), linear-gradient(135deg, #10264f, var(--ais-primary) 58%, #118f88); box-shadow: 0 22px 55px rgba(20,87,217,.22); }
.ais-readiness-hero.is-draft { background: linear-gradient(135deg, #2f3d57, #53627b); }
.ais-score-ring { position: relative; display: grid; place-items: center; width: 150px; height: 150px; border-radius: 50%; background: conic-gradient(#fff calc(var(--ais-score) * 1%), rgba(255,255,255,.22) 0); }
.ais-score-ring::before { content: ''; position: absolute; inset: 10px; border-radius: 50%; background: color-mix(in srgb, var(--ais-primary) 78%, #0b1730); }
.ais-readiness-hero.is-draft .ais-score-ring::before { background: #3c4a63; }
.ais-score-ring > div { position: relative; z-index: 1; text-align: center; }
.ais-score-ring strong,
.ais-score-ring span { display: block; color: #fff; }
.ais-score-ring strong { font-size: 36px; line-height: 1; letter-spacing: -.05em; }
.ais-score-ring span { margin-top: 3px; font-size: 11px; opacity: .75; }
.ais-readiness-hero__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.ais-readiness-hero__meta > span:last-child { color: rgba(255,255,255,.75); font-size: 11px; }
.ais-readiness-hero .ais-eyebrow { color: #85e6de; }
.ais-readiness-hero h3 { margin: 0 0 8px; color: #fff; font-size: clamp(27px,3vw,42px); line-height: 1.05; letter-spacing: -.05em; }
.ais-readiness-hero__body > p:not(.ais-eyebrow) { max-width: 780px; margin: 0 0 19px; color: rgba(255,255,255,.78); font-size: 13px; }
.ais-readiness-disclaimer { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; padding: 17px 19px; box-shadow: none; background: #f7f9fc; }
.ais-readiness-disclaimer > span { display: grid; place-items: center; flex: 0 0 39px; width: 39px; height: 39px; border-radius: 12px; color: var(--ais-primary); background: #fff; }
.ais-readiness-disclaimer strong { display: block; color: var(--ais-ink); font-size: 13px; }
.ais-readiness-disclaimer p { margin: 3px 0 0; color: var(--ais-muted); font-size: 11px; }
.ais-readiness-area-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.ais-readiness-area-card { padding: 18px; box-shadow: 0 10px 28px rgba(36,57,99,.05); }
.ais-readiness-area-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.ais-readiness-area-card__head strong,
.ais-readiness-area-card__head span { display: block; }
.ais-readiness-area-card__head strong { color: var(--ais-ink); font-size: 13px; }
.ais-readiness-area-card__head span { margin-top: 3px; color: var(--ais-muted); font-size: 10px; }
.ais-readiness-area-card__head b { color: var(--ais-primary); font-size: 24px; line-height: 1; }
.ais-readiness-area-card .ais-progress { height: 6px; margin: 13px 0; background: #e8edf5; }
.ais-readiness-area-card .ais-progress span { background: linear-gradient(90deg, var(--ais-primary), var(--ais-accent)); }
.ais-readiness-area-card > p { margin: 0; color: var(--ais-text); font-size: 11px; }
.ais-readiness-insights { align-items: stretch; }
.ais-action-list,
.ais-strength-list { display: grid; gap: 10px; }
.ais-action-list article,
.ais-strength-list article { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: start; gap: 11px; padding: 12px; border: 1px solid var(--ais-line); border-radius: 13px; background: #fbfcfe; }
.ais-action-list article > span,
.ais-strength-list article > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; font-size: 12px; font-weight: 900; }
.ais-action-list article > span { color: #83520c; background: #fff1d6; }
.ais-strength-list article > span { color: var(--ais-success); background: #eaf8f2; }
.ais-strength-list article > span .ais-icon { width: 19px; height: 19px; }
.ais-action-list strong,
.ais-strength-list strong { color: var(--ais-ink); font-size: 12px; }
.ais-action-list p,
.ais-strength-list p { margin: 3px 0 0; color: var(--ais-muted); font-size: 11px; }
.ais-readiness-history { margin-top: 22px; }
.ais-readiness-history .ais-table td:first-child a { color: var(--ais-primary); font-weight: 800; }

/* AI tool registry */
.ais-stat-grid--tools { margin-bottom: 18px; }
.ais-tool-form { margin-bottom: 22px; }
.ais-checkbox-grid--cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; padding: 10px; }
.ais-checkbox-grid--cards label { justify-content: flex-start; border-radius: 10px; }
.ais-inline-note { display: flex; align-items: flex-start; gap: 9px; margin-top: 10px; padding: 10px 12px; border-radius: 11px; color: var(--ais-muted); background: var(--ais-soft); font-size: 11px; }
.ais-inline-note .ais-icon { width: 17px; height: 17px; color: var(--ais-primary); }
.ais-tool-detail-hero { display: grid; grid-template-columns: 68px minmax(0,1fr) auto; align-items: center; gap: 18px; margin-bottom: 18px; padding: 24px; border-radius: 20px; color: #fff; background: radial-gradient(circle at 95% 10%, rgba(255,255,255,.14), transparent 30%), linear-gradient(135deg, #10264f, var(--ais-primary) 65%, #118f88); box-shadow: 0 18px 46px rgba(20,87,217,.18); }
.ais-tool-detail-hero__mark { display: grid; place-items: center; width: 68px; height: 68px; border: 1px solid rgba(255,255,255,.22); border-radius: 21px 21px 21px 7px; background: rgba(255,255,255,.12); }
.ais-tool-detail-hero__mark .ais-icon { width: 31px; height: 31px; }
.ais-tool-detail-hero__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 7px; }
.ais-tool-detail-hero h2 { margin: 0 0 5px; color: #fff; font-size: clamp(26px,3vw,39px); line-height: 1.05; letter-spacing: -.05em; }
.ais-tool-detail-hero__body > p { margin: 0; color: rgba(255,255,255,.76); font-size: 12px; }
.ais-tool-detail-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); align-items: start; gap: 20px; }
.ais-detail-copy { margin: 0; color: var(--ais-text); font-size: 13px; white-space: pre-line; }
.ais-detail-list { display: grid; margin: 0; }
.ais-detail-list > div { display: grid; grid-template-columns: minmax(135px,.42fr) minmax(0,.58fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--ais-line); }
.ais-detail-list > div:first-child { padding-top: 0; }
.ais-detail-list > div:last-child { border-bottom: 0; padding-bottom: 0; }
.ais-detail-list dt { color: var(--ais-muted); font-size: 11px; font-weight: 750; }
.ais-detail-list dd { margin: 0; color: var(--ais-ink); font-size: 12px; font-weight: 650; text-align: right; }
.ais-detail-list dd a { color: var(--ais-primary); }
.ais-tool-version-panel { margin-top: 18px; }
.ais-tool-version-list { display: grid; gap: 9px; }
.ais-tool-version-list details { overflow: hidden; border: 1px solid var(--ais-line); border-radius: 14px; background: #fbfcfe; }
.ais-tool-version-list summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; cursor: pointer; list-style: none; }
.ais-tool-version-list summary::-webkit-details-marker { display: none; }
.ais-tool-version-list summary > span:first-child { display: grid; gap: 3px; }
.ais-tool-version-list summary strong { color: var(--ais-ink); font-size: 13px; }
.ais-tool-version-list summary small { color: var(--ais-muted); font-size: 10px; }
.ais-tool-version-list__body { padding: 0 16px 16px; border-top: 1px solid var(--ais-line); }
.ais-tool-version-list__body > p { margin: 13px 0; color: var(--ais-muted); font-size: 12px; }
.ais-tool-version-list__body dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; }
.ais-tool-version-list__body dl > div { padding: 11px; border-radius: 11px; background: #fff; }
.ais-tool-version-list__body dt { color: var(--ais-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.ais-tool-version-list__body dd { margin: 4px 0 0; color: var(--ais-ink); font-size: 12px; font-weight: 750; }
.ais-tool-actions-panel { margin-top: 20px; }
.ais-tool-actions-panel form + form { margin-top: 9px; }
.ais-archive-form { padding-top: 13px; border-top: 1px solid var(--ais-line); }
.ais-tool-resources { margin-top: 20px; }
.ais-resource-links { display: grid; gap: 9px; }
.ais-resource-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; border: 1px solid var(--ais-line); border-radius: 12px; color: var(--ais-primary); font-size: 12px; font-weight: 750; }
.ais-resource-links a .ais-icon { width: 17px; height: 17px; }
.ais-tool-filters { display: grid; grid-template-columns: minmax(240px,1.4fr) repeat(3,minmax(150px,.7fr)) auto; align-items: end; gap: 12px; margin-bottom: 18px; padding: 17px; box-shadow: 0 10px 28px rgba(36,57,99,.05); }
.ais-tool-filter-actions { display: flex; align-items: center; gap: 5px; padding-bottom: 1px; }
.ais-tool-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.ais-tool-card { display: flex; flex-direction: column; min-width: 0; min-height: 330px; overflow: hidden; border: 1px solid var(--ais-line); border-radius: 18px; background: #fff; box-shadow: 0 13px 35px rgba(36,57,99,.06); }
.ais-tool-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 17px 17px 0; }
.ais-tool-card__icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 14px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 8%, white); }
.ais-tool-badges { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.ais-tool-card__body { padding: 15px 17px 13px; }
.ais-tool-card__body h3 { margin: 0 0 4px; color: var(--ais-ink); font-size: 19px; line-height: 1.15; letter-spacing: -.03em; }
.ais-tool-card__body > span { display: block; color: var(--ais-muted); font-size: 11px; }
.ais-tool-card__body > p:last-child { margin: 13px 0 0; color: var(--ais-text); font-size: 12px; }
.ais-tool-card__scope { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 14px; margin-top: auto; padding: 12px 17px; border-top: 1px solid #edf0f5; color: var(--ais-muted); background: #fbfcfe; }
.ais-tool-card__scope span { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; }
.ais-tool-card__scope .ais-icon { width: 15px; height: 15px; color: var(--ais-primary); }
.ais-tool-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px 10px 17px; border-top: 1px solid #edf0f5; }
.ais-tool-card footer .ais-button { flex: 0 0 auto; }
.ais-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.ais-pagination a { display: grid; place-items: center; min-width: 39px; height: 39px; padding: 0 10px; border: 1px solid var(--ais-line); border-radius: 11px; color: var(--ais-text); background: #fff; font-size: 12px; font-weight: 800; }
.ais-pagination a.is-current { color: #fff; border-color: var(--ais-primary); background: var(--ais-primary); }

@media (max-width: 1280px) {
	.ais-readiness-options { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ais-readiness-option:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.ais-tool-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ais-tool-filters { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ais-tool-filter-search { grid-column: 1 / -1; }
	.ais-tool-filter-actions { justify-content: flex-end; }
}

@media (max-width: 980px) {
	.ais-stat-grid--dashboard { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ais-dashboard-main-grid,
	.ais-tool-detail-grid { grid-template-columns: 1fr; }
	.ais-readiness-stepper { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ais-readiness-hero { grid-template-columns: 135px minmax(0,1fr); }
	.ais-score-ring { width: 125px; height: 125px; }
	.ais-tool-detail-hero { grid-template-columns: 60px minmax(0,1fr); }
	.ais-tool-detail-hero > .ais-button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 720px) {
	.ais-page-intro__actions { width: 100%; justify-content: stretch; }
	.ais-page-intro__actions .ais-button { flex: 1 1 100%; }
	.ais-stat-grid--dashboard,
	.ais-readiness-area-grid,
	.ais-tool-grid,
	.ais-checkbox-grid--cards { grid-template-columns: 1fr; }
	.ais-readiness-progress-card { grid-template-columns: 1fr; gap: 12px; }
	.ais-readiness-stepper { grid-template-columns: 1fr; }
	.ais-readiness-stepper button { min-height: 46px; }
	.ais-readiness-options { grid-template-columns: 1fr; }
	.ais-readiness-option:last-child:nth-child(odd) { grid-column: auto; }
	.ais-readiness-step__header { align-items: center; }
	.ais-readiness-step__number { flex-basis: 44px; width: 44px; height: 44px; }
	.ais-readiness-step__header h3 { font-size: 20px; }
	.ais-readiness-submit,
	.ais-readiness-hero { grid-template-columns: 1fr; justify-items: stretch; }
	.ais-readiness-submit { align-items: stretch; flex-direction: column; }
	.ais-readiness-submit__actions,
	.ais-readiness-hero__actions { justify-content: stretch; }
	.ais-readiness-submit__actions .ais-button,
	.ais-readiness-hero__actions .ais-button { width: 100%; }
	.ais-score-ring { width: 118px; height: 118px; }
	.ais-readiness-hero { padding: 22px; }
	.ais-tool-detail-hero { grid-template-columns: 50px minmax(0,1fr); padding: 19px; }
	.ais-tool-detail-hero__mark { width: 50px; height: 50px; border-radius: 16px; }
	.ais-tool-detail-hero__mark .ais-icon { width: 24px; height: 24px; }
	.ais-tool-version-list__body dl { grid-template-columns: 1fr; }
	.ais-tool-filters { grid-template-columns: 1fr; }
	.ais-tool-filter-search { grid-column: auto; }
	.ais-tool-filter-actions { justify-content: stretch; flex-wrap: wrap; }
	.ais-tool-filter-actions .ais-button { flex: 1 1 100%; }
	.ais-priority-item { grid-template-columns: 39px minmax(0,1fr) auto; }
	.ais-dashboard-tool-list > a { grid-template-columns: 39px minmax(0,1fr); }
	.ais-dashboard-tool-list .ais-status { grid-column: 2; width: fit-content; }
	.ais-tool-card footer { align-items: flex-start; flex-direction: column; }
	.ais-tool-card footer .ais-button { align-self: flex-end; }
	.ais-detail-list > div { grid-template-columns: 1fr; gap: 4px; }
	.ais-detail-list dd { text-align: left; }
}

@media print {
	.ais-sidebar,
	.ais-topbar,
	.ais-page-intro,
	.ais-alert,
	.ais-readiness-hero__actions,
	.ais-readiness-history,
	.ais-panel--roadmap { display: none !important; }
	.ais-app,
	.ais-main,
	.ais-content { display: block !important; width: 100% !important; min-height: auto !important; margin: 0 !important; padding: 0 !important; background: #fff !important; }
	.ais-readiness-hero { color: #111 !important; background: #fff !important; box-shadow: none !important; border: 1px solid #ddd !important; }
	.ais-readiness-hero h3,
	.ais-readiness-hero p,
	.ais-readiness-hero span,
	.ais-score-ring strong,
	.ais-score-ring span { color: #111 !important; }
	.ais-score-ring { background: #fff !important; border: 8px solid #ddd !important; }
	.ais-score-ring::before { background: #fff !important; }
	.ais-panel,
	.ais-readiness-area-card { break-inside: avoid; box-shadow: none !important; }
}

/* Release 0.2.2 · Platform & Membership Architecture */
.ais-app--platform .ais-brand__logo { background: linear-gradient(145deg, #1457d9, #6b52d9 58%, #13a89e); }
.ais-org-summary--platform { border-color: rgba(112,154,255,.28); background: linear-gradient(135deg, rgba(38,103,225,.22), rgba(88,67,191,.13)); }
.ais-org-summary--platform .ais-org-summary__avatar { background: linear-gradient(145deg, var(--ais-primary), #7158d9); box-shadow: 0 9px 22px rgba(20,87,217,.24); }
.ais-sidebar-context-back { margin: -3px 2px 14px; }
.ais-sidebar-context-back .ais-button { min-height: 39px; border-color: rgba(255,255,255,.13); color: #e8efff !important; background: rgba(255,255,255,.07); }
.ais-sidebar-context-back .ais-button:hover { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.12); }

.ais-context-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 20px; padding: 14px 17px; border: 1px solid #cddbf5; border-radius: 15px; color: #254f91; background: linear-gradient(135deg, #f3f7ff, #fbfdff); box-shadow: 0 8px 25px rgba(35,75,145,.05); }
.ais-context-banner > div { min-width: 0; }
.ais-context-banner strong { display: block; color: var(--ais-ink); font-size: 13px; }
.ais-context-banner span { display: block; margin-top: 2px; color: var(--ais-muted); font-size: 11px; }
.ais-context-banner.is-assistance { border-color: #c9e7dc; color: var(--ais-success); background: linear-gradient(135deg, #eefaf5, #fbfffd); }
.ais-context-banner.is-consultation { border-color: #cfdef7; }

.ais-button--small { min-height: 34px; padding: 7px 11px; border-radius: 10px; font-size: 11px; }
.ais-button--ghost { color: var(--ais-text) !important; border-color: var(--ais-line); background: #fff; }
.ais-button--ghost:hover { color: var(--ais-primary) !important; border-color: color-mix(in srgb, var(--ais-primary) 30%, var(--ais-line)); background: color-mix(in srgb, var(--ais-primary) 3%, white); }
.ais-card-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.ais-chip--platform { color: #4935a0; background: #f0edff; }

.ais-stat-grid--platform { grid-template-columns: repeat(4, minmax(0,1fr)); }
.ais-platform-list { display: grid; gap: 9px; }
.ais-platform-list > a,
.ais-platform-list > article { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid #edf0f5; border-radius: 14px; background: #fff; transition: .2s ease; }
.ais-platform-list > a:hover { border-color: color-mix(in srgb, var(--ais-primary) 25%, var(--ais-line)); background: color-mix(in srgb, var(--ais-primary) 3%, white); transform: translateY(-1px); }
.ais-platform-list__avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: #fff; background: linear-gradient(145deg, var(--ais-primary), var(--ais-accent)); font-size: 12px; font-weight: 850; }
.ais-platform-list strong,
.ais-platform-list small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ais-platform-list strong { color: var(--ais-ink); font-size: 13px; }
.ais-platform-list small,
.ais-platform-list > article > div:nth-child(2) > span { margin-top: 2px; color: var(--ais-muted); font-size: 11px; }

.ais-organization-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 17px; }
.ais-organization-card { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid var(--ais-line); border-radius: 18px; background: #fff; box-shadow: 0 9px 28px rgba(30,49,88,.045); }
.ais-organization-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.ais-organization-card h3 { margin: 0 0 4px; color: var(--ais-ink); font-size: 17px; line-height: 1.2; letter-spacing: -.025em; }
.ais-organization-card p { margin: 0; color: var(--ais-muted); font-size: 12px; }
.ais-organization-card__metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin: 18px 0; }
.ais-organization-card__metrics > span { padding: 10px; border-radius: 12px; background: var(--ais-soft); }
.ais-organization-card__metrics strong,
.ais-organization-card__metrics span { display: block; }
.ais-organization-card__metrics strong { color: var(--ais-ink); font-size: 17px; line-height: 1; }
.ais-organization-card__metrics span { margin-top: 4px; color: var(--ais-muted); font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.ais-organization-card .ais-card-actions { margin-top: auto; justify-content: flex-start; }

.ais-filter-bar { display: grid; grid-template-columns: minmax(180px,1.25fr) repeat(2,minmax(150px,.85fr)) auto; align-items: end; gap: 12px; margin: 0 0 18px; padding: 14px; border: 1px solid #e7ebf2; border-radius: 14px; background: #f9fbfe; }
.ais-filter-bar label { min-width: 0; }
.ais-filter-bar label > span { display: block; margin: 0 0 6px; color: var(--ais-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.ais-filter-bar input,
.ais-filter-bar select { width: 100%; min-height: 40px; border: 1px solid var(--ais-line); border-radius: 11px; color: var(--ais-ink); background: #fff; }
.ais-filter-bar .ais-button { min-height: 40px; }

.ais-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--ais-line); border-radius: 14px; background: #fff; }
.ais-data-table { width: 100%; min-width: 780px; border-collapse: collapse; }
.ais-data-table th,
.ais-data-table td { padding: 13px 14px; border-bottom: 1px solid #edf0f5; text-align: left; vertical-align: middle; }
.ais-data-table th { color: var(--ais-muted); background: #f8fafd; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .055em; }
.ais-data-table td { color: var(--ais-text); font-size: 12px; }
.ais-data-table tr:last-child td { border-bottom: 0; }
.ais-data-table tbody tr:hover { background: #fbfcff; }
.ais-data-table td strong,
.ais-data-table td small { display: block; }
.ais-data-table td strong { color: var(--ais-ink); font-size: 12px; }
.ais-data-table td small { margin-top: 3px; color: var(--ais-muted); font-size: 10px; }
.ais-data-table code { padding: 2px 5px; border-radius: 6px; color: #43506a; background: #f0f3f7; font-size: 10px; }

.ais-person-row { display: grid; grid-template-columns: 42px minmax(0,1fr) minmax(190px,.7fr) auto; align-items: center; gap: 13px; padding: 13px; border: 1px solid #edf0f5; border-radius: 14px; background: #fff; }
.ais-person-row + .ais-person-row { margin-top: 9px; }
.ais-person-row__identity,
.ais-person-row__scope { min-width: 0; }
.ais-person-row__identity strong,
.ais-person-row__identity span,
.ais-person-row__scope strong,
.ais-person-row__scope span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ais-person-row__identity strong { color: var(--ais-ink); font-size: 13px; }
.ais-person-row__identity span,
.ais-person-row__scope span { color: var(--ais-muted); font-size: 11px; }
.ais-person-row__scope strong { color: var(--ais-text); font-size: 12px; }

.ais-form-subsection { margin: 19px 0 12px; padding-top: 16px; border-top: 1px solid var(--ais-line); }
.ais-form-subsection h4 { margin: 0 0 5px; color: var(--ais-ink); font-size: 14px; }
.ais-form-subsection p { margin: 0; color: var(--ais-muted); font-size: 11px; }
.ais-membership-editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.ais-membership-editor { min-width: 0; padding: 17px; border: 1px solid var(--ais-line); border-radius: 16px; background: #fbfcfe; }
.ais-membership-editor--new { border-style: dashed; border-color: color-mix(in srgb, var(--ais-primary) 35%, var(--ais-line)); background: color-mix(in srgb, var(--ais-primary) 2%, white); }
.ais-membership-editor__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ais-membership-editor__header h4 { margin: 0 0 3px; color: var(--ais-ink); font-size: 15px; }
.ais-membership-editor__header p { margin: 0; color: var(--ais-muted); font-size: 11px; }
.ais-inline-warning,
.ais-inline-note { display: flex; align-items: flex-start; gap: 9px; margin: 13px 0; padding: 11px 12px; border-radius: 12px; font-size: 11px; line-height: 1.5; }
.ais-inline-warning { color: #7c4b03; border: 1px solid #efd9af; background: #fff9ec; }
.ais-inline-note { color: #315b8f; border: 1px solid #d7e3f5; background: #f5f9ff; }
.ais-inline-warning .ais-icon,
.ais-inline-note .ais-icon { width: 17px; height: 17px; margin-top: 1px; }

.ais-global-account-card { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 15px; align-items: start; padding: 19px; border: 1px solid #d9d4f4; border-radius: 17px; background: linear-gradient(135deg, #fbfaff, #f5f8ff); }
.ais-global-account-card__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; color: #fff; background: linear-gradient(145deg, var(--ais-primary), #7158d9); box-shadow: 0 10px 24px rgba(68,55,160,.18); }
.ais-global-account-card__icon .ais-icon { width: 25px; height: 25px; }
.ais-global-account-card h3 { margin: 0 0 6px; color: var(--ais-ink); font-size: 18px; }
.ais-global-account-card p { margin: 0; color: var(--ais-text); font-size: 12px; }

.ais-activity-list { display: grid; gap: 10px; }
.ais-activity-list > article,
.ais-activity-list > li { position: relative; display: grid; grid-template-columns: 11px minmax(0,1fr) auto; gap: 11px; align-items: start; margin: 0; padding: 12px 0; border-bottom: 1px solid #edf0f5; list-style: none; }
.ais-activity-list > article:last-child,
.ais-activity-list > li:last-child { border-bottom: 0; }
.ais-activity-list__dot { width: 9px; height: 9px; margin-top: 5px; border: 2px solid #fff; border-radius: 50%; background: var(--ais-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ais-primary) 12%, white); }
.ais-activity-list strong { display: block; color: var(--ais-ink); font-size: 12px; }
.ais-activity-list p { margin: 2px 0 0; color: var(--ais-muted); font-size: 11px; }
.ais-activity-list time { color: var(--ais-muted); font-size: 10px; white-space: nowrap; }

.ais-waiting-card { width: min(780px,100%); margin: 50px auto; padding: clamp(28px,5vw,58px); border: 1px solid #dce4f2; border-radius: 24px; background: radial-gradient(circle at 50% 0, #edf4ff, transparent 38%), #fff; box-shadow: var(--ais-shadow); text-align: center; }
.ais-waiting-card__icon { display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 17px; border-radius: 21px 21px 21px 7px; color: #fff; background: linear-gradient(145deg, var(--ais-primary), var(--ais-accent)); box-shadow: 0 13px 28px rgba(20,87,217,.2); }
.ais-waiting-card__icon .ais-icon { width: 30px; height: 30px; }
.ais-waiting-card h2 { margin: 0 0 12px; color: var(--ais-ink); font-size: clamp(27px,4vw,42px); line-height: 1.08; letter-spacing: -.045em; }
.ais-waiting-card > p:not(.ais-eyebrow):not(.ais-muted) { max-width: 620px; margin: 0 auto; color: var(--ais-text); font-size: 14px; }
.ais-waiting-status { margin: 24px 0 0; padding: 15px 17px; border: 1px solid #e4e9f2; border-radius: 14px; background: #f8fafe; text-align: left; }
.ais-waiting-status strong { display: block; margin-bottom: 7px; color: var(--ais-ink); font-size: 12px; }
.ais-waiting-status ul { margin: 0; padding-left: 18px; color: var(--ais-text); font-size: 12px; }
.ais-waiting-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 25px 0 14px; }

@media (max-width: 1260px) {
	.ais-stat-grid--platform { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.ais-organization-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ais-filter-bar { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ais-filter-bar .ais-button { justify-self: start; }
}

@media (max-width: 940px) {
	.ais-stat-grid--platform { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ais-membership-editor-grid { grid-template-columns: 1fr; }
	.ais-person-row { grid-template-columns: 42px minmax(0,1fr) auto; }
	.ais-person-row__scope { grid-column: 2 / -1; }
}

@media (max-width: 700px) {
	.ais-context-banner { align-items: flex-start; flex-direction: column; }
	.ais-context-banner .ais-button { width: 100%; }
	.ais-stat-grid--platform,
	.ais-organization-grid,
	.ais-filter-bar { grid-template-columns: 1fr; }
	.ais-organization-card__metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.ais-person-row { grid-template-columns: 38px minmax(0,1fr); }
	.ais-person-row > .ais-button,
	.ais-person-row > .ais-muted { grid-column: 1 / -1; justify-self: stretch; text-align: center; }
	.ais-platform-list > a,
	.ais-platform-list > article { grid-template-columns: 42px minmax(0,1fr); }
	.ais-platform-list > a > :last-child,
	.ais-platform-list > article > :last-child { grid-column: 2; justify-self: start; }
	.ais-waiting-card { margin: 10px auto; }
}

/* Release 0.2.3 · visual polish and progressive AJAX pagination */
.ais-page-intro--platform {
	position: relative;
	align-items: center;
	overflow: hidden;
	margin-bottom: 20px;
	padding: clamp(24px, 3vw, 34px);
	border: 1px solid #dce5f3;
	border-radius: 24px;
	background:
		radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--ais-accent) 14%, transparent), transparent 34%),
		linear-gradient(135deg, #ffffff 0%, #f6f9ff 68%, #f2fbfa 100%);
	box-shadow: 0 18px 48px rgba(30, 55, 101, .08);
}
.ais-page-intro--platform::after {
	content: '';
	position: absolute;
	right: -70px;
	bottom: -110px;
	width: 250px;
	height: 250px;
	border: 1px solid color-mix(in srgb, var(--ais-primary) 14%, transparent);
	border-radius: 50%;
	box-shadow: 0 0 0 34px color-mix(in srgb, var(--ais-primary) 3%, transparent), 0 0 0 72px color-mix(in srgb, var(--ais-accent) 3%, transparent);
	pointer-events: none;
}
.ais-page-intro--platform > * { position: relative; z-index: 1; }
.ais-page-intro--platform h2 { max-width: 920px; font-size: clamp(29px, 3vw, 42px); }
.ais-page-intro--platform p:not(.ais-eyebrow) { max-width: 820px; line-height: 1.65; }
.ais-button--nowrap { flex: 0 0 auto; white-space: nowrap; }

.ais-stat-grid--platform {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
	margin-bottom: 20px;
}
.ais-stat-card--platform {
	position: relative;
	align-items: center;
	min-height: 126px;
	overflow: hidden;
	padding: 19px;
	border-color: #e0e7f1;
	box-shadow: 0 12px 32px rgba(31, 55, 99, .055);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ais-stat-card--platform::after {
	content: '';
	position: absolute;
	right: -24px;
	bottom: -34px;
	width: 92px;
	height: 92px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--ais-primary) 5%, transparent);
	pointer-events: none;
}
.ais-stat-card--platform:hover {
	border-color: color-mix(in srgb, var(--ais-primary) 20%, var(--ais-line));
	box-shadow: 0 18px 38px rgba(31, 55, 99, .09);
	transform: translateY(-2px);
}
.ais-stat-card--platform .ais-stat-card__icon {
	width: 47px;
	height: 47px;
	flex-basis: 47px;
	border-radius: 15px;
	background: linear-gradient(145deg, color-mix(in srgb, var(--ais-primary) 10%, white), color-mix(in srgb, var(--ais-accent) 9%, white));
}
.ais-stat-card--platform .ais-stat-card__icon .ais-icon { width: 22px; height: 22px; }
.ais-stat-card--platform span { font-size: 11px; letter-spacing: .01em; }
.ais-stat-card--platform strong { margin: 6px 0 7px; font-size: 32px; }
.ais-stat-card--platform small { display: block; max-width: 230px; font-size: 10px; line-height: 1.45; }

.ais-dashboard-columns--platform {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
	align-items: start;
	gap: 20px;
}
.ais-panel--platform-list { min-height: 100%; }
.ais-activity-list--compact > article { grid-template-columns: 11px minmax(0, 1fr); }
.ais-activity-list--compact small { display: block; margin-top: 5px; color: var(--ais-muted); font-size: 9px; }

/* AJAX regions retain a complete normal-link fallback. */
[data-ais-ajax-list] {
	position: relative;
	scroll-margin-top: 110px;
	transition: opacity .18s ease;
}
[data-ais-ajax-list].is-loading {
	min-height: 150px;
	opacity: .55;
	pointer-events: none;
}
[data-ais-ajax-list].is-loading::before {
	content: '';
	position: absolute;
	z-index: 20;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 34px;
	margin: -17px 0 0 -17px;
	border: 3px solid color-mix(in srgb, var(--ais-primary) 16%, white);
	border-top-color: var(--ais-primary);
	border-radius: 50%;
	animation: ais-spin .72s linear infinite;
}
[data-ais-ajax-list].is-loading::after {
	content: '';
	position: absolute;
	z-index: 19;
	inset: 0;
	border-radius: inherit;
	background: rgba(255, 255, 255, .58);
}
@keyframes ais-spin { to { transform: rotate(360deg); } }

.ais-list-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: -4px 0 15px;
	color: var(--ais-muted);
	font-size: 11px;
}
.ais-list-meta strong { color: var(--ais-ink); }
.ais-pagination { gap: 6px; margin-top: 22px; }
.ais-pagination a {
	min-width: 38px;
	height: 38px;
	border-radius: 11px;
	transition: border-color .18s ease, color .18s ease, background .18s ease, transform .18s ease;
}
.ais-pagination a:hover {
	color: var(--ais-primary);
	border-color: color-mix(in srgb, var(--ais-primary) 32%, var(--ais-line));
	background: color-mix(in srgb, var(--ais-primary) 4%, white);
	transform: translateY(-1px);
}
.ais-pagination a.is-current,
.ais-pagination a[aria-current="page"] {
	color: #fff;
	border-color: var(--ais-primary);
	background: linear-gradient(135deg, var(--ais-primary), color-mix(in srgb, var(--ais-primary) 72%, var(--ais-accent)));
	box-shadow: 0 8px 20px color-mix(in srgb, var(--ais-primary) 22%, transparent);
}
.ais-pagination__nav { width: auto !important; padding-inline: 13px !important; }
.ais-pagination__ellipsis { display: grid; place-items: center; min-width: 24px; height: 38px; color: var(--ais-muted); font-weight: 800; }
.ais-ajax-error {
	margin-top: 14px;
	padding: 11px 13px;
	border: 1px solid #efc9ce;
	border-radius: 11px;
	color: #9f2635;
	background: #fff3f4;
	font-size: 11px;
}

@media (max-width: 1180px) {
	.ais-dashboard-columns--platform { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
	.ais-stat-grid--platform { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.ais-page-intro--platform { align-items: stretch; padding: 22px; }
	.ais-page-intro--platform .ais-button { width: 100%; }
	.ais-stat-grid--platform { grid-template-columns: 1fr; }
	.ais-stat-card--platform { min-height: 112px; }
	.ais-pagination__nav { width: 100% !important; }
	.ais-list-meta { align-items: flex-start; flex-direction: column; }
}

/* ================================================================
   AI Sanità Check · 0.3.0
   ================================================================ */
.ais-page-intro--actions,
.ais-check-intro { align-items: center; }
.ais-page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.ais-back-link { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 12px; color: var(--ais-primary) !important; font-size: 11px; font-weight: 800; }
.ais-back-link .ais-icon { width: 17px; height: 17px; }
.ais-check-intro__badge { display: flex; align-items: center; gap: 12px; min-width: 270px; padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--ais-accent) 23%, var(--ais-line)); border-radius: 16px; background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--ais-accent) 5%, white)); box-shadow: 0 12px 30px rgba(26, 70, 94, .06); }
.ais-check-intro__badge > .ais-icon { width: 29px; height: 29px; color: var(--ais-accent); }
.ais-check-intro__badge span,
.ais-check-intro__badge strong { display: block; }
.ais-check-intro__badge strong { color: var(--ais-ink); font-size: 11px; }
.ais-check-intro__badge span { color: var(--ais-muted); font-size: 9px; }

.ais-check-form { display: grid; gap: 22px; }
.ais-check-identity,
.ais-check-wizard { overflow: visible; }
.ais-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.ais-panel-heading h3 { margin: 0; color: var(--ais-ink); font-size: 19px; letter-spacing: -.025em; }
.ais-panel-heading p:not(.ais-eyebrow) { max-width: 760px; margin: 5px 0 0; color: var(--ais-muted); font-size: 11px; }
.ais-check-chip { display: inline-flex; align-items: center; width: fit-content; min-height: 27px; padding: 5px 10px; border: 1px solid color-mix(in srgb, var(--ais-primary) 13%, var(--ais-line)); border-radius: 999px; color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 5%, white); font-size: 9px; font-weight: 850; white-space: nowrap; }

.ais-check-wizard__heading { align-items: center; }
.ais-check-progress { display: grid; gap: 8px; min-width: 220px; }
.ais-check-progress strong { color: var(--ais-ink); font-size: 10px; text-align: right; }
.ais-check-progress > span { display: block; height: 7px; overflow: hidden; border-radius: 999px; background: #e9eef6; }
.ais-check-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ais-primary), var(--ais-accent)); transition: width .25s ease; }
.ais-check-step-nav { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin: 0 0 22px; padding: 9px; border: 1px solid var(--ais-line); border-radius: 16px; background: #f8faff; }
.ais-check-step-nav button { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 7px; min-width: 0; min-height: 50px; padding: 7px; border: 0; border-radius: 11px; color: var(--ais-muted); background: transparent; cursor: pointer; text-align: left; transition: .18s ease; }
.ais-check-step-nav button > span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #d8e0ec; border-radius: 9px; color: var(--ais-primary); background: #fff; font-size: 9px; font-weight: 900; }
.ais-check-step-nav button strong { min-width: 0; overflow: hidden; font-size: 9px; line-height: 1.2; text-overflow: ellipsis; }
.ais-check-step-nav button:hover { color: var(--ais-primary); background: #fff; }
.ais-check-step-nav button.is-active { color: #fff; background: linear-gradient(135deg, var(--ais-primary), color-mix(in srgb, var(--ais-primary) 75%, var(--ais-accent))); box-shadow: 0 9px 20px color-mix(in srgb, var(--ais-primary) 18%, transparent); }
.ais-check-step-nav button.is-active > span { border-color: rgba(255,255,255,.32); color: #fff; background: rgba(255,255,255,.16); }
.ais-check-step-nav button.is-complete:not(.is-active) > span { color: #fff; border-color: var(--ais-success); background: var(--ais-success); }
.ais-check-step { scroll-margin-top: 112px; }
.ais-check-step[hidden] { display: none !important; }
.ais-check-step > header { margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--ais-line); }
.ais-check-step > header h3 { margin: 0 0 5px; color: var(--ais-ink); font-size: 21px; letter-spacing: -.03em; }
.ais-check-step > header p:not(.ais-eyebrow) { margin: 0; color: var(--ais-muted); font-size: 11px; }
.ais-check-step > footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--ais-line); }
.ais-check-step > footer button:disabled { opacity: .35; pointer-events: none; }
.ais-check-questions { display: grid; gap: 14px; }
.ais-check-question { margin: 0; padding: 17px; border: 1px solid var(--ais-line); border-radius: 15px; background: linear-gradient(145deg, #fff, #fbfcff); transition: border-color .18s ease, box-shadow .18s ease; }
.ais-check-question.has-error { border-color: #e4a4ad; box-shadow: 0 0 0 4px rgba(193,58,74,.07); }
.ais-check-question legend { max-width: 920px; padding: 0 7px; color: var(--ais-ink); font-size: 13px; font-weight: 850; line-height: 1.4; }
.ais-check-question > p { margin: 4px 0 13px; color: var(--ais-muted); font-size: 10px; }
.ais-check-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.ais-check-options label { position: relative; display: flex; align-items: flex-start; gap: 10px; min-height: 63px; padding: 11px 12px; border: 1px solid #dfe5ef; border-radius: 12px; background: #fff; cursor: pointer; transition: .18s ease; }
.ais-check-options label:hover { border-color: color-mix(in srgb, var(--ais-primary) 34%, var(--ais-line)); transform: translateY(-1px); }
.ais-check-options label:has(input:checked) { border-color: color-mix(in srgb, var(--ais-primary) 58%, white); background: color-mix(in srgb, var(--ais-primary) 4%, white); box-shadow: 0 8px 20px rgba(36, 75, 145, .07); }
.ais-check-options input { flex: 0 0 auto; margin-top: 3px; accent-color: var(--ais-primary); }
.ais-check-options span,
.ais-check-options strong,
.ais-check-options small { display: block; }
.ais-check-options strong { color: var(--ais-ink); font-size: 10px; line-height: 1.35; }
.ais-check-options small { margin-top: 4px; color: var(--ais-muted); font-size: 8px; line-height: 1.35; }
.ais-check-submit-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border: 1px solid color-mix(in srgb, var(--ais-primary) 16%, var(--ais-line)); border-radius: 17px; background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--ais-primary) 3%, white)); }
.ais-check-submit-panel h3 { margin: 0 0 5px; color: var(--ais-ink); font-size: 15px; }
.ais-check-submit-panel p { max-width: 710px; margin: 0; color: var(--ais-muted); font-size: 10px; }
.ais-check-submit-panel > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.ais-field .has-error,
.ais-field input.has-error,
.ais-field textarea.has-error,
.ais-field select.has-error { border-color: #d46a78 !important; box-shadow: 0 0 0 4px rgba(193,58,74,.07) !important; }

.ais-stat-grid--five { grid-template-columns: repeat(5, minmax(0,1fr)); }
.ais-stat-card--alert { border-color: #f0bdc4; background: linear-gradient(145deg, #fff, #fff6f7); }
.ais-stat-card--alert .ais-stat-card__icon { color: var(--ais-danger); background: #fff0f2; }
.ais-check-stats { margin-bottom: 20px; }
.ais-check-list { display: grid; gap: 11px; }
.ais-check-card { display: grid; grid-template-columns: 86px minmax(0,1fr) auto; align-items: stretch; overflow: hidden; border: 1px solid var(--ais-line); border-radius: 16px; background: #fff; transition: .18s ease; }
.ais-check-card:hover { border-color: color-mix(in srgb, var(--ais-primary) 24%, var(--ais-line)); box-shadow: 0 14px 32px rgba(35,61,108,.07); transform: translateY(-1px); }
.ais-check-card__score { display: grid; place-content: center; gap: 3px; padding: 15px 10px; text-align: center; }
.ais-check-card__score strong { font-size: 27px; line-height: 1; }
.ais-check-card__score span { font-size: 8px; font-weight: 900; text-transform: uppercase; }
.ais-attention-panel--green { color: #106445; background: #eaf8f2; }
.ais-attention-panel--yellow { color: #805000; background: #fff6df; }
.ais-attention-panel--orange { color: #954c12; background: #fff0e4; }
.ais-attention-panel--red { color: #9c2636; background: #fff0f2; }
.ais-check-card__body { min-width: 0; padding: 15px 17px; }
.ais-check-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; color: var(--ais-muted); font-size: 9px; font-weight: 800; }
.ais-check-card h3 { margin: 0 0 5px; color: var(--ais-ink); font-size: 14px; }
.ais-check-card p { margin: 0; color: var(--ais-text); font-size: 10px; }
.ais-check-card__details { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; color: var(--ais-muted); font-size: 8px; }
.ais-check-card__details span { display: inline-flex; align-items: center; gap: 5px; }
.ais-check-card__details .ais-icon { width: 13px; height: 13px; }
.ais-check-card__action { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 9px; min-width: 165px; padding: 14px 15px; border-left: 1px solid var(--ais-line); background: #fbfcff; }

.ais-status--draft { color: #667085; background: #f1f3f6; }
.ais-status--submitted,
.ais-status--preliminary_evaluation { color: #1457d9; background: #edf4ff; }
.ais-status--in_review,
.ais-status--pending { color: #8a5700; background: #fff5dc; }
.ais-status--changes_requested { color: #9a561c; background: #fff0e4; }
.ais-status--approved,
.ais-status--completed { color: var(--ais-success); background: #eaf8f2; }
.ais-status--approved_conditions { color: #0e6f70; background: #e5f8f7; }
.ais-status--rejected,
.ais-status--declined { color: var(--ais-danger); background: #fff0f2; }
.ais-status--archived { color: #667085; background: #eef0f3; }
.ais-attention { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.ais-attention--green { color: #106445; background: #eaf8f2; }
.ais-attention--yellow { color: #805000; background: #fff6df; }
.ais-attention--orange { color: #954c12; background: #fff0e4; }
.ais-attention--red { color: #9c2636; background: #fff0f2; }

.ais-check-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.ais-check-detail-header h2 { margin: 4px 0 8px; color: var(--ais-ink); font-size: clamp(25px,3vw,37px); line-height: 1.08; letter-spacing: -.04em; }
.ais-check-detail-header p { margin: 0; color: var(--ais-text); font-size: 12px; }
.ais-inline-badges { display: flex; flex-wrap: wrap; gap: 7px; }
.ais-check-detail-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.ais-check-report-hero { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 22px; align-items: center; margin-bottom: 19px; padding: 22px; border-radius: 19px; }
.ais-check-report-hero--green { color: #0f6244; background: linear-gradient(145deg,#eaf8f2,#f8fffc); }
.ais-check-report-hero--yellow { color: #765000; background: linear-gradient(145deg,#fff4d7,#fffdf6); }
.ais-check-report-hero--orange { color: #8c4712; background: linear-gradient(145deg,#ffebdd,#fffaf6); }
.ais-check-report-hero--red { color: #942738; background: linear-gradient(145deg,#ffe8eb,#fff8f9); }
.ais-check-score { display: grid; place-content: center; width: 130px; height: 130px; border: 1px solid currentColor; border-radius: 50%; background: rgba(255,255,255,.68); text-align: center; box-shadow: inset 0 0 0 8px rgba(255,255,255,.45); }
.ais-check-score strong { font-size: 39px; line-height: 1; letter-spacing: -.05em; }
.ais-check-score span { margin-top: 5px; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.ais-check-report-hero h3 { margin: 0 0 7px; color: currentColor; font-size: 22px; }
.ais-check-report-hero p { max-width: 850px; margin: 0; color: color-mix(in srgb, currentColor 78%, #17233c); font-size: 11px; }
.ais-check-report-hero__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 13px; font-size: 9px; font-weight: 800; }
.ais-detail-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; padding: 7px; border: 1px solid var(--ais-line); border-radius: 14px; background: #fff; }
.ais-detail-tabs a { padding: 9px 13px; border-radius: 10px; color: var(--ais-muted); font-size: 10px; font-weight: 800; }
.ais-detail-tabs a:hover,
.ais-detail-tabs a.is-active { color: var(--ais-primary); background: color-mix(in srgb, var(--ais-primary) 7%, white); }
.ais-check-detail-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(310px,.65fr); align-items: start; gap: 19px; }
.ais-check-detail-main,
.ais-check-detail-aside { display: grid; gap: 18px; }
.ais-check-copy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.ais-check-copy-grid > div { min-height: 100px; padding: 14px; border: 1px solid #e8edf4; border-radius: 13px; background: #fbfcfe; }
.ais-check-copy-grid strong { display: block; margin-bottom: 6px; color: var(--ais-ink); font-size: 10px; }
.ais-check-copy-grid p { margin: 0; color: var(--ais-text); font-size: 10px; white-space: pre-line; }
.ais-check-area-grid { display: grid; gap: 10px; }
.ais-check-area-row { display: grid; grid-template-columns: minmax(130px,.35fr) minmax(180px,1fr) 52px; align-items: center; gap: 10px; }
.ais-check-area-row strong { font-size: 10px; }
.ais-check-area-row > span { height: 7px; overflow: hidden; border-radius: 999px; background: #e8edf4; }
.ais-check-area-row i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--ais-primary),var(--ais-accent)); }
.ais-check-area-row em { color: var(--ais-muted); font-size: 9px; font-style: normal; font-weight: 800; text-align: right; }
.ais-check-list-simple { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ais-check-list-simple li { display: flex; align-items: flex-start; gap: 8px; padding: 9px 10px; border-radius: 10px; background: #f7f9fc; color: var(--ais-text); font-size: 9px; }
.ais-check-list-simple .ais-icon { width: 15px; height: 15px; color: var(--ais-primary); }
.ais-check-workflow-form,
.ais-check-assignment-form form { display: grid; gap: 12px; }
.ais-check-workflow-form label > span { display: block; margin-bottom: 6px; color: var(--ais-ink); font-size: 9px; font-weight: 800; }
.ais-check-workflow-form select,
.ais-check-workflow-form textarea,
.ais-check-comment textarea,
.ais-check-review-update select,
.ais-check-review-update input { width: 100%; padding: 10px 11px; border: 1px solid #dce3ed; border-radius: 10px; color: var(--ais-ink); background: #fbfcfe; font-size: 10px; }
.ais-check-review-list { display: grid; gap: 11px; }
.ais-check-review-list > article { padding: 14px; border: 1px solid var(--ais-line); border-radius: 13px; background: #fff; }
.ais-check-review-list__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ais-check-review-list__head strong,
.ais-check-review-list__head span { display: block; }
.ais-check-review-list__head strong { font-size: 11px; }
.ais-check-review-list__head div span { color: var(--ais-muted); font-size: 8px; }
.ais-check-review-list p { margin: 9px 0 5px; color: var(--ais-text); font-size: 9px; }
.ais-check-review-list small { color: var(--ais-muted); font-size: 8px; }
.ais-check-review-update { display: grid; grid-template-columns: minmax(130px,.25fr) minmax(180px,1fr) auto; gap: 8px; margin-top: 12px; }
.ais-check-comment form { display: grid; gap: 10px; }
.ais-check-comment .ais-button { justify-self: start; }
.ais-check-timeline { display: grid; }
.ais-check-timeline article { position: relative; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 10px; padding-bottom: 17px; }
.ais-check-timeline article:not(:last-child)::before { content:''; position:absolute; top:12px; bottom:0; left:5px; width:1px; background:var(--ais-line); }
.ais-check-timeline article > span { position:relative; z-index:1; width:11px; height:11px; margin-top:4px; border:3px solid color-mix(in srgb,var(--ais-primary) 22%,white); border-radius:50%; background:var(--ais-primary); }
.ais-check-timeline strong { font-size: 10px; }
.ais-check-timeline p { margin: 3px 0; color: var(--ais-text); font-size: 9px; }
.ais-check-timeline small { color: var(--ais-muted); font-size: 8px; }
.ais-check-version-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.ais-check-version-list article { padding: 14px; border: 1px solid var(--ais-line); border-radius: 12px; background: #fbfcfe; }
.ais-check-version-list strong { font-size: 10px; }
.ais-check-version-list p { margin: 5px 0; color: var(--ais-text); font-size: 9px; }
.ais-check-version-list small { color: var(--ais-muted); font-size: 8px; }

.ais-check-table td small { display: block; margin-top: 3px; color: var(--ais-muted); font-size: 8px; }
.ais-check-table .ais-button { white-space: nowrap; }

@media (max-width: 1280px) {
	.ais-stat-grid--five { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.ais-check-step-nav { grid-template-columns: repeat(4,minmax(0,1fr)); }
	.ais-check-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
	.ais-check-intro__badge { min-width: 0; }
	.ais-check-step-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ais-check-options { grid-template-columns: 1fr; }
	.ais-stat-grid--five { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ais-check-card { grid-template-columns: 74px minmax(0,1fr); }
	.ais-check-card__action { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; min-width: 0; border-top: 1px solid var(--ais-line); border-left: 0; }
	.ais-check-copy-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.ais-page-intro--actions,
	.ais-check-intro,
	.ais-check-detail-header { align-items: stretch; flex-direction: column; }
	.ais-page-actions,
	.ais-check-detail-actions { justify-content: stretch; }
	.ais-page-actions .ais-button,
	.ais-check-detail-actions .ais-button { flex: 1 1 auto; }
	.ais-check-intro__badge { width: 100%; }
	.ais-panel-heading,
	.ais-check-wizard__heading,
	.ais-check-submit-panel { align-items: stretch; flex-direction: column; }
	.ais-check-progress { min-width: 0; }
	.ais-check-progress strong { text-align: left; }
	.ais-check-step-nav { grid-template-columns: 1fr; }
	.ais-check-step-nav button { min-height: 43px; }
	.ais-check-step > footer { flex-direction: column-reverse; }
	.ais-check-step > footer .ais-button { width: 100%; }
	.ais-check-submit-panel > div:last-child { justify-content: stretch; }
	.ais-check-submit-panel .ais-button { width: 100%; }
	.ais-stat-grid--five { grid-template-columns: 1fr; }
	.ais-check-card { grid-template-columns: 1fr; }
	.ais-check-card__score { grid-template-columns: auto auto; gap: 8px; }
	.ais-check-card__score strong { font-size: 22px; }
	.ais-check-card__action { flex-direction: column; align-items: stretch; }
	.ais-check-card__action .ais-button { width: 100%; }
	.ais-check-report-hero { grid-template-columns: 1fr; text-align: center; }
	.ais-check-score { margin: 0 auto; }
	.ais-check-report-hero__meta { justify-content: center; }
	.ais-check-area-row { grid-template-columns: 1fr 48px; }
	.ais-check-area-row > span { grid-column: 1 / -1; grid-row: 2; }
	.ais-check-review-update { grid-template-columns: 1fr; }
	.ais-check-version-list { grid-template-columns: 1fr; }
}

@media print {
	.ais-sidebar,
	.ais-topbar,
	.ais-detail-tabs,
	.ais-page-actions,
	.ais-check-detail-actions,
	.ais-check-workflow-form,
	.ais-check-assignment-form,
	.ais-check-comment,
	.ais-pagination { display: none !important; }
	.ais-main { width: 100% !important; margin: 0 !important; }
	.ais-content { width: 100% !important; padding: 0 !important; }
	.ais-panel,
	.ais-check-report-hero { break-inside: avoid; box-shadow: none !important; }
}

/* Release 0.3.0 · AI Sanità Check */
.ais-dashboard-check-preview { margin: 20px 0; }
.ais-dashboard-case-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.ais-dashboard-case-list > a { display: grid; grid-template-columns: 12px minmax(0,1fr) auto 18px; align-items: center; gap: 11px; min-height: 66px; padding: 12px 14px; border: 1px solid var(--ais-line); border-radius: 13px; color: var(--ais-ink); background: #fff; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.ais-dashboard-case-list > a:hover { border-color: color-mix(in srgb,var(--ais-primary) 28%,var(--ais-line)); box-shadow: 0 10px 25px rgba(34,61,109,.07); transform: translateY(-1px); }
.ais-dashboard-case-list strong,
.ais-dashboard-case-list small { display: block; }
.ais-dashboard-case-list strong { overflow: hidden; font-size: 13px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.ais-dashboard-case-list small { margin-top: 4px; color: var(--ais-muted); font-size: 11px; }
.ais-dashboard-case-list b { color: var(--ais-ink); font-size: 17px; }
.ais-dashboard-case-list .ais-icon { width: 16px; height: 16px; color: var(--ais-muted); }
.ais-attention-dot { display: block; width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 0 4px rgba(24,47,83,.04); }
.ais-attention-dot--green { background: #1c9a68; }
.ais-attention-dot--yellow { background: #d69a18; }
.ais-attention-dot--orange { background: #dd6b25; }
.ais-attention-dot--red { background: #c13a4a; }

.ais-check-intro__badge strong { font-size: 13px; }
.ais-check-intro__badge span { font-size: 11px; line-height: 1.4; }
.ais-check-chip { font-size: 11px; }
.ais-check-progress strong { font-size: 12px; }
.ais-check-step-nav button strong { font-size: 11px; }
.ais-check-step > header p:not(.ais-eyebrow) { font-size: 13px; }
.ais-check-question legend { font-size: 15px; }
.ais-check-question > p { font-size: 12px; line-height: 1.55; }
.ais-check-options strong { font-size: 13px; }
.ais-check-options small { font-size: 11px; line-height: 1.45; }
.ais-check-submit-panel h3 { font-size: 17px; }
.ais-check-submit-panel p { font-size: 12px; line-height: 1.55; }
.ais-check-card__meta { font-size: 11px; }
.ais-check-card h3 { font-size: 17px; }
.ais-check-card p { font-size: 12px; line-height: 1.5; }
.ais-check-card__details { font-size: 10px; }
.ais-check-report-hero p { font-size: 13px; line-height: 1.55; }
.ais-check-report-hero__meta { font-size: 11px; }
.ais-check-copy-grid strong { font-size: 12px; }
.ais-check-copy-grid p { font-size: 12px; line-height: 1.55; }
.ais-check-area-row strong { font-size: 12px; }
.ais-check-area-row em { font-size: 11px; }
.ais-check-list-simple li { font-size: 12px; line-height: 1.45; }
.ais-check-workflow-form label > span { font-size: 12px; }
.ais-check-workflow-form select,
.ais-check-workflow-form textarea,
.ais-check-comment textarea,
.ais-check-review-update select,
.ais-check-review-update input { font-size: 12px; }
.ais-check-review-list__head strong { font-size: 13px; }
.ais-check-review-list__head div span,
.ais-check-review-list p { font-size: 11px; }
.ais-check-review-list small,
.ais-check-timeline small,
.ais-check-version-list small,
.ais-check-table td small { font-size: 10px; }
.ais-check-timeline strong,
.ais-check-version-list strong { font-size: 12px; }
.ais-check-timeline p,
.ais-check-version-list p { font-size: 11px; }

@media (max-width: 900px) {
	.ais-dashboard-case-list { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.ais-dashboard-case-list > a { grid-template-columns: 10px minmax(0,1fr) auto; }
	.ais-dashboard-case-list > a > .ais-icon { display: none; }
}

/* AI Sanità Check 0.3.0 · allineamenti finali e stato bozza */
.ais-field--readonly {
	display: grid;
	align-content: start;
	gap: 7px;
	min-height: 80px;
	padding: 13px 14px;
	border: 1px solid var(--ais-line);
	border-radius: 12px;
	background: #f8faff;
}
.ais-field--readonly > span { color: var(--ais-muted); font-size: 10px; font-weight: 800; }
.ais-field--readonly strong { color: var(--ais-ink); font-size: 13px; }
.ais-field--readonly small { color: var(--ais-muted); font-size: 10px; line-height: 1.45; }
.ais-attention-panel--draft { color: #59647a; background: linear-gradient(145deg,#f1f4f8,#fbfcfe); }
.ais-attention--draft { color: #59647a; background: #edf1f6; }
.ais-attention-dot--draft { background: #8b96a9; }
.ais-check-score--draft { border-style: dashed; }

.ais-check-detail-hero {
	display: grid;
	grid-template-columns: 150px minmax(0,1fr);
	align-items: center;
	gap: 22px;
	margin-bottom: 18px;
	padding: 22px;
	border: 1px solid color-mix(in srgb,currentColor 18%,transparent);
	border-radius: 19px;
}
.ais-check-detail-hero h3 { margin: 9px 0 7px; color: currentColor; font-size: 22px; line-height: 1.2; }
.ais-check-detail-hero p { max-width: 880px; margin: 0; color: color-mix(in srgb,currentColor 78%,#17233c); font-size: 13px; line-height: 1.55; }
.ais-check-score em { display: block; margin-top: 5px; font-size: 9px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.ais-check-score small { margin-left: 2px; font-size: 13px; font-weight: 800; }
.ais-check-badges { display: flex; flex-wrap: wrap; gap: 7px; }

.ais-check-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 18px;
	padding: 7px;
	border: 1px solid var(--ais-line);
	border-radius: 14px;
	background: #fff;
}
.ais-check-tabs a { padding: 9px 13px; border-radius: 10px; color: var(--ais-muted); font-size: 11px; font-weight: 800; }
.ais-check-tabs a:hover,
.ais-check-tabs a.is-active { color: var(--ais-primary); background: color-mix(in srgb,var(--ais-primary) 7%,white); }

.ais-check-main { min-width: 0; }
.ais-check-side { display: grid; align-content: start; gap: 18px; }
.ais-detail-list--check { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
.ais-detail-list--check > div { grid-template-columns: 1fr; align-content: start; gap: 5px; }
.ais-detail-list--check dd { text-align: left; white-space: pre-line; }
.ais-detail-list--check .ais-detail-list__wide { grid-column: 1 / -1; }
.ais-check-workflow-current { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0; padding: 12px 13px; border: 1px solid var(--ais-line); border-radius: 12px; background: #f8faff; }
.ais-check-workflow-current span { color: var(--ais-ink); font-size: 13px; font-weight: 850; }
.ais-check-workflow-current small { color: var(--ais-muted); font-size: 10px; }
.ais-stack-form { display: grid; gap: 11px; }
.ais-stack-form label > span { display: block; margin-bottom: 6px; color: var(--ais-ink); font-size: 11px; font-weight: 800; }
.ais-stack-form select,
.ais-stack-form textarea { width: 100%; padding: 10px 11px; border: 1px solid #dce3ed; border-radius: 10px; color: var(--ais-ink); background: #fbfcfe; font-size: 12px; }
.ais-check-conditions { border-color: color-mix(in srgb,var(--ais-accent) 22%,var(--ais-line)); background: linear-gradient(145deg,#fff,color-mix(in srgb,var(--ais-accent) 4%,white)); }
.ais-check-conditions p:last-child { margin-bottom: 0; color: var(--ais-text); font-size: 12px; line-height: 1.55; }

.ais-check-report-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.ais-check-report-grid > div { padding: 15px; border: 1px solid var(--ais-line); border-radius: 14px; background: #fbfcfe; }
.ais-check-report-grid h4 { margin: 0 0 10px; color: var(--ais-ink); font-size: 13px; }
.ais-check-reasons { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: ais-check-reason; }
.ais-check-reasons li { position: relative; display: grid; gap: 3px; padding: 10px 11px 10px 38px; border-radius: 10px; background: #fff; counter-increment: ais-check-reason; }
.ais-check-reasons li::before { content: counter(ais-check-reason); position: absolute; top: 10px; left: 10px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 7px; color: var(--ais-primary); background: color-mix(in srgb,var(--ais-primary) 8%,white); font-size: 9px; font-weight: 900; }
.ais-check-reasons strong { color: var(--ais-ink); font-size: 11px; }
.ais-check-reasons span { color: var(--ais-muted); font-size: 10px; line-height: 1.45; }
.ais-check-area-grid > article { display: grid; grid-template-columns: minmax(130px,.35fr) minmax(180px,1fr) 52px; align-items: center; gap: 10px; }
.ais-check-area-grid > article > span { color: var(--ais-ink); font-size: 12px; font-weight: 800; }
.ais-check-area-grid > article > strong { grid-column: 3; grid-row: 1; color: var(--ais-muted); font-size: 11px; text-align: right; }
.ais-check-area-grid > article > i { grid-column: 2; grid-row: 1; display: block; height: 7px; overflow: hidden; border-radius: 999px; background: #e8edf4; }
.ais-check-area-grid > article > i > b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--ais-primary),var(--ais-accent)); }

.ais-check-steps { display: grid; }
.ais-check-submit-bar { position: sticky; bottom: 0; z-index: 5; margin-top: 0; padding: 14px 0 0; background: linear-gradient(180deg,rgba(255,255,255,0),#fff 24%); }
.ais-filter-bar--wrap { grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); }
.ais-filter-bar--wrap .ais-button { align-self: end; }
.ais-platform-check-preview { margin-top: 20px; }

@media (max-width: 900px) {
	.ais-check-detail-hero { grid-template-columns: 1fr; text-align: center; }
	.ais-check-badges { justify-content: center; }
	.ais-detail-list--check,
	.ais-check-report-grid { grid-template-columns: 1fr; }
	.ais-detail-list--check .ais-detail-list__wide { grid-column: auto; }
}
@media (max-width: 600px) {
	.ais-check-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ais-check-tabs a { text-align: center; }
	.ais-check-area-grid > article { grid-template-columns: 1fr 48px; }
	.ais-check-area-grid > article > i { grid-column: 1 / -1; grid-row: 2; }
	.ais-check-area-grid > article > strong { grid-column: 2; }
}

/* Release 0.4.0 · Governance */
.ais-governance-intro { align-items: center; }
.ais-governance-tabs {
	display: grid;
	grid-template-columns: repeat(6, minmax(0,1fr));
	gap: 8px;
	margin: 0 0 20px;
	padding: 7px;
	border: 1px solid var(--ais-line);
	border-radius: 16px;
	background: rgba(255,255,255,.9);
	box-shadow: 0 10px 30px rgba(34,61,109,.045);
}
.ais-governance-tabs a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 9px 11px;
	border-radius: 11px;
	color: var(--ais-muted);
	font-size: 11px;
	font-weight: 800;
	text-align: center;
	transition: .18s ease;
}
.ais-governance-tabs a:hover { color: var(--ais-primary); background: #f5f8fe; }
.ais-governance-tabs a.is-active { color: #fff; background: linear-gradient(135deg,var(--ais-primary),color-mix(in srgb,var(--ais-primary) 74%,var(--ais-accent))); box-shadow: 0 9px 20px color-mix(in srgb,var(--ais-primary) 18%,transparent); }
.ais-governance-tabs .ais-icon { width: 17px; height: 17px; }
.ais-governance-tabs--platform { grid-template-columns: repeat(6,minmax(0,1fr)); }

.ais-stat-grid--governance { grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 18px; }
.ais-stat-card--governance { min-height: 125px; }
.ais-governance-overview-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr); gap: 18px; margin-bottom: 18px; }
.ais-governance-priority-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.ais-governance-priority-list li { display: flex; align-items: flex-start; gap: 10px; padding: 12px 13px; border: 1px solid #f0d6da; border-radius: 12px; color: #7e2937; background: #fff7f8; font-size: 11px; }
.ais-governance-priority-list .ais-icon { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; }
.ais-governance-percentage { color: var(--ais-primary); font-size: 26px; line-height: 1; letter-spacing: -.04em; }
.ais-governance-progress { height: 10px; overflow: hidden; border-radius: 999px; background: #e9edf4; }
.ais-governance-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--ais-primary),var(--ais-accent)); }
.ais-governance-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.ais-governance-metrics span { padding: 11px; border: 1px solid #e8edf4; border-radius: 11px; color: var(--ais-muted); background: #fbfcfe; font-size: 9px; }
.ais-governance-metrics strong { display: block; margin-bottom: 3px; color: var(--ais-ink); font-size: 20px; line-height: 1; }
.ais-governance-workflow { margin-bottom: 18px; }
.ais-governance-workflow-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.ais-governance-workflow-grid > a { display: flex; align-items: flex-start; gap: 12px; min-height: 130px; padding: 16px; border: 1px solid var(--ais-line); border-radius: 14px; background: linear-gradient(145deg,#fff,#fafcff); transition: .18s ease; }
.ais-governance-workflow-grid > a:hover { border-color: color-mix(in srgb,var(--ais-primary) 28%,var(--ais-line)); box-shadow: 0 12px 28px rgba(34,61,109,.07); transform: translateY(-2px); }
.ais-governance-workflow-grid > a > span { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 11px; color: #fff; background: linear-gradient(135deg,var(--ais-primary),var(--ais-accent)); font-size: 12px; font-weight: 900; }
.ais-governance-workflow-grid strong { display: block; margin: 2px 0 6px; color: var(--ais-ink); font-size: 12px; }
.ais-governance-workflow-grid p { margin: 0; color: var(--ais-muted); font-size: 10px; }

.ais-governance-editor { max-width: 1120px; margin: 0 auto; }
.ais-governance-editor .ais-form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--ais-line); }
.ais-governance-check-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.ais-governance-check-grid label { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 9px 10px; border: 1px solid #e5eaf2; border-radius: 10px; color: var(--ais-text); background: #fbfcfe; font-size: 10px; }
.ais-governance-check-grid input { width: 16px; height: 16px; margin: 0; accent-color: var(--ais-primary); }
.ais-governance-confirm { display: flex !important; align-items: flex-start; flex-direction: row !important; gap: 11px; padding: 13px 14px; border: 1px solid #dbe5f8; border-radius: 12px; background: #f7faff; }
.ais-governance-confirm input { flex: 0 0 18px; width: 18px !important; height: 18px; margin-top: 2px; accent-color: var(--ais-primary); }
.ais-governance-confirm > span { margin: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
.ais-governance-confirm strong,.ais-governance-confirm small { display: block; }
.ais-governance-confirm strong { color: var(--ais-ink); font-size: 11px; }
.ais-governance-confirm small { margin-top: 4px; color: var(--ais-muted); font-size: 9px; }
.ais-governance-confirm--required { border-color: #efc8cd; background: #fff7f8; }

.ais-governance-detail-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 0 0 18px; padding: 18px 20px; border: 1px solid var(--ais-line); border-radius: 16px; background: #fff; box-shadow: 0 12px 32px rgba(34,61,109,.05); }
.ais-governance-detail-header h3 { margin: 4px 0 0; color: var(--ais-ink); font-size: clamp(22px,2.4vw,31px); line-height: 1.15; letter-spacing: -.035em; }
.ais-governance-detail-header p:not(.ais-eyebrow) { margin: 6px 0 0; color: var(--ais-muted); font-size: 11px; }
.ais-governance-detail-grid { display: grid; grid-template-columns: minmax(0,1.38fr) minmax(290px,.62fr); align-items: start; gap: 18px; }
.ais-governance-detail-main,.ais-governance-detail-aside { display: grid; gap: 18px; }
.ais-governance-rich-copy { color: var(--ais-text); font-size: 12px; line-height: 1.75; }
.ais-governance-rich-copy h1,.ais-governance-rich-copy h2,.ais-governance-rich-copy h3,.ais-governance-rich-copy h4 { color: var(--ais-ink); }
.ais-governance-rich-copy p:first-child { margin-top: 0; }
.ais-governance-copy-block { margin-top: 12px; padding: 14px; border: 1px solid #e6ebf2; border-radius: 12px; background: #fbfcfe; }
.ais-governance-copy-block strong { display: block; margin-bottom: 6px; color: var(--ais-ink); font-size: 10px; }
.ais-governance-copy-block p { margin: 0; color: var(--ais-text); font-size: 10px; line-height: 1.65; }
.ais-governance-copy-block.is-warning { border-color: #efd8b4; background: #fffaf0; }
.ais-governance-copy-block.is-success { border-color: #cbe7dc; background: #f3fbf7; }
.ais-governance-definition-list { display: grid; gap: 0; margin: 0; }
.ais-governance-definition-list > div { display: grid; grid-template-columns: minmax(100px,.45fr) minmax(0,.55fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid #edf0f5; }
.ais-governance-definition-list > div:last-child { border-bottom: 0; }
.ais-governance-definition-list dt { color: var(--ais-muted); font-size: 9px; font-weight: 750; }
.ais-governance-definition-list dd { margin: 0; color: var(--ais-ink); font-size: 10px; font-weight: 750; text-align: right; overflow-wrap: anywhere; }
.ais-governance-workflow-form,.ais-governance-note-form { display: grid; gap: 11px; }
.ais-governance-workflow-form label > span,.ais-governance-note-form label > span { display: block; margin-bottom: 6px; color: var(--ais-ink); font-size: 9px; font-weight: 800; }
.ais-governance-workflow-form select,.ais-governance-workflow-form textarea,.ais-governance-note-form textarea { width: 100%; padding: 10px 11px; border: 1px solid #dce3ed; border-radius: 10px; color: var(--ais-ink); background: #fbfcfe; font-size: 10px; }
.ais-governance-note-form { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--ais-line); }
.ais-governance-note-form .ais-button { justify-self: start; }

.ais-governance-ack-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-color: #d8e4f7; background: linear-gradient(145deg,#f7faff,#fff); }
.ais-governance-ack-card > div { display: flex; align-items: flex-start; gap: 12px; }
.ais-governance-ack-card > div > .ais-icon { flex: 0 0 28px; width: 28px; height: 28px; color: var(--ais-primary); }
.ais-governance-ack-card h3 { margin: 0 0 5px; color: var(--ais-ink); font-size: 15px; }
.ais-governance-ack-card p { margin: 0; color: var(--ais-muted); font-size: 10px; }
.ais-governance-ack-card.is-complete { border-color: #cbe7dc; background: #f3fbf7; }
.ais-governance-version-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.ais-governance-version-list article { display: flex; align-items: flex-start; gap: 11px; padding: 13px; border: 1px solid var(--ais-line); border-radius: 12px; background: #fbfcfe; }
.ais-governance-version-list article > span { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 10px; color: var(--ais-primary); background: #edf4ff; font-size: 10px; font-weight: 900; }
.ais-governance-version-list strong { display: block; color: var(--ais-ink); font-size: 10px; }
.ais-governance-version-list p { margin: 5px 0 0; color: var(--ais-muted); font-size: 8px; }

.ais-governance-card-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ais-governance-list-card { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 13px; min-width: 0; padding: 15px; border: 1px solid var(--ais-line); border-radius: 14px; background: #fff; transition: .18s ease; }
.ais-governance-list-card:hover { border-color: color-mix(in srgb,var(--ais-primary) 26%,var(--ais-line)); box-shadow: 0 12px 28px rgba(34,61,109,.07); transform: translateY(-1px); }
.ais-governance-list-card__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; color: var(--ais-primary); background: #edf4ff; }
.ais-governance-list-card__icon .ais-icon { width: 21px; height: 21px; }
.ais-governance-list-card__body { min-width: 0; }
.ais-governance-list-card__meta,.ais-governance-list-card__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 7px; }
.ais-governance-list-card__meta > span:first-child { color: var(--ais-muted); font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ais-governance-list-card h4 { margin: 8px 0 5px; color: var(--ais-ink); font-size: 14px; line-height: 1.3; }
.ais-governance-list-card p { margin: 0 0 11px; color: var(--ais-text); font-size: 10px; }
.ais-governance-list-card__footer { padding-top: 10px; border-top: 1px solid #edf0f5; color: var(--ais-muted); font-size: 8px; }
.ais-governance-list-card__footer a { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; color: var(--ais-primary); font-weight: 850; }
.ais-governance-list-card__footer .ais-icon { width: 14px; height: 14px; }

.ais-governance-table td small { display: block; margin-top: 4px; color: var(--ais-muted); font-size: 8px; line-height: 1.4; }
.ais-governance-table tr.is-overdue td { background: #fff8f9; }
.ais-text-danger { color: var(--ais-danger) !important; font-weight: 800; }
.ais-governance-priority,.ais-governance-severity { display: inline-flex; align-items: center; width: fit-content; padding: 4px 8px; border-radius: 999px; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.ais-governance-priority--low,.ais-governance-severity--low { color: #47607e; background: #eef3f8; }
.ais-governance-priority--medium,.ais-governance-severity--moderate { color: #8a5700; background: #fff4dc; }
.ais-governance-priority--high,.ais-governance-severity--high { color: #a04f17; background: #fff0e4; }
.ais-governance-priority--critical,.ais-governance-severity--critical { color: var(--ais-danger); background: #fff0f2; }
.ais-governance-severity-bg--low { color: #47607e; background: #eef3f8; }
.ais-governance-severity-bg--moderate { color: #8a5700; background: #fff4dc; }
.ais-governance-severity-bg--high { color: #a04f17; background: #fff0e4; }
.ais-governance-severity-bg--critical { color: var(--ais-danger); background: #fff0f2; }

/* Governance statuses */
.ais-status--approved,.ais-status--published,.ais-status--favorable,.ais-status--resolved,.ais-status--closed { color: var(--ais-success); background: #eaf8f2; }
.ais-status--favorable_conditions,.ais-status--contained { color: #0e6f70; background: #e5f8f7; }
.ais-status--unfavorable,.ais-status--reopened { color: var(--ais-danger); background: #fff0f2; }
.ais-status--triage,.ais-status--investigating,.ais-status--in_progress { color: #8a5700; background: #fff4dc; }
.ais-status--retired,.ais-status--cancelled,.ais-status--not_required { color: #667085; background: #eef1f5; }

.ais-governance-timeline { display: grid; }
.ais-governance-timeline article { position: relative; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 10px; padding-bottom: 17px; }
.ais-governance-timeline article:not(:last-child)::before { content:''; position:absolute; top:12px; bottom:0; left:5px; width:1px; background:var(--ais-line); }
.ais-governance-timeline article > span { position:relative; z-index:1; width:11px; height:11px; margin-top:4px; border:3px solid color-mix(in srgb,var(--ais-primary) 22%,white); border-radius:50%; background:var(--ais-primary); }
.ais-governance-timeline strong { font-size: 10px; }
.ais-governance-timeline p { margin: 3px 0; color: var(--ais-text); font-size: 9px; }
.ais-governance-timeline small { color: var(--ais-muted); font-size: 8px; }

.ais-governance-report-hero { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 18px; color: #fff; background: linear-gradient(135deg,#122856,var(--ais-primary) 62%,var(--ais-accent)); }
.ais-governance-report-hero h3 { margin: 0 0 7px; color: #fff; font-size: 23px; letter-spacing: -.03em; }
.ais-governance-report-hero p { max-width: 850px; margin: 0; color: rgba(255,255,255,.79); font-size: 11px; }
.ais-governance-report-hero .ais-eyebrow { color: #8be8df; }
.ais-governance-report-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.ais-governance-report-grid .ais-panel h3 { margin: 0 0 12px; color: var(--ais-ink); font-size: 15px; }
.ais-governance-metric-stack { display: grid; gap: 8px; }
.ais-governance-metric-stack > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border-radius: 10px; background: #f7f9fc; }
.ais-governance-metric-stack span { color: var(--ais-muted); font-size: 9px; }
.ais-governance-metric-stack strong { color: var(--ais-ink); font-size: 17px; }
.ais-governance-action-plan { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.ais-governance-action-plan li { display: flex; align-items: center; gap: 11px; padding: 12px; border: 1px solid #e7ebf2; border-radius: 12px; background: #fbfcfe; }
.ais-governance-action-plan li > span { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 9px; color: #fff; background: var(--ais-primary); font-size: 10px; font-weight: 900; }
.ais-governance-action-plan p { margin: 0; color: var(--ais-text); font-size: 10px; }

.ais-governance-platform-intro { margin-bottom: 20px; }
.ais-stat-grid--governance-platform { margin-bottom: 18px; }
.ais-governance-platform-links { display: grid; gap: 9px; }
.ais-governance-platform-links > a { display: grid; grid-template-columns: 42px minmax(0,1fr) 18px; align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--ais-line); border-radius: 12px; background: #fbfcfe; transition: .18s ease; }
.ais-governance-platform-links > a:hover { border-color: color-mix(in srgb,var(--ais-primary) 26%,var(--ais-line)); transform: translateX(2px); }
.ais-governance-platform-links > a > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; color: var(--ais-primary); background: #edf4ff; }
.ais-governance-platform-links strong { display: block; color: var(--ais-ink); font-size: 11px; }
.ais-governance-platform-links p { margin: 4px 0 0; color: var(--ais-muted); font-size: 9px; }
.ais-governance-platform-links > a > .ais-icon { width: 17px; height: 17px; color: var(--ais-primary); }
.ais-governance-org-report-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ais-governance-org-report-grid > article { padding: 15px; border: 1px solid var(--ais-line); border-radius: 14px; background: #fff; }
.ais-governance-org-report-grid__head { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 11px; padding-bottom: 12px; border-bottom: 1px solid #edf0f5; }
.ais-governance-org-report-grid__head h4 { margin: 0; color: var(--ais-ink); font-size: 13px; }
.ais-governance-org-report-grid__head p { margin: 3px 0 0; color: var(--ais-muted); font-size: 9px; }
.ais-governance-org-report-grid__metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.ais-governance-org-report-grid__metrics span { padding: 9px; border-radius: 10px; color: var(--ais-muted); background: #f7f9fc; font-size: 8px; }
.ais-governance-org-report-grid__metrics strong { display: block; margin-bottom: 3px; color: var(--ais-ink); font-size: 17px; line-height: 1; }

.ais-filter-bar--compact { grid-template-columns: minmax(220px,1fr) minmax(150px,.5fr) auto; }

@media (max-width: 1280px) {
	.ais-governance-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.ais-stat-grid--governance,.ais-governance-report-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ais-governance-workflow-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ais-governance-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
	.ais-governance-overview-grid { grid-template-columns: 1fr; }
	.ais-governance-card-list,.ais-governance-org-report-grid { grid-template-columns: 1fr; }
	.ais-governance-check-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ais-governance-version-list { grid-template-columns: 1fr; }
	.ais-governance-report-hero { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 700px) {
	.ais-governance-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ais-governance-tabs a { justify-content: flex-start; }
	.ais-stat-grid--governance,.ais-governance-report-grid { grid-template-columns: 1fr; }
	.ais-governance-workflow-grid { grid-template-columns: 1fr; }
	.ais-governance-workflow-grid > a { min-height: 0; }
	.ais-governance-metrics { grid-template-columns: 1fr; }
	.ais-governance-check-grid { grid-template-columns: 1fr; }
	.ais-governance-detail-header { align-items: stretch; flex-direction: column; }
	.ais-governance-detail-header .ais-page-actions { justify-content: flex-start; }
	.ais-governance-ack-card { align-items: stretch; flex-direction: column; }
	.ais-governance-editor .ais-form-actions { flex-direction: column-reverse; }
	.ais-governance-editor .ais-form-actions .ais-button { width: 100%; }
	.ais-governance-list-card { grid-template-columns: 1fr; }
	.ais-governance-list-card__icon { width: 42px; height: 42px; }
	.ais-governance-org-report-grid__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ais-governance-definition-list > div { grid-template-columns: 1fr; gap: 3px; }
	.ais-governance-definition-list dd { text-align: left; }
	.ais-filter-bar--compact { grid-template-columns: 1fr; }
}

@media print {
	.ais-governance-tabs,
	.ais-governance-workflow-form,
	.ais-governance-note-form,
	.ais-governance-editor .ais-form-actions { display: none !important; }
}

/* AI Sanità Check · raccordo Governance 0.4.0 */
.ais-check-governance-panel .ais-panel-heading{align-items:flex-start;gap:24px}.ais-check-governance-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0}.ais-check-governance-stats article{min-height:94px;padding:17px;border:1px solid #dfe6f2;border-radius:18px;background:#f8faff;display:flex;flex-direction:column;justify-content:space-between}.ais-check-governance-stats span{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.ais-check-governance-stats strong{font-size:28px;line-height:1;color:#10213f}.ais-check-governance-stats article.is-warning{background:#fff9eb;border-color:#f3d893}.ais-check-governance-stats article.is-danger{background:#fff1f1;border-color:#f0b5b5}.ais-check-governance-list{display:grid;gap:14px;margin:0 0 20px}.ais-check-governance-list>article{padding:18px;border:1px solid #e0e7f1;border-radius:18px;background:#fff}.ais-check-governance-list__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px}.ais-check-governance-list__head>div{display:flex;flex-direction:column;gap:5px}.ais-check-governance-list__head strong{font-size:16px;color:#10213f}.ais-check-governance-list__head small,.ais-check-governance-list>article>small{color:#6d7890}.ais-inline-note--warning{border-color:#efd489;background:#fff9e9;color:#5f4913}
@media (max-width:1100px){.ais-check-governance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.ais-check-governance-panel .ais-panel-heading,.ais-check-governance-list__head{flex-direction:column}.ais-check-governance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ais-check-governance-stats article:last-child{grid-column:1/-1}}

/* Dashboard · anteprima Governance 0.4.0 */
.ais-dashboard-governance-preview { overflow: hidden; }
.ais-dashboard-governance-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.ais-dashboard-governance-grid > a { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 12px; min-height: 88px; padding: 15px; border: 1px solid var(--ais-line); border-radius: 15px; background: linear-gradient(145deg,#fff,#f8faff); box-shadow: 0 8px 22px rgba(16,33,63,.035); transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.ais-dashboard-governance-grid > a:hover { border-color: color-mix(in srgb,var(--ais-primary) 28%,var(--ais-line)); box-shadow: 0 12px 28px rgba(16,33,63,.08); transform: translateY(-2px); }
.ais-dashboard-governance-grid > a > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--ais-primary); background: #edf4ff; }
.ais-dashboard-governance-grid > a > span .ais-icon { width: 20px; height: 20px; }
.ais-dashboard-governance-grid strong { display: block; margin-bottom: 4px; color: var(--ais-ink); font-size: 13px; line-height: 1.25; }
.ais-dashboard-governance-grid small { display: block; color: var(--ais-muted); font-size: 9px; line-height: 1.45; }
.ais-platform-governance-preview .ais-dashboard-governance-grid > a { min-height: 96px; }
@media (max-width: 1180px) { .ais-dashboard-governance-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .ais-dashboard-governance-grid { grid-template-columns: 1fr; } .ais-dashboard-governance-grid > a { min-height: 0; } }

/* =========================================================
   AI Sanità Academy · 0.5.0
   ========================================================= */
.ais-academy-intro,
.ais-academy-platform-intro {
	background: linear-gradient(135deg, var(--ais-primary) 0%, #173d86 58%, #102b62 100%);
	color: #fff;
}
.ais-academy-intro h2,
.ais-academy-intro p,
.ais-academy-platform-intro h2,
.ais-academy-platform-intro p { color: inherit; }
.ais-academy-intro .ais-eyebrow,
.ais-academy-platform-intro .ais-eyebrow { color: rgba(255,255,255,.76); }
.ais-academy-tabs { margin-bottom: 24px; }
.ais-stat-grid--academy,
.ais-stat-grid--academy-platform { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.ais-academy-overview-grid,
.ais-academy-detail-grid,
.ais-academy-learning-layout,
.ais-academy-editor-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr);
	gap: 22px;
	align-items: start;
}
.ais-academy-progress-panel { min-height: 100%; }
.ais-academy-percentage { font-size: clamp(28px, 4vw, 44px); color: var(--ais-primary); line-height: 1; }
.ais-academy-progress,
.ais-table-progress {
	height: 10px;
	border-radius: 999px;
	background: #e8eef8;
	overflow: hidden;
}
.ais-academy-progress i,
.ais-table-progress i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--ais-primary), var(--ais-accent));
	transition: width .25s ease;
}
.ais-academy-progress--small { height: 8px; margin: 16px 0 8px; }
.ais-academy-progress-card {
	background: #fff;
	border: 1px solid var(--ais-border);
	border-radius: var(--ais-radius-lg);
	padding: 18px 22px;
	margin-bottom: 22px;
	box-shadow: var(--ais-shadow-sm);
}
.ais-academy-progress-card > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.ais-academy-progress-card strong { font-size: 24px; color: var(--ais-primary); }
.ais-academy-flow { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.ais-academy-flow li { display:grid; grid-template-columns:36px 1fr; column-gap:12px; padding:14px; border:1px solid var(--ais-border); border-radius:14px; background:#f8fbff; }
.ais-academy-flow li::before { counter-increment: academy-flow; content: counter(academy-flow); display:flex; width:32px; height:32px; border-radius:10px; align-items:center; justify-content:center; background:var(--ais-primary); color:#fff; font-weight:800; grid-row:1 / span 2; }
.ais-academy-flow { counter-reset: academy-flow; }
.ais-academy-flow strong { align-self:end; }
.ais-academy-flow span { color: var(--ais-muted); font-size: 14px; }
.ais-academy-course-grid,
.ais-academy-my-grid,
.ais-academy-org-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}
.ais-academy-course-card,
.ais-academy-my-grid > article,
.ais-academy-org-grid > article {
	position:relative;
	display:flex;
	flex-direction:column;
	min-height:100%;
	padding:20px;
	border:1px solid var(--ais-border);
	border-radius:18px;
	background:linear-gradient(180deg,#fff 0%,#f9fbff 100%);
	box-shadow:var(--ais-shadow-sm);
}
.ais-academy-course-card__top,
.ais-academy-my-grid__head,
.ais-academy-org-grid__head {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-bottom:14px;
}
.ais-academy-course-card__icon {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	border-radius:14px;
	background:rgba(20,87,217,.1);
	color:var(--ais-primary);
}
.ais-academy-course-card__icon svg { width:22px; height:22px; }
.ais-academy-course-card h4,
.ais-academy-my-grid h4,
.ais-academy-org-grid h4 { margin:0 0 10px; font-size:18px; line-height:1.25; }
.ais-academy-course-card > p:not(.ais-eyebrow),
.ais-academy-my-grid > article > p { color:var(--ais-muted); font-size:14px; line-height:1.55; }
.ais-academy-course-card__meta,
.ais-academy-course-meta {
	display:flex;
	flex-wrap:wrap;
	gap:8px 14px;
	font-size:13px;
	color:var(--ais-muted);
	margin:14px 0;
}
.ais-academy-course-card__meta span,
.ais-academy-course-meta span { display:inline-flex; align-items:center; gap:5px; }
.ais-academy-course-card .ais-button,
.ais-academy-my-grid .ais-button { margin-top:auto; align-self:flex-start; }
.ais-academy-my-grid__footer { display:flex; justify-content:space-between; gap:10px; font-size:12px; color:var(--ais-muted); margin-bottom:14px; }
.ais-academy-course-hero,
.ais-academy-enrollment-hero {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:28px;
	background:linear-gradient(135deg,#fff 0%,#f1f6ff 100%);
	border-color:#ccdcfa;
}
.ais-academy-course-hero > div:first-child,
.ais-academy-enrollment-hero > div:first-child { max-width:820px; }
.ais-academy-course-hero h3,
.ais-academy-enrollment-hero h3 { font-size:clamp(26px,3vw,38px); margin:8px 0 12px; }
.ais-academy-course-kicker { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.ais-academy-subtabs {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:18px 0 22px;
	padding:7px;
	border-radius:14px;
	background:#edf3fc;
}
.ais-academy-subtabs a { padding:10px 16px; border-radius:10px; color:var(--ais-text); text-decoration:none; font-weight:700; }
.ais-academy-subtabs a.is-active { background:#fff; color:var(--ais-primary); box-shadow:var(--ais-shadow-sm); }
.ais-academy-audience { border:1px solid var(--ais-border); border-radius:14px; padding:16px; }
.ais-academy-audience legend { font-weight:800; padding:0 8px; }
.ais-academy-lesson-list,
.ais-academy-question-list,
.ais-academy-learning-list { display:grid; gap:12px; }
.ais-academy-lesson-list > article,
.ais-academy-question-list > article {
	display:grid;
	grid-template-columns:42px minmax(0,1fr) auto;
	gap:14px;
	align-items:start;
	padding:16px;
	border:1px solid var(--ais-border);
	border-radius:14px;
	background:#fff;
}
.ais-academy-number { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:12px; background:rgba(20,87,217,.1); color:var(--ais-primary); font-weight:800; }
.ais-academy-lesson-list h4,
.ais-academy-question-list h4 { margin:0 0 6px; }
.ais-academy-lesson-list p,
.ais-academy-question-list p { margin:0; color:var(--ais-muted); }
.ais-sticky-panel { position:sticky; top:24px; }
.ais-stack-form { display:grid; gap:14px; }
.ais-stack-form label,
.ais-inline-form label { display:grid; gap:6px; }
.ais-stack-form label > span,
.ais-inline-form label > span { font-size:13px; font-weight:700; }
.ais-row-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.ais-row-actions form { margin:0; }
.ais-row-actions a,
.ais-link-danger { border:0; background:none; padding:0; color:var(--ais-primary); font:inherit; font-size:13px; font-weight:700; cursor:pointer; text-decoration:none; }
.ais-link-danger { color:#b42318; }
.ais-academy-learning-list > article { border:1px solid var(--ais-border); border-radius:16px; background:#fff; padding:18px; }
.ais-academy-learning-list > article.is-complete { border-color:#a7dacd; background:#f6fffc; }
.ais-academy-learning-list__head { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:center; margin-bottom:14px; }
.ais-academy-learning-list__head h4 { margin:0 0 3px; }
.ais-prose { color:var(--ais-text); line-height:1.7; }
.ais-prose > :first-child { margin-top:0; }
.ais-prose > :last-child { margin-bottom:0; }
.ais-academy-quiz { display:grid; gap:18px; }
.ais-academy-quiz fieldset { margin:0; padding:14px; border:1px solid var(--ais-border); border-radius:14px; }
.ais-academy-quiz legend { padding:0 6px; font-weight:800; line-height:1.4; }
.ais-academy-quiz fieldset label { display:flex; gap:10px; align-items:flex-start; padding:9px 8px; border-radius:10px; cursor:pointer; }
.ais-academy-quiz fieldset label:hover { background:#f5f8fd; }
.ais-academy-quiz fieldset label span { display:flex; gap:8px; }
.ais-academy-priority { display:inline-flex; padding:5px 9px; border-radius:999px; font-size:12px; font-weight:800; }
.ais-academy-priority--low { background:#edf7f3; color:#176b55; }
.ais-academy-priority--medium { background:#eef4ff; color:#2557a7; }
.ais-academy-priority--high { background:#fff4e5; color:#9a5b00; }
.ais-academy-priority--critical { background:#fff0f0; color:#b42318; }
.ais-academy-table td small { display:block; color:var(--ais-muted); margin-top:4px; }
.ais-table-progress { min-width:92px; height:7px; margin-bottom:4px; }
.ais-text-danger { color:#b42318 !important; }
.ais-academy-report-hero {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	background:linear-gradient(135deg,var(--ais-primary),#173d86);
	color:#fff;
}
.ais-academy-report-hero h3,
.ais-academy-report-hero p,
.ais-academy-report-hero .ais-eyebrow { color:inherit; }
.ais-academy-report-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ais-academy-org-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ais-academy-org-grid__head { align-items:flex-start; }
.ais-academy-org-grid__head > div { flex:1; }
.ais-academy-org-grid__head h4 { margin-bottom:4px; }
.ais-academy-org-grid__head p { margin:0; color:var(--ais-muted); }

@media (max-width: 1180px) {
	.ais-academy-course-grid,
	.ais-academy-my-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
	.ais-academy-overview-grid,
	.ais-academy-detail-grid,
	.ais-academy-learning-layout,
	.ais-academy-editor-layout { grid-template-columns:1fr; }
	.ais-sticky-panel { position:static; }
	.ais-academy-report-grid { grid-template-columns:1fr; }
	.ais-academy-course-hero,
	.ais-academy-enrollment-hero,
	.ais-academy-report-hero { flex-direction:column; }
}
@media (max-width: 680px) {
	.ais-academy-course-grid,
	.ais-academy-my-grid,
	.ais-academy-org-grid { grid-template-columns:1fr; }
	.ais-academy-lesson-list > article,
	.ais-academy-question-list > article,
	.ais-academy-learning-list__head { grid-template-columns:38px minmax(0,1fr); }
	.ais-academy-lesson-list > article > .ais-row-actions,
	.ais-academy-question-list > article > .ais-row-actions,
	.ais-academy-learning-list__head > .ais-status { grid-column:2; }
	.ais-academy-subtabs { flex-wrap:nowrap; overflow-x:auto; }
}


/* =========================================================
   AI Sanità Core 0.5.1 · Identity, Academy media and access
   ========================================================= */
.ais-brand-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}
.ais-brand-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}
.ais-brand-logo--sidebar {
	width: 194px;
	min-height: 50px;
	padding: 7px 10px;
	border-radius: 13px;
	background: rgba(255,255,255,.96);
	box-shadow: 0 12px 28px rgba(2,16,45,.16);
}
.ais-brand-logo--sidebar img { max-height: 34px; }
.ais-brand-logo--login {
	width: min(230px, 100%);
	justify-content: flex-start;
}
.ais-brand-logo--login img { max-height: 54px; }
.ais-brand--login { margin-bottom: 22px; }
.ais-login-success {
	margin: 0 0 18px;
	padding: 11px 13px;
	border: 1px solid #b7dfd0;
	border-radius: 12px;
	color: #116247;
	background: #effaf6;
	font-size: 12px;
	font-weight: 700;
}

/* Academy hero: explicit padding and high-contrast selectors override the
   generic page-intro styles in every tab and in organization consultation. */
.ais-page-intro.ais-academy-intro,
.ais-page-intro.ais-academy-platform-intro {
	position: relative;
	align-items: center;
	min-height: 180px;
	margin: 0 0 24px;
	padding: clamp(25px, 3.5vw, 46px);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 24px;
	overflow: hidden;
	background: linear-gradient(135deg, #1457d9 0%, #173d86 58%, #102b62 100%);
	box-shadow: 0 18px 48px rgba(16,43,98,.18);
	color: #fff;
}
.ais-page-intro.ais-academy-intro::after,
.ais-page-intro.ais-academy-platform-intro::after {
	content: '';
	position: absolute;
	width: 330px;
	height: 330px;
	right: -145px;
	top: -190px;
	border-radius: 50%;
	background: rgba(19,168,158,.22);
	pointer-events: none;
}
.ais-page-intro.ais-academy-intro > *,
.ais-page-intro.ais-academy-platform-intro > * { position: relative; z-index: 1; }
.ais-page-intro.ais-academy-intro h2,
.ais-page-intro.ais-academy-platform-intro h2 {
	max-width: 920px;
	margin: 0 0 12px;
	color: #fff !important;
	font-size: clamp(29px, 3.4vw, 48px);
	line-height: 1.04;
	letter-spacing: -.05em;
}
.ais-page-intro.ais-academy-intro p:not(.ais-eyebrow),
.ais-page-intro.ais-academy-platform-intro p:not(.ais-eyebrow) {
	max-width: 850px;
	color: rgba(255,255,255,.83) !important;
	font-size: 14px;
	line-height: 1.65;
}
.ais-page-intro.ais-academy-intro .ais-eyebrow,
.ais-page-intro.ais-academy-platform-intro .ais-eyebrow {
	color: #8ef1ea !important;
}
.ais-page-intro.ais-academy-intro .ais-button--secondary,
.ais-page-intro.ais-academy-platform-intro .ais-button--secondary {
	color: #0f4ec1 !important;
	border-color: rgba(255,255,255,.9);
	background: #fff;
	box-shadow: 0 12px 28px rgba(4,25,68,.17);
}

.ais-academy-config-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 10px;
	margin: 0 0 18px;
}
.ais-academy-config-item {
	min-width: 0;
	padding: 13px 14px;
	border: 1px solid #e2e9f5;
	border-radius: 13px;
	background: linear-gradient(180deg,#fbfdff 0%,#f5f8fd 100%);
}
.ais-academy-config-item span,
.ais-academy-config-item strong {
	display: block;
	overflow-wrap: anywhere;
}
.ais-academy-config-item span {
	margin-bottom: 4px;
	color: var(--ais-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.ais-academy-config-item strong {
	color: var(--ais-ink);
	font-size: 13px;
	line-height: 1.35;
}

.ais-academy-lesson-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin: 0 0 7px;
}
.ais-academy-lesson-meta small { color: var(--ais-muted); }
.ais-chip--video { color: #0b5f58; background: #e9f9f6; }

.ais-academy-lesson-editor { min-width: 0; }
.ais-academy-editor-field,
.ais-academy-video-editor {
	display: grid;
	gap: 10px;
	min-width: 0;
}
.ais-form-label {
	display: block;
	color: var(--ais-ink);
	font-size: 13px;
	font-weight: 800;
}
.ais-field-help {
	margin: 0;
	color: var(--ais-muted);
	font-size: 11px;
	line-height: 1.55;
}
.ais-academy-video-editor {
	padding: 15px;
	border: 1px solid #dfe7f4;
	border-radius: 14px;
	background: #f8fbff;
}
.ais-academy-video-fields[hidden] { display: none !important; }
.ais-media-picker-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ais-button--small { min-height: 35px; padding: 7px 11px; }

.ais-academy-lesson-editor .wp-editor-wrap {
	min-width: 0;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 0 0 1px #dce4f0;
	background: #fff;
}
.ais-academy-lesson-editor .wp-editor-container { border: 0; }
.ais-academy-lesson-editor .wp-editor-tabs { float: none; padding: 7px 8px 0; text-align: right; background: #f5f8fc; }
.ais-academy-lesson-editor .wp-switch-editor { top: 0; border-radius: 8px 8px 0 0; }
.ais-academy-lesson-editor .mce-toolbar-grp,
.ais-academy-lesson-editor .quicktags-toolbar { border-color: #dfe6f0; background: #f8fafc; }
.ais-academy-lesson-editor .wp-media-buttons { margin: 0 0 8px; }
.ais-academy-lesson-editor .wp-media-buttons .button { min-height: 34px; border-radius: 9px; }
.ais-academy-lesson-editor textarea.wp-editor-area { width: 100%; min-height: 240px; }

.ais-academy-video {
	position: relative;
	width: 100%;
	margin: 0 0 18px;
	border-radius: 17px;
	overflow: hidden;
	background: #071328;
	box-shadow: 0 15px 38px rgba(7,19,40,.16);
}
.ais-academy-video--embed { aspect-ratio: 16 / 9; }
.ais-academy-video iframe,
.ais-academy-video video {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}
.ais-academy-video--self-hosted video { max-height: min(72vh, 760px); background: #000; }
.ais-academy-video-preview:empty { display: none; }
.ais-academy-video-preview .ais-academy-video { margin-top: 4px; margin-bottom: 0; }
.ais-academy-video-fallback { margin: 0 0 16px; }
.ais-academy-video-fallback a { color: var(--ais-primary); font-weight: 800; }

@media (max-width: 980px) {
	.ais-page-intro.ais-academy-intro,
	.ais-page-intro.ais-academy-platform-intro { align-items: flex-start; flex-direction: column; }
	.ais-page-intro.ais-academy-intro .ais-page-actions,
	.ais-page-intro.ais-academy-platform-intro .ais-page-actions { width: 100%; }
}
@media (max-width: 680px) {
	.ais-brand-logo--sidebar { width: 170px; }
	.ais-page-intro.ais-academy-intro,
	.ais-page-intro.ais-academy-platform-intro { min-height: 0; padding: 24px 20px; border-radius: 18px; }
	.ais-academy-config-grid { grid-template-columns: 1fr; }
	.ais-media-picker-actions .ais-button { width: 100%; }
}

/* =========================================================
 * Release candidate 1.0.0 · SMTP, hardening and commercial
 * ======================================================= */
.ais-rc-intro {
	align-items: center;
	gap: 26px;
	padding: clamp(24px,4vw,38px);
	border: 1px solid rgba(20,87,217,.15);
	border-radius: 22px;
	background: linear-gradient(135deg,#f8fbff 0%,#eef5ff 56%,#eefcf9 100%);
	box-shadow: 0 18px 42px rgba(15,39,78,.07);
}
.ais-rc-intro > div:first-child { min-width: 0; }
.ais-rc-intro h2 { max-width: 900px; margin-bottom: 8px; }
.ais-rc-intro p:last-child { max-width: 850px; margin-bottom: 0; color: var(--ais-muted); }
.ais-rc-two-columns {
	display: grid;
	grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr);
	gap: 22px;
	align-items: start;
}
.ais-rc-summary-grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(96px,1fr));
	gap: 10px;
	min-width: min(100%,360px);
}
.ais-rc-summary-grid span {
	display: grid;
	gap: 2px;
	padding: 13px 14px;
	border: 1px solid rgba(20,87,217,.14);
	border-radius: 14px;
	background: rgba(255,255,255,.78);
	color: var(--ais-muted);
	font-size: 11px;
	font-weight: 750;
	line-height: 1.25;
	text-align: center;
}
.ais-rc-summary-grid strong { color: var(--ais-ink); font-size: 22px; line-height: 1; }
.ais-rc-summary-grid--compact { flex: 0 0 auto; }
.ais-check-line { display: inline-flex; align-items: flex-start; gap: 9px; color: var(--ais-ink); font-weight: 650; line-height: 1.45; }
.ais-check-line input { flex: 0 0 auto; margin: 2px 0 0; }
.ais-action-stack { display: grid; gap: 10px; }
.ais-button--full { width: 100%; justify-content: center; }
.ais-inline-note {
	margin-top: 16px;
	padding: 14px 16px;
	border: 1px solid #dbe6f6;
	border-radius: 13px;
	background: #f7faff;
}
.ais-inline-note strong { display: block; margin-bottom: 3px; color: var(--ais-ink); }
.ais-inline-note p { margin: 0; color: var(--ais-muted); font-size: 12px; line-height: 1.55; }
.ais-inline-note--warning { border-color: #f2d79c; background: #fffaf0; }
.ais-audit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.ais-audit-check {
	min-width: 0;
	padding: 16px;
	border: 1px solid #dfe7f3;
	border-radius: 15px;
	background: #fff;
}
.ais-audit-check--ok { border-color: #bde7d9; background: #f5fcf9; }
.ais-audit-check--warning { border-color: #f1d99e; background: #fffaf1; }
.ais-audit-check--error { border-color: #f0c3c6; background: #fff7f7; }
.ais-audit-check h4 { margin: 10px 0 6px; color: var(--ais-ink); font-size: 15px; }
.ais-audit-check p { margin: 0; color: var(--ais-muted); font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.ais-definition-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0; }
.ais-definition-grid > div { padding: 14px; border: 1px solid #e1e8f3; border-radius: 13px; background: #f9fbfe; }
.ais-definition-grid dt { margin: 0 0 4px; color: var(--ais-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ais-definition-grid dd { margin: 0; color: var(--ais-ink); font-size: 14px; font-weight: 750; overflow-wrap: anywhere; }
.ais-chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.ais-feature-chip { padding: 8px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.ais-feature-chip.is-enabled { color: #075f53; background: #e7f8f3; }
.ais-feature-chip.is-disabled { color: #7b8494; background: #eef1f5; text-decoration: line-through; }
.ais-usage-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.ais-usage-card { padding: 14px; border: 1px solid #dfe7f3; border-radius: 14px; background: #fff; }
.ais-usage-card > div:first-child { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.ais-usage-card span { color: var(--ais-muted); font-size: 11px; font-weight: 700; }
.ais-usage-card strong { color: var(--ais-ink); font-size: 18px; white-space: nowrap; }
.ais-usage-card strong small { color: var(--ais-muted); font-size: 11px; }
.ais-meter { height: 7px; margin-top: 11px; border-radius: 999px; overflow: hidden; background: #e9eef6; }
.ais-meter i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--ais-primary),var(--ais-accent)); }
.ais-feature-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 18px; margin: 0; padding: 0; list-style: none; }
.ais-feature-list li { display: flex; align-items: flex-start; gap: 9px; color: var(--ais-ink); font-weight: 650; }
.ais-feature-list svg { flex: 0 0 18px; margin-top: 2px; color: var(--ais-accent); }
.ais-license-hero { border-radius: 22px; }

/* Commercial management */
.ais-commercial-hero { background: linear-gradient(135deg,#eef4ff 0%,#f7fbff 55%,#eafaf6 100%); }
.ais-commercial-tabs { margin-bottom: 20px; }
.ais-commercial-tabs a { min-width: 180px; justify-content: center; }
.ais-commercial-layout { grid-template-columns: minmax(0,1.4fr) minmax(330px,.75fr); }
.ais-commercial-editor { position: sticky; top: 20px; }
.ais-panel-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.ais-commercial-plan-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.ais-commercial-plan-card {
	display: grid;
	gap: 13px;
	min-width: 0;
	padding: 18px;
	border: 1px solid #dce5f3;
	border-radius: 17px;
	background: linear-gradient(180deg,#fff 0%,#f9fbff 100%);
}
.ais-commercial-plan-card__head,
.ais-commercial-plan-card__footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ais-commercial-plan-card h4 { margin: 0; color: var(--ais-ink); font-size: 20px; }
.ais-commercial-plan-card > p { margin: 0; color: var(--ais-muted); font-size: 12px; line-height: 1.55; }
.ais-commercial-plan-card__footer { align-items: center; padding-top: 11px; border-top: 1px solid #e7edf6; color: var(--ais-muted); font-size: 11px; }
.ais-price-line { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.ais-price-line span { display: grid; padding: 10px 11px; border-radius: 12px; background: #eff5ff; color: var(--ais-muted); font-size: 10px; }
.ais-price-line strong { color: var(--ais-ink); font-size: 15px; }
.ais-fieldset { margin: 0; padding: 14px; border: 1px solid #dfe7f3; border-radius: 14px; }
.ais-fieldset legend { padding: 0 6px; color: var(--ais-ink); font-size: 12px; font-weight: 800; }
.ais-checkbox-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.ais-checkbox-grid label { display: flex; gap: 8px; align-items: flex-start; color: var(--ais-ink); font-size: 12px; font-weight: 650; }
.ais-checkbox-grid input { margin-top: 2px; }
.ais-limit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.ais-limit-grid label { display: grid; gap: 5px; color: var(--ais-muted); font-size: 11px; font-weight: 750; }
.ais-commercial-table td small { display: block; margin-top: 3px; color: var(--ais-muted); }
.ais-commercial-license-editor { margin-top: 20px; }
.ais-event-list { display: grid; gap: 0; }
.ais-event-list article { position: relative; display: grid; grid-template-columns: 16px minmax(0,1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid #e8edf5; }
.ais-event-list article:last-child { border-bottom: 0; }
.ais-event-dot { width: 9px; height: 9px; margin-top: 5px; border: 2px solid #fff; border-radius: 50%; background: var(--ais-primary); box-shadow: 0 0 0 2px rgba(20,87,217,.18); }
.ais-event-list strong { color: var(--ais-ink); font-size: 12px; line-height: 1.45; }
.ais-event-list p { margin: 4px 0 0; color: var(--ais-muted); font-size: 10px; }

@media (max-width: 1180px) {
	.ais-usage-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.ais-audit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ais-commercial-layout { grid-template-columns: minmax(0,1fr); }
	.ais-commercial-editor { position: static; }
}
@media (max-width: 860px) {
	.ais-rc-two-columns { grid-template-columns: minmax(0,1fr); }
	.ais-commercial-plan-list { grid-template-columns: minmax(0,1fr); }
	.ais-feature-list { grid-template-columns: minmax(0,1fr); }
	.ais-usage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ais-rc-summary-grid { width: 100%; }
}
@media (max-width: 620px) {
	.ais-rc-intro { align-items: flex-start; flex-direction: column; padding: 22px 18px; border-radius: 18px; }
	.ais-rc-summary-grid,
	.ais-definition-grid,
	.ais-checkbox-grid,
	.ais-limit-grid,
	.ais-price-line,
	.ais-usage-grid,
	.ais-audit-grid { grid-template-columns: minmax(0,1fr); }
	.ais-commercial-tabs { display: grid; grid-template-columns: minmax(0,1fr); }
	.ais-commercial-tabs a { width: 100%; min-width: 0; }
	.ais-panel-actions { width: 100%; justify-content: stretch; }
	.ais-panel-actions .ais-button { flex: 1 1 100%; justify-content: center; }
}

/* =========================================================
 * Versione stabile 1.0.0 · checkbox, menu, sito pubblico ed e-commerce
 * ======================================================= */
.ais-field input[type="checkbox"],
.ais-field input[type="radio"],
.ais-check-line input[type="checkbox"],
.ais-check-line input[type="radio"],
.ais-checkbox-grid input[type="checkbox"],
.ais-checkbox-grid input[type="radio"],
.ais-inline-check input[type="checkbox"],
.ais-inline-check input[type="radio"] {
	flex: 0 0 20px;
	width: 20px;
	min-width: 20px;
	height: 20px;
	min-height: 20px;
	margin: 2px 0 0;
	padding: 0;
	border-radius: 5px;
	accent-color: var(--ais-primary);
}

.ais-check-line,
.ais-inline-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	min-width: 0;
	white-space: normal;
}

.ais-check-line > span,
.ais-inline-check > span {
	display: grid;
	gap: 2px;
	min-width: 0;
	line-height: 1.45;
}

.ais-check-line small,
.ais-inline-check small {
	display: block;
	color: var(--ais-muted);
	font-size: 11px;
	font-weight: 500;
}

.ais-checkbox-grid label {
	min-width: 0;
}

.ais-public-admin-hero {
	background: linear-gradient(135deg, #edf4ff 0%, #f7fbff 58%, #eafbf7 100%);
}

.ais-public-admin-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
	gap: 22px;
	align-items: start;
}

.ais-public-settings-form .ais-form-divider {
	margin-top: 8px;
	padding-top: 16px;
	border-top: 1px solid var(--ais-line);
}

.ais-public-settings-form .ais-form-divider strong {
	color: var(--ais-ink);
	font-size: 15px;
}

.ais-public-page-status {
	position: sticky;
	top: 20px;
}

.ais-public-page-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 13px 0;
	border-bottom: 1px solid var(--ais-line);
}

.ais-public-page-row:last-of-type {
	border-bottom: 0;
}

.ais-public-page-row > div {
	min-width: 0;
}

.ais-public-page-row strong,
.ais-public-page-row span {
	display: block;
}

.ais-public-page-row strong {
	color: var(--ais-ink);
	font-size: 13px;
}

.ais-public-page-row span {
	margin-top: 2px;
	color: var(--ais-muted);
	font-size: 10px;
	overflow-wrap: anywhere;
}

.ais-public-page-row a {
	flex: 0 0 auto;
	color: var(--ais-primary);
	font-size: 12px;
	font-weight: 800;
}

@media (max-width: 1050px) {
	.ais-public-admin-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ais-public-page-status {
		position: static;
	}
}

/* RC2 · configurazione commerciale pubblica */
.ais-commercial-toggle-list {
	display: grid;
	gap: 12px;
	padding: 4px 0;
}

.ais-commercial-toggle-list .ais-check-line {
	padding: 11px 12px;
	border: 1px solid var(--ais-line);
	border-radius: 12px;
	background: #fff;
}

.ais-commercial-public-flags {
	margin-top: 10px;
}
