/*
 * Rent Hub - Main stylesheet
 * Reordered and normalized 2026-09-18
 * Responsive component overrides are intentionally placed after base component rules.
 */

/* =========================================================
   GLOBAL
   ========================================================= */

:root{
	--brand:#0b8fc8;
	--brand-dark:#0877a8;
	--brand-soft:#eaf7fc;
	--ink:#17212b;
	--muted:#6f7b87;
	--line:#e6e9ed;
	--bg:#f5f7f9;
	--card:#ffffff;
	--success:#198754;
	--success-soft:#eaf7f0;
	--warning:#d98200;
	--warning-soft:#fff4df;
	--danger:#d64545;
	--danger-soft:#fff0f0;
	--neutral:#7e8791;
	--sidebar:76px;
	--sidebar-open:236px;
	--header:74px;
	--radius:18px;
	--shadow:0 10px 30px rgba(23,33,43,.07);

	/* Layout - colori personalizzabili */
	--brand-accent:#33b6db;
	--on-color:#ffffff;
	--filter-text:#65717d;
	--surface-hover:#f3f6f8;
	--icon-muted:#6b7680;
	--brand-soft-hover:#dff3fb;
	--avatar-bg:#eef1f4;
	--avatar-ink:#26323e;
	--surface-subtle:#f2f6f8;
	--surface-muted:#eef2f5;
	--sidebar-bg:#18222c;
	--sidebar-control:#b7c2cc;
	--sidebar-text:#b9c4cd;
	--control-text:#5e6974;
	--icon-subtle:#52606c;
	--line-hover:#d9dfe4;
	--device-icon-bg:#f0f3f6;
	--device-icon-ink:#36434f;
	--meta-strong:#4d5964;
	--label-muted:#9aa3ab;
	--value-text:#3d4955;
	--progress-bg:#edf1f4;
	--progress-text:#64707a;
	--progress-step-text:#596671;
	--warning-dark:#a66200;
	--control-bg:#f2f5f7;
	--close-text:#68747f;
	--scrollbar:#c3c9ce;
	--scrollbar-hover:#aeb6bd;
	--form-label:#47535e;
	--line-strong:#cfd7dd;
	--surface-hover-soft:#fafcfd;
	--detail-label:#98a1a9;
	--timeline-line:#e5eaee;
	--step-bg:#eef2f4;
	--step-text:#8d979f;
	--row-line:#eef1f3;
	--danger-dark:#bd3737;
	--control-text-strong:#53606b;
	--input-icon:#99a2aa;
	--password-toggle:#8c969f;
	--placeholder:#a5adb4;
	--readonly-text:#66727d;
	--section-title:#4b5660;
	--panel-bg:#f8fafb;
	--mobile-label:#98a2ac;
	--action-dark:#111820;
	--action-dark-hover:#27313a;
	--search-icon:#89949e;
	--search-placeholder:#9ca5ad;
	--list-head-text:#929ca5;
	--row-hover:#fbfcfd;
	--list-text:#36424d;
	--action-hover-bg:#f5f8fa;
	--topbar-bg:rgba(255,255,255,.96);
	--brand-shadow:rgba(11,143,200,.22);
	--on-color-soft:rgba(255,255,255,.16);
	--brand-ring:rgba(11,143,200,.08);
	--sidebar-shadow:rgba(0,0,0,.05);
	--sidebar-hover-bg:rgba(255,255,255,.06);
	--sidebar-active-bg:rgba(255,255,255,.10);
	--sidebar-brand-shadow:rgba(11,143,200,.24);
	--sidebar-separator:rgba(255,255,255,.07);
	--kpi-shadow:rgba(23,33,43,.03);
	--card-shadow-soft:rgba(23,33,43,.025);
	--modal-overlay:rgba(14,22,30,.52);
	--modal-shadow:rgba(0,0,0,.22);
	--brand-border-soft:rgba(11,143,200,.35);
	--mobile-sidebar-shadow:rgba(0,0,0,.18);
	--danger-border-soft:rgba(214,69,69,.18);
	--success-border-soft:rgba(25,135,84,.18);
	--modal-loading-bg:rgba(255,255,255,.88);

	/* Layout - arrotondamenti interfaccia (preset morbido) */
	--radius-xs:8px;
	--radius-sm:9px;
	--radius-action:10px;
	--radius-control:11px;
	--radius-medium:12px;
	--radius-nav:13px;
	--radius-panel:14px;
	--radius-card:16px;
	--radius-auth-mobile:17px;
	--radius-auth:20px;
	--radius-modal:22px;
	--radius-modal-mobile:24px;
}

html[data-interface-style="square"]{
	--radius-xs:2px;
	--radius-sm:3px;
	--radius-action:4px;
	--radius-control:5px;
	--radius-medium:6px;
	--radius-nav:7px;
	--radius-panel:8px;
	--radius-card:9px;
	--radius-auth-mobile:10px;
	--radius-auth:12px;
	--radius-modal:14px;
	--radius-modal-mobile:16px;
}

html[data-interface-style="rounded"]{
	--radius-xs:10px;
	--radius-sm:11px;
	--radius-action:12px;
	--radius-control:13px;
	--radius-medium:14px;
	--radius-nav:15px;
	--radius-panel:16px;
	--radius-card:18px;
	--radius-auth-mobile:19px;
	--radius-auth:24px;
	--radius-modal:28px;
	--radius-modal-mobile:30px;
}

*{
	box-sizing:border-box;
}

html{
	scroll-behavior:smooth;
}

body{
	margin:0;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
	color:var(--ink);
	background:var(--bg);
}

a{
	color:inherit;
	text-decoration:none;
}

button,
input{
	font:inherit;
}

svg{
	display:block;
}

.ui-toggle{
	position:fixed;
	opacity:0;
	pointer-events:none;
}

/* =========================================================
   HEADER
   ========================================================= */
.topbar{
	height:var(--header);
	position:fixed;
	inset:0 0 auto 0;
	z-index:80;
	display:flex;
	align-items:center;
	gap:22px;
	padding:0 22px;
	background:var(--topbar-bg);
	border-bottom:1px solid var(--line);
	backdrop-filter:blur(12px);
}

.brand{
	min-width:245px;
	display:flex;
	align-items:center;
	gap:12px;
}

.brand-mark{
	width:40px;
	height:40px;
	border-radius:var(--radius-medium);
	display:grid;
	place-items:center;
	background:linear-gradient(145deg,var(--brand),var(--brand-accent));
	color:var(--on-color);
	font-weight:800;
	letter-spacing:-1px;
	box-shadow:0 6px 16px var(--brand-shadow);
}

.brand-text strong{
	display:block;
	font-size:17px;
	line-height:1.05;
}

.brand-text span{
	display:block;
	margin-top:4px;
	color:var(--muted);
	font-size:11px;
	text-transform:uppercase;
	letter-spacing:.9px;
}

.brand-logo{
	display:block;
	width:auto;
	height:auto;
	max-width:220px;
	max-height:48px;
	object-fit:contain;
	object-position:left center;
}

.desktop-filters{
	flex:1;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:7px;
}

.filter-chip{
	border:1px solid transparent;
	padding:9px 13px;
	border-radius:999px;
	color:var(--filter-text);
	font-size:12px;
	font-weight:750;
	letter-spacing:.28px;
	background:transparent;
	white-space:nowrap;
}

.filter-chip:hover{
	background:var(--surface-hover);
	color:var(--ink);
}

.filter-chip.active{
	background:var(--ink);
	color:var(--on-color);
}

.filter-chip .count{
	display:inline-grid;
	place-items:center;
	min-width:20px;
	height:20px;
	margin-left:6px;
	padding:0 5px;
	border-radius:999px;
	background:var(--on-color-soft);
	font-size:10px;
}

.top-actions{
	display:flex;
	align-items:center;
	gap:10px;
}

.mobile-filter-btn{
	display:none;
}

.icon-btn{
	width:40px;
	height:40px;
	border:1px solid var(--line);
	border-radius:var(--radius-medium);
	display:grid;
	place-items:center;
	background:var(--card);
	color:var(--icon-muted);
	cursor:pointer;
}

.profile-btn.impersonating{
	background:var(--brand-soft);
	border-color:var(--brand);
	color:var(--brand);
	box-shadow:0 0 0 2px var(--brand-ring);
}

.profile-btn.impersonating:hover{
	background:var(--brand-soft-hover);
	border-color:var(--brand-dark);
	color:var(--brand-dark);
}

.profile{
	display:flex;
	align-items:center;
	gap:10px;
}

.avatar{
	width:38px;
	height:38px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:var(--avatar-bg);
	color:var(--avatar-ink);
	flex:0 0 auto;
}

.avatar-stack{
	position:relative;
	width:44px;
	height:42px;
	flex:0 0 auto;
}

.avatar-stack .avatar-main{
	position:absolute;
	top:0;
	left:0;
}

.avatar-stack .avatar-origin{
	position:absolute;
	right:0;
	bottom:0;
	width:22px;
	height:22px;
	border:2px solid var(--on-color);
	background:var(--avatar-ink);
	color:var(--on-color);
}

.avatar-stack .avatar-origin svg{
	width:12px;
	height:12px;
}

.profile-copy{
	min-width:0;
	max-width:220px;
}

.profile-copy strong{
	display:block;
	font-size:12px;
}

.profile-copy span{
	display:block;
	overflow:hidden;
	color:var(--muted);
	font-size:11px;
	margin-top:2px;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.notification-btn{
	position:relative;
}

.notification-count{
	position:absolute;
	top:-4px;
	right:-4px;
	min-width:17px;
	height:17px;
	padding:0 4px;
	display:grid;
	place-items:center;
	border-radius:999px;
	background:var(--danger);
	color:var(--on-color);
	font-size:8px;
	font-weight:800;
	border:2px solid var(--on-color);
}

@media (max-width:900px){

	.brand-logo{
		max-width:160px;
		max-height:38px;
	}

}

/* =========================================================
   MOBILE FILTER PANEL
   ========================================================= */
.filter-panel{
	position:fixed;
	top:calc(var(--header) + 8px);
	right:14px;
	z-index:100;
	width:210px;
	padding:9px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
	box-shadow:var(--shadow);
	display:none;
}

#filter-toggle:checked ~ .filter-panel{
	display:block;
}

.filter-panel a{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:11px 12px;
	border-radius:var(--radius-action);
	font-size:13px;
	font-weight:700;
}

.filter-panel a:hover,
.filter-panel a.active{
	background:var(--surface-subtle);
}

.filter-panel b{
	font-size:10px;
	min-width:22px;
	height:22px;
	border-radius:var(--radius-xs);
	display:grid;
	place-items:center;
	background:var(--surface-muted);
}

/* =========================================================
   SIDEBAR
   ========================================================= */
.sidebar{
	position:fixed;
	z-index:70;
	top:var(--header);
	bottom:0;
	left:0;
	width:var(--sidebar);
	padding:14px 10px 18px;
	background:var(--sidebar-bg);
	color:var(--on-color);
	overflow:hidden;
	transition:width .22s ease;
	box-shadow:8px 0 24px var(--sidebar-shadow);
}

#nav-toggle:checked ~ .sidebar{
	width:var(--sidebar-open);
}

.sidebar-head{
	height:46px;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	padding:0 5px 8px;
}

.nav-toggle-label{
	width:34px;
	height:34px;
	border-radius:var(--radius-action);
	display:grid;
	place-items:center;
	color:var(--sidebar-control);
	background:var(--sidebar-hover-bg);
	cursor:pointer;
	transition:transform .22s ease;
}

#nav-toggle:checked ~ .sidebar .nav-toggle-label{
	transform:rotate(180deg);
}

.nav-list{
	display:flex;
	flex-direction:column;
	gap:7px;
}

.nav-item{
	height:50px;
	display:flex;
	align-items:center;
	gap:14px;
	border-radius:var(--radius-nav);
	color:var(--sidebar-text);
	padding:0 14px;
	white-space:nowrap;
	overflow:hidden;
	transition:.16s ease;
}

.nav-item:hover{
	background:var(--sidebar-hover-bg);
	color:var(--on-color);
}

.nav-item.active{
	background:var(--sidebar-active-bg);
	color:var(--on-color);
}

.nav-item.primary{
	background:var(--brand);
	color:var(--on-color);
	margin-bottom:7px;
	box-shadow:0 7px 18px var(--sidebar-brand-shadow);
}

.nav-icon{
	width:28px;
	min-width:28px;
	display:grid;
	place-items:center;
}

.nav-label{
	font-size:13px;
	font-weight:680;
	opacity:0;
	transition:opacity .15s ease;
}

#nav-toggle:checked ~ .sidebar .nav-label{
	opacity:1;
}

.sidebar-sep{
	height:1px;
	background:var(--sidebar-separator);
	margin:10px 7px;
}

.sidebar-footer{
	position:absolute;
	left:10px;
	right:10px;
	bottom:18px;
}

/* =========================================================
   MAIN
   ========================================================= */
.main{
	min-width:0;
	min-height:100vh;
	margin-left:var(--sidebar);
	padding:calc(var(--header) + 30px) 30px 40px;
	transition:margin-left .22s ease;
}

#nav-toggle:checked ~ .main{
	margin-left:var(--sidebar-open);
}

.page-wrap{
	width:100%;
	min-width:0;
	max-width:1440px;
	margin:0 auto;
}

.page-heading{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px;
	margin-bottom:22px;
}

.page-heading h1{
	margin:0;
	font-size:28px;
	letter-spacing:-.6px;
}

.page-heading p{
	margin:7px 0 0;
	color:var(--muted);
	font-size:13px;
}

.header-tools{
	display:flex;
	gap:9px;
	align-items:center;
}

.search{
	width:260px;
	height:42px;
	display:flex;
	align-items:center;
	gap:8px;
	padding:0 13px;
	border:1px solid var(--line);
	border-radius:var(--radius-medium);
	background:var(--card);
}

.search input{
	border:0;
	outline:0;
	width:100%;
	font-size:12px;
	color:var(--ink);
	background:transparent;
}

.sort-btn{
	height:42px;
	padding:0 13px;
	border:1px solid var(--line);
	border-radius:var(--radius-medium);
	background:var(--card);
	color:var(--control-text);
	font-size:12px;
	font-weight:700;
}

