/* =========================================================
   Base / shared
   ========================================================= */
.entry-content-wrap{ margin-top: 5rem;}   
   
.kl-hidden{display:none !important}
.is-loading{opacity:.75;pointer-events:none}

.kl-js-notice{margin:0 0 12px}
.kl-notice{
	padding:10px 12px;
	border:1px solid #dcdcde;
	border-radius:8px;
	background:#fff;
	font-size:14px;
	line-height:1.45;
}
.kl-notice--success{background:#f0fff4;border-color:#9fd5b3}
.kl-notice--error{background:#fff5f5;border-color:#f0b8b8}
.kl-notice--warning{background:#fff9e6;border-color:#e7cf88}
.kl-notice--info{background:#f6f7f7;border-color:#dcdcde}

.kl-alert{
	margin:0;
	padding:12px 14px;
	border:1px solid transparent;
	border-radius:10px;
	font-size:14px;
}
.kl-alert-success{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}
.kl-alert-error{background:#fef2f2;color:#991b1b;border-color:#fecaca}

.kl-loading,
.kl-empty,
.kl-error{
	padding:28px 20px;
	text-align:center;
	color:#6b7280;
}
.kl-error{color:#b91c1c}
.kl-muted{color:#6b7280;font-size:14px}

.kl-card,
.kl-quotes-card,
.kl-settings-card{
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius:14px;
	box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.kl-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:10px 14px;
	border:1px solid #d1d5db;
	border-radius:10px;
	background:#fff;
	color:#111827;
	font-size:14px;
	font-weight:600;
	text-decoration:none;
	cursor:pointer;
	transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease;
}
.kl-btn:hover{background:#f9fafb}
.kl-btn-primary{background:#111827;border-color:#111827;color:#fff}
.kl-btn-primary:hover{background:#1f2937;border-color:#1f2937;color:#fff}
.kl-btn-secondary{background:#fff;color:#111827;border-color:#d1d5db}
.kl-btn-secondary:hover{background:#f9fafb}
.kl-btn-danger{background:#fff;color:#b91c1c;border-color:#fecaca}
.kl-btn-danger:hover{background:#fef2f2}
.kl-btn[disabled]{opacity:.55;cursor:not-allowed}

.kl-field,
.kl-select,
.kl-textarea{
	width:100%;
	padding:10px 12px;
	border:1px solid #d1d5db;
	border-radius:10px;
	background:#fff;
	color:#111827;
	font-size:14px;
	box-sizing:border-box;
}
.kl-textarea{
	min-height:120px;
	resize:vertical;
}
.kl-field:focus,
.kl-select:focus,
.kl-textarea:focus{
	outline:none;
	border-color:#111827;
	box-shadow:0 0 0 3px rgba(17,24,39,.08);
}

.kl-label{
	display:block;
	margin:0 0 6px;
	color:#374151;
	font-size:13px;
	font-weight:600;
}
.kl-help{
	margin-top:6px;
	color:#6b7280;
	font-size:12px;
}

.kl-code{
	display:inline-block;
	padding:3px 8px;
	border:1px solid #e5e7eb;
	border-radius:8px;
	background:#f3f4f6;
	color:#111827;
	font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
	font-size:12px;
	word-break:break-all;
}

.kl-badge,
.kl-default-badge,
.kl-flag-badge,
.kl-tag-chip{
	display:inline-flex;
	align-items:center;
	border-radius:999px;
	font-size:12px;
	font-weight:700;
}
.kl-badge{
	padding:4px 8px;
	background:#f3f4f6;
	color:#374151;
}
.kl-default-badge,
.kl-flag-badge{
	padding:4px 8px;
	background:#111827;
	color:#fff;
}
.kl-flag-badge{
	margin-right:6px;
	margin-bottom:6px;
}
.kl-tag-chip{
	max-width:100%;
	padding:5px 10px;
	border:1px solid #e5e7eb;
	background:#f3f4f6;
	color:#111827;
}

.kl-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:center;
	justify-content:flex-end;
	text-align:right;
}
.kl-actions .kl-btn{
	white-space:nowrap;
}
.kl-auto-table td:last-child,
.kl-contacts-table td:last-child,
.kl-cf-table td:last-child,
.kl-doc-table td:last-child,
.kl-invoices-table td:last-child,
.kl-jobs-table td:last-child,
.kl-notif-table td:last-child,
.kl-opps-table td:last-child,
.kl-pm-table td:last-child,
.kl-payments-table td:last-child,
.kl-quotes-table td:last-child,
.kl-sv-table td:last-child,
.kl-tasks-table td:last-child,
.kl-workers-table td:last-child,
.kl-inv-table td:last-child{
	text-align:right;
}
.kl-auto-table th:last-child,
.kl-contacts-table th:last-child,
.kl-cf-table th:last-child,
.kl-doc-table th:last-child,
.kl-invoices-table th:last-child,
.kl-jobs-table th:last-child,
.kl-notif-table th:last-child,
.kl-opps-table th:last-child,
.kl-pm-table th:last-child,
.kl-payments-table th:last-child,
.kl-quotes-table th:last-child,
.kl-sv-table th:last-child,
.kl-tasks-table th:last-child,
.kl-workers-table th:last-child,
.kl-tags-table th:last-child,
.kl-inv-table th:last-child{
	text-align:right;
}

.kl-lf-table td:last-child{
	text-align:right;
}

.kl-lf-table th:last-child{
	text-align:right;
}
.kl-pagination{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	padding:16px 20px 20px;
}
.kl-pagination-buttons{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.kl-modal{
	position:fixed;
	inset:0;
	z-index:99999;
	display:none;
	align-items:center;
	justify-content:center;
	padding:20px;
	background:rgba(17,24,39,.55);
}
.kl-modal.is-open{display:flex}
.kl-modal-card{
	width:min(940px,100%);
	max-height:calc(100vh - 40px);
	overflow:auto;
	background:#fff;
	border-radius:16px;
	box-shadow:0 25px 80px rgba(0,0,0,.25);
}
.kl-modal-header,
.kl-modal-footer{
	padding:18px 20px;
	border-bottom:1px solid #eef0f3;
}
.kl-modal-footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	border-top:1px solid #eef0f3;
	border-bottom:none;
}
.kl-modal-title{
	margin:0;
	color:#111827;
	font-size:20px;
	font-weight:700;
}
.kl-modal-body{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
	padding:20px;
}
.kl-col-span-2{grid-column:1 / -1}
.kl-checkbox-row{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;
	padding-top:8px;
}

.kl-auto-table-wrap,
.kl-contacts-table-wrap,
.kl-cf-table-wrap,
.kl-doc-table-wrap,
.kl-invoices-table-wrap,
.kl-jobs-table-wrap,
.kl-notif-table-wrap,
.kl-opps-table-wrap,
.kl-pm-table-wrap,
.kl-payments-table-wrap,
.kl-quotes-table-wrap,
.kl-sv-table-wrap,
.kl-workers-table-wrap,
.kl-inv-table-wrap{
	overflow:auto;
	padding:0 0 4px;
}

.kl-auto-table,
.kl-contacts-table,
.kl-cf-table,
.kl-doc-table,
.kl-invoices-table,
.kl-jobs-table,
.kl-notif-table,
.kl-opps-table,
.kl-pm-table,
.kl-payments-table,
.kl-quotes-table,
.kl-sv-table,
.kl-tasks-table,
.kl-workers-table,
.kl-inv-table{
	width:100%;
	border-collapse:collapse;
}
.kl-auto-table th,.kl-auto-table td,
.kl-contacts-table th,.kl-contacts-table td,
.kl-cf-table th,.kl-cf-table td,
.kl-doc-table th,.kl-doc-table td,
.kl-invoices-table th,.kl-invoices-table td,
.kl-jobs-table th,.kl-jobs-table td,
.kl-notif-table th,.kl-notif-table td,
.kl-opps-table th,.kl-opps-table td,
.kl-pm-table th,.kl-pm-table td,
.kl-payments-table th,.kl-payments-table td,
.kl-quotes-table th,.kl-quotes-table td,
.kl-sv-table th,.kl-sv-table td,
.kl-tasks-table th,.kl-tasks-table td,
.kl-workers-table th,.kl-workers-table td,
.kl-inv-table th,.kl-inv-table td{
	padding:14px 16px;
	border-top:1px solid #f0f2f5;
	vertical-align:top;
	text-align:left;
	font-size:14px;
}
.kl-auto-table thead th,
.kl-contacts-table thead th,
.kl-cf-table thead th,
.kl-doc-table thead th,
.kl-invoices-table thead th,
.kl-jobs-table thead th,
.kl-notif-table thead th,
.kl-opps-table thead th,
.kl-pm-table thead th,
.kl-payments-table thead th,
.kl-quotes-table thead th,
.kl-sv-table thead th,
.kl-tasks-table thead th,
.kl-workers-table thead th,
.kl-inv-table thead th{
	border-top:none;
	background:#fafafa;
	color:#6b7280;
	font-size:12px;
	font-weight:600;
	letter-spacing:.03em;
	text-transform:uppercase;
}

/* =========================================================
   Dashboard
   ========================================================= */
.kl-dashboard-root{
	width:100%;
	background:#f6f8fb;
	padding:24px;
	border-radius:18px;
}

.kl-dashboard-root .kl-app-shell__header{
	margin:0 0 20px;
	padding:0;
	border-bottom:0;
}

.kl-dashboard-root .kl-app-shell__title,
.kl-dashboard-root h1{
	margin:0 0 8px;
	font-size:30px;
	line-height:1.15;
	font-weight:800;
	color:#111827 !important;
}

.kl-dashboard-root .kl-app-shell__subtitle,
.kl-dashboard-root > p{
	margin:0 0 22px;
	color:#6b7280 !important;
	font-size:15px;
}

.kl-dashboard-loading,
.kl-dashboard-error{
	padding:16px;
	margin-bottom:16px;
	border-radius:14px;
	background:#fff;
	border:1px solid #e5e7eb;
}

.kl-dashboard-error{
	background:#fef2f2;
	border-color:#fecaca;
	color:#991b1b !important;
}

.kl-dashboard-metrics-grid{
	display:grid;
	grid-template-columns:repeat(7,minmax(0,1fr));
	gap:14px;
	margin-bottom:18px;
}

.kl-dashboard-metric{
	display:block;
	min-height:88px;
	padding:16px;
	border:1px solid #e5e7eb;
	border-radius:16px;
	background:#fff;
	box-shadow:0 1px 2px rgba(15,23,42,.04);
	text-decoration:none;
}

.kl-dashboard-metric-label{
	margin-bottom:10px;
	color:#6b7280 !important;
	font-size:13px;
	font-weight:600;
}

.kl-dashboard-metric-value{
	color:#111827 !important;
	font-size:28px;
	font-weight:800;
	line-height:1;
}

.kl-dashboard-clickable:hover,
.kl-dashboard-clickable:focus{
	border-color:#93c5fd;
	box-shadow:0 8px 24px rgba(37,99,235,.10);
	outline:none;
}

.kl-dashboard-sections{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
	align-items:start;
}

.kl-dashboard-sections .kl-card{
	min-height:320px;
	padding:0;
	overflow:hidden;
	border-radius:16px;
	background:#fff;
}

.kl-dashboard-sections .kl-card > h2,
.kl-dashboard-sections .kl-card > h3,
.kl-dashboard-sections .kl-card-title,
.kl-dashboard-sections .kl-ui-card-title{
	margin:0;
	padding:18px 18px 12px;
	font-size:20px;
	font-weight:800;
	line-height:1.2;
	border-bottom:1px solid #eef0f3;
}

.kl-dashboard-sections [data-kl-dashboard-list]{
	padding:14px;
}

.kl-dashboard-list{
	display:flex;
	flex-direction:column;
	gap:10px;
}

.kl-dashboard-list-item{
	padding:14px;
	border:1px solid #e5e7eb;
	border-radius:14px;
	background:#fff;
}

.kl-dashboard-list-item-title{
	margin-bottom:6px;
	color:#111827 !important;
	font-size:15px;
	font-weight:800;
}

.kl-dashboard-list-item-meta,
.kl-dashboard-empty{
	color:#6b7280 !important;
	font-size:13px;
	line-height:1.45;
}

.kl-dashboard-empty{
	padding:8px 4px;
}

@media(max-width:1400px){
	.kl-dashboard-metrics-grid{
		grid-template-columns:repeat(4,minmax(0,1fr));
	}
	.kl-dashboard-sections{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:760px){
	.kl-dashboard-root{
		padding:16px;
	}
	.kl-dashboard-metrics-grid,
	.kl-dashboard-sections{
		grid-template-columns:1fr;
	}
}
/* =========================================================
   App shell / nav / topbar
   ========================================================= */
.kl-app-shell{
	display:grid;
	grid-template-columns:280px minmax(0,1fr);
	gap:20px;
	align-items:start;
	width:100%;
}
.kl-app-shell.no-nav{grid-template-columns:minmax(0,1fr)}
.kl-app-shell__sidebar{
	min-width:0;
	position:sticky;
	top:20px;
	align-self:start;
}
.kl-app-shell__main,
.kl-app-shell__content{min-width:0}
.kl-app-shell__topbar{margin:0 0 18px}
.kl-app-shell__topbar .kl-app-topbar{margin-bottom:0}
.kl-app-shell__header{
	margin:0 0 18px;
	padding:0 0 14px;
	border-bottom:1px solid #e5e7eb;
}
.kl-app-shell__title{
	margin:0;
	font-size:28px;
	line-height:1.2;
}
.kl-app-shell__subtitle{
	margin-top:8px;
	color:#666;
	font-size:14px;
	line-height:1.5;
}
.kl-app-shell__notice{
	padding:14px 16px;
	border:1px solid #dcdcde;
	border-radius:10px;
	background:#fff;
}
.kl-app-shell__notice--error{
	border-color:#f0c0c0;
	background:#fff7f7;
}

.kl-app-topbar{
	margin:0 0 20px;
	padding:16px 18px;
	border:1px solid #dcdcde;
	border-radius:12px;
	background:#fff;
}
.kl-app-topbar__main{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:16px;
}
.kl-app-topbar__left{
	min-width:0;
	flex:1 1 auto;
}
.kl-app-topbar__right{
	display:flex;
	flex:0 0 auto;
	flex-wrap:wrap;
	align-items:center;
	justify-content:flex-end;
	gap:10px;
}
.kl-app-topbar__title{
	margin:0;
	font-size:26px;
	line-height:1.2;
}
.kl-app-topbar__subtitle{
	margin-top:6px;
	color:#666;
	font-size:14px;
	line-height:1.5;
}
.kl-app-topbar__meta-item{
	min-width:120px;
	padding:8px 10px;
	border:1px solid #e2e4e7;
	border-radius:10px;
	background:#f6f7f7;
}
.kl-app-topbar__meta-label{
	display:block;
	margin-bottom:2px;
	color:#666;
	font-size:11px;
	line-height:1.3;
	text-transform:uppercase;
	letter-spacing:.02em;
}
.kl-app-topbar__meta-value{
	display:block;
	color:#1d2327;
	font-size:13px;
	line-height:1.4;
}
.kl-app-topbar__actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.kl-app-topbar__button{
	display:inline-block;
	padding:10px 14px;
	border:1px solid #dcdcde;
	border-radius:10px;
	font-size:14px;
	line-height:1.2;
	text-decoration:none;
	transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.kl-app-topbar__button--secondary{
	background:#fff;
	color:#1d2327;
}
.kl-app-topbar__button--secondary:hover,
.kl-app-topbar__button--secondary:focus{
	background:#f6f7f7;
	border-color:#c3c4c7;
	color:#1d2327;
	outline:none;
}
.kl-app-topbar__button--primary{
	background:#2271b1;
	border-color:#2271b1;
	color:#fff;
}
.kl-app-topbar__button--primary:hover,
.kl-app-topbar__button--primary:focus{
	background:#135e96;
	border-color:#135e96;
	color:#fff;
	outline:none;
}

.kl-app-router-notice{
	padding:14px 16px;
	border:1px solid #dcdcde;
	border-radius:10px;
	background:#fff;
}
.kl-app-router-notice--error{
	border-color:#f0c0c0;
	background:#fff7f7;
}

.kl-app-nav{
	padding:14px;
	border:1px solid #dcdcde;
	border-radius:10px;
	background:#fff;
}
.kl-app-nav__meta{
	margin-bottom:14px;
	padding-bottom:12px;
	border-bottom:1px solid #eee;
}
.kl-app-nav__workspace,
.kl-app-nav__user{
	margin:0 0 8px;
}
.kl-app-nav__workspace:last-child,
.kl-app-nav__user:last-child{
	margin-bottom:0;
}
.kl-app-nav__workspace-label,
.kl-app-nav__user-label{
	display:block;
	margin-bottom:2px;
	color:#666;
	font-size:12px;
	line-height:1.4;
}
.kl-app-nav__workspace-name,
.kl-app-nav__user-name{
	display:block;
	font-size:14px;
	line-height:1.4;
}
.kl-app-nav__list{
	margin:0;
	padding:0;
	list-style:none;
}
.kl-app-nav__item{margin:0;padding:0}
.kl-app-nav__item + .kl-app-nav__item{margin-top:6px}
.kl-app-nav__link{
	display:block;
	padding:10px 12px;
	border:1px solid transparent;
	border-radius:8px;
	color:#1d2327;
	text-decoration:none;
	transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.kl-app-nav__link:hover,
.kl-app-nav__link:focus{
	background:#f6f7f7;
	border-color:#dcdcde;
	color:#1d2327;
	outline:none;
}
.kl-app-nav__item.is-active .kl-app-nav__link{
	border-color:#b6d4fe;
	background:#f0f6fc;
	font-weight:600;
}
.kl-app-nav--horizontal .kl-app-nav__meta{margin-bottom:12px}
.kl-app-nav--horizontal .kl-app-nav__list{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.kl-app-nav--horizontal .kl-app-nav__item + .kl-app-nav__item{margin-top:0}
.kl-app-nav--horizontal .kl-app-nav__link{white-space:nowrap}

/* =========================================================
   Auth / onboarding
   ========================================================= */
.kl-auth-card{
	max-width:720px;
	margin:32px auto;
	padding:24px;
	border:1px solid #dcdcde;
	border-radius:14px;
	background:#fff;
	box-shadow:0 4px 18px rgba(0,0,0,.04);
}
.kl-auth-card--compact{max-width:520px}
.kl-auth-card--medium{max-width:560px}
.kl-auth-card__header{margin-bottom:18px}
.kl-auth-card__title{
	margin:0 0 8px;
	font-size:28px;
	line-height:1.2;
}
.kl-auth-card__subtitle{
	margin:0;
	color:#666;
	font-size:14px;
	line-height:1.5;
}
.kl-auth-form{
	display:flex;
	flex-direction:column;
	gap:16px;
}
.kl-auth-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
}
.kl-auth-field{
	display:flex;
	flex-direction:column;
	gap:6px;
}
.kl-auth-field label{
	font-size:14px;
	font-weight:600;
}
.kl-auth-field input[type="email"],
.kl-auth-field input[type="text"],
.kl-auth-field input[type="password"],
.kl-auth-field select{
	width:100%;
	min-height:46px;
	padding:12px 14px;
	border:1px solid #c3c4c7;
	border-radius:10px;
	background:#fff;
	font-size:14px;
	box-sizing:border-box;
}
.kl-auth-field input:focus,
.kl-auth-field select:focus{
	outline:none;
	border-color:#2271b1;
	box-shadow:0 0 0 1px #2271b1;
}
.kl-auth-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
}
.kl-auth-checkbox{
	display:flex;
	align-items:flex-start;
	gap:10px;
	color:#444;
	font-size:14px;
	line-height:1.5;
}
.kl-auth-checkbox input{margin-top:3px}
.kl-auth-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:12px 16px;
	border:1px solid #2271b1;
	border-radius:10px;
	background:#135e96;
	border-color:#135e96;
	font-size:14px;
	font-weight:600;
	text-decoration:none;
	cursor:pointer;
}
.kl-auth-button:hover,
.kl-auth-button:focus{
	background:#135e96;
	border-color:#135e96;
	color:#fff;
	outline:none;
}
.kl-auth-links{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:6px;
	font-size:14px;
}
.kl-auth-notice{
	margin:0 0 16px;
	padding:12px 14px;
	border:1px solid #dcdcde;
	border-radius:10px;
	font-size:14px;
	line-height:1.5;
}
.kl-auth-notice--error{
	background:#fff5f5;
	border-color:#f0b8b8;
	color:#8a1f1f;
}
.kl-auth-notice--success{
	background:#f0fff4;
	border-color:#9fd5b3;
	color:#1d5c35;
}
.kl-auth-help{
	color:#666;
	font-size:13px;
}
.kl-onboarding-steps{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin:0 0 6px;
	padding:0;
	list-style:none;
	color:#666;
	font-size:13px;
}
.kl-onboarding-step{
	padding:6px 10px;
	border:1px solid #e2e4e7;
	border-radius:999px;
	background:#f6f7f7;
}

/* =========================================================
   Generic module layout
   ========================================================= */
.kl-auto-wrap,
.kl-contacts-wrap,
.kl-cf-wrap,
.kl-doc-wrap,
.kl-invoices-wrap,
.kl-jobs-wrap,
.kl-notif-wrap,
.kl-opps-wrap,
.kl-payments-wrap,
.kl-quotes-wrap,
.kl-sv-wrap,
.kl-settings-wrap,
.kl-tags-wrap,
.kl-tasks-wrap,
.kl-workers-wrap,
.kl-inv-wrap,
.kl-pm-wrap{
	display:flex;
	flex-direction:column;
	gap:16px;
}

.kl-auto-header,
.kl-contacts-header,
.kl-cf-header,
.kl-doc-header,
.kl-invoices-header,
.kl-jobs-header,
.kl-notif-header,
.kl-opps-header,
.kl-pm-header,
.kl-payments-header,
.kl-quotes-header,
.kl-sv-header,
.kl-settings-header,
.kl-tags-header,
.kl-tasks-header,
.kl-workers-header,
.kl-inv-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	padding:18px 20px;
}

.kl-auto-title,
.kl-contacts-title,
.kl-cf-title,
.kl-doc-title,
.kl-invoices-title,
.kl-jobs-title,
.kl-notif-title,
.kl-opps-title,
.kl-pm-title,
.kl-payments-title,
.kl-quotes-title,
.kl-sv-title,
.kl-settings-title,
.kl-tags-title,
.kl-tasks-title,
.kl-workers-title,
.kl-inv-title{
	margin:0;
	color:#111827;
	font-size:24px;
	line-height:1.2;
	font-weight:700;
}

.kl-auto-subtitle,
.kl-contacts-subtitle,
.kl-cf-subtitle,
.kl-doc-subtitle,
.kl-invoices-subtitle,
.kl-jobs-subtitle,
.kl-notif-subtitle,
.kl-opps-subtitle,
.kl-pm-subtitle,
.kl-payments-subtitle,
.kl-quotes-subtitle,
.kl-sv-subtitle,
.kl-tags-subtitle,
.kl-tasks-subtitle,
.kl-workers-subtitle,
.kl-inv-subtitle{
	margin:4px 0 0;
	color:#6b7280;
	font-size:14px;
}

.kl-auto-name,
.kl-contact-name,
.kl-cf-name,
.kl-doc-name,
.kl-invoice-title,
.kl-job-title,
.kl-notif-name,
.kl-opp-title,
.kl-pm-name,
.kl-payment-title,
.kl-quote-title,
.kl-sv-name,
.kl-tag-name,
.kl-worker-name,
.kl-inv-email{
	margin:0 0 4px;
	color:#111827;
	font-weight:700;
}
.kl-auto-meta,
.kl-contact-meta,
.kl-cf-meta,
.kl-doc-meta,
.kl-invoice-meta,
.kl-job-meta,
.kl-notif-meta,
.kl-opp-meta,
.kl-pm-meta,
.kl-payment-meta,
.kl-quote-meta,
.kl-sv-meta,
.kl-tag-meta,
.kl-worker-meta,
.kl-inv-meta{
	color:#6b7280;
	font-size:13px;
	line-height:1.45;
}

/* =========================================================
   Module-specific toolbars / table widths / modal widths
   ========================================================= */
.kl-auto-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-auto-table{min-width:1260px}
.kl-auto-wrap .kl-modal-card{width:min(960px,100%)}

.kl-contacts-toolbar{
	display:grid;
	grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(140px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-contacts-table{min-width:920px}
.kl-contacts-wrap .kl-modal-card{width:min(760px,100%)}

.kl-cf-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(4,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-cf-table{min-width:1320px}
.kl-cf-wrap .kl-modal-card{width:min(980px,100%)}

.kl-doc-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-doc-table{min-width:1100px}
.kl-doc-wrap .kl-modal-card{width:min(960px,100%)}

.kl-invoices-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(2,minmax(160px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-invoices-table{min-width:1200px}

.kl-jobs-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-jobs-table{min-width:1120px}
.kl-jobs-wrap .kl-modal-card{width:min(900px,100%)}

.kl-notif-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-notif-table{min-width:1280px}

.kl-opps-toolbar{
	display:grid;
	grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-opps-table{min-width:1100px}
.kl-opps-wrap .kl-modal-card{width:min(860px,100%)}

.kl-pm-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-pm-table{min-width:1180px}
.kl-pm-wrap .kl-modal-card{width:min(900px,100%)}

.kl-payments-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-payments-table{min-width:1180px}

.kl-quotes-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(2,minmax(160px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-quotes-table{min-width:1180px}

.kl-sv-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-sv-table{min-width:1260px}
.kl-sv-wrap .kl-modal-card{width:min(980px,100%)}

.kl-settings-section{
	padding:20px;
	border-top:1px solid #eef0f3;
}
.kl-settings-section:first-child{border-top:none}
.kl-settings-section-title{
	margin:0 0 6px;
	color:#111827;
	font-size:18px;
	font-weight:700;
}
.kl-settings-section-subtitle{
	margin:0 0 18px;
	color:#6b7280;
	font-size:13px;
}
.kl-settings-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}
.kl-checkbox-card{
	display:flex;
	align-items:flex-start;
	gap:12px;
	padding:12px 14px;
	border:1px solid #e5e7eb;
	border-radius:12px;
	background:#fafafa;
}
.kl-checkbox-card input{margin-top:3px}
.kl-checkbox-card-title{
	margin:0 0 4px;
	color:#111827;
	font-size:14px;
	font-weight:600;
}
.kl-checkbox-card-text{
	margin:0;
	color:#6b7280;
	font-size:12px;
}
.kl-settings-footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	padding:18px 20px;
	border-top:1px solid #eef0f3;
}

.kl-tags-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-tags-table{min-width:1220px}
.kl-tags-wrap .kl-modal-card{width:min(920px,100%)}

/* =========================================================
   Tags
========================================================= */
.kl-tags-table-wrap{
	overflow:auto;
	padding:0 20px 4px;
}

.kl-tags-table{
	width:100%;
	min-width:900px;
	border-collapse:collapse;
}

.kl-tags-table th,
.kl-tags-table td{
	padding:14px 16px;
	border-top:1px solid #f0f2f5;
	vertical-align:middle;
	text-align:left;
	font-size:14px;
}

.kl-tags-table thead th{
	border-top:none;
	background:#fafafa;
	color:#6b7280;
	font-size:12px;
	font-weight:600;
	letter-spacing:.03em;
	text-transform:uppercase;
}

.kl-tags-table tbody tr:first-child td{
	border-top:0;
}

.kl-tags-table td:first-child,
.kl-tags-table th:first-child{
	padding-left:4px;
}

.kl-tags-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}

.kl-tags-wrap .kl-pagination{
	padding-left:20px;
	padding-right:20px;
}

.kl-tags-wrap .kl-modal-card{
	width:min(760px,100%);
}

@media(max-width:900px){
	.kl-tags-toolbar{
		grid-template-columns:1fr 1fr;
	}
}

@media(max-width:640px){
	.kl-tags-toolbar{
		grid-template-columns:1fr;
	}
}

/* =========================================================
   Quotes modal / quote items
========================================================= */
.kl-quotes-wrap .kl-modal-card{
	width:min(1100px,100%);
}

.kl-quotes-wrap .kl-modal-body{
	grid-template-columns:1fr 1fr;
	gap:16px;
}

.kl-quote-items-help{
	margin:0 0 10px;
}

.kl-quote-items-head,
.kl-quote-item-row{
	display:grid;
	grid-template-columns:2fr .75fr .75fr 1fr .75fr 1fr 44px;
	gap:8px;
	align-items:center;
}

.kl-quote-items-head{
	margin:10px 0 8px;
	padding:10px 12px;
	border:1px solid #e5e7eb;
	border-radius:10px;
	background:#f9fafb;
	color:#6b7280;
	font-size:12px;
	font-weight:700;
	text-transform:uppercase;
}

.kl-quote-item-row{
	margin-bottom:8px;
	padding:10px;
	border:1px solid #e5e7eb;
	border-radius:12px;
	background:#fff;
}

.kl-quote-item-row .kl-field{
	min-width:0;
}

.kl-quote-item-row .js-remove-quote-item{
	width:40px;
	min-width:40px;
	padding:10px 0 !important;
}

.kl-quote-items-footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid #eef0f3;
}

.kl-quotes-wrap .js-kl-total-preview{
	font-weight:700;
	color:#111827 !important;
}

.kl-quotes-wrap .kl-modal-footer{
	justify-content:flex-end;
}

.kl-quotes-wrap .kl-modal-footer .kl-actions{
	justify-content:flex-end;
}

@media(max-width:900px){
	.kl-quotes-wrap .kl-modal-body{
		grid-template-columns:1fr;
	}

	.kl-quote-items-head{
		display:none;
	}

	.kl-quote-item-row{
		grid-template-columns:1fr 1fr;
	}

	.kl-quote-item-row .js-item-label,
	.kl-quote-item-row .js-item-total{
		grid-column:1 / -1;
	}

	.kl-quote-item-row .js-remove-quote-item{
		width:100%;
		grid-column:1 / -1;
	}
}

/* Contacts related row */
.kl-contacts-table .js-kl-contact-related-row td {
	padding: 0 16px 16px !important;
	background: #fafafa !important;
}

.kl-contact-related-card {
	margin: 10px 0 0 !important;
	padding: 18px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
}

.kl-contact-related-card > strong {
	display: block;
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 800;
	color: #111827 !important;
}

.kl-contact-related-body {
	display: grid;
	gap: 10px;
}

.kl-contact-related-body > strong {
	display: block;
	margin: 8px 0 0;
	color: #374151 !important;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.kl-contact-related-item {
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	background: #f9fafb !important;
	box-shadow: none !important;
}

.kl-contact-related-item strong {
	display: block;
	margin-bottom: 4px;
	color: #111827 !important;
	font-size: 14px;
	font-weight: 800;
}

.kl-contact-related-item .kl-contact-meta {
	color: #6b7280 !important;
	font-size: 13px;
}

.kl-tasks-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.7fr) repeat(2,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-tasks-table{min-width:960px}
.kl-tasks-wrap .kl-modal-card{width:min(820px,100%)}

.kl-workers-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(2,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-workers-table{min-width:1000px}
.kl-workers-wrap .kl-modal-card{width:min(900px,100%)}

/* Workers related jobs row */
.kl-workers-table .js-kl-worker-related-row td {
	padding: 0 16px 16px !important;
	background: #fafafa !important;
}

.kl-worker-related-card {
	margin: 10px 0 0 !important;
	padding: 18px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
}

.kl-worker-related-card > strong {
	display: block;
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 800;
	color: #111827 !important;
}

.kl-worker-related-body {
	display: grid;
	gap: 10px;
}

.kl-worker-related-job-card {
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	background: #f9fafb !important;
	box-shadow: none !important;
}

.kl-worker-related-job-card strong {
	display: block;
	margin-bottom: 4px;
	color: #111827 !important;
	font-size: 14px;
	font-weight: 800;
}

.kl-worker-related-job-card .kl-worker-meta {
	color: #6b7280 !important;
	font-size: 13px;
	line-height: 1.45;
}

.kl-worker-related-job-link{
	display:block;
	color:inherit;
	text-decoration:none;
}
.kl-worker-related-job-link:hover{
	border-color:#d1d5db;
	background:#f9fafb;
}

.kl-contact-related-link{
	display:block;
	color:inherit;
	text-decoration:none;
}
.kl-contact-related-link:hover{
	border-color:#d1d5db;
	background:#f9fafb;
}

.kl-task-row-highlight{
	animation:klTaskHighlight 3.5s ease;
	outline:2px solid #f59e0b;
	outline-offset:-2px;
}

@keyframes klTaskHighlight{
	0%{background:#fff7ed}
	60%{background:#fff7ed}
	100%{background:transparent}
}

.kl-inv-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(150px,1fr)) auto;
	gap:12px;
	padding:16px 20px;
}
.kl-inv-table{min-width:1280px}
.kl-inv-wrap .kl-modal-card{width:min(920px,100%)}

/* =========================================================
   Status / type / role / entity / channel badges
   ========================================================= */
.kl-badge-status-active,
.kl-badge-status-completed,
.kl-badge-status-paid,
.kl-badge-status-accepted,
.kl-badge-status-delivered,
.kl-badge-status-read,
.kl-badge-status-won,
.kl-badge-type-customer,
.kl-badge-vis-workspace{
	background:#ecfdf5;
	color:#047857;
}
.kl-badge-status-inactive,
.kl-badge-status-draft,
.kl-badge-status-cancelled,
.kl-badge-status-void,
.kl-badge-status-archived,
.kl-badge-type-archived,
.kl-badge-type-general,
.kl-badge-trigger-other,
.kl-badge-channel-in_app,
.kl-badge-entity-generic,
.kl-badge-vis-private,
.kl-badge-role-viewer{
	background:#f3f4f6;
	color:#6b7280;
}
.kl-badge-status-sent,
.kl-badge-status-authorized,
.kl-badge-status-open,
.kl-badge-stage-new,
.kl-badge-type-lead,
.kl-badge-type-text,
.kl-badge-type-contract,
.kl-badge-channel-email,
.kl-badge-role-manager,
.kl-badge-entity-contact,
.kl-badge-role-employee{
	background:#eff6ff;
	color:#1d4ed8;
}
.kl-badge-status-pending,
.kl-badge-status-expired,
.kl-badge-status-partially_paid,
.kl-badge-status-in_progress,
.kl-badge-stage-waiting,
.kl-badge-type-date,
.kl-badge-type-other,
.kl-badge-type-cash,
.kl-badge-type-bank_transfer,
.kl-badge-channel-webhook,
.kl-badge-entity-worker,
.kl-badge-role-owner{
	background:#fff7ed;
	color:#c2410c;
}
.kl-badge-status-overdue,
.kl-badge-status-failed,
.kl-badge-status-rejected,
.kl-badge-stage-lost,
.kl-badge-status-lost,
.kl-badge-entity-task{
	background:#fef2f2;
	color:#b91c1c;
}
.kl-badge-trigger-schedule,
.kl-badge-type-textarea,
.kl-badge-type-quote_pdf,
.kl-badge-channel-push,
.kl-badge-stage-quote-sent,
.kl-badge-status-partially_refunded,
.kl-badge-entity-opportunity,
.kl-badge-type-stripe,
.kl-badge-role-admin,
.kl-badge-role-freelancer,
.kl-badge-type-multiselect{
	background:#ede9fe;
	color:#6d28d9;
}
.kl-badge-trigger-manual,
.kl-badge-type-number,
.kl-badge-type-invoice_pdf,
.kl-badge-channel-sms,
.kl-badge-stage-contacted,
.kl-badge-role-staff,
.kl-badge-role-subcontractor,
.kl-badge-entity-job{
	background:#ecfeff;
	color:#0f766e;
}
.kl-badge-trigger-event,
.kl-badge-type-decimal,
.kl-badge-type-card,
.kl-badge-entity-quote{
	background:#dbeafe;
	color:#1d4ed8;
}
.kl-badge-type-boolean,
.kl-badge-entity-invoice{
	background:#dcfce7;
	color:#166534;
}
.kl-badge-type-datetime,
.kl-badge-type-select,
.kl-badge-entity-payment{
	background:#fef3c7;
	color:#92400e;
}
.kl-badge-type-currency{
	background:#ecfccb;
	color:#3f6212;
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:960px){
	.kl-app-shell,
	.kl-app-shell.no-nav{
		grid-template-columns:minmax(0,1fr);
	}
	.kl-app-shell__sidebar{
		position:static;
		top:auto;
	}
}
@media (max-width:900px){
	.kl-app-topbar__main{
		flex-direction:column;
		align-items:stretch;
	}
	.kl-app-topbar__right{
		justify-content:flex-start;
	}
	.kl-auth-grid{
		grid-template-columns:1fr;
	}
	.kl-settings-grid,
	.kl-modal-body{
		grid-template-columns:1fr;
	}
	.kl-auto-toolbar,
	.kl-contacts-toolbar,
	.kl-cf-toolbar,
	.kl-doc-toolbar,
	.kl-invoices-toolbar,
	.kl-jobs-toolbar,
	.kl-notif-toolbar,
	.kl-opps-toolbar,
	.kl-pm-toolbar,
	.kl-payments-toolbar,
	.kl-quotes-toolbar,
	.kl-sv-toolbar,
	.kl-tasks-toolbar,
	.kl-workers-toolbar,
	.kl-inv-toolbar{
		grid-template-columns:1fr 1fr;
	}
	.kl-col-span-2{grid-column:auto}
}
@media (max-width:640px){
	.kl-auto-toolbar,
	.kl-contacts-toolbar,
	.kl-cf-toolbar,
	.kl-doc-toolbar,
	.kl-invoices-toolbar,
	.kl-jobs-toolbar,
	.kl-notif-toolbar,
	.kl-opps-toolbar,
	.kl-pm-toolbar,
	.kl-payments-toolbar,
	.kl-quotes-toolbar,
	.kl-sv-toolbar,
	.kl-tasks-toolbar,
	.kl-workers-toolbar,
	.kl-inv-toolbar{
		grid-template-columns:1fr;
	}
}
/* =========================================================
   Klusaro hard reset against theme / dark-mode bleed
   ========================================================= */

/* Main app surfaces should always be light with dark text */
.kl-dashboard-root,
.kl-app-shell,
.kl-app-shell__main,
.kl-app-shell__content,
.kl-app-topbar,
.kl-app-nav,
.kl-auth-card,
.kl-card,
.kl-quotes-card,
.kl-settings-card,
.kl-modal-card,
.kl-dashboard-loading,
.kl-dashboard-error,
.kl-dashboard-metric,
.kl-dashboard-list-item,
.kl-notice,
.kl-alert,
.kl-app-router-notice,
.kl-app-shell__notice {
	color: #111827 !important;
	background-color: #fff;
}

/* Force readable text inside Klusaro only */
.kl-dashboard-root h1,
.kl-dashboard-root h2,
.kl-dashboard-root h3,
.kl-dashboard-root h4,
.kl-dashboard-root h5,
.kl-dashboard-root h6,
.kl-dashboard-root p,
.kl-dashboard-root span,
.kl-dashboard-root label,
.kl-dashboard-root li,
.kl-dashboard-root dt,
.kl-dashboard-root dd,
.kl-dashboard-root td,
.kl-dashboard-root th,
.kl-dashboard-root strong,
.kl-dashboard-root small,
.kl-app-shell h1,
.kl-app-shell h2,
.kl-app-shell h3,
.kl-app-shell h4,
.kl-app-shell h5,
.kl-app-shell h6,
.kl-app-shell p,
.kl-app-shell span,
.kl-app-shell label,
.kl-app-shell li,
.kl-app-shell dt,
.kl-app-shell dd,
.kl-app-shell td,
.kl-app-shell th,
.kl-app-shell strong,
.kl-app-shell small,
.kl-auth-card h1,
.kl-auth-card h2,
.kl-auth-card h3,
.kl-auth-card h4,
.kl-auth-card h5,
.kl-auth-card h6,
.kl-auth-card p,
.kl-auth-card span,
.kl-auth-card label,
.kl-auth-card li,
.kl-auth-card strong,
.kl-auth-card small,
.kl-card h1,
.kl-card h2,
.kl-card h3,
.kl-card h4,
.kl-card h5,
.kl-card h6,
.kl-card p,
.kl-card label,
.kl-card li,
.kl-card strong,
.kl-card small,
.kl-modal-card h1,
.kl-modal-card h2,
.kl-modal-card h3,
.kl-modal-card h4,
.kl-modal-card h5,
.kl-modal-card h6,
.kl-modal-card p,
.kl-modal-card span,
.kl-modal-card label,
.kl-modal-card li,
.kl-modal-card strong,
.kl-modal-card small {
	color: #111827 !important;
}

/* Muted helper text */
.kl-dashboard-root .kl-muted,
.kl-dashboard-root .kl-help,
.kl-dashboard-root .kl-auth-help,
.kl-dashboard-root .kl-dashboard-list-item-meta,
.kl-dashboard-root .kl-dashboard-empty,
.kl-dashboard-root .kl-app-shell__subtitle,
.kl-dashboard-root .kl-app-topbar__subtitle,
.kl-dashboard-root .kl-app-topbar__meta-label,
.kl-dashboard-root .kl-app-nav__workspace-label,
.kl-dashboard-root .kl-app-nav__user-label,
.kl-app-shell .kl-muted,
.kl-app-shell .kl-help,
.kl-app-shell .kl-auth-help,
.kl-app-shell .kl-dashboard-list-item-meta,
.kl-app-shell .kl-dashboard-empty,
.kl-app-shell .kl-app-shell__subtitle,
.kl-app-shell .kl-app-topbar__subtitle,
.kl-app-shell .kl-app-topbar__meta-label,
.kl-app-shell .kl-app-nav__workspace-label,
.kl-app-shell .kl-app-nav__user-label {
	color: #6b7280 !important;
}

/* Force all Klusaro form controls to stay white */
.kl-dashboard-root input[type="text"],
.kl-dashboard-root input[type="email"],
.kl-dashboard-root input[type="password"],
.kl-dashboard-root input[type="number"],
.kl-dashboard-root input[type="search"],
.kl-dashboard-root input[type="tel"],
.kl-dashboard-root input[type="url"],
.kl-dashboard-root input[type="date"],
.kl-dashboard-root input[type="time"],
.kl-dashboard-root input[type="datetime-local"],
.kl-dashboard-root select,
.kl-dashboard-root textarea,
.kl-app-shell input[type="text"],
.kl-app-shell input[type="email"],
.kl-app-shell input[type="password"],
.kl-app-shell input[type="number"],
.kl-app-shell input[type="search"],
.kl-app-shell input[type="tel"],
.kl-app-shell input[type="url"],
.kl-app-shell input[type="date"],
.kl-app-shell input[type="time"],
.kl-app-shell input[type="datetime-local"],
.kl-app-shell select,
.kl-app-shell textarea,
.kl-auth-card input[type="text"],
.kl-auth-card input[type="email"],
.kl-auth-card input[type="password"],
.kl-auth-card input[type="number"],
.kl-auth-card select,
.kl-auth-card textarea,
.kl-field,
.kl-select,
.kl-textarea,
.kl-entity-picker__search {
	background: #fff !important;
	background-color: #fff !important;
	color: #111827 !important;
	border-color: #d1d5db !important;
	-webkit-text-fill-color: #111827 !important;
	opacity: 1 !important;
	color-scheme: light;
}

/* Placeholder text */
.kl-dashboard-root input::placeholder,
.kl-dashboard-root textarea::placeholder,
.kl-app-shell input::placeholder,
.kl-app-shell textarea::placeholder,
.kl-auth-card input::placeholder,
.kl-auth-card textarea::placeholder,
.kl-field::placeholder,
.kl-textarea::placeholder {
	color: #9ca3af !important;
	opacity: 1;
}

/* Select dropdown options */
.kl-dashboard-root select option,
.kl-app-shell select option,
.kl-auth-card select option,
.kl-select option {
	background: #fff !important;
	color: #111827 !important;
}

/* Checkboxes / radios should not inherit weird filters */
.kl-dashboard-root input[type="checkbox"],
.kl-dashboard-root input[type="radio"],
.kl-app-shell input[type="checkbox"],
.kl-app-shell input[type="radio"],
.kl-auth-card input[type="checkbox"],
.kl-auth-card input[type="radio"] {
	accent-color: #2271b1;
	filter: none !important;
}

/* Links inside app */
.kl-dashboard-root a,
.kl-app-shell a,
.kl-auth-card a,
.kl-card a,
.kl-modal-card a {
	color: #1d4ed8;
}
.kl-app-nav__link,
.kl-app-topbar__button,
.kl-btn,
.kl-auth-button {
	text-decoration: none;
}

/* Keep app content below sticky WP header/admin bar */
.kl-dashboard-root,
.kl-app-shell,
.kl-auth-card {
	position: relative;
	z-index: 1;
}

/* Sticky sidebar should not overlap WP/admin header */
.kl-app-shell__sidebar {
	top: calc(var(--wp-admin--admin-bar--height, 32px) + 20px) !important;
	z-index: 1 !important;
}

/* Make sure common WP headers stay above app content */
#wpadminbar,
#masthead,
.site-header,
header.site-header,
.wp-site-blocks header,
.ast-header-wrap,
.elementor-location-header {
	position: relative;
	z-index: 999 !important;
}

	.kl-entity-picker{
		margin:0 0 16px;
	}

	.kl-entity-picker__label{
		display:block;
		margin:0 0 6px;
		color:#374151;
		font-size:13px;
		font-weight:600;
	}

	.kl-entity-picker__required{
		color:#dc2626;
	}

	.kl-entity-picker__control{
		position:relative;
	}

	.kl-entity-picker__search{
		width:100%;
		padding:10px 12px;
		border:1px solid #d1d5db;
		border-radius:10px;
		background:#fff;
		color:#111827;
		font-size:14px;
		box-sizing:border-box;
		min-height:auto;
	}

	.kl-entity-picker__search:focus{
		outline:none;
		border-color:#111827;
		box-shadow:0 0 0 3px rgba(17,24,39,.08);
	}

	.kl-entity-picker__results{
		position:absolute;
		left:0;
		right:0;
		top:calc(100% + 4px);
		z-index:9999;
		background:#fff;
		border:1px solid #d1d5db;
		border-radius:10px;
		box-shadow:0 1px 2px rgba(0,0,0,.04);
		max-height:260px;
		overflow:auto;
	}

	.kl-entity-picker__option{
		display:block;
		width:100%;
		text-align:left;
		padding:10px 12px;
		background:#fff;
		color:#111827;
		border:0;
		border-bottom:1px solid #f0f2f5;
		cursor:pointer;
		font-size:14px;
		line-height:1.4;
		transition:background .15s ease,color .15s ease;
	}

	.kl-entity-picker__option:last-child{
		border-bottom:0;
	}

	.kl-entity-picker__option:hover,
	.kl-entity-picker__option:focus{
		background:#f9fafb;
		color:#111827;
		outline:none;
	}

	.kl-entity-picker__empty,
	.kl-entity-picker__loading{
		padding:10px 12px;
		color:#6b7280;
		font-size:14px;
		line-height:1.45;
	}

	.kl-entity-picker__description{
		margin:6px 0 0;
		color:#6b7280;
		font-size:12px;
	}

	.kl-entity-picker__search::placeholder{
		color:#9ca3af;
		opacity:1;
	}
	.kl-quote-portal-wrapper {
		all: initial;
		font-family: Arial, sans-serif;
	}

	.kl-quote-portal-wrapper * {
		all: unset;
		display: revert;
		box-sizing: border-box;
		font-family: Arial, sans-serif;
	}
	
body.page-id-1492 #masthead,
body.page-id-1492 #colophon,
body.page-id-1492 #mobile-header,
body.page-id-1492 #mobile-drawer,
body.page-id-1492 .site-header,
body.page-id-1492 .site-footer,
body.page-id-1492 .popup-drawer,
body.page-id-1492 .cky-btn-revisit-wrapper,
body.page-id-1492 .cky-consent-container {
	display: none !important;
}

body.page-id-1492 #wrapper,
body.page-id-1492 #inner-wrap,
body.page-id-1492 #primary,
body.page-id-1492 #main,
body.page-id-1492 .content-area,
body.page-id-1492 .content-container,
body.page-id-1492 .site-container,
body.page-id-1492 .site-main,
body.page-id-1492 .content-wrap,
body.page-id-1492 article,
body.page-id-1492 .entry-content-wrap,
body.page-id-1492 .entry-content,
body.page-id-1492 .single-content {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
	box-shadow: none !important;
	background: transparent !important;
}

body.page-id-1492 .kl-quote-doc {
	margin: 32px auto !important;
}

body.page-id-1495 #masthead,
body.page-id-1495 #colophon,
body.page-id-1495 #mobile-header,
body.page-id-1495 #mobile-drawer,
body.page-id-1495 .site-header,
body.page-id-1495 .site-footer,
body.page-id-1495 .popup-drawer,
body.page-id-1495 .cky-btn-revisit-wrapper,
body.page-id-1495 .cky-consent-container {
	display: none !important;
}

body.page-id-1495 #wrapper,
body.page-id-1495 #inner-wrap,
body.page-id-1495 #primary,
body.page-id-1495 #main,
body.page-id-1495 .content-area,
body.page-id-1495 .content-container,
body.page-id-1495 .site-container,
body.page-id-1495 .site-main,
body.page-id-1495 .content-wrap,
body.page-id-1495 article,
body.page-id-1495 .entry-content-wrap,
body.page-id-1495 .entry-content,
body.page-id-1495 .single-content {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
	box-shadow: none !important;
	background: transparent !important;
}

body.page-id-1495 .kl-quote-doc {
	margin: 32px auto !important;
}

/* =========================================================
   Jobs Calendar
   ========================================================= */
.kl-calendar-wrap,
.kl-calendar-wrap *{
	box-sizing:border-box;
	color:#111827 !important;
}

.kl-calendar-wrap{
	width:100%;
	min-width:0;
	color:#111827 !important;
}

.kl-calendar-card{
	background:#fff !important;
	border:1px solid #e5e7eb;
	border-radius:14px;
	box-shadow:0 1px 2px rgba(0,0,0,.04);
	overflow:hidden;
}

.kl-calendar-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:18px 20px;
	border-bottom:1px solid #eef0f3;
	background:#fff !important;
}

.kl-calendar-title{
	margin:0;
	color:#111827 !important;
	font-size:24px;
	line-height:1.2;
	font-weight:700;
}

.kl-calendar-actions{
	display:flex;
	gap:8px;
	align-items:center;
	flex-wrap:wrap;
}

.kl-calendar-tabs{
	display:flex;
	justify-content:center;
	gap:18px;
	padding:12px 16px;
	border-bottom:1px solid #e5e7eb;
	background:#fff !important;
}

.kl-calendar-tab{
	border:0;
	background:transparent !important;
	padding:8px 2px;
	cursor:pointer;
	font-size:14px;
	font-weight:600;
	color:#374151 !important;
	border-bottom:3px solid transparent;
}

.kl-calendar-tab.is-active{
	color:#111827 !important;
	border-bottom-color:#60a5fa;
}

.kl-calendar-nav{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:18px;
	padding:14px 16px;
	background:#fff !important;
}

.kl-calendar-nav-title{
	min-width:220px;
	text-align:center;
	color:#111827 !important;
	font-size:18px;
	font-weight:700;
}

.kl-calendar-nav-btn{
	border:0;
	background:transparent !important;
	color:#111827 !important;
	font-size:28px;
	line-height:1;
	cursor:pointer;
	padding:4px 10px;
}

.kl-calendar-grid{
	width:100%;
	background:#fff !important;
}

.kl-calendar-weekdays,
.kl-calendar-month-grid{
	display:grid;
	grid-template-columns:repeat(7,minmax(0,1fr));
}

.kl-calendar-weekday{
	text-align:center;
	font-size:13px;
	font-weight:700;
	padding:10px;
	color:#374151 !important;
	border-bottom:1px solid #e5e7eb;
	background:#fff !important;
}

.kl-calendar-day{
	min-height:118px;
	border-right:1px solid #e5e7eb;
	border-bottom:1px solid #e5e7eb;
	padding:8px;
	cursor:pointer;
	overflow:hidden;
	background:#fff !important;
}

.kl-calendar-day:nth-child(7n){
	border-right:0;
}

.kl-calendar-day:hover,
.kl-calendar-time-slot:hover,
.kl-calendar-week-cell:hover{
	background:#f9fafb !important;
}

.kl-calendar-day-number{
	text-align:right;
	font-size:13px;
	font-weight:600;
	margin-bottom:6px;
	color:#111827 !important;
}

.kl-calendar-day.is-muted{
	background:#f9fafb !important;
}

.kl-calendar-day.is-muted .kl-calendar-day-number{
	color:#9ca3af !important;
}

.kl-cal-event{
	display:block;
	width:100%;
	border:0;
	border-radius:6px;
	padding:4px 6px;
	margin:3px 0;
	font-size:12px;
	font-weight:700;
	color:#fff !important;
	text-align:left;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	cursor:pointer;
	box-shadow:none;
}

.kl-cal-status-scheduled{background:#2563eb !important}
.kl-cal-status-recurring{background:#059669 !important}
.kl-cal-status-completed{background:#6b7280 !important}
.kl-cal-status-cancelled{background:#dc2626 !important}
.kl-cal-status-in_progress{background:#ea580c !important}
.kl-cal-status-draft{background:#7c3aed !important}

.kl-calendar-time-grid{
	display:grid;
	grid-template-columns:70px minmax(0,1fr);
	border-top:1px solid #e5e7eb;
	background:#fff !important;
}

.kl-calendar-time-label{
	font-size:12px;
	color:#374151 !important;
	padding:8px;
	border-right:1px solid #e5e7eb;
	border-bottom:1px solid #e5e7eb;
	background:#fff !important;
}

.kl-calendar-time-slot{
	min-height:48px;
	border-bottom:1px solid #e5e7eb;
	padding:5px;
	cursor:pointer;
	position:relative;
	background:#fff !important;
}

.kl-calendar-week-grid{
	display:grid;
	grid-template-columns:70px repeat(7,minmax(120px,1fr));
	overflow:auto;
	border-top:1px solid #e5e7eb;
	background:#fff !important;
}

.kl-calendar-week-header{
	padding:8px;
	text-align:center;
	font-weight:700;
	color:#111827 !important;
	border-right:1px solid #e5e7eb;
	border-bottom:1px solid #e5e7eb;
	position:sticky;
	top:0;
	background:#fff !important;
	z-index:1;
}

.kl-calendar-week-time{
	padding:8px;
	font-size:12px;
	color:#374151 !important;
	border-right:1px solid #e5e7eb;
	border-bottom:1px solid #e5e7eb;
	background:#fff !important;
}

.kl-calendar-week-cell{
	min-height:48px;
	border-right:1px solid #e5e7eb;
	border-bottom:1px solid #e5e7eb;
	padding:4px;
	cursor:pointer;
	background:#fff !important;
}

.kl-calendar-loading,
.kl-calendar-error,
.kl-calendar-empty{
	padding:14px 16px;
	background:#fff !important;
	color:#6b7280 !important;
}

.kl-calendar-error{
	color:#991b1b !important;
	background:#fef2f2 !important;
}

.kl-calendar-modal{
	display:none;
	position:fixed;
	inset:0;
	background:rgba(15,23,42,.45);
	z-index:99999;
	align-items:center;
	justify-content:center;
	padding:18px;
}

.kl-calendar-modal.is-open{
	display:flex;
}

.kl-calendar-modal-card{
	background:#fff !important;
	border-radius:14px;
	width:min(620px,100%);
	max-height:90vh;
	overflow:auto;
	box-shadow:0 20px 60px rgba(0,0,0,.25);
	color:#111827 !important;
}

.kl-calendar-modal-head{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	padding:16px;
	border-bottom:1px solid #e5e7eb;
	background:#fff !important;
}

.kl-calendar-modal-title{
	font-size:18px;
	font-weight:700;
	margin:0;
	color:#111827 !important;
}

.kl-calendar-modal-body{
	padding:16px;
	display:grid;
	gap:12px;
	background:#fff !important;
}

.kl-calendar-modal-footer{
	padding:16px;
	border-top:1px solid #e5e7eb;
	display:flex;
	justify-content:flex-end;
	gap:10px;
	flex-wrap:wrap;
	background:#fff !important;
}

.kl-calendar-meta{
	display:grid;
	grid-template-columns:140px minmax(0,1fr);
	gap:8px;
	font-size:14px;
	color:#111827 !important;
}

.kl-calendar-meta strong{
	color:#374151 !important;
}

.kl-calendar-meta span{
	color:#111827 !important;
}

.kl-calendar-form-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}

.kl-calendar-full{
	grid-column:1 / -1;
}

@media(max-width:760px){
	.kl-calendar-head{
		flex-direction:column;
	}
	.kl-calendar-actions{
		justify-content:flex-start;
	}
	.kl-calendar-nav-title{
		min-width:0;
		font-size:16px;
	}
	.kl-calendar-weekdays,
	.kl-calendar-month-grid{
		min-width:760px;
	}
	.kl-calendar-grid{
		overflow:auto;
	}
	.kl-calendar-day{
		min-height:95px;
	}
	.kl-calendar-form-grid{
		grid-template-columns:1fr;
	}
	.kl-calendar-full{
		grid-column:auto;
	}
}

.kl-calendar-filterbar{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:12px;
	padding:14px 20px;
	border-bottom:1px solid #e5e7eb;
	background:#fff !important;
}

.kl-calendar-worker-filter{
	width:min(360px,100%);
}

.kl-calendar-worker-filter .kl-entity-picker{
	margin:0;
}

@media(max-width:760px){
	.kl-calendar-filterbar {
        align-items: center;
        flex-direction: column;
        text-align: center;
    }
	.kl-calendar-worker-filter{
		width:100%;
	}
}

/* =========================================================
   Sales Pipeline / Kanban
   ========================================================= */
.kl-sp-root,
.kl-sp-root *{
	box-sizing:border-box;
	color:#111827 !important;
}

.kl-sp-root{
	width:100%;
	min-width:0;
	display:flex;
	flex-direction:column;
	gap:16px;
}

.kl-sp-card-shell{
	background:#fff !important;
	border:1px solid #e5e7eb;
	border-radius:14px;
	box-shadow:0 1px 2px rgba(0,0,0,.04);
	overflow:hidden;
}

.kl-sp-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	padding:16px 20px;
	background:#fff !important;
	border-bottom:1px solid #eef0f3;
}

.kl-sp-toolbar-left,
.kl-sp-toolbar-right{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
}

.kl-sp-select,
.kl-sp-input{
	min-height:40px;
	padding:10px 12px;
	border:1px solid #d1d5db !important;
	border-radius:10px;
	background:#fff !important;
	color:#111827 !important;
	font-size:14px;
}

.kl-sp-board-wrap{
	width:100%;
	overflow-x:auto;
	background:#fff !important;
	padding:16px;
}

.kl-sp-board{
	display:grid;
	grid-auto-flow:column;
	grid-auto-columns:minmax(280px,320px);
	gap:14px;
	min-height:460px;
}

.kl-sp-stage{
	background:#f9fafb !important;
	border:1px solid #e5e7eb;
	border-radius:14px;
	min-height:420px;
	display:flex;
	flex-direction:column;
	overflow:hidden;
}

.kl-sp-stage-head{
	padding:12px;
	border-bottom:1px solid #e5e7eb;
	background:#fff !important;
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:10px;
}

.kl-sp-stage-title{
	margin:0;
	font-size:15px;
	line-height:1.3;
	font-weight:700;
	display:flex;
	align-items:center;
	gap:8px;
}

.kl-sp-dot{
	width:10px;
	height:10px;
	border-radius:999px;
	display:inline-block;
	background:#64748b;
	flex:0 0 auto;
}

.kl-sp-count{
	margin-top:4px;
	color:#6b7280 !important;
	font-size:12px;
}

.kl-sp-cards{
	padding:10px;
	display:flex;
	flex-direction:column;
	gap:10px;
	min-height:320px;
	flex:1;
}

.kl-sp-card{
	background:#fff !important;
	border:1px solid #e5e7eb;
	border-radius:12px;
	padding:12px;
	box-shadow:0 1px 2px rgba(0,0,0,.04);
	cursor:grab;
}

.kl-sp-card:active{
	cursor:grabbing;
}

.kl-sp-card-title{
	margin:0 0 6px;
	color:#111827 !important;
	font-weight:700;
}

.kl-sp-card-meta{
	color:#6b7280 !important;
	font-size:12px;
	line-height:1.45;
}

.kl-sp-card-money{
	margin-top:8px;
	color:#111827 !important;
	font-size:13px;
	font-weight:700;
}

.kl-sp-empty{
	padding:18px;
	color:#6b7280 !important;
	text-align:center;
	font-size:14px;
}

.kl-sp-drop-active{
	outline:2px dashed #111827;
	outline-offset:-6px;
}

.kl-sp-modal{
	display:none;
	position:fixed;
	inset:0;
	z-index:99999;
	align-items:center;
	justify-content:center;
	padding:20px;
	background:rgba(17,24,39,.55);
}

.kl-sp-modal.is-open{
	display:flex;
}

.kl-sp-modal-card{
	width:min(520px,100%);
	max-height:calc(100vh - 40px);
	overflow:auto;
	background:#fff !important;
	border-radius:16px;
	box-shadow:0 25px 80px rgba(0,0,0,.25);
}

.kl-sp-modal-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:18px 20px;
	border-bottom:1px solid #eef0f3;
}

.kl-sp-modal-title{
	margin:0;
	color:#111827 !important;
	font-size:20px;
	font-weight:700;
}

.kl-sp-modal-body{
	display:grid;
	gap:14px;
	padding:20px;
}

.kl-sp-form-row label{
	display:block;
	margin:0 0 6px;
	color:#374151 !important;
	font-size:13px;
	font-weight:600;
}

.kl-sp-form-row input[type="text"],
.kl-sp-form-row input[type="number"],
.kl-sp-form-row input[type="color"]{
	width:100%;
	min-height:40px;
	padding:10px 12px;
	border:1px solid #d1d5db !important;
	border-radius:10px;
	background:#fff !important;
	color:#111827 !important;
	font-size:14px;
}

.kl-sp-checks{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
}

@media(max-width:760px){
	.kl-sp-board{
		grid-auto-columns:minmax(260px,88vw);
	}
}

/* =========================================================
   Lead Forms
   ========================================================= */
.kl-lf-wrap{
	display:flex;
	flex-direction:column;
	gap:16px;
}

.kl-lf-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	padding:18px 20px;
}

.kl-lf-title{
	margin:0;
	color:#111827 !important;
	font-size:24px;
	line-height:1.2;
	font-weight:700;
}

.kl-lf-subtitle{
	margin:4px 0 0;
	color:#6b7280 !important;
	font-size:14px;
}

.kl-lf-toolbar{
	display:grid;
	grid-template-columns:minmax(240px,1.8fr) minmax(150px,1fr) auto;
	gap:12px;
	padding:16px 20px;
}

.kl-lf-table-wrap{
	overflow:auto;
	padding:0 0 4px;
}

.kl-lf-table{
	width:100%;
	min-width:1180px;
	border-collapse:collapse;
}

.kl-lf-table th,
.kl-lf-table td{
	padding:14px 16px;
	border-top:1px solid #f0f2f5;
	vertical-align:top;
	text-align:left;
	font-size:14px;
	color:#111827 !important;
}

.kl-lf-table thead th{
	border-top:none;
	background:#fafafa !important;
	color:#6b7280 !important;
	font-size:12px;
	font-weight:600;
	letter-spacing:.03em;
	text-transform:uppercase;
}

.kl-lf-name{
	margin:0 0 4px;
	color:#111827 !important;
	font-weight:700;
}

.kl-lf-meta{
	color:#6b7280 !important;
	font-size:13px;
	line-height:1.45;
	word-break:break-word;
}

.kl-lf-modal-card{
	width:min(1080px,100%);
}

.kl-lf-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	padding:12px 20px;
	border-bottom:1px solid #eef0f3;
	background:#fff !important;
}

.kl-lf-tab{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:10px 14px;
	border:1px solid #d1d5db;
	border-radius:10px;
	background:#fff !important;
	color:#111827 !important;
	font-size:14px;
	font-weight:700;
	cursor:pointer;
}

.kl-lf-tab:hover{
	background:#f9fafb !important;
}

.kl-lf-tab.is-active{
	background:#111827 !important;
	border-color:#111827 !important;
	color:#fff !important;
}

.kl-lf-panel{
	display:none;
	padding:20px;
	background:#fff !important;
}

.kl-lf-panel.is-active{
	display:block;
}

.kl-lf-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}

.kl-lf-full{
	grid-column:1 / -1;
}

.kl-lf-fields-list{
	display:flex;
	flex-direction:column;
	gap:10px;
}

.kl-lf-field-card{
	display:grid;
	grid-template-columns:minmax(220px,1.5fr) minmax(120px,.7fr) minmax(180px,1fr) auto;
	gap:10px;
	align-items:center;
	padding:12px;
	border:1px solid #e5e7eb;
	border-radius:12px;
	background:#fff !important;
}

.kl-lf-codebox{
	width:100%;
	min-height:120px;
	font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
	font-size:12px;
}

.kl-lf-preview-frame{
	width:100%;
	height:680px;
	border:1px solid #e5e7eb;
	border-radius:14px;
	background:#fff !important;
}

.kl-lf-wrap .kl-modal-card{
	width:min(1080px,100%);
}

@media(max-width:900px){
	.kl-lf-toolbar,
	.kl-lf-grid{
		grid-template-columns:1fr;
	}

	.kl-lf-field-card{
		grid-template-columns:1fr;
	}

	.kl-lf-full{
		grid-column:auto;
	}
}

@media(max-width:640px){
	.kl-lf-toolbar{
		grid-template-columns:1fr;
	}
}

.logged-in .site-footer {
    display: none !important;
}
.kl-related-item {
	padding: 10px 12px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #fff;
	margin-bottom: 8px;
}

.kl-related-item-title {
	font-weight: 600;
	margin-bottom: 4px;
}

/* =========================================================
   KL Subscriptions / Billing
========================================================== */
.kl-subscriptions-module{
	background:#f6f8fb;
	padding:24px;
	border-radius:18px;
}

.kl-subscriptions-module .kl-page-title,
.kl-subscriptions-module h1{
	margin:0 0 8px;
	font-size:30px;
	font-weight:800;
	color:#111827 !important;
}

.kl-subscriptions-module .kl-page-description{
	margin:0 0 22px;
	color:#6b7280 !important;
	font-size:15px;
}

.kl-subscriptions-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:18px;
}

.kl-subscriptions-module .kl-card{
	overflow:hidden;
	border-radius:18px;
	background:#fff;
}

.kl-subscriptions-module .kl-card-header{
	padding:20px 22px 12px;
	border-bottom:1px solid #eef0f3;
}

.kl-subscriptions-module .kl-card-title{
	margin:0 0 6px;
	font-size:22px;
	font-weight:800;
	color:#111827 !important;
}

.kl-subscriptions-module .kl-card-description{
	margin:0;
	color:#6b7280 !important;
	font-size:14px;
}

.kl-subscriptions-module .kl-card-body{
	padding:20px 22px 22px;
}

.kl-subscription-summary-grid{
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:12px;
	margin-bottom:16px;
}

.kl-summary-item{
	padding:16px;
	border:1px solid #e5e7eb;
	border-radius:14px;
	background:#f9fafb;
}

.kl-summary-label{
	margin-bottom:8px;
	color:#6b7280 !important;
	font-size:11px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.04em;
}

.kl-summary-value{
	color:#111827 !important;
	font-size:16px;
	font-weight:800;
	line-height:1.3;
}

.kl-subscription-current-actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:6px;
}

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

.kl-plan-card{
	display:flex;
	flex-direction:column;
	gap:14px;
	padding:22px;
	border:1px solid #e5e7eb;
	border-radius:18px;
	background:#fff;
	box-shadow:0 1px 2px rgba(15,23,42,.04);
}

.kl-plan-card.is-current-plan{
	border-color:#2563eb;
	box-shadow:0 0 0 1px rgba(37,99,235,.25);
}

.kl-plan-name{
	margin:0 0 10px;
	font-size:18px;
	font-weight:800;
	color:#111827 !important;
}

.kl-plan-price{
	font-size:28px;
	font-weight:900;
	color:#111827 !important;
}

.kl-plan-description,
.kl-plan-meta{
	color:#6b7280 !important;
	font-size:13px;
	line-height:1.45;
}

.kl-plan-section{
	padding-top:14px;
	border-top:1px solid #eef0f3;
}

.kl-plan-section-title{
	margin-bottom:10px;
	color:#374151 !important;
	font-size:12px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.04em;
}

.kl-plan-limits,
.kl-plan-features{
	display:flex;
	flex-direction:column;
	gap:9px;
	margin:0;
	padding:0;
	list-style:none;
}

.kl-plan-limits li{
	display:flex;
	justify-content:space-between;
	gap:12px;
	font-size:14px;
}

.kl-plan-list-label{
	color:#6b7280 !important;
}

.kl-plan-list-value{
	color:#111827 !important;
	font-weight:800;
}

.kl-plan-features li{
	display:flex;
	align-items:center;
	gap:9px;
	color:#111827 !important;
	font-size:14px;
}

.kl-plan-check{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:18px;
	height:18px;
	border-radius:999px;
	background:#ecfdf5;
	color:#047857 !important;
	font-size:12px;
	font-weight:900;
}

.kl-plan-actions{
	margin-top:auto;
	padding-top:4px;
}

.kl-plan-actions .kl-btn{
	width:100%;
}

@media(max-width:1200px){
	.kl-subscription-summary-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.kl-subscription-plans-grid{
		grid-template-columns:1fr;
	}
}

@media(max-width:760px){
	.kl-subscriptions-module{
		padding:16px;
	}

	.kl-subscription-summary-grid{
		grid-template-columns:1fr;
	}
}

/* =========================================================
   FINAL Klusaro button override - keep at bottom
   ========================================================= */
.kl-btn,
button.kl-btn,
a.kl-btn,
input.kl-btn,
.kl-auth-button,
button.kl-auth-button,
a.kl-auth-button,
.kl-app-topbar__button,
a.kl-app-topbar__button,
button.kl-app-topbar__button,
.kl-sp-btn,
button.kl-sp-btn,
a.kl-sp-btn {
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:8px !important;
	min-height:40px !important;
	padding:10px 14px !important;
	background:#f3f4f6 !important;
	background-color:#f3f4f6 !important;
	border:1px solid #d1d5db !important;
	border-radius:10px !important;
	color:#111827 !important;
	-webkit-text-fill-color:#111827 !important;
	font-size:14px !important;
	font-weight:700 !important;
	line-height:1.2 !important;
	text-decoration:none !important;
	cursor:pointer !important;
	box-shadow:none !important;
	appearance:none !important;
	-webkit-appearance:none !important;
}

.kl-btn:hover,
.kl-btn:focus,
.kl-auth-button:hover,
.kl-auth-button:focus,
.kl-app-topbar__button:hover,
.kl-app-topbar__button:focus,
.kl-sp-btn:hover,
.kl-sp-btn:focus {
	background:#e5e7eb !important;
	border-color:#9ca3af !important;
	color:#111827 !important;
	-webkit-text-fill-color:#111827 !important;
	outline:none !important;
}

.kl-btn-primary,
button.kl-btn-primary,
a.kl-btn-primary,
input.kl-btn-primary,
.kl-auth-button,
.kl-app-topbar__button--primary,
.kl-sp-btn-primary {
	background:#2563eb !important;
	background-color:#2563eb !important;
	border-color:#2563eb !important;
	color:#ffffff !important;
	-webkit-text-fill-color:#ffffff !important;
}

.kl-btn-primary:hover,
.kl-btn-primary:focus,
.kl-auth-button:hover,
.kl-auth-button:focus,
.kl-app-topbar__button--primary:hover,
.kl-app-topbar__button--primary:focus,
.kl-sp-btn-primary:hover,
.kl-sp-btn-primary:focus {
	background:#1d4ed8 !important;
	background-color:#1d4ed8 !important;
	border-color:#1d4ed8 !important;
	color:#ffffff !important;
	-webkit-text-fill-color:#ffffff !important;
}

.kl-btn-danger,
button.kl-btn-danger,
a.kl-btn-danger,
.kl-sp-btn-danger {
	background:#fef2f2 !important;
	background-color:#fef2f2 !important;
	border-color:#fecaca !important;
	color:#b91c1c !important;
	-webkit-text-fill-color:#b91c1c !important;
}

.kl-btn-danger:hover,
.kl-btn-danger:focus,
.kl-sp-btn-danger:hover,
.kl-sp-btn-danger:focus {
	background:#fee2e2 !important;
	border-color:#fca5a5 !important;
	color:#991b1b !important;
	-webkit-text-fill-color:#991b1b !important;
}

/* FINAL auth button force fix */
.kl-auth-card .kl-auth-button,
.kl-auth-card button.kl-auth-button,
.kl-auth-card input.kl-auth-button,
button.kl-auth-button,
input[type="submit"].kl-auth-button {
	background:#2563eb !important;
	background-color:#2563eb !important;
	border-color:#2563eb !important;
	color:#ffffff !important;
	-webkit-text-fill-color:#ffffff !important;
}

.kl-auth-card .kl-auth-button:hover,
.kl-auth-card button.kl-auth-button:hover,
.kl-auth-card input.kl-auth-button:hover,
button.kl-auth-button:hover,
input[type="submit"].kl-auth-button:hover {
	background:#1d4ed8 !important;
	background-color:#1d4ed8 !important;
	border-color:#1d4ed8 !important;
	color:#ffffff !important;
	-webkit-text-fill-color:#ffffff !important;
}

.kl-bf-rule-summary{
	margin-top:8px;
	font-size:13px;
	line-height:1.5;
	color:#6b7280;
	background:#f9fafb;
	border:1px solid #e5e7eb;
	padding:10px 12px;
	border-radius:10px;
}
.kl-bf-section-row,
.kl-bf-worker-row{
	display:flex;
	gap:12px;
	align-items:flex-end;
	flex-wrap:wrap;
}

.kl-bf-section-row .kl-field,
.kl-bf-worker-select-wrap{
	flex:1 1 220px;
}

.kl-bf-worker-button-wrap{
	flex:0 0 auto;
}
.kl-bf-section-row,
.kl-bf-option-row,
.kl-bf-worker-row{
	display:flex;
	gap:12px;
	align-items:flex-end;
	flex-wrap:wrap;
	margin-bottom:12px;
}

.kl-bf-section-row .kl-field,
.kl-bf-option-row .kl-field,
.kl-bf-worker-select-wrap{
	flex:1 1 180px;
}

.kl-bf-option-row [data-bf-option-price]{
	max-width:140px;
}

.kl-bf-worker-button-wrap{
	flex:0 0 auto;
}

.kl-bf-sections-builder,
.kl-bf-options-builder{
	margin:10px 0;
}

@media (max-width: 767px) {
    .entry-content-wrap {
		padding: 0;
	}
		.kl-dashboard-root,
	.kl-dashboard-root *,
	.kl-card,
	.kl-dashboard-metric,
	.kl-dashboard-list-item,
	.kl-calendar-card,
	.kl-app-topbar,
	.kl-app-nav,
	.kl-btn,
	.kl-field,
	.kl-select,
	.kl-textarea{
		border-radius:0 !important;
	}
}

@media (max-width: 767px){

	.kl-jobs-header, .kl-lf-header, .kl-contacts-header, .kl-doc-header, .kl-invoices-header, .kl-payments-header, .kl-workers-header, .kl-auto-header, .kl-cf-header, .kl-pm-header, .kl-settings-header, .kl-tags-header, .kl-inv-header{
		display:flex;
		flex-direction:column;
		align-items:center;
		text-align:center;
		gap:14px;
	}

	.kl-jobs-header .kl-btn, .kl-lf-header .kl-btn, .kl-contacts-header .kl-btn, .kl-doc-header .kl-btn, .kl-invoices-header .kl-btn, .kl-payments-header .kl-btn, .kl-workers-header .kl-btn, .kl-cf-header .kl-btn, .kl-pm-header .kl-btn, .kl-settings-header .kl-btn, .kl-tags-header .kl-btn, .kl-inv-header .kl-btn{
		width:100%;
		max-width:220px;
	}

	.kl-auto-wrap, .kl-contacts-wrap, .kl-cf-wrap, .kl-doc-wrap, .kl-invoices-wrap, .kl-jobs-wrap, .kl-notif-wrap, .kl-opps-wrap, .kl-payments-wrap, .kl-quotes-wrap, .kl-sv-wrap, .kl-settings-wrap, .kl-tags-wrap, .kl-tasks-wrap, .kl-workers-wrap, .kl-inv-wrap, .kl-pm-wrap, .kl-lf-wrap{
		gap: 0;
	}
	
	.kl-card, .kl-quotes-card, .kl-settings-card{
		border-radius: 0;
	}
}
	
.kl-tasks-table-wrap{
	width:100%;
	max-width:100%;
	overflow-x:auto !important;
	overflow-y:visible !important;
	-webkit-overflow-scrolling:touch;
}

.kl-tasks-table{
	min-width:960px !important;
}	

/* Latvian only - clean characters, keep normal weights */
html[lang="lv"],
html[lang="lv-LV"] {
	--global-body-font-family: Arial, sans-serif;
	--global-heading-font-family: Inter, Arial, sans-serif;
	--global-primary-nav-font-family: Arial, sans-serif;
}

/* Normal Latvian text */
html[lang="lv"] body,
html[lang="lv"] p,
html[lang="lv"] li,
html[lang="lv-LV"] body,
html[lang="lv-LV"] p,
html[lang="lv-LV"] li {
	font-weight: 400 !important;
}

/* Headings stay bold */
html[lang="lv"] h1,
html[lang="lv"] h2,
html[lang="lv"] h3,
html[lang="lv-LV"] h1,
html[lang="lv-LV"] h2,
html[lang="lv-LV"] h3 {
	font-weight: 800 !important;
}

/* Buttons stay medium, not huge bold */
html[lang="lv"] button,
html[lang="lv"] .button,
html[lang="lv"] .wp-block-button__link,
html[lang="lv"] .kb-button,
html[lang="lv"] .kt-button,
html[lang="lv-LV"] button,
html[lang="lv-LV"] .button,
html[lang="lv-LV"] .wp-block-button__link,
html[lang="lv-LV"] .kb-button,
html[lang="lv-LV"] .kt-button {
	font-family: Arial, sans-serif !important;
	font-weight: 600 !important;
}

/* =========================================================
   Affiliate / Partner pages
   ========================================================= */

.kl-affiliate-register,
.kl-affiliate-login,
.kl-aff-dashboard{
	max-width:920px;
	margin:32px auto;
	padding:24px;
	border:1px solid #dcdcde;
	border-radius:14px;
	background:#fff;
	box-shadow:0 4px 18px rgba(0,0,0,.04);
	color:#111827 !important;
}

.kl-affiliate-login{
	max-width:560px;
}

.kl-affiliate-register h1,
.kl-affiliate-login h1,
.kl-aff-dashboard h2{
	margin:0 0 8px;
	font-size:28px;
	line-height:1.2;
	font-weight:800;
	color:#111827 !important;
}

.kl-affiliate-register h3,
.kl-aff-dashboard h3{
	margin:0 0 12px;
	font-size:20px;
	font-weight:800;
	color:#111827 !important;
}

.kl-affiliate-register p,
.kl-affiliate-login p,
.kl-aff-dashboard p,
.kl-affiliate-register li,
.kl-aff-dashboard td,
.kl-aff-dashboard th{
	color:#374151 !important;
	font-size:14px;
	line-height:1.55;
}

.kl-affiliate-register ul{
	margin:18px 0;
	padding-left:20px;
}

.kl-affiliate-register-form,
.kl-affiliate-login form,
.kl-aff-dashboard form{
	display:flex;
	flex-direction:column;
	gap:16px;
}

.kl-affiliate-register input[type="text"],
.kl-affiliate-register input[type="email"],
.kl-affiliate-register input[type="password"],
.kl-affiliate-register input[type="url"],
.kl-affiliate-register select,
.kl-affiliate-register textarea,
.kl-affiliate-login input[type="text"],
.kl-affiliate-login input[type="password"],
.kl-aff-dashboard input[type="text"],
.kl-aff-dashboard input[type="email"],
.kl-aff-dashboard input[type="password"],
.kl-aff-dashboard input[type="number"],
.kl-aff-dashboard input[type="url"],
.kl-aff-dashboard select,
.kl-aff-dashboard textarea{
	width:100%;
	min-height:46px;
	padding:12px 14px;
	border:1px solid #c3c4c7;
	border-radius:10px;
	background:#fff !important;
	color:#111827 !important;
	font-size:14px;
	box-sizing:border-box;
}

.kl-affiliate-register textarea,
.kl-aff-dashboard textarea{
	min-height:110px;
	resize:vertical;
}

.kl-affiliate-register input:focus,
.kl-affiliate-register select:focus,
.kl-affiliate-register textarea:focus,
.kl-affiliate-login input:focus,
.kl-aff-dashboard input:focus,
.kl-aff-dashboard select:focus,
.kl-aff-dashboard textarea:focus{
	outline:none;
	border-color:#2271b1;
	box-shadow:0 0 0 1px #2271b1;
}

.kl-affiliate-register label,
.kl-affiliate-login label,
.kl-aff-dashboard label{
	color:#374151 !important;
	font-size:14px;
	font-weight:600;
}

.kl-affiliate-register button,
.kl-affiliate-login input[type="submit"],
.kl-aff-dashboard button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:12px 16px;
	border:1px solid #135e96;
	border-radius:10px;
	background:#135e96;
	color:#fff !important;
	font-size:14px;
	font-weight:700;
	text-decoration:none;
	cursor:pointer;
}

.kl-affiliate-register button:hover,
.kl-affiliate-login input[type="submit"]:hover,
.kl-aff-dashboard button:hover{
	background:#0f4f80;
	border-color:#0f4f80;
	color:#fff !important;
}

.kl-aff-dashboard > div{
	background:#fff !important;
}

.kl-aff-dashboard table{
	width:100%;
	border-collapse:collapse;
	background:#fff;
}

.kl-aff-dashboard th,
.kl-aff-dashboard td{
	padding:14px 16px !important;
	border-top:1px solid #f0f2f5 !important;
	text-align:left;
	vertical-align:top;
}

.kl-aff-dashboard thead th{
	border-top:none !important;
	background:#fafafa;
	color:#6b7280 !important;
	font-size:12px;
	font-weight:700;
	letter-spacing:.03em;
	text-transform:uppercase;
}

.kl-aff-dashboard code{
	display:inline-block;
	padding:3px 8px;
	border:1px solid #e5e7eb;
	border-radius:8px;
	background:#f3f4f6;
	color:#111827;
	font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
	font-size:12px;
	word-break:break-all;
}

.kl-affiliate-register a,
.kl-affiliate-login a,
.kl-aff-dashboard a{
	color:#1d4ed8;
	text-decoration:none;
	font-weight:600;
}

.kl-affiliate-register a:hover,
.kl-affiliate-login a:hover,
.kl-aff-dashboard a:hover{
	text-decoration:underline;
}

@media(max-width:760px){
	.kl-affiliate-register,
	.kl-affiliate-login,
	.kl-aff-dashboard{
		margin:20px auto;
		padding:18px;
	}

	.kl-aff-dashboard table{
		display:block;
		overflow-x:auto;
		white-space:nowrap;
	}
}