/* =========================================================
   KPI
   ========================================================= */
.kpi-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:14px;
	margin-bottom:20px;
}

.kpi{
	background:var(--card);
	border:1px solid var(--line);
	border-radius:var(--radius-card);
	padding:17px 18px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	box-shadow:0 5px 18px var(--kpi-shadow);
}

.kpi-copy span{
	display:block;
	color:var(--muted);
	font-size:11px;
	text-transform:uppercase;
	font-weight:800;
	letter-spacing:.55px;
}

.kpi-copy strong{
	display:block;
	font-size:25px;
	margin-top:6px;
	letter-spacing:-.5px;
}

.kpi-icon{
	width:42px;
	height:42px;
	border-radius:var(--radius-medium);
	display:grid;
	place-items:center;
	background:var(--surface-subtle);
	color:var(--icon-subtle);
}

.kpi.alert .kpi-icon{
	background:var(--warning-soft);
	color:var(--warning);
}

.kpi.good .kpi-icon{
	background:var(--success-soft);
	color:var(--success);
}

.kpi.brand .kpi-icon{
	background:var(--brand-soft);
	color:var(--brand);
}

/* =========================================================
   SECTION BAR
   ========================================================= */
.section-bar{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:15px;
	margin:2px 0 11px;
}

.section-bar h2{
	margin:0;
	font-size:15px;
}

.section-bar span{
	color:var(--muted);
	font-size:11px;
}

/* =========================================================
   PRACTICE CARDS
   ========================================================= */
.practices{
	display:flex;
	flex-direction:column;
	gap:11px;
}

.practice{
	position:relative;
	display:grid;
	cursor: pointer;
	grid-template-columns:minmax(210px,1.55fr) minmax(180px,1.2fr) minmax(130px,.8fr) minmax(240px,1.45fr) 160px;
	align-items:center;
	gap:18px;
	min-height:92px;
	padding:16px 18px;
	background:var(--card);
	border:1px solid var(--line);
	border-radius:var(--radius-card);
	box-shadow:0 5px 16px var(--card-shadow-soft);
	transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}

.practice:hover{
	transform:translateY(-1px);
	box-shadow:var(--shadow);
	border-color:var(--line-hover);
}

.practice-link{
	position:absolute;
	inset:0;
	border-radius:var(--radius-card);
	z-index:3;
}

.practice > *:not(.practice-link){
	position:relative;
	z-index:2;
	pointer-events:none;
}

.practice-main{
	display:flex;
	align-items:center;
	gap:13px;
	min-width:0;
}

.device-icon{
	width:46px;
	height:46px;
	min-width:46px;
	border-radius:var(--radius-nav);
	display:grid;
	place-items:center;
	background:var(--device-icon-bg);
	color:var(--device-icon-ink);
}

.practice-main strong{
	display:block;
	font-size:13px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.practice-main .meta{
	display:flex;
	gap:8px;
	align-items:center;
	margin-top:6px;
	color:var(--muted);
	font-size:11px;
}

.practice-main .meta b{
	color:var(--meta-strong);
}

.cell-label{
	display:block;
	color:var(--label-muted);
	font-size:9.5px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.55px;
	margin-bottom:5px;
}

.cell-value{
	font-size:12px;
	font-weight:700;
	color:var(--value-text);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.cell-sub{
	font-size:10.5px;
	color:var(--muted);
	margin-top:4px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.progress-box{
	min-width:0;
}

.progress-line{
	display:flex;
	align-items:center;
	gap:10px;
}

.progress-track{
	height:7px;
	flex:1;
	background:var(--progress-bg);
	border-radius:999px;
	overflow:hidden;
}

.progress-fill{
	height:100%;
	border-radius:999px;
	background:var(--brand);
}

.progress-fill.good{
	background:var(--success);
}

.progress-fill.warn{
	background:var(--warning);
}

.progress-fill.danger{
	background:var(--danger);
}

.progress-percent{
	font-size:10px;
	font-weight:800;
	color:var(--progress-text);
	min-width:32px;
	text-align:right;
}

.progress-step{
	margin-top:6px;
	color:var(--progress-step-text);
	font-size:10.5px;
	font-weight:650;
}

.status{
	text-align:right;
}

.badge{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:7px 9px;
	border-radius:999px;
	font-size:10px;
	font-weight:800;
	white-space:nowrap;
}

.badge::before{
	content:"";
	width:6px;
	height:6px;
	border-radius:50%;
	background:currentColor;
}

.badge.open{
	color:var(--brand-dark);
	background:var(--brand-soft);
}

.badge.manage{
	color:var(--warning-dark);
	background:var(--warning-soft);
}

.badge.success{
	color:var(--success);
	background:var(--success-soft);
}

.badge.closed{
	color:var(--success);
	background:var(--success-soft);
}

.badge.rejected{
	color:var(--danger);
	background:var(--danger-soft);
}

/* =========================================================
   MODAL - BASE / DETAILS
   ========================================================= */
.modal{
	position:fixed;
	inset:0;
	z-index:200;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
	background:var(--modal-overlay);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .16s ease;
}

.modal:target{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}

.modal-panel{
	position:relative;
	width:min(760px,100%);
	max-height:88vh;
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border-radius:var(--radius-modal);
	background:var(--card);
	box-shadow:0 25px 80px var(--modal-shadow);
}

#global-modal-content{
	width:100%;
	min-height:0;
	max-height:inherit;
	display:flex;
	flex-direction:column;
}

.modal-head{
	position:relative;
	z-index:2;
	flex:0 0 auto;
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:18px;
	padding:22px 24px 18px;
	background:var(--card);
	border-bottom:1px solid var(--line);
}

.modal-head h3{
	margin:3px 0 0;
	font-size:20px;
	letter-spacing:-.3px;
}

.modal-head p{
	margin:5px 0 0;
	color:var(--muted);
	font-size:11px;
}

.close-modal{
	width:38px;
	height:38px;
	display:grid;
	place-items:center;
	border-radius:var(--radius-control);
	background:var(--control-bg);
	color:var(--close-text);
	font-size:20px;
}

.modal-body{
	min-height:0;
	flex:1 1 auto;
	overflow-y:auto;
	padding:20px 24px 26px;
	scrollbar-width:thin;
	scrollbar-color:var(--scrollbar) transparent;
}

.modal-body::-webkit-scrollbar{
	width:7px;
}

.modal-body::-webkit-scrollbar-track{
	background:transparent;
}

.modal-body::-webkit-scrollbar-thumb{
	border-radius:999px;
	background:var(--scrollbar);
}

.modal-body::-webkit-scrollbar-thumb:hover{
	background:var(--scrollbar-hover);
}

.modal-permissions{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
}

.modal-permission-item{
	min-height:48px;
	display:flex;
	align-items:center;
	gap:10px;
	padding:11px 13px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	background:var(--card);
	color:var(--form-label);
	font-size:11px;
	font-weight:700;
	cursor:pointer;
	transition:border-color .15s ease,background .15s ease;
}

.modal-permission-item:hover{
	border-color:var(--line-strong);
	background:var(--surface-hover-soft);
}

.modal-permission-item input{
	width:17px;
	height:17px;
	flex:0 0 17px;
	margin:0;
	accent-color:var(--brand);
	cursor:pointer;
}

.modal-permission-item:has(input:checked){
	border-color:var(--brand-border-soft);
	background:var(--brand-soft);
	color:var(--brand-dark);
}

.detail-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
	margin-bottom:20px;
}

.detail-card{
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	padding:14px;
}

.detail-card span{
	display:block;
	color:var(--detail-label);
	font-size:9px;
	text-transform:uppercase;
	font-weight:800;
	letter-spacing:.55px;
}

.detail-card strong{
	display:block;
	margin-top:6px;
	font-size:13px;
}

.detail-card small{
	display:block;
	color:var(--muted);
	font-size:10.5px;
	margin-top:4px;
}

.nolo-timeline-scroll{
	width:100%;
	overflow-x:auto;
	overflow-y:hidden;
	padding:4px 0 8px;
}

.timeline{
	display:grid;
	grid-template-columns:
		repeat(
			var(--timeline-steps),
			minmax(120px,1fr)
		);
	position:relative;
	margin-top:4px;
}

.timeline::before{
	content:"";
	position:absolute;
	left:var(--timeline-edge);
	right:var(--timeline-edge);
	top:13px;
	height:2px;
	background:var(--timeline-line);
}

.step{
	position:relative;
	text-align:center;
	z-index:1;
}

.step-dot{
	width:28px;
	height:28px;
	margin:0 auto;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:var(--step-bg);
	color:var(--step-text);
	font-size:10px;
	font-weight:850;
	border:4px solid var(--on-color);
}

.step.done .step-dot{
	background:var(--success);
	color:var(--on-color);
}

.step.current .step-dot{
	background:var(--brand);
	color:var(--on-color);
	box-shadow:0 0 0 4px var(--brand-soft);
}

.step b{
	display:block;
	margin-top:7px;
	font-size:9.5px;
}

.step span{
	display:block;
	margin-top:3px;
	color:var(--muted);
	font-size:8.5px;
}

.activity{
	display:flex;
	gap:11px;
	padding:10px 0;
	border-top:1px solid var(--row-line);
}

.activity:first-of-type{
	border-top:0;
}

.activity-mark{
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--brand);
	margin-top:4px;
	flex:0 0 auto;
}

.activity strong{
	display:block;
	font-size:11px;
}

.activity span{
	display:block;
	margin-top:3px;
	color:var(--muted);
	font-size:10px;
	line-height:1.45;
}

.modal-actions{
	display:flex;
	justify-content:flex-end;
	gap:9px;
	margin-top:20px;
}

.btn{
	height:40px;
	padding:0 14px;
	border-radius:var(--radius-control);
	border:1px solid var(--line);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:11px;
	font-weight:800;
	background:var(--card);
	color: var(--ink);
	cursor: pointer;
}

.btn.primary{
	background:var(--brand);
	border-color:var(--brand);
	color:var(--on-color);
}

.users-invite-btn{
	width:auto;
	min-width:max-content;
	height:32px;
	flex:0 0 auto;
	padding:0 10px;
	border-radius:var(--radius-sm);
	color:var(--ink);
	font-size:9.5px;
	white-space:nowrap;
	-webkit-appearance:none;
	appearance:none;
	-webkit-text-fill-color:var(--ink);
}

.btn-success{
	background:var(--success);
	border-color:var(--success);
	color:var(--on-color);
}

.users-invite-btn.btn-success{
	color:var(--on-color);
	-webkit-text-fill-color:var(--on-color);
}

.btn-success:disabled{
	opacity:1;
	cursor:default;
}

.btn.brand{
	background:var(--brand);
	border-color:var(--brand);
	color:var(--on-color);
}

.btn.brand:hover{
	background:var(--brand-dark);
	border-color:var(--brand-dark);
}

.btn.danger{
	background:var(--danger);
	border-color:var(--danger);
	color:var(--on-color);
}

.btn.danger:hover{
	background:var(--danger-dark);
	border-color:var(--danger-dark);
}

/* =========================================================
   RESPONSIVE - GLOBAL
   ========================================================= */
@media (max-width:1180px){
	.practice{
		grid-template-columns:minmax(200px,1.3fr) minmax(155px,1fr) minmax(220px,1.3fr) 115px;
	}

	.practice .rental-cell{
		display:none;
	}

	.desktop-filters{
		justify-content:flex-start;
	}

	.filter-chip{
		padding:8px 10px;
	}
}

@media (max-width:900px){
	:root{
		--header:66px;
		--sidebar:66px;
	}

	.topbar{
		padding:0 14px;
		gap:10px;
	}

	.brand{
		min-width:0;
		flex:1;
	}

	.brand-mark{
		width:36px;
		height:36px;
		border-radius:var(--radius-control);
	}

	.brand-text strong{
		font-size:15px;
	}

	.brand-text span{
		font-size:9px;
	}

	.desktop-filters{
		display:none;
	}

	.mobile-filter-btn{
		display:flex;
		height:38px;
		align-items:center;
		gap:7px;
		padding:0 11px;
		border:1px solid var(--line);
		border-radius:var(--radius-control);
		background:var(--card);
		color:var(--control-text-strong);
		font-size:11px;
		font-weight:800;
		cursor:pointer;
	}

	.profile-copy{
		display:none;
	}

	.icon-btn{
		display:none;
	}

	.sidebar{
		width:var(--sidebar);
		padding-left:8px;
		padding-right:8px;
	}

	.nav-item{
		padding:0 11px;
	}

	#nav-toggle:checked ~ .sidebar{
		width:var(--sidebar-open);
		box-shadow:14px 0 32px var(--mobile-sidebar-shadow);
	}

	#nav-toggle:checked ~ .main{
		margin-left:var(--sidebar);
	}

	.main{
		padding:calc(var(--header) + 20px) 16px 28px;
		margin-left:var(--sidebar);
	}

	.page-heading{
		align-items:flex-start;
	}

	.header-tools{
		display:none;
	}

	.kpi-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.practice{
		grid-template-columns:minmax(0,1fr) 110px;
		gap:13px 16px;
		min-height:128px;
		padding:15px;
	}

	.practice .client-cell,
	.practice .rental-cell{
		display:none;
	}

	.progress-box{
		grid-column:1 / -1;
	}

	.status{
		grid-column:2;
		grid-row:1;
		text-align:right;
	}

	.practice-main{
		padding-right:3px;
	}

	.cell-label{
		font-size:9px;
	}

	.modal{
		align-items:flex-end;
		padding:0;
		height:100dvh;
	}

	.modal-panel{
		width:100%;
		max-height:94dvh;
		border-radius:var(--radius-modal-mobile) var(--radius-modal-mobile) 0 0;
	}

	.notification-btn,
	.profile-btn{
		display:grid;
	}
}

@media (max-width:520px){
	.topbar{
		padding-right:10px;
	}

	.brand-text span{
		display:none;
	}


	.main{
		padding-left:12px;
		padding-right:12px;
	}

	.page-heading h1{
		font-size:23px;
	}

	.page-heading p{
		font-size:11px;
		line-height:1.5;
	}

	.kpi-grid{
		gap:9px;
	}

	.kpi{
		padding:13px 12px;
	}

	.kpi-copy strong{
		font-size:21px;
	}

	.kpi-copy span{
		font-size:9px;
	}

	.kpi-icon{
		width:36px;
		height:36px;
		border-radius:var(--radius-action);
	}

	.practice{
		grid-template-columns:minmax(0,1fr) auto;
	}

	.device-icon{
		width:42px;
		height:42px;
		min-width:42px;
	}

	.practice-main strong{
		font-size:12px;
	}

	.badge{
		font-size:9px;
		padding:6px 8px;
	}

	.detail-grid{
		grid-template-columns:1fr;
	}

	.nolo-timeline-scroll{
		overflow:visible;
		padding-bottom:0;
	}

	.timeline{
		grid-template-columns:1fr;
		gap:0;
		min-width:0 !important;
	}

	.timeline::before{
		left:13px;
		right:auto;
		top:12px;
		bottom:12px;
		width:2px;
		height:auto;
	}

	.step{
		text-align:left;
		display:grid;
		grid-template-columns:28px 1fr;
		column-gap:10px;
		padding-bottom:11px;
	}

	.step-dot{
		margin:0;
		grid-row:1 / span 2;
	}

	.step b{
		margin-top:3px;
	}

	.step span{
		margin-top:2px;
	}

	.modal-head{
		padding:18px 18px 14px;
	}

	.modal-body{
		padding:16px 18px 22px;
	}
}

/* =========================================================
   AUTH / LOGIN
   ========================================================= */
.main.main--auth{
	margin-left:0;
	padding:0;
	min-height:100vh;
}

#nav-toggle:checked ~ .main.main--auth{
	margin-left:0;
}

.auth-page{
	min-height:100vh;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding:32px 20px;
}

.auth-card{
	width:min(430px,100%);
	padding:34px;
	background:var(--card);
	border:1px solid var(--line);
	border-radius:var(--radius-auth);
	box-shadow:var(--shadow);
}

.auth-card-head{
	margin-bottom:26px;
}

.auth-kicker{
	display:block;
	margin-bottom:9px;
	color:var(--brand);
	font-size:10px;
	font-weight:850;
	letter-spacing:.9px;
}

.auth-card h1{
	margin:0;
	font-size:27px;
	line-height:1.15;
	letter-spacing:-.55px;
}

.auth-card-head p{
	margin:9px 0 0;
	color:var(--muted);
	font-size:12px;
	line-height:1.55;
}

.auth-form{
	display:flex;
	flex-direction:column;
	gap:19px;
}

.auth-form-group{
	min-width:0;
}

.auth-label-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:15px;
	margin-bottom:7px;
}

.auth-form-group > label,
.auth-label-row label{
	display:block;
	margin-bottom:7px;
	color:var(--form-label);
	font-size:11px;
	font-weight:800;
}

.auth-label-row label{
	margin-bottom:0;
}

.auth-forgot{
	padding:0;
	border:0;
	background:transparent;
	color:var(--brand-dark);
	font-size:10.5px;
	font-weight:750;
	cursor:pointer;
}

.auth-forgot:hover{
	text-decoration:underline;
}

.auth-input-wrap{
	position:relative;
}

.auth-input-icon{
	position:absolute;
	top:50%;
	left:14px;
	z-index:2;
	transform:translateY(-50%);
	color:var(--input-icon);
	pointer-events:none;
}

.auth-password-toggle{
	position:absolute;
	top:50%;
	right:9px;
	z-index:3;
	width:34px;
	height:34px;
	padding:0;
	transform:translateY(-50%);
	display:grid;
	place-items:center;
	border:0;
	border-radius:var(--radius-sm);
	background:transparent;
	color:var(--password-toggle);
	cursor:pointer;
	-webkit-tap-highlight-color:transparent;
}

.auth-password-toggle:hover{
	background:var(--control-bg);
	color:var(--progress-step-text);
}

.auth-password-toggle:focus-visible{
	outline:2px solid var(--brand);
	outline-offset:1px;
}

.auth-password-toggle .icon-eye-off{
	display:none;
}

.auth-password-toggle.is-visible .icon-eye{
	display:none;
}

.auth-password-toggle.is-visible .icon-eye-off{
	display:block;
}

.auth-input-wrap input{
	width:100%;
	height:48px;
	padding:0 46px 0 44px;
	border:1px solid var(--line);
	border-radius:var(--radius-medium);
	outline:0;
	background:var(--card);
	color:var(--ink);
	font-size:12px;
	font-weight:650;
	transition:border-color .15s ease,box-shadow .15s ease;
}

.auth-input-wrap:not(:has(.auth-input-icon)) input{
	padding-left:14px;
}

.auth-input-wrap input::placeholder{
	color:var(--placeholder);
	font-size:10.5px;
	letter-spacing:.25px;
}

.auth-input-wrap input:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px var(--brand-soft);
}

.auth-submit{
	width:100%;
	height:46px;
	margin-top:3px;
	border:1px solid var(--brand);
	border-radius:var(--radius-medium);
	background:var(--brand);
	color:var(--on-color);
	font-size:11px;
	font-weight:850;
	letter-spacing:.35px;
	cursor:pointer;
	transition:background .15s ease,border-color .15s ease,transform .15s ease;
}

.auth-submit:hover{
	background:var(--brand-dark);
	border-color:var(--brand-dark);
}

.auth-submit:active{
	transform:translateY(1px);
}

.auth-reserved{
	margin:16px 0 0;
	color:var(--label-muted);
	font-size:10px;
	text-align:center;
}

.auth-legal{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:5px;
	margin-top:5px;
	color:var(--label-muted);
	font-size:9.5px;
}

.auth-legal-btn{
	padding:0;
	border:0;
	background:transparent;
	color:var(--brand);
	font-family:inherit;
	font-size:9.5px;
	font-weight:750;
	cursor:pointer;
}

.auth-legal-btn:hover{
	text-decoration:underline;
}

/* =========================================================
   AUTH - ACCOUNT ACTIVATION
   ========================================================= */

.auth-page.auth-page--activation{
	justify-content:flex-start;
	padding-top:calc(var(--header) + 32px);
}


/* =========================================================
   MODAL - GENERIC EXTENSIONS
   ========================================================= */
.modal.is-open{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}

body.modal-open{
	overflow:hidden;
}

.modal-panel--small{
	width:min(480px,100%);
}

.modal-panel--large{
	width:min(980px,100%);
}

.close-modal{
	border:0;
	cursor:pointer;
	font-family:inherit;
}

.modal-form-group label{
	display:block;
	margin-bottom:7px;
	color:var(--form-label);
	font-size:11px;
	font-weight:800;
}

.modal-form-group > input,
.modal-form-group > select,
.modal-form-group > textarea{
	width:100%;
	min-height:44px;
	padding:0 13px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	outline:0;
	background:var(--card);
	color:var(--ink);
	font-size:12px;
	transition:border-color .15s ease,box-shadow .15s ease;
}

.modal-form-group > textarea{
	min-height:110px;
	padding-top:12px;
	padding-bottom:12px;
	resize:vertical;
}

.modal-form-group > input:focus,
.modal-form-group > select:focus,
.modal-form-group > textarea:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px var(--brand-soft);
}

.modal-form-group small{
	display:block;
	margin-top:6px;
	color:var(--muted);
	font-size:10px;
	line-height:1.4;
}

.modal-form-actions{
	display:flex;
	justify-content:flex-end;
	gap:9px;
	margin-top:22px;
}

.modal-alert{
	margin-bottom:18px;
	padding:12px 14px;
	border-radius:var(--radius-control);
	font-size:11px;
	font-weight:650;
	line-height:1.5;
}

.modal-alert-danger{
	color:var(--danger);
	background:var(--danger-soft);
	border:1px solid var(--danger-border-soft);
}

.modal-alert-success{
	color:var(--success);
	background:var(--success-soft);
	border:1px solid var(--success-border-soft);
}

.modal-small{
	width:min(480px,100%);
}

.modal-medium{
	width:min(760px,100%);
}

.modal-large{
	width:min(1050px,100%);
}

.modal-full{
	width:calc(100% - 48px);
	max-width:none;
}

.modal-section-title--sub{
	margin-top:20px;
	padding-top:0;
	border-top:0;
	font-size:11px;
}

@media (max-width:520px){
	.main.main--auth{
		padding:0;
	}

	.auth-page{
		justify-content:center;
		padding:22px 14px;
	}

	.auth-card{
		padding:25px 20px;
		border-radius:var(--radius-auth-mobile);
	}

	.auth-card h1{
		font-size:23px;
	}

	.auth-label-row{
		align-items:flex-end;
	}

	.auth-forgot{
		font-size:9.5px;
	}

	.auth-input-wrap input,
	.modal-form-group > input,
	.modal-form-group > select,
	.modal-form-group > textarea{
		font-size:16px;
	}

	.auth-input-wrap input::placeholder,
	.modal-form-group > input::placeholder,
	.modal-form-group > textarea::placeholder{
		font-size:11px;
	}

	.modal-form-actions{
		display:grid;
		grid-template-columns:1fr 1fr;
	}

	.modal-form-actions .btn{
		width:100%;
	}
	
}


/* =========================================================
   MODAL - FORMS / RESULT / STORE
   ========================================================= */

.modal-form-group input[readonly]{
	background:var(--bg);
	color:var(--readonly-text);
	cursor:default;
}

.modal-form-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
}

.modal-form-full{
	grid-column:1 / -1;
}

.modal-section-title{
	margin:18px 0 12px;
	padding-top:18px;
	border-top:1px solid var(--line);
	color:var(--section-title);
	font-size:12px;
	font-weight:850;
	text-transform:uppercase;
	letter-spacing:.45px;
}

.shadowbox-form > .modal-section-title:first-of-type{
	margin-top:0;
	padding-top:0;
	border-top:0;
}

.modal-form-grid + .modal-section-title{
	margin-top:14px;
}

.modal-alert-bottom{
	margin-top:18px;
}

.modal-form-group > select{
	width:100%;
	min-height:44px;
	padding:0 42px 0 13px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	outline:0;
	background-color:var(--card);
	color:var(--ink);
	font-size:12px;
	font-family:inherit;
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f7b87' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 13px center;
	background-size:14px;
}

.modal-form-group > select:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px var(--brand-soft);
}

.modal-result{
	padding:14px 10px 6px;
	text-align:center;
}

.modal-result-icon{
	width:72px;
	height:72px;
	display:grid;
	place-items:center;
	margin:0 auto 18px;
	border-radius:50%;
	background:var(--brand-soft);
	color:var(--brand);
}

.modal-result h4{
	margin:0 0 8px;
	color:var(--ink);
	font-size:16px;
	font-weight:850;
}

.modal-result p{
	max-width:520px;
	margin:0 auto;
	color:var(--muted);
	font-size:11px;
	line-height:1.6;
}

.modal-result p + p{
	margin-top:10px;
}

.modal-result strong{
	color:var(--ink);
	font-weight:800;
}

.store-client-card{
	display:flex;
	align-items:center;
	gap:14px;
	padding:16px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--panel-bg);
}

.store-existing-list{
	display:flex;
	flex-direction:column;
	gap:9px;
}

.store-existing-row{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:center;
	gap:18px;
	padding:13px 14px;
	border:1px solid var(--line);
	border-radius:var(--radius-medium);
	background:var(--card);
}

.store-existing-main{
	display:flex;
	align-items:center;
	gap:11px;
	min-width:0;
}

.store-existing-icon{
	width:38px;
	height:38px;
	flex:0 0 38px;
	display:grid;
	place-items:center;
	border-radius:var(--radius-action);
	background:var(--surface-subtle);
	color:var(--readonly-text);
}

.store-existing-main > div:last-child{
	min-width:0;
}

.store-existing-main strong{
	display:block;
	overflow:hidden;
	color:var(--ink);
	font-size:12px;
	font-weight:800;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.store-existing-main span{
	display:block;
	margin-top:4px;
	color:var(--muted);
	font-size:10px;
}

.store-existing-info{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:16px;
}

.store-existing-info form{
	margin:0;
	flex:0 0 auto;
}

.store-existing-rv{
	text-align:right;
}

.store-existing-rv span{
	display:block;
	color:var(--mobile-label);
	font-size:8px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.4px;
}

.store-existing-rv strong{
	display:block;
	margin-top:3px;
	color:var(--control-text-strong);
	font-size:10px;
	font-weight:750;
}

.store-client-icon{
	width:44px;
	height:44px;
	flex:0 0 44px;
	display:grid;
	place-items:center;
	border-radius:var(--radius-medium);
	background:var(--brand-soft);
	color:var(--brand);
}

.store-client-info strong{
	display:block;
	font-size:13px;
}

.store-client-info span{
	display:block;
	margin-top:4px;
	color:var(--muted);
	font-size:10px;
}

.modal-question{
	margin-top:18px;
	color:var(--section-title);
	font-size:12px;
	line-height:1.55;
}

/* =========================================================
   MODAL - INFO USER
   ========================================================= */

.profile-info-card{
	margin-top:4px;
	border:1px solid var(--line);
	border-radius:var(--radius-card);
	background:var(--card);
	overflow:hidden;
}

.profile-info-section{
	padding:16px 17px;
}

.profile-info-section + .profile-info-section{
	border-top:1px solid var(--line);
}

.profile-info-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:14px;
}

.profile-info-item{
	min-width:0;
}

.profile-info-item span{
	display:block;
	color:var(--detail-label);
	font-size:9px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.55px;
}

.profile-info-item strong{
	display:block;
	margin-top:6px;
	color:var(--ink);
	font-size:12px;
	font-weight:800;
	line-height:1.5;
	overflow-wrap:anywhere;
}

.modal-password-wrap{
	position:relative;
}

.modal-password-wrap input{
	width:100%;
	min-height:44px;
	padding:0 46px 0 13px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	outline:0;
	background:var(--card);
	color:var(--ink);
	font-size:12px;
	transition:border-color .15s ease,box-shadow .15s ease;
}

.modal-password-wrap input:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px var(--brand-soft);
}

.modal-password-wrap .auth-password-toggle{
	right:6px;
}

.logout-actions > .danger{
	margin-right:auto;
}

.logout-actions form{
	margin:0;
}


/* =========================================================
   MODAL - DEVICES
   ========================================================= */

.btn.calc{
	width:100%;
	min-height:48px;
	justify-content:center;
	background:var(--action-dark);
	border-color:var(--action-dark);
	color:var(--on-color);
}

.btn.calc:hover{
	background:var(--action-dark-hover);
	border-color:var(--action-dark-hover);
	color:var(--on-color);
}

.btn.calc .btn-icon{
	color:var(--on-color);
}

.modal-calc-action{
	width:100%;
	margin:0 0 22px;
}

.device-cover-table{
	overflow:hidden;
	margin-top:2px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}

.device-cover-head,
.device-cover-row{
	display:grid;
	grid-template-columns:120px minmax(160px,1fr) minmax(180px,1fr);
	gap:14px;
	align-items:center;
}

.device-cover-head{
	padding:10px 14px;
	border-bottom:1px solid var(--line);
	background:var(--panel-bg);
	color:var(--muted);
	font-size:9px;
	font-weight:850;
	text-transform:uppercase;
	letter-spacing:.45px;
}

.device-cover-row{
	padding:12px 14px;
	border-bottom:1px solid var(--line);
}

.device-cover-row:last-child{
	border-bottom:0;
}

.device-cover-month{
	color:var(--ink);
	font-size:11px;
}

.device-cover-row .modal-form-group label{
	display:none;
}

.device-form-actions .device-simulator-btn{
	margin-right:auto;
}

.device-section-title-action{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
}

.device-section-title-action .device-copy-costs{
	height:32px;
	padding:0 11px;
	font-size:9.5px;
	text-transform:none;
	letter-spacing:0;
	white-space:nowrap;
}

@media (max-width:700px){

	.device-cover-head{
		display:none;
	}

	.device-cover-row{
		grid-template-columns:1fr 1fr;
		gap:12px;
	}

	.device-cover-month{
		grid-column:1 / -1;
	}

	.device-cover-row .modal-form-group label{
		display:block;
	}

}


@media (max-width:520px){

	.device-cover-row{
		grid-template-columns:1fr;
	}

	.device-cover-month{
		grid-column:auto;
	}

	.device-form-actions .device-simulator-btn{
		grid-column:1 / -1;
		margin-right:0;
	}
	
	.device-section-title-action{
		align-items:flex-start;
	}

	.device-section-title-action .device-copy-costs{
		flex:0 0 auto;
	}

}


/* =========================================================
   MODAL - LAYOUT
   ========================================================= */

.layout-style-selector{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
}

.layout-style-option{
	position:relative;
	min-width:0;
	padding:14px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
	cursor:pointer;
	transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}

.layout-style-option:hover{
	border-color:var(--line-strong);
	background:var(--surface-hover-soft);
}

.layout-style-option:has(input:checked){
	border-color:var(--brand);
	background:var(--brand-soft);
	box-shadow:0 0 0 2px var(--brand-ring);
}

.layout-style-option > input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.layout-style-option strong{
	display:block;
	margin-top:11px;
	color:var(--ink);
	font-size:12px;
	font-weight:850;
}

.layout-style-option small{
	display:block;
	margin-top:4px;
	color:var(--muted);
	font-size:9.5px;
	line-height:1.45;
}

.layout-style-preview{
	height:54px;
	display:flex;
	align-items:center;
	gap:7px;
	padding:9px;
	background:var(--panel-bg);
}

.layout-style-preview span{
	display:block;
	height:100%;
	background:var(--brand);
}

.layout-style-preview span:nth-child(1){
	width:24%;
}

.layout-style-preview span:nth-child(2){
	flex:1;
	background:var(--surface-muted);
}

.layout-style-preview span:nth-child(3){
	width:18%;
	background:var(--ink);
}

.layout-style-preview--square{
	border-radius:5px;
}

.layout-style-preview--square span{
	border-radius:3px;
}

.layout-style-preview--soft{
	border-radius:12px;
}

.layout-style-preview--soft span{
	border-radius:8px;
}

.layout-style-preview--rounded{
	border-radius:20px;
}

.layout-style-preview--rounded span{
	border-radius:14px;
}


.layout-color-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
}

.layout-color-field{
	min-width:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	padding:12px 13px;
	border:1px solid var(--line);
	border-radius:var(--radius-medium);
	background:var(--card);
}

.layout-color-copy{
	min-width:0;
}

.layout-color-copy label{
	display:block;
	color:var(--form-label);
	font-size:11px;
	font-weight:800;
	cursor:pointer;
}

.layout-color-copy small{
	display:block;
	margin-top:4px;
	color:var(--muted);
	font-size:9px;
	line-height:1.4;
}

.layout-color-control{
	flex:0 0 auto;
	display:flex;
	align-items:center;
	gap:7px;
}

.layout-color-picker{
	width:36px;
	height:36px;
	flex:0 0 36px;
	padding:3px;
	border:1px solid var(--line);
	border-radius:var(--radius-action);
	background:var(--card);
	cursor:pointer;
}

.layout-color-picker::-webkit-color-swatch-wrapper{
	padding:0;
}

.layout-color-picker::-webkit-color-swatch{
	border:0;
	border-radius:calc(var(--radius-action) - 3px);
}

.layout-color-picker::-moz-color-swatch{
	border:0;
	border-radius:calc(var(--radius-action) - 3px);
}

.layout-color-value{
	width:82px;
	height:36px;
	padding:0 8px;
	border:1px solid var(--line);
	border-radius:var(--radius-action);
	outline:0;
	background:var(--card);
	color:var(--ink);
	font-size:10px;
	font-family:monospace;
	text-transform:uppercase;
}

.layout-color-value:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px var(--brand-soft);
}


.layout-advanced{
	margin-top:18px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
	overflow:hidden;
}

.layout-advanced summary{
	position:relative;
	display:block;
	padding:14px 42px 14px 15px;
	color:var(--ink);
	font-size:11px;
	font-weight:850;
	cursor:pointer;
	list-style:none;
}

.layout-advanced summary::-webkit-details-marker{
	display:none;
}

.layout-advanced summary::after{
	content:"+";
	position:absolute;
	top:50%;
	right:16px;
	transform:translateY(-50%);
	color:var(--muted);
	font-size:18px;
	font-weight:500;
}

.layout-advanced[open] summary::after{
	content:"−";
}

.layout-advanced summary span{
	display:block;
	margin-top:4px;
	color:var(--muted);
	font-size:9px;
	font-weight:500;
	line-height:1.4;
}

.layout-advanced-body{
	padding:14px;
	border-top:1px solid var(--line);
	background:var(--panel-bg);
}

.layout-alpha-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px 18px;
}


@media (max-width:700px){

	.layout-style-selector{
		grid-template-columns:1fr;
	}

	.layout-color-grid{
		grid-template-columns:1fr;
	}

	.layout-alpha-grid{
		grid-template-columns:1fr;
	}

}


@media (max-width:520px){

	.layout-color-field{
		align-items:flex-start;
		flex-direction:column;
	}

	.layout-color-control{
		width:100%;
	}

	.layout-color-value{
		flex:1;
		width:auto;
	}

}

/* =========================================================
   MODAL - TEMPLATE
   ========================================================= */

.template-html-editor{
	width:100%;
	min-height:360px;
	resize:vertical;
	padding:14px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	outline:0;
	background:var(--panel-bg);
	color:var(--ink);
	font-family:Consolas,Monaco,"Courier New",monospace;
	font-size:10px;
	line-height:1.6;
	tab-size:4;
}

.template-html-editor:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px var(--brand-soft);
}

.template-form-actions{
	display:flex;
	align-items:center;
	gap:9px;
}

.template-form-actions .template-preview-btn{
	margin-right:auto;
	background:var(--action-dark);
	border-color:var(--action-dark);
	color:var(--on-color);
}

.template-form-actions .template-preview-btn:hover{
	background:var(--action-dark-hover);
	border-color:var(--action-dark-hover);
	color:var(--on-color);
}


.template-preview-browser{
	width:100%;
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}


.template-preview-bar{
	height:42px;
	display:flex;
	align-items:center;
	gap:6px;
	padding:0 14px;
	border-bottom:1px solid var(--line);
	background:var(--panel-bg);
}

.template-preview-bar > span{
	width:8px;
	height:8px;
	flex:0 0 8px;
	border-radius:50%;
	background:var(--line-strong);
}

.template-preview-bar strong{
	margin-left:8px;
	color:var(--muted);
	font-size:10px;
	font-weight:800;
}

.template-preview-frame{
	display:block;
	width:100%;
	height:560px;
	margin:0;
	padding:0;
	border:0;
	background:#f5f5f5;
}

.template-file-input{
	height:44px;
	min-height:44px;
	padding:0 !important;
	overflow:hidden;
	font-family:inherit;
	cursor:pointer;
}

.template-file-input::file-selector-button{
	height:42px;
	margin:0 12px 0 0;
	padding:0 16px;
	border:0;
	border-right:1px solid var(--line);
	background:var(--panel-bg);
	color:var(--ink);
	font-family:inherit;
	font-size:11px;
	font-weight:800;
	cursor:pointer;
}

.template-file-input::-webkit-file-upload-button{
	height:42px;
	margin:0 12px 0 0;
	padding:0 16px;
	border:0;
	border-right:1px solid var(--line);
	background:var(--panel-bg);
	color:var(--ink);
	font-family:inherit;
	font-size:11px;
	font-weight:800;
	cursor:pointer;
}

/* =========================================================
   MODAL - TEMPLATE IMAGES
   ========================================================= */

.template-image-upload-actions{
	display:flex;
	justify-content:flex-start;
	margin-top:12px;
}


/* =========================================================
   UPLOAD IMMAGINE
   ========================================================= */

.template-upload-grid{
	display:grid;
	grid-template-columns:minmax(230px,1.2fr) minmax(180px,1fr) minmax(180px,1fr) auto;
	gap:16px 18px;
	align-items:start;
}

.template-upload-url{
	grid-column:1 / -1;
}

.template-upload-submit{
	padding-top:24px;
}

.template-upload-submit .btn{
	white-space:nowrap;
}


/* =========================================================
   LISTA IMMAGINI
   ========================================================= */

.template-image-list{
	display:flex;
	flex-direction:column;
	gap:10px;
	margin-top:14px;
}

.template-image-item{
	display:grid;
	grid-template-columns:88px minmax(0,1fr) auto;
	align-items:center;
	gap:14px;
	padding:12px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}

.template-image-thumb{
	width:88px;
	height:64px;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:var(--radius-action);
	background:var(--panel-bg);
}

.template-image-thumb img{
	display:block;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
}

.template-image-info{
	min-width:0;
}

.template-image-info strong{
	display:block;
	color:var(--ink);
	font-size:11px;
	font-weight:850;
}

.template-image-info span{
	display:block;
	margin-top:3px;
	color:var(--muted);
	font-size:9px;
}

.template-image-info code{
	display:block;
	max-width:100%;
	margin-top:6px;
	color:var(--control-text);
	font-size:9px;
	white-space:normal;
	overflow-wrap:anywhere;
}

.template-image-actions{
	display:flex;
	align-items:center;
	gap:7px;
}

.template-image-actions .btn{
	min-height:36px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0 11px;
	white-space:nowrap;
	font-size:10px;
	line-height:1;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width:900px){

	/*
	 * Il caricamento delle immagini è disponibile
	 * solamente da desktop.
	 */

	.template-upload-grid{
		display:none;
	}

	.template-image-upload-actions{
		display:none;
	}

}

@media (max-width:700px){

	.template-image-item{
		grid-template-columns:72px minmax(0,1fr);
	}

	.template-image-thumb{
		width:72px;
		height:56px;
	}

	.template-image-actions{
		grid-column:1 / -1;
		display:grid;
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.template-image-actions .btn{
		width:100%;
	}

}

@media (max-width:520px){

	.template-form-actions{
		grid-template-columns:1fr 1fr;
	}

	.template-form-actions .template-preview-btn{
		grid-column:1 / -1;
		margin-right:0;
	}

	.template-preview-frame{
		height:430px;
	}

	.template-image-actions{
		grid-template-columns:1fr;
	}

	.template-image-actions .btn{
		width:100%;
		min-height:40px;
		padding:0 12px;
		font-size:10px;
	}

}

/* =========================================================
   MODAL - SMTP
   ========================================================= */

.smtp-form-actions .smtp-test{
	margin-right:auto;
	background:var(--action-dark);
	border-color:var(--action-dark);
	color:var(--on-color);
}

.smtp-form-actions .smtp-test:hover{
	background:var(--action-dark-hover);
	border-color:var(--action-dark-hover);
	color:var(--on-color);
}

@media (max-width:520px){

	.smtp-form-actions{
		grid-template-columns:1fr 1fr;
	}

	.smtp-form-actions .smtp-test{
		grid-column:1 / -1;
		margin-right:0;
	}

}

/* =========================================================
   MODAL - LOADING
   ========================================================= */

.modal-loading-layer{
	position:absolute;
	inset:0;
	z-index:50;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:12px;
	border-radius:inherit;
	background:var(--modal-loading-bg);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .15s ease,visibility .15s ease;
}

.modal-panel.is-loading .modal-loading-layer{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}

.modal-panel.is-loading{
	min-height:160px;
}

.modal-spinner{
	width:34px;
	height:34px;
	border:3px solid var(--brand-soft);
	border-top-color:var(--brand);
	border-radius:50%;
	animation:modal-spinner .7s linear infinite;
}

.modal-loading-layer span{
	color:var(--muted);
	font-size:10px;
	font-weight:700;
	letter-spacing:.2px;
}

@keyframes modal-spinner{
	from{
		transform:rotate(0deg);
	}

	to{
		transform:rotate(360deg);
	}
}


/* =========================================================
   USERS
   ========================================================= */

.section-tabs{
	display:flex;
	align-items:center;
	gap:6px;
	width:max-content;
	max-width:100%;
	margin-bottom:22px;
	padding:5px;
	border:1px solid var(--line);
	border-radius:var(--radius-nav);
	background:var(--card);
}

.section-tab{
	height:40px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:0 14px;
	border-radius:var(--radius-sm);
	color:var(--muted);
	font-size:11px;
	font-weight:800;
	white-space:nowrap;
	transition:background .15s ease,color .15s ease;
}

.section-tab:hover{
	background:var(--surface-hover);
	color:var(--ink);
}

.section-tab.active{
	background:var(--brand);
	color:var(--on-color);
}

.section-tab-icon{
	width:18px;
	height:18px;
	display:grid;
	place-items:center;
	flex:0 0 auto;
}

.section-tab-icon svg{
	width:18px;
	height:18px;
}

.section-tab-label{
	display:block;
}

.section-content{
	min-width:0;
}

.section-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px;
	margin-bottom:18px;
}

.section-head h2{
	margin:0;
	font-size:18px;
	letter-spacing:-.3px;
}

.section-head p{
	margin:5px 0 0;
	color:var(--muted);
	font-size:11px;
}

.btn-icon{
	margin-right:7px;
}

.list-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-bottom:12px;
}

.list-search{
	width:320px;
	height:42px;
	display:flex;
	align-items:center;
	gap:9px;
	padding:0 13px;
	border:1px solid var(--line);
	border-radius:var(--radius-medium);
	background:var(--card);
	color:var(--search-icon);
}

.list-search input{
	width:100%;
	border:0;
	outline:0;
	background:transparent;
	color:var(--ink);
	font-size:12px;
}

.list-search input::placeholder{
	color:var(--search-placeholder);
}

.data-list{
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:var(--radius-card);
	background:var(--card);
}

.data-list-head,
.data-list-row{
	display:grid;
	grid-template-columns:minmax(240px,1.5fr) minmax(200px,1fr) minmax(140px,.7fr) 110px 100px;
	align-items:center;
	gap:18px;
}

@media (min-width:901px){

	.data-list--store .data-list-head,
	.data-list--store .data-list-row{
		grid-template-columns:minmax(210px,1.4fr) minmax(170px,1fr) minmax(130px,.8fr) minmax(150px,.9fr) 100px 138px;
	}
	
	.data-list--layout .data-list-head,
	.data-list--layout .data-list-row{
		grid-template-columns:minmax(280px,1.5fr) minmax(260px,1fr) 90px;
	}
	
	.data-list--smtp .data-list-head,
	.data-list--smtp .data-list-row{
		grid-template-columns:minmax(220px,1.2fr) minmax(240px,1.2fr) minmax(200px,1fr) 90px;
	}

	.data-list--template .data-list-head,
	.data-list--template .data-list-row{
		grid-template-columns:minmax(300px,1.5fr) minmax(220px,1fr) 90px;
	}

}

.layout-palette{
	display:flex;
	align-items:center;
	gap:7px;
}

.layout-color-dot{
	width:24px;
	height:24px;
	flex:0 0 24px;
	border:1px solid var(--line);
	border-radius:50%;
	box-shadow:0 1px 3px var(--shadow-soft);
}

.layout-palette-empty{
	color:var(--muted);
	font-size:10px;
}

.data-list-head{
	min-height:42px;
	padding:0 18px;
	border-bottom:1px solid var(--line);
	background:var(--panel-bg);
	color:var(--list-head-text);
	font-size:9px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.5px;
}

.data-list-row{
	min-height:78px;
	padding:13px 18px;
	border-bottom:1px solid var(--row-line);
	transition:background .15s ease;
}

.data-list-row:last-child{
	border-bottom:0;
}

.data-list-row:hover{
	background:var(--row-hover);
}

.data-list-main{
	display:flex;
	align-items:center;
	gap:12px;
	min-width:0;
}

.entity-icon{
	width:40px;
	height:40px;
	flex:0 0 40px;
	display:grid;
	place-items:center;
	border-radius:var(--radius-control);
	background:var(--brand-soft);
	color:var(--brand);
}

.entity-icon--device-image{
	overflow:hidden;
	border:1px solid var(--line);
	background:var(--card);
}

.entity-icon--device-image img{
	display:block;
	width:auto;
	height:33px;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
}

.data-list-main strong,
.data-list-cell strong{
	display:block;
	overflow:hidden;
	color:var(--list-text);
	font-size:12px;
	font-weight:750;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.data-list-main span,
.data-list-cell > span:not(.badge):not(.data-mobile-label){
	display:block;
	margin-top:4px;
	overflow:hidden;
	color:var(--muted);
	font-size:10px;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.data-list-actions{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:8px;
}

.data-action-btn{
	width:36px;
	height:36px;
	flex:0 0 36px;
	display:grid;
	place-items:center;
	padding:0;
	border:1px solid var(--line);
	border-radius:var(--radius-action);
	background:var(--card);
	color:var(--muted);
	cursor:pointer;
	transition:background .15s ease,border-color .15s ease,color .15s ease;
}

.data-action-btn:hover{
	border-color:var(--line-strong);
	background:var(--action-hover-bg);
	color:var(--ink);
}

.data-action-btn svg{
	width:18px;
	height:18px;
}

.data-action-btn:hover{
	border-color:var(--brand);
	background:var(--brand-soft);
	color:var(--brand);
}

.data-mobile-label{
	display:none;
}

.empty-state{
	padding:55px 20px;
	text-align:center;
}

.empty-state-icon{
	width:52px;
	height:52px;
	display:grid;
	place-items:center;
	margin:0 auto 14px;
	border-radius:var(--radius-panel);
	background:var(--brand-soft);
	color:var(--brand);
}

.empty-state-icon svg{
	width:22px;
	height:22px;
}

.empty-state strong{
	display:block;
	font-size:14px;
}

.empty-state p{
	margin:6px 0 18px;
	color:var(--muted);
	font-size:11px;
}

.template-placeholder-status{
	display:inline-flex;
	align-items:center;
	width:max-content;
	padding:5px 8px;
	border-radius:999px;
	font-size:9px;
	font-weight:800;
}

.template-placeholder-status.success{
	background:var(--success-soft);
	color:var(--success);
}

.template-placeholder-status.danger{
	background:var(--danger-soft);
	color:var(--danger);
}

/* =========================================================
   RESPONSIVE - USERS / CURRENT EXTENSIONS
   IMPORTANT: stays after USERS base rules so it wins cascade
   ========================================================= */

@media (max-width:900px){

	.data-list{
		width:100%;
		min-width:0;
		overflow:visible;
	}

	.data-list-head{
		display:none;
	}

	.data-list-row{
		position:relative;
		display:grid;
		grid-template-columns:minmax(0,1fr) auto;
		gap:16px 12px;
		padding:18px 20px;
	}

	.data-list-main{
		grid-column:1;
		grid-row:1;
		min-width:0;
	}

	.data-list-main > div:last-child{
		min-width:0;
	}

	.data-list-main strong,
	.data-list-main span{
		overflow:hidden;
		text-overflow:ellipsis;
		white-space:nowrap;
	}

	.data-list-cell{
		grid-column:1 / -1;
		min-width:0;
	}

	.data-list-cell strong,
	.data-list-cell span{
		overflow:hidden;
		text-overflow:ellipsis;
	}

	.data-mobile-label{
		display:block;
		margin-bottom:5px;
		color:var(--mobile-label);
		font-size:9px;
		font-weight:800;
		text-transform:uppercase;
		letter-spacing:.45px;
	}

	.data-list-actions{
		display:flex;
		grid-column:2;
		grid-row:1;
		align-self:center;
		justify-self:end;
	}

}

@media (max-width:520px){

	.modal-form-grid{
		grid-template-columns:1fr;
	}

	.modal-form-full{
		grid-column:auto;
	}

	.modal-permissions{
		grid-template-columns:1fr;
	}

	.section-tabs{
		width:max-content;
		max-width:100%;
		gap:6px;
		overflow-x:auto;
		overflow-y:hidden;
		scrollbar-width:none;
		-webkit-overflow-scrolling:touch;
	}

	.section-tabs::-webkit-scrollbar{
		display:none;
	}

	.section-tab{
		width:42px;
		height:42px;
		padding:0;
		flex:0 0 42px;
	}

	.section-tab-label{
		display:none;
	}

	.section-tab-icon,
	.section-tab-icon svg{
		width:19px;
		height:19px;
	}

	.section-head{
		align-items:flex-start;
		gap:12px;
	}

	.section-head .btn{
		width:42px;
		min-width:42px;
		padding:0;
		font-size:0;
	}

	.section-head .btn-icon{
		margin:0;
	}

	.list-search{
		width:100%;
	}

	.data-list-row{
		padding:16px;
	}
	
	.store-existing-row{
		grid-template-columns:1fr;
		gap:11px;
	}

	.store-existing-info{
		justify-content:space-between;
	}

	.store-existing-rv{
		text-align:left;
	}

}

/* =========================================================
   USERS - SORT / PAGING
   ========================================================= */

.list-sort-form{
	margin-left:auto;
}

.list-sort-form .sort-btn{
	min-width:190px;
	height:42px;
	padding:0 42px 0 13px;
	border:1px solid var(--line);
	border-radius:var(--radius-medium);
	outline:0;
	background-color:var(--card);
	color:var(--control-text-strong);
	font-size:11px;
	font-family:inherit;
	font-weight:700;
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f7b87' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 13px center;
	background-size:14px;
}

.list-sort-form .sort-btn:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px var(--brand-soft);
}

.data-pagination{
	min-height:64px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:14px 18px;
	border-top:1px solid var(--row-line);
	background:var(--card);
}

.data-pagination-info{
	color:var(--muted);
	font-size:10px;
	font-weight:700;
}

.data-pagination-nav{
	display:flex;
	align-items:center;
	gap:6px;
}

.data-page-link{
	min-width:36px;
	height:36px;
	display:grid;
	place-items:center;
	padding:0 9px;
	border:1px solid var(--line);
	border-radius:var(--radius-action);
	background:var(--card);
	color:var(--progress-text);
	font-size:10px;
	font-weight:800;
	line-height:1;
	transition:background .15s ease,border-color .15s ease,color .15s ease;
}

.data-page-link:hover{
	border-color:var(--line-strong);
	background:var(--action-hover-bg);
	color:var(--ink);
}

.data-page-link.active{
	border-color:var(--brand);
	background:var(--brand);
	color:var(--on-color);
}

.data-page-link.disabled{
	opacity:.4;
	cursor:default;
}

.data-page-arrow{
	font-size:18px;
	line-height:1;
}

.data-page-dots{
	min-width:24px;
	display:grid;
	place-items:center;
	color:var(--mobile-label);
	font-size:11px;
}

@media (max-width:900px){

	.list-toolbar{
		flex-wrap:wrap;
	}

	.list-sort-form{
		width:100%;
		margin-left:0;
	}

	.list-sort-form .sort-btn{
		width:100%;
	}

	.data-pagination{
		min-height:0;
		flex-direction:column;
		align-items:stretch;
		gap:12px;
		padding:14px 16px;
	}

	.data-pagination-info{
		text-align:center;
	}

	.data-pagination-nav{
		width:100%;
		justify-content:center;
		flex-wrap:wrap;
	}

}


/* =========================================================
   SETTINGS - SUB MENU
   ========================================================= */

.settings-subtabs{
	display:flex;
	align-items:center;
	gap:6px;
	margin-top:14px;
	margin-bottom: 15px;
}

.settings-subtab{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:34px;
	padding:0 14px;
	border-radius:var(--radius-control);
	color:var(--muted);
	font-size:10.5px;
	font-weight:800;
	text-decoration:none;
}

.settings-subtab:hover{
	background:var(--panel-bg);
	color:var(--ink);
}

.settings-subtab.active{
	background:var(--brand-soft);
	color:var(--brand-dark);
}

@media (max-width:700px){

	.settings-subtabs{
		padding-bottom:4px;
	}

}

@media (max-width:700px){

	.settings-subtabs{
		display:flex;
		flex-wrap:nowrap;
		width:100%;
		max-width:100%;
		gap:6px;
		overflow-x:auto;
		overflow-y:hidden;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
	}

	.settings-subtabs::-webkit-scrollbar{
		display:none;
	}

	.settings-subtab{
		flex:0 0 auto;
		white-space:nowrap;
		padding-left:12px;
		padding-right:12px;
	}

}

/* =========================================================
   SETTINGS - DISPOSITIVI
   ========================================================= */

@media (min-width:901px){

	.data-list--devices .data-list-head,
	.data-list--devices .data-list-row{
		grid-template-columns: minmax(260px,1.35fr) minmax(150px,.75fr) minmax(175px,.9fr) minmax(220px,1.15fr) 110px 90px;
	}

}


/* =========================================================
   SETTINGS - VENDOR LIST
   ========================================================= */

@media (min-width:901px){

	.data-list--vendor .data-list-head,
	.data-list--vendor .data-list-row{
		grid-template-columns:minmax(210px,1.15fr) minmax(180px,.95fr) minmax(165px,.85fr) minmax(190px,1fr) minmax(180px,.95fr) 56px;
	}

}

.vendor-list-logo{
	width:38px;
	height:38px;
	flex:0 0 38px;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:var(--radius-action);
	background:var(--card);
}

.vendor-list-logo img{
	display:block;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
}

.vendor-config-list > span:not(.data-mobile-label){
	display:block;
	margin-top:3px;
	color:var(--muted);
	font-size:10px;
}

.vendor-config-list > span:not(.data-mobile-label):first-of-type{
	margin-top:0;
}

.vendor-config-list > span strong{
	display:inline;
	color:var(--ink);
	font-size:10px;
}

.vendor-logo-current{
	position:relative;
}

.vendor-logo-field{
	display:flex;
	flex-direction:column;
	gap:14px;
}

.vendor-logo-preview-row{
	display:flex;
	align-items:center;
	gap:12px;
}

.vendor-logo-preview{
	width:220px;
	height:90px;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	padding:10px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	background:var(--card);
}

.vendor-logo-preview img{
	display:block;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
}

.vendor-logo-remove{
	flex:0 0 auto;
}

.vendor-finance-options{
	display:grid;
	gap:10px;
	margin-top:4px;
}

.vendor-finance-options .modal-permission-item{
	display:flex;
	align-items:center;
	gap:8px;
	min-height:46px;
	padding:10px 16px;
}

.vendor-finance-options .modal-permission-item input[type="checkbox"]{
	width:18px;
	height:18px;
	flex:0 0 18px;
	margin:0;
	padding:0;
	align-self:center;
}

.vendor-finance-options .modal-permission-item span{
	display:flex;
	align-items:center;
	min-height:18px;
	line-height:18px;
}

.vendor-list{
	display:grid;
	gap:16px;
}

.vendor-item{
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}

.vendor-main-row{
	display:grid;
	grid-template-columns:minmax(260px,1.1fr) minmax(220px,.9fr) minmax(300px,1.25fr) 130px 56px;
	gap:18px;
	align-items:center;
	padding:18px 20px;
}

.vendor-status{
	display:flex;
	align-items:center;
}

.vendor-actions{
	display:flex;
	align-items:center;
	justify-content:flex-end;
}

.vendor-detail-head,
.vendor-detail-row{
	grid-template-columns:minmax(130px,.6fr) minmax(220px,1fr) minmax(220px,1fr) minmax(220px,1fr) minmax(260px,1.2fr);
}

.vendor-detail-row{
	min-height:86px;
}

/* =========================================================
   SETTINGS - COEFFICIENTI
   ========================================================= */

@media (min-width:901px){

	.data-list--coef .data-list-head,
	.data-list--coef .data-list-row{
		grid-template-columns:minmax(170px,.8fr) minmax(240px,1.25fr) minmax(130px,.65fr) minmax(150px,.75fr) minmax(100px,.5fr) 56px;
	}

}


/* =========================================================
   SETTINGS - FINANZIARIE / COEFFICIENTI
   ========================================================= */

.finance-list{
	display:grid;
	gap:16px;
}

.finance-item{
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}

.finance-main-row{

	display:grid;
	grid-template-columns:minmax(260px,1fr) 150px auto;
	gap:18px;
	align-items:center;
	padding:18px 20px;
}

.finance-status{
	display:flex;
	align-items:center;
}

.finance-actions{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:8px;
}

.finance-coef-list{
	border-top:1px solid var(--line);
	background:var(--panel-bg);
}

.finance-coef-head,
.finance-coef-row{
	display:grid;
	grid-template-columns:minmax(120px,.65fr) minmax(220px,1.2fr) minmax(130px,.7fr) minmax(180px,.9fr) minmax(100px,.5fr) minmax(110px,.55fr) 56px;
	gap:18px;
	align-items:center;
}

.finance-coef-head{
	padding:11px 20px;
	border-bottom:1px solid var(--line);
	color:var(--muted);
	font-size:9px;
	font-weight:850;
	text-transform:uppercase;
	letter-spacing:.45px;
}

.finance-coef-row{
	min-height:70px;
	padding:12px 20px;
	border-bottom:1px solid var(--line);
}

.finance-coef-row:last-child{
	border-bottom:0;
}

.finance-coef-empty{
	padding:18px 20px;
	color:var(--muted);
	font-size:11px;
}

@media (max-width:900px){

	.finance-main-row{
		grid-template-columns:1fr auto;
	}

	.finance-status{
		grid-column:1;
	}

	.finance-actions{
		grid-column:2;
		grid-row:1 / span 2;
	}

	.finance-coef-head{
		display:none;
	}

	.finance-coef-row{
		grid-template-columns:1fr auto;
		gap:12px 18px;
		padding:16px 20px;
		align-items:start;
	}

	.finance-coef-row .data-list-cell{
		grid-column:1 / -1;
	}

	.finance-coef-row .data-list-cell:first-child{
		grid-column:1;
		grid-row:1;
	}

	.finance-coef-row .data-list-actions{
		grid-column:2;
		grid-row:1;
		align-self:center;
		justify-content:flex-end;
	}

}

@media (max-width:520px){

	.finance-main-row{
		grid-template-columns:1fr;
	}

	.finance-status,
	.finance-actions{
		grid-column:auto;
		grid-row:auto;
	}

	.finance-actions{
		justify-content:flex-start;
	}

}


/* =========================================================
   SETTINGS - VENDOR / DETTAGLIO
   Queste regole devono rimanere dopo quelle Finance,
   perché il dettaglio Vendor riutilizza finance-coef-*.
   ========================================================= */

.finance-coef-head.vendor-detail-head,
.finance-coef-row.vendor-detail-row{
	grid-template-columns:minmax(130px,.6fr) minmax(220px,1fr) minmax(220px,1fr) minmax(220px,1fr) minmax(260px,1.2fr);
}

@media (max-width:900px){

	.vendor-main-row{
		grid-template-columns:minmax(0,1fr) auto;
		gap:14px 18px;
		padding:16px 20px;
		align-items:start;
	}

	.vendor-main-row .data-list-main{
		grid-column:1;
		min-width:0;
	}

	.vendor-main-row > .data-list-cell{
		grid-column:1 / -1;
		min-width:0;
	}

	.vendor-status{
		grid-column:1 / -1;
	}

	.vendor-actions{
		grid-column:2;
		grid-row:1;
		align-self:center;
		justify-content:flex-end;
	}

	.finance-coef-head.vendor-detail-head{
		display:none;
	}

	.finance-coef-row.vendor-detail-row{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:18px;
		padding:16px 20px;
		align-items:start;
	}

	.finance-coef-row.vendor-detail-row .data-list-cell,
	.finance-coef-row.vendor-detail-row .data-list-cell:first-child{
		grid-column:auto;
		grid-row:auto;
		min-width:0;
	}

}

@media (max-width:520px){

	.finance-coef-row.vendor-detail-row{
		grid-template-columns:1fr;
	}

}


/* =========================================================
   MODAL - COEFFICIENTI
   ========================================================= */

.coef-tier-head{
	display:grid;
	grid-template-columns:minmax(110px,1fr) minmax(110px,1fr) minmax(110px,1fr) minmax(110px,1fr) 42px;
	gap:12px;
	margin-bottom:7px;
	padding:0 1px;
	color:var(--form-label);
	font-size:10px;
	font-weight:800;
}

.coef-tier-row{
	display:grid;
	grid-template-columns:minmax(110px,1fr) minmax(110px,1fr) minmax(110px,1fr) minmax(110px,1fr) 42px;
	gap:12px;
	align-items:end;
	margin-top:10px;
}

.coef-tier-row:first-child{
	margin-top:0;
}

.coef-tier-row .modal-form-group label{
	display:none;
}

.coef-tier-remove{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
}

.coef-tier-add{
	display:flex;
	justify-content:flex-start;
	margin-top:14px;
}

.coef-tier-range input{
	background:#eef7fc;
}

.coef-tier-upfront input{
	background:#fff6e9;
}

@media (max-width:700px){

	.coef-tier-head{
		display:none;
	}

	.coef-tier-row{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		gap:12px;
		padding:14px;
		border:1px solid var(--line);
		border-radius:var(--radius-panel);
		background:var(--panel-bg);
	}

	.coef-tier-row .modal-form-group label{
		display:block;
	}

	.coef-tier-remove{
		grid-column:1 / -1;
		justify-content:flex-end;
		min-height:0;
	}

}

/* =========================================================
   COEF - CATEGORIE
   ========================================================= */

.coef-category-grid{
	grid-template-columns:repeat(3,minmax(0,1fr));
}

.coef-category-item{
	min-width:0;
}

.coef-category-icon{
	width:24px;
	height:24px;
	flex:0 0 24px;
	display:grid;
	place-items:center;
	border-radius:7px;
	background:var(--brand-soft);
	color:var(--brand);
}

.coef-category-icon svg{
	width:14px;
	height:14px;
}

.coef-category-help{
	display:block;
	margin-top:8px;
	color:var(--muted);
	font-size:10px;
	line-height:1.4;
}

.coef-category-summary{
	display:flex;
	align-items:center;
	gap:8px;
	min-width:0;
}

.coef-category-icons{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:4px;
}

.coef-category-mini{
	width:24px;
	height:24px;
	flex:0 0 24px;
	display:grid;
	place-items:center;
	border-radius:7px;
	background:var(--brand-soft);
	color:var(--brand);
	cursor:help;
}

.coef-category-mini svg{
	width:13px;
	height:13px;
}

.coef-category-summary > strong{
	font-size:10px;
	white-space:nowrap;
}


@media (max-width:700px){

	.coef-category-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

}


@media (max-width:520px){

	.coef-category-grid{
		grid-template-columns:1fr;
	}
	
	.practice{
		grid-template-columns:minmax(0,1fr);
	}

	.status{
		grid-column:1 / -1;
		grid-row:auto;
		justify-self:start;
		text-align:left;
		margin-top:2px;
	}

	.progress-box{
		grid-column:1 / -1;
	}

}


/* =========================================================
   SETTINGS - ICONE
   ========================================================= */

@media (min-width:901px){

	.data-list--icons .data-list-head,
	.data-list--icons .data-list-row{
		grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) minmax(360px,1.6fr) 56px;
	}

}

.icon-list-preview svg{
	width:18px;
	height:18px;
}

.icon-key-code,
.icon-svg-code{
	display:block;
	max-width:100%;
	overflow:hidden;
	color:var(--muted);
	font-size:10px;
	line-height:1.4;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.icon-key-code{
	color:var(--ink);
	font-weight:750;
}

.icon-svg-editor{
	min-height:260px;
	font-family:monospace;
	font-size:11px;
	line-height:1.5;
	resize:vertical;
}

.icon-modal-preview{
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	background:var(--panel-bg);
}

.icon-modal-preview > div:last-child{
	display:flex;
	flex-direction:column;
	gap:2px;
}

.icon-modal-preview span{
	color:var(--muted);
	font-size:10px;
}

/* =========================================================
   SETTINGS - CATEGORIE DISPOSITIVI
   ========================================================= */

@media (min-width:901px){

	.data-list--categ .data-list-head,
	.data-list--categ .data-list-row{
		grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) minmax(180px,1fr) 56px;
	}

}

.categ-icon-preview{
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	background:var(--panel-bg);
}

.categ-icon-preview > div:last-child{
	display:flex;
	flex-direction:column;
	gap:2px;
}

.categ-icon-preview span{
	color:var(--muted);
	font-size:10px;
}


/* =========================================================
   DEVICE - SIMULATORE CANONI
   ========================================================= */

.device-calc-device{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-bottom:18px;
	padding:14px 16px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--panel-bg);
}

.device-calc-device > div:first-child{
	min-width:0;
}

.device-calc-device strong{
	display:block;
	font-size:13px;
}

.device-calc-device span{
	display:block;
	margin-top:3px;
	color:var(--muted);
	font-size:10px;
}

.device-calc-count{
	flex:0 0 auto;
	color:var(--brand);
	font-size:10px;
	font-weight:800;
	white-space:nowrap;
}

.device-calc-client-form{
	margin-bottom:20px;
}

.device-calc-alert{
	display:flex;
	flex-direction:column;
	gap:4px;
}

.device-calc-alert strong{
	font-size:11px;
}

.device-calc-alert span{
	font-size:10px;
}

.device-calc-diagnostics{
	margin-top:18px;
}

.device-calc-diagnostics ul{
	margin:10px 0 0;
	padding-left:20px;
	color:var(--muted);
	font-size:10px;
	line-height:1.6;
}

.device-calc-vendor{
	overflow:hidden;
	margin-top:18px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}

.device-calc-vendor-head,
.device-calc-finance-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:12px 16px;
}

.device-calc-vendor-head{
	background:var(--panel-bg);
	border-bottom:1px solid var(--line);
}

.device-calc-vendor-head strong{
	font-size:12px;
}

.device-calc-vendor-head span,
.device-calc-finance-head span{
	color:var(--muted);
	font-size:9px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.45px;
}

.device-calc-finance{
	border-bottom:1px solid var(--line);
}

.device-calc-finance:last-child{
	border-bottom:0;
}

.device-calc-finance-head{
	border-bottom:1px solid var(--line);
}

.device-calc-finance-head strong{
	font-size:11px;
}

.device-calc-plan{
	padding:14px 16px 16px;
	border-bottom:1px solid var(--line);
}

.device-calc-plan:last-child{
	border-bottom:0;
}

.device-calc-plan-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:18px;
	margin-bottom:12px;
}

.device-calc-plan-head > div:first-child strong{
	display:block;
	font-size:11px;
}

.device-calc-plan-head > div:first-child span{
	display:block;
	margin-top:3px;
	color:var(--muted);
	font-size:9px;
}

.device-calc-economic{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	flex-wrap:wrap;
	gap:6px 12px;
	color:var(--muted);
	font-size:9px;
}

.device-calc-economic strong{
	color:var(--ink);
}

.device-calc-table{
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
}

.device-calc-table-head,
.device-calc-table-row{
	display:grid;
	grid-template-columns:120px minmax(150px,1fr) minmax(170px,1fr);
	gap:14px;
	align-items:center;
}

.device-calc-table-head{
	padding:9px 12px;
	border-bottom:1px solid var(--line);
	background:var(--panel-bg);
	color:var(--muted);
	font-size:9px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.4px;
}

.device-calc-table-row{
	min-height:54px;
	padding:10px 12px;
	border-bottom:1px solid var(--line);
}

.device-calc-table-row:last-child{
	border-bottom:0;
}

.device-calc-table-row strong{
	display:block;
	font-size:11px;
}

.device-calc-table-row span{
	display:block;
	margin-top:2px;
	color:var(--muted);
	font-size:9px;
}

.data-action-btn.calc-unavailable{
	border-color:var(--danger-border-soft);
	background:var(--danger-soft);
	color:var(--danger);
}

@media (max-width:700px){

	.device-calc-device,
	.device-calc-plan-head{
		align-items:flex-start;
		flex-direction:column;
	}

	.device-calc-count{
		white-space:normal;
	}

	.device-calc-economic{
		justify-content:flex-start;
	}

	.device-calc-table-head{
		display:none;
	}

	.device-calc-table-row{
		grid-template-columns:1fr 1fr;
		gap:10px 12px;
	}

	.device-calc-table-row > div:first-child{
		grid-column:1 / -1;
	}

}

.data-list--accessories .data-list-head,
.data-list--accessories .data-list-row {
	grid-template-columns:
		minmax(240px, 1.4fr)
		minmax(260px, 1.5fr)
		130px
		110px
		44px;
}

.accessory-package-row {
	padding: 18px;
	margin-bottom: 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius-panel);
	background: var(--card);
}

.accessory-package-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.accessory-package-market {
	margin: 16px 0 10px;
	color: var(--muted);
}

.nolo-kpi-grid{
	grid-template-columns:repeat(3,minmax(0,1fr));
}

.kpi.danger .kpi-icon{
	background:var(--danger-soft);
	color:var(--danger);
}

.nolo-kpi-active{
	border-color:var(--brand);
	box-shadow:0 0 0 2px var(--brand-ring);
}

.nolo-practice{
	width:100%;
	text-align:left;
	cursor:pointer;
	color:inherit;
	font:inherit;
}

.nolo-practice-card{
	margin-top:18px;
	padding:18px 20px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}

.nolo-practice-group-title{
	margin-bottom:16px;
	color:var(--section-title);
	font-size:12px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.4px;
}

.nolo-practice-grid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:16px 18px;
}

.nolo-practice-field{
	min-width:0;
}

.nolo-practice-field-full{
	grid-column:1 / -1;
}

.nolo-practice-field label{
	margin-top:8px;
	color:var(--form-label);
	font-size:12px;
	font-weight:700;
}

.nolo-practice-field input[type="text"],
.nolo-practice-field input[type="email"],
.nolo-practice-field input[type="tel"],
.nolo-practice-field input[type="number"],
.nolo-practice-field input[type="date"],
.nolo-practice-field select{
	width:100%;
	height:46px;
	padding:0 14px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	background:var(--card);
	color:var(--ink);
	font-size:14px;
	outline:none;
}

.nolo-practice-field input[readonly],
.nolo-practice-field select:disabled{
	background:var(--surface-subtle);
	color:var(--muted);
}

.nolo-practice-field small{
	display:block;
	margin-top:8px;
	color:var(--muted);
	font-size:12px;
	line-height:1.45;
}

.nolo-practice-choice-group{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.nolo-practice-choice{
	display:inline-flex;
	align-items:center;
	gap:8px;

	min-height:44px;

	margin:0;
	padding:0 12px;

	border:1px solid var(--line);
	border-radius:var(--radius-control);

	background:var(--card);

	font-size:11px;
	font-weight:700;
	line-height:1;

	cursor:pointer;
}

.nolo-practice-choice input[type="radio"],
.nolo-practice-choice input[type="checkbox"]{
	width:16px;
	height:16px;
	flex:0 0 16px;

	margin:0;
	padding:0;

	position:relative;
	top:0px;

	accent-color:var(--brand);
}

.nolo-practice-choice span{
	display:inline-flex;
	align-items:center;

	margin:0;
	padding:0;

	line-height:16px;
}

.nolo-practice-choice:has(input:checked){
	border-color:var(--brand);
	background:var(--brand-soft);
}

.nolo-practice-choice:has(input:disabled){
	cursor:default;
}

.nolo-practice-file-current{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	padding:12px 14px;
	margin-bottom:12px;
	border:1px solid var(--line);
	border-radius:14px;
	background:var(--surface-subtle);
}

.nolo-practice-file-current strong{
	display:block;
	font-size:12px;
}

.nolo-practice-file-current span{
	display:block;
	margin-top:4px;
	font-size:12px;
	color:var(--muted);
}

.nolo-practice-file-upload{
	width:100%;
	min-width:0;
}

.nolo-practice-file-input{
	position:absolute;

	width:1px;
	height:1px;

	overflow:hidden;

	opacity:0;
	pointer-events:none;
}

.nolo-practice-file-trigger{
	display:flex !important;
	align-items:center;

	width:100%;
	min-width:0;
	min-height:46px;

	margin:0 !important;

	overflow:hidden;

	border:1px solid var(--line);
	border-radius:var(--radius-control);

	background:var(--card);

	cursor:pointer;

	transition:
		border-color .15s ease,
		background .15s ease,
		box-shadow .15s ease;
}

.nolo-practice-file-trigger:hover{
	border-color:var(--brand);
	background:var(--brand-soft);
}

.nolo-practice-file-trigger:focus-within{
	border-color:var(--brand);
	box-shadow:0 0 0 3px var(--brand-soft);
}

.nolo-practice-file-btn{
	height:44px;

	display:inline-flex;
	align-items:center;
	justify-content:center;

	flex:0 0 auto;

	padding:0 14px;

	border-right:1px solid var(--line);

	color:var(--brand);

	font-size:11px;
	font-weight:800;

	white-space:nowrap;
}

.nolo-practice-file-name{
	display:block;

	min-width:0;

	padding:0 14px;

	overflow:hidden;

	color:var(--muted);

	font-size:11px;
	font-weight:500;

	text-overflow:ellipsis;
	white-space:nowrap;
}

@media (max-width:520px){

	.nolo-practice-file-trigger{
		align-items:stretch;
		flex-direction:column;
	}

	.nolo-practice-file-btn{
		width:100%;
		height:42px;

		border-right:0;
		border-bottom:1px solid var(--line);
	}

	.nolo-practice-file-name{
		width:100%;
		padding:10px 12px;

		text-align:center;
	}

}

.nolo-practice-save,
.nolo-practice-submit{
	margin-top:18px;
	padding:18px 20px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}

.nolo-practice-save small{
	display:block;
	margin-top:8px;
	color:var(--muted);
	font-size:12px;
}

@media (max-width:900px){

	.nolo-practice-grid{
		grid-template-columns:minmax(0,1fr);
	}

	.nolo-practice-file-current{
		flex-direction:column;
		align-items:flex-start;
	}

}

/* =========================================================
   NOLO - DETTAGLIO PREVENTIVO / PRATICA
   ========================================================= */

.nolo-detail-head-top{
	display:flex;
	align-items:center;
	gap:9px;
	margin-bottom:7px;
}

.nolo-detail-code{
	color:var(--muted);
	font-size:11px;
	font-weight:800;
	letter-spacing:.35px;
}

.nolo-detail-body{
	padding-top:18px;
	overflow-x:hidden;
}

.nolo-practice-card,
.nolo-practice-grid,
.nolo-practice-field,
.nolo-practice-file-current,
.nolo-practice-file-current > div{
	min-width:0;
	max-width:100%;
}


/* FILE INPUT */

.nolo-practice-field input[type="file"]{
	display:block;

	width:100%;
	min-width:0;
	max-width:100%;

	overflow:hidden;
}

.nolo-practice-field{
	min-width:0;
	max-width:100%;
	overflow:hidden;
}

.nolo-practice-field input[type="date"]{
	display:block;

	width:100%;
	min-width:0;
	max-width:100%;

	box-sizing:border-box;
}

@supports (-webkit-touch-callout:none){

	.nolo-practice-field input[type="date"]{
		-webkit-appearance:none;
		appearance:none;

		height:46px;
		padding:0 14px;

		text-align:left;
		line-height:46px;
	}

	.nolo-practice-field input[type="date"]::-webkit-date-and-time-value{
		margin:0;

		text-align:left;
		line-height:46px;
	}

}

/* DOCUMENTO GIÀ CARICATO */

.nolo-practice-file-current span{
	display:block;

	max-width:100%;

	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.nolo-detail-summary{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:10px;
	margin-bottom:22px;
}

.nolo-detail-summary-card{
	min-width:0;
	padding:13px 14px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--panel-bg);
}

.nolo-detail-summary-card span{
	display:block;
	margin-bottom:6px;
	color:var(--detail-label);
	font-size:9px;
	font-weight:800;
	letter-spacing:.5px;
	text-transform:uppercase;
}

.nolo-detail-summary-card strong{
	display:block;
	overflow:hidden;
	color:var(--ink);
	font-size:14px;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.nolo-detail-section{
	padding-top:18px;
	margin-top:18px;
}

.nolo-detail-section:first-of-type{
	margin-top:0;
}

.nolo-detail-progress-section{
	padding-bottom:2px;
}

.nolo-detail-info-grid{
	margin-bottom:0;
}

.nolo-detail-section-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
}

.nolo-detail-section-head small{
	color:var(--muted);
	font-size:10px;
	font-weight:600;
	letter-spacing:0;
	text-transform:none;
}

.nolo-detail-products{
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}

.nolo-detail-product{
	display:grid;
	grid-template-columns:minmax(0,1.4fr) minmax(180px,.8fr);
	align-items:center;
	gap:18px;
	padding:13px 14px;
	border-bottom:1px solid var(--row-line);
}

.nolo-detail-product:last-child{
	border-bottom:0;
}

.nolo-detail-product-main{
	display:flex;
	align-items:center;
	gap:12px;
	min-width:0;
}

.nolo-detail-product-main > div:last-child,
.nolo-detail-product-accessory{
	min-width:0;
}

.nolo-detail-product-main strong,
.nolo-detail-product-accessory strong{
	display:block;
	overflow:hidden;
	color:var(--list-text);
	font-size:12px;
	font-weight:750;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.nolo-detail-product-main span,
.nolo-detail-product-accessory span,
.nolo-detail-product-accessory small{
	display:block;
	margin-top:4px;
	color:var(--muted);
	font-size:10px;
}

.nolo-detail-product-accessory > span{
	margin-top:0;
	margin-bottom:4px;
	color:var(--detail-label);
	font-size:9px;
	font-weight:800;
	letter-spacing:.45px;
	text-transform:uppercase;
}

.nolo-detail-empty{
	padding:18px;
	color:var(--muted);
	font-size:11px;
	text-align:center;
}

.nolo-detail-economic-table{
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}

.nolo-detail-economic-table > div{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:11px 14px;
	border-bottom:1px solid var(--row-line);
}

.nolo-detail-economic-table > div:last-child{
	border-bottom:0;
}

.nolo-detail-economic-table span{
	color:var(--muted);
	font-size:11px;
}

.nolo-detail-economic-table strong{
	color:var(--ink);
	font-size:12px;
	text-align:right;
}

.nolo-detail-economic-total{
	background:var(--panel-bg);
}

.nolo-detail-economic-total span,
.nolo-detail-economic-total strong{
	font-weight:800;
}

.nolo-detail-economic-total strong{
	font-size:15px;
}

.nolo-detail-validity{
	padding:14px 16px;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
}

.nolo-detail-validity strong{
	display:block;
	font-size:12px;
}

.nolo-detail-validity p{
	margin:6px 0 0;
	font-size:10.5px;
	line-height:1.55;
}

.nolo-detail-validity.warning{
	border-color:var(--warning-soft);
	background:var(--warning-soft);
	color:var(--warning-dark);
}

.nolo-detail-validity.danger{
	border-color:var(--danger-border-soft);
	background:var(--danger-soft);
	color:var(--danger-dark);
}

.nolo-detail-validity.success{
	border-color:var(--success-border-soft);
	background:var(--success-soft);
	color:var(--success);
}

.nolo-detail-validity-meta{
	display:flex;
	flex-wrap:wrap;
	gap:12px 18px;
	margin-top:10px;
	font-size:9.5px;
}

.nolo-detail-actions{
	display:flex;
	flex-direction:column;
	align-items:flex-end;

	padding-top:18px;
	margin-top:22px;

	border-top:1px solid var(--line);
}

.nolo-detail-actions-buttons{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:9px;
}

.nolo-detail-resend-form{
	margin:0;
}

.nolo-detail-actions-note{
	display:block;

	max-width:420px;
	margin-top:7px;

	color:var(--muted);

	font-size:9.5px;
	line-height:1.4;
	text-align:right;
}

.nolo-detail-resend-form{
	margin:0;
}

.nolo-detail-disabled-action{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:6px;

	max-width:370px;
}

.nolo-detail-disabled-action small{
	color:var(--muted);
	font-size:9.5px;
	line-height:1.4;
	text-align:right;
}

.nolo-practice-progress{
	margin:4px 0 18px;
	padding:16px 18px;

	border:1px solid var(--line);
	border-radius:var(--radius-panel);

	background:var(--panel-bg);
}

.nolo-practice-progress-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
}

.nolo-practice-progress-head strong{
	display:block;
	color:var(--ink);
	font-size:12px;
	font-weight:800;
}

.nolo-practice-progress-head span{
	display:block;
	margin-top:4px;
	color:var(--muted);
	font-size:10px;
}

.nolo-practice-progress-percent{
	flex:0 0 auto;

	color:var(--brand);

	font-size:19px;
	font-weight:900;
}

.nolo-practice-progress-track{
	height:8px;
	margin-top:13px;

	overflow:hidden;

	border-radius:999px;
	background:var(--line);
}

.nolo-practice-progress-value{
	height:100%;

	border-radius:999px;
	background:var(--brand);

	transition:width .25s ease;
}

.nolo-practice-missing{
	margin-top:11px;

	color:var(--muted);

	font-size:10.5px;
	line-height:1.5;
}

.nolo-practice-missing strong{
	color:var(--ink);
}

.nolo-practice-complete{
	display:flex;
	flex-direction:column;
	gap:3px;

	margin-top:13px;
	padding:10px 12px;

	border:1px solid var(--success-border-soft);
	border-radius:10px;

	background:var(--success-soft);
}

.nolo-practice-complete strong{
	color:var(--success);
	font-size:11px;
	font-weight:800;
}

.nolo-practice-complete span{
	color:var(--success);
	font-size:10px;
}

@media (max-width:800px){

	.nolo-detail-summary{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.nolo-detail-product{
		grid-template-columns:1fr;
		gap:12px;
	}

	.nolo-detail-product-accessory{
		padding-left:52px;
	}


	/* AZIONI DETTAGLIO NOLO */

	.modal-form-actions.nolo-detail-actions{
		display:flex;
		align-items:flex-start;
		justify-content:flex-end;
		gap:9px;
	}

	.nolo-detail-resend-form{
		width:auto;
	}

	.nolo-detail-resend-form .btn{
		width:auto;
	}

	.nolo-detail-disabled-action{
		width:auto;
		max-width:370px;
		align-items:flex-start;
	}

	.nolo-detail-disabled-action small{
		text-align:left;
	}

}


/* =========================================================
   FINANCE FIELDS
   ========================================================= */

.finance-fields-description{
	margin:-2px 0 12px;
	color:var(--muted);
	font-size:12px;
}

.finance-fields-list{
	border:1px solid var(--line);
	border-radius:14px;
	overflow:hidden;
	background:var(--card);
}

.finance-field-row{
	display:grid;
	grid-template-columns:1fr;
	align-items:center;
	gap:16px;
	padding:14px 16px;
	border-bottom:1px solid var(--line);
	transition:background .15s ease;
}

.finance-field-row:last-child{
	border-bottom:0;
}

.finance-field-row:hover{
	background:var(--surface-subtle);
}


/* CAMPO */

.finance-field-select{
	display:grid;
	grid-template-columns:20px 40px minmax(0,1fr);
	align-items:center;
	gap:12px;
	cursor:pointer;
	min-width:0;
}

.finance-field-select > input{
	width:16px;
	height:16px;
	margin:0;
	accent-color:var(--brand);
}

.finance-field-info{
	display:block;
	min-width:0;
}

.finance-field-info strong{
	display:block;
	font-size:12px;
	color:var(--ink);
}

.finance-field-info small{
	display:block;
	margin-top:4px;
	color:var(--muted);
	font-size:10.5px;
}


/* MAPPING */

.finance-field-map{
	display:none;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
	min-width:0;
}

.finance-field-row:has(.finance-field-select input:checked)
.finance-field-map{
	display:grid;
}

.finance-field-map-item{
	min-width:0;
}

.finance-field-map-item label{
	display:block;
	margin-bottom:6px;
	color:var(--form-label);
	font-size:10px;
	font-weight:800;
}

.finance-field-map-item input{
	width:100%;
	height:44px;
	padding:0 12px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	background:var(--card);
	color:var(--ink);
	font-size:12px;
	outline:none;
}

.finance-field-move{
	display:none;
}

.finance-field-map label{
	display:block;
	margin-bottom:6px;
	color:var(--form-label);
	font-size:10px;
	font-weight:800;
}

.finance-field-map input{
	width:100%;
	height:44px;
	padding:0 12px;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	background:var(--card);
	color:var(--ink);
	font-size:12px;
	outline:none;
}

.finance-field-map input:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px var(--brand-soft);
}

/* CAMPO SELEZIONATO */

.finance-field-row:has(.finance-field-select input:checked){
	grid-template-columns:
		minmax(220px,.85fr)
		minmax(480px,1.6fr)
		94px;

	background:var(--brand-soft);
}

.finance-field-row:has(.finance-field-select input:checked)
.finance-field-map{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
}

.finance-field-move{
	display:none;
	align-self:end;
	align-items:center;
	justify-content:center;
	gap:6px;
	min-height:44px;
}

.finance-field-row:has(.finance-field-select input:checked)
.finance-field-move{
	display:flex;
}

.finance-field-move{
	align-items:center;
	justify-content:center;
	gap:6px;
}

.finance-field-move-btn{
	width:44px;
	height:44px;
	padding:0;

	display:grid;
	place-items:center;

	border:1px solid var(--line);
	border-radius:var(--radius-control);

	background:var(--card);
	color:var(--icon-subtle);

	cursor:pointer;

	transition:
		background .15s ease,
		color .15s ease,
		border-color .15s ease,
		opacity .15s ease;
}

.finance-field-move-btn:disabled{
	opacity:.25;
	background:var(--surface-subtle);
	color:var(--muted);
	cursor:default;
	pointer-events:none;
}

.finance-field-move-btn:hover{
	background:var(--brand-soft);
	border-color:var(--brand);
	color:var(--brand);
}

.finance-field-move-btn:active{
	transform:scale(.94);
}

.finance-field-move-btn:disabled{
	opacity:.25;
	background:var(--surface-subtle);
	color:var(--muted);
	cursor:default;
	pointer-events:none;
}

.finance-field-move-btn:not(:disabled):hover{
	background:var(--brand-soft);
	border-color:var(--brand);
	color:var(--brand);
}

.finance-field-move-btn::before{
	content:"";
	width:7px;
	height:7px;

	border-top:1.8px solid currentColor;
	border-left:1.8px solid currentColor;
}

.finance-field-up::before{
	transform:rotate(45deg) translate(1px,1px);
}

.finance-field-down::before{
	transform:rotate(225deg) translate(1px,1px);
}

/* =========================================================
   FINANCE - AGGIUNGI SEZIONE
   ========================================================= */

.finance-title-add{
	display:grid;
	grid-template-columns:minmax(280px,420px) auto;
	align-items:center;
	justify-content:start;
	gap:10px;

	margin:14px 0 14px;
}

.finance-title-add-input{
	width:100%;
	height:44px;

	padding:0 13px;

	border:1px solid var(--line);
	border-radius:var(--radius-control);

	background:var(--card);
	color:var(--ink);

	font-family:inherit;
	font-size:12px;

	outline:none;

	transition:
		border-color .15s ease,
		box-shadow .15s ease;
}

.finance-title-add-input:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px var(--brand-soft);
}

.finance-title-add-input::placeholder{
	color:var(--muted);
}

.finance-title-add-btn{
	height:44px;
	padding:0 16px;

	display:inline-flex;
	align-items:center;
	justify-content:center;

	white-space:nowrap;
}

/* =========================================================
   FINANCE - TITOLO / SEPARATORE
   ========================================================= */

.finance-title-row{
	grid-template-columns:minmax(0,1fr) 144px;

	align-items:center;

	background:var(--surface-subtle);
	border-left:3px solid var(--brand);
}

.finance-title-info{
	min-width:0;
}

.finance-title-label{
	display:block;

	color:var(--section-title);

	font-size:11px;
	font-weight:850;
	line-height:1.4;

	text-transform:uppercase;
	letter-spacing:.5px;
}

.finance-title-row .finance-field-move{
	display:flex;

	align-self:center;
	align-items:center;
	justify-content:flex-end;

	min-height:44px;
}

.finance-title-remove{
	width:44px;
	height:44px;
	padding:0;

	display:grid;
	place-items:center;

	border:1px solid var(--line);
	border-radius:var(--radius-control);

	background:var(--card);
	color:var(--muted);

	font-family:inherit;
	font-size:20px;
	line-height:1;

	cursor:pointer;

	transition:
		background .15s ease,
		border-color .15s ease,
		color .15s ease;
}

.finance-title-remove:hover{
	background:var(--danger-soft);
	border-color:var(--danger);
	color:var(--danger);
}

/* =========================================================
   FINANCE - WORKFLOW PRATICA
   ========================================================= */

.finance-workflow{
	margin-top:22px;
}

.finance-workflow-head{
	margin-bottom:12px;
}

.finance-workflow-head strong{
	display:block;
	color:var(--section-title);
	font-size:11px;
	font-weight:850;
	text-transform:uppercase;
	letter-spacing:.45px;
}

.finance-workflow-head small{
	display:block;
	margin-top:5px;
	color:var(--muted);
	font-size:10.5px;
	line-height:1.5;
}


/* LISTA */

.finance-steps-list{
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:var(--radius-panel);
	background:var(--card);
}

.finance-step-row{
	display:grid;
	grid-template-columns:minmax(0,1fr) 94px;
	align-items:center;
	gap:16px;

	min-height:70px;
	padding:12px 16px;

	border-bottom:1px solid var(--line);

	transition:
		background .15s ease,
		border-color .15s ease;
}

.finance-step-row:last-child{
	border-bottom:0;
}

.finance-step-row:not(.finance-step-fixed):hover{
	background:var(--surface-subtle);
}


/* STEP SELEZIONATO */

.finance-step-row.is-selected:not(.finance-step-fixed){
	background:var(--brand-soft);
}


/* CHECKBOX + TESTO */

.finance-step-select{
	display:grid;
	grid-template-columns:20px minmax(0,1fr);
	align-items:center;
	gap:12px;

	min-width:0;

	cursor:pointer;
}

.finance-step-select > input{
	width:16px;
	height:16px;
	margin:0;

	accent-color:var(--brand);
	cursor:pointer;
}

.finance-step-info{
	display:block;
	min-width:0;
}

.finance-step-info strong{
	display:block;

	color:var(--ink);

	font-size:12px;
	font-weight:750;
	line-height:1.4;
}

.finance-step-info small{
	display:block;

	margin-top:4px;

	color:var(--muted);

	font-size:10.5px;
	line-height:1.4;
}


/* STEP FISSI */

.finance-step-fixed{
	background:var(--surface-subtle);
}

.finance-step-start{
	border-left:3px solid var(--brand);
}

.finance-step-end{
	border-left:3px solid var(--success);
}

.finance-step-fixed .finance-step-info strong{
	color:var(--section-title);
}


/* FRECCE */

.finance-step-move{
	display:none;

	align-items:center;
	justify-content:flex-end;
	gap:6px;
}

.finance-step-row.is-selected .finance-step-move{
	display:flex;
}

.finance-step-move-btn{
	width:44px;
	height:44px;
	padding:0;

	display:grid;
	place-items:center;

	border:1px solid var(--line);
	border-radius:var(--radius-control);

	background:var(--card);
	color:var(--icon-subtle);

	cursor:pointer;

	transition:
		background .15s ease,
		color .15s ease,
		border-color .15s ease,
		opacity .15s ease,
		transform .15s ease;
}

.finance-step-move-btn:disabled{
	opacity:.25;

	background:var(--surface-subtle);
	color:var(--muted);

	cursor:default;
	pointer-events:none;
}

.finance-step-move-btn:not(:disabled):hover{
	background:var(--brand-soft);
	border-color:var(--brand);
	color:var(--brand);
}

.finance-step-move-btn:not(:disabled):active{
	transform:scale(.94);
}

.finance-step-move-btn::before{
	content:"";

	width:7px;
	height:7px;

	border-top:1.8px solid currentColor;
	border-left:1.8px solid currentColor;
}

.finance-step-up::before{
	transform:rotate(45deg) translate(1px,1px);
}

.finance-step-down::before{
	transform:rotate(225deg) translate(1px,1px);
}


/* NOTA */

.finance-workflow-note{
	display:block;

	margin-top:9px;

	color:var(--muted);

	font-size:9.5px;
	line-height:1.5;
}

/* =========================================================
   ORDINE DIRETTO - ACCETTAZIONE CONDIZIONI
   ========================================================= */

.nolo-order-terms{
	margin-top:20px;
}


/* Documento condizioni */

.nolo-order-terms-document{
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:12px;
	background:var(--card);
}


/* Titolo apri / chiudi */

.nolo-order-terms-document summary{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:15px;
	padding:14px 16px;
	list-style:none;
	color:var(--ink);
	font-size:11px;
	font-weight:850;
	line-height:1.4;
	cursor:pointer;
	user-select:none;
}


.nolo-order-terms-document summary::-webkit-details-marker{
	display:none;
}


.nolo-order-terms-document summary::after{
	content:"+";
	width:24px;
	height:24px;
	flex:0 0 24px;

	display:grid;
	place-items:center;

	border-radius:50%;

	background:var(--brand-soft);
	color:var(--brand);

	font-size:16px;
	font-weight:800;
	line-height:1;
}


.nolo-order-terms-document[open] summary{
	border-bottom:1px solid var(--line);
}


.nolo-order-terms-document[open] summary::after{
	content:"−";
}


/* Testo condizioni */

.nolo-order-terms-content{
	max-height:300px;
	overflow:auto;

	padding:16px;

	color:var(--muted);
	font-size:11px;
	line-height:1.65;
}


.nolo-order-terms-content p{
	margin:0 0 10px;
}


.nolo-order-terms-content p:last-child{
	margin-bottom:0;
}


.nolo-order-terms-content ul,
.nolo-order-terms-content ol{
	margin:8px 0 10px;
	padding-left:20px;
}


.nolo-order-terms-content a{
	color:var(--brand);
	text-decoration:underline;
}


/* Versione documento */

.nolo-order-terms-version{
	display:inline-flex;
	align-items:center;

	margin-top:12px;
	padding:5px 9px;

	border-radius:999px;

	background:var(--surface-muted);
	color:var(--muted);

	font-size:9px;
	font-weight:800;
}


/* Checkbox accettazione */

.nolo-order-terms-check{
	display:flex;
	align-items:flex-start;
	gap:11px;

	margin-top:12px;
	padding:13px 14px;

	border:1px solid var(--line);
	border-radius:12px;

	background:var(--card);

	cursor:pointer;

	transition:
		border-color .15s ease,
		background .15s ease;
}


.nolo-order-terms-check input{
	width:18px;
	height:18px;
	flex:0 0 18px;

	margin:0;

	accent-color:var(--brand);
	cursor:pointer;
}


.nolo-order-terms-check span{
	color:var(--ink);

	font-size:11px;
	font-weight:650;
	line-height:1.45;
}


/* Evidenziamo l'accettazione */

.nolo-order-terms-check:has(input:checked){
	border-color:var(--brand);
	background:var(--brand-soft);
}


/* Spazio prima dei pulsanti */

.nolo-order-terms + .nolo-model-actions{
	margin-top:18px;
}

@media (max-width:700px){

	.finance-field-map{
		grid-template-columns:1fr;
	}

	.finance-field-row:has(.finance-field-select input:checked){
		grid-template-columns:1fr;
	}

	.finance-field-map,
	.finance-field-order{
		margin-left:72px;
	}

	.finance-field-order{
		max-width:120px;
	}

	.finance-title-add{
		grid-template-columns:1fr;
	}

	.finance-title-add-btn{
		width:100%;
	}

	.finance-title-row{
		grid-template-columns:1fr;
		gap:10px;
	}

	.finance-title-row .finance-field-move{
		justify-content:flex-start;
	}

	.finance-step-row{
		grid-template-columns:minmax(0,1fr) auto;
		gap:10px;
		padding:12px 13px;
	}

	.finance-step-move{
		gap:5px;
	}

	.finance-step-move-btn{
		width:40px;
		height:40px;
	}

	.finance-step-fixed{
		grid-template-columns:minmax(0,1fr) auto;
	}

	.finance-workflow-head small{
		font-size:10px;
	}

	.nolo-order-terms-document summary{
		padding:13px 14px;
	}

	.nolo-order-terms-content{
		max-height:260px;
		padding:14px;
	}

	.nolo-order-terms-check{
		padding:12px;
	}


}