.kp-dash {
	--kp-ink: #0b0b0b;
	--kp-ink-2: #52514e;
	--kp-muted: #6f6e69;
	--kp-line: #e6e5e0;
	--kp-grid: #ecebe7;
	--kp-surface: #ffffff;
	--kp-surface-2: #f7f7f5;
	--kp-series: #2a78d6;
	--kp-series-strong: #1d5fae;
	--kp-good: #1a7f37;
	--kp-warn: #9a5b00;
	--kp-bad: #b42318;
	--kp-radius: 12px;
	color: var(--kp-ink);
	font-size: 15px;
	line-height: 1.5;
	max-width: 1080px;
	margin: 0 auto;
	padding: 8px 0 32px;
	box-sizing: border-box;
	container-type: inline-size;
}
.kp-dash *, .kp-dash *::before, .kp-dash *::after { box-sizing: border-box; }
.kp-dash p { margin: 0; }
.kp-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.kp-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 6px; }
.kp-eyebrow { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--kp-muted); margin-bottom: 2px !important; }
.kp-title { font-size: 26px; line-height: 1.2; margin: 0 0 4px; font-weight: 700; color: var(--kp-ink); }
.kp-meta, .kp-range, .kp-muted, .kp-hint { color: var(--kp-ink-2); }
.kp-meta { font-size: 14px; }
.kp-range { font-size: 13px; margin: 0 0 16px !important; }
.kp-hint { font-size: 12.5px; margin-top: 6px !important; }

.kp-filter { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.kp-filter select { min-height: 38px; padding: 6px 10px; border: 1px solid var(--kp-line); border-radius: 8px; background: var(--kp-surface); color: var(--kp-ink); font-size: 14px; max-width: 260px; }
.kp-btn { min-height: 38px; padding: 6px 16px; border-radius: 8px; border: 1px solid var(--kp-ink); background: var(--kp-ink); color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; line-height: 1.2; }
.kp-btn:hover { opacity: .88; }
.kp-btn--ghost { background: transparent; color: var(--kp-ink); border-color: var(--kp-line); }

.kp-kpis { display: grid; grid-template-columns: minmax(220px, 1fr) 2fr; gap: 12px; margin-bottom: 16px; }
.kp-ticket { display: grid; grid-template-columns: minmax(0, 1fr) 250px; background: #fff4c8; border: 1px solid #e9d98f; border-radius: 14px; margin-bottom: 16px; }
.kp-ticket-main { padding: 26px 28px 24px; }
.kp-sentence { font-size: 26px; line-height: 1.25; font-weight: 700; letter-spacing: -0.01em; max-width: 30ch; color: var(--kp-ink); margin: 0 0 14px !important; }
.kp-facts { display: flex; flex-wrap: wrap; gap: 6px 24px; margin: 0; padding: 0; list-style: none; font-size: 14px; color: var(--kp-ink-2); }
.kp-facts li { margin: 0; }
.kp-facts strong { color: var(--kp-ink); font-size: 16px; }
.kp-ticket-stub { display: flex; flex-direction: column; justify-content: center; padding: 22px 26px; border-left: 2px dashed rgba(11, 11, 11, 0.25); }
.kp-stub-num { font-size: 32px; line-height: 1.1; font-weight: 700; letter-spacing: -0.02em; color: var(--kp-ink); }
.kp-stub-label { font-size: 14px; color: var(--kp-ink); margin-top: 6px !important; }
.kp-stub-hint { font-size: 12px; color: var(--kp-ink-2); margin-top: 2px !important; }
.kp-hero, .kp-tile, .kp-card, .kp-notice { background: var(--kp-surface); border: 1px solid var(--kp-line); border-radius: var(--kp-radius); }
.kp-hero { padding: 20px 22px; display: flex; flex-direction: column; justify-content: center; }
.kp-hero-num { font-size: 52px; font-weight: 700; line-height: 1.05; margin: 6px 0 4px !important; letter-spacing: -.02em; }
.kp-sub { color: var(--kp-ink-2); font-size: 15px; }
.kp-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.kp-tile { padding: 14px 16px; }
.kp-label { font-size: 13px; color: var(--kp-ink-2); font-weight: 600; }
.kp-tile-num { font-size: 26px; font-weight: 700; line-height: 1.2; margin-top: 4px !important; }

.kp-notice { padding: 14px 16px; margin-bottom: 16px; background: var(--kp-surface-2); }

.kp-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 8px; }
.kp-card { padding: 16px 18px; margin-bottom: 12px; }
.kp-charts .kp-card { margin-bottom: 0; }
.kp-card-title { font-size: 16px; font-weight: 700; margin: 0 0 10px; color: var(--kp-ink); }
.kp-chart-wrap { position: relative; }
.kp-bars { display: flex; gap: 6px; height: 196px; margin-top: 22px; }
.kp-yaxis { position: relative; width: 30px; flex: 0 0 30px; height: 172px; }
.kp-yaxis span { position: absolute; right: 0; transform: translateY(50%); font-size: 11.5px; line-height: 1; color: var(--kp-muted); font-variant-numeric: tabular-nums; }
.kp-plot { position: relative; flex: 1 1 auto; display: flex; height: 196px; min-width: 0; }
.kp-gridlines { position: absolute; left: 0; right: 0; top: 0; height: 172px; pointer-events: none; }
.kp-gridlines i { position: absolute; left: 0; right: 0; height: 0; border-top: 1px solid var(--kp-grid); }
.kp-gridlines i:first-child { border-top-color: #cfcdc6; }
.kp-col { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; outline: none; cursor: default; }
.kp-bar-slot { position: relative; width: 100%; height: 172px; display: flex; align-items: flex-end; justify-content: center; }
.kp-bar { position: relative; width: 60%; max-width: 24px; background: var(--kp-series); border-radius: 4px 4px 0 0; }
.kp-col:hover .kp-bar, .kp-col:focus .kp-bar { background: var(--kp-series-strong); }
.kp-col:focus-visible .kp-bar-slot { outline: 1.5px solid var(--kp-series); outline-offset: -1px; border-radius: 4px; }
.kp-val { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 4px; font-size: 12px; font-weight: 600; color: var(--kp-ink); white-space: nowrap; line-height: 1; }
.kp-xlabel { margin-top: 7px; font-size: 11.5px; line-height: 1; color: var(--kp-muted); white-space: nowrap; }
.kp-tooltip { position: absolute; z-index: 10; top: 0; left: 0; pointer-events: none; background: var(--kp-ink); color: #fff; font-size: 12.5px; line-height: 1.35; padding: 6px 9px; border-radius: 6px; white-space: nowrap; transform: translate(-50%, calc(-100% - 10px)); box-shadow: 0 2px 8px rgba(0,0,0,.18); }

.kp-details { margin: 8px 0 16px; }
.kp-details > summary { cursor: pointer; font-size: 14px; font-weight: 600; color: var(--kp-ink-2); padding: 6px 0; }
.kp-card .kp-details { margin-bottom: 0; }

.kp-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.kp-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0; border: 0; }
.kp-table th, .kp-table td { text-align: left; padding: 9px 10px; border: 0; border-bottom: 1px solid var(--kp-line); background: transparent; vertical-align: middle; }
.kp-table th { font-size: 12.5px; font-weight: 600; color: var(--kp-ink-2); white-space: nowrap; }
.kp-table .kp-nowrap { white-space: nowrap; }
.kp-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kp-table tbody tr:last-child td { border-bottom: 0; }
.kp-row-muted td { color: var(--kp-muted); }
.kp-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; background: var(--kp-surface-2); border: 1px solid var(--kp-line); border-radius: 5px; padding: 1px 6px; color: var(--kp-ink); }

.kp-status { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.kp-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--kp-muted); display: inline-block; }
.kp-status--connected .kp-dot { background: var(--kp-good); }
.kp-status--silent .kp-dot { background: var(--kp-warn); }
.kp-status--never .kp-dot { background: #a9a8a2; }
.kp-warn-text { color: var(--kp-warn); font-weight: 600; }

.kp-wc-codes { list-style: none; margin: 10px 0 4px; padding: 0; }
.kp-wc-codes li { margin: 4px 0; }
.kp-steps { margin: 8px 0 10px 20px; padding: 0; }
.kp-steps li { margin: 4px 0; }
.kp-key { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.kp-key code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; background: var(--kp-surface-2); border: 1px solid var(--kp-line); border-radius: 8px; padding: 9px 12px; user-select: all; word-break: break-all; flex: 1 1 280px; }

.kp-login { max-width: 420px; }
.kp-login form p { margin: 0 0 12px; }
.kp-login input[type="text"], .kp-login input[type="password"] { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid var(--kp-line); border-radius: 8px; }
.kp-login .button-primary, .kp-login input[type="submit"] { min-height: 40px; padding: 6px 18px; border-radius: 8px; border: 0; background: var(--kp-ink); color: #fff; font-weight: 600; cursor: pointer; }
.kp-login .kp-muted { margin: 8px 0 16px !important; }

@container (max-width: 820px) {
	.kp-charts { grid-template-columns: 1fr; }
}
@container (max-width: 640px) {
	.kp-ticket { grid-template-columns: 1fr; }
	.kp-ticket-main { padding: 20px 20px 18px; }
	.kp-sentence { font-size: 21px; }
	.kp-ticket-stub { border-left: 0; border-top: 2px dashed rgba(11, 11, 11, 0.25); padding: 16px 20px 20px; }
	.kp-kpis { grid-template-columns: 1fr; }
	.kp-hero-num { font-size: 48px; }
	.kp-title { font-size: 22px; }
}
@container (max-width: 460px) {
	.kp-hide-narrow { display: none; }
	.kp-col--alt .kp-xlabel { visibility: hidden; }
	.kp-tiles { grid-template-columns: 1fr 1fr; }
	.kp-tile-num { font-size: 22px; }
}
/* wp-admin */
.kp-quiet-link { color: var(--kp-muted); }
.kp-admin .notice.inline { margin: 0 0 12px; }
.kp-admin .kp-dash { margin: 0; max-width: none; }
.kp-admin-table .kp-status { font-weight: 500; }
.kp-overview-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 12px 0 16px; }
@media (max-width: 900px) { .kp-overview-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kp-tooltip[hidden] { display: none; }

.kp-upgrade { display: flex; align-items: center; justify-content: space-between; gap: 14px 20px; flex-wrap: wrap; margin: 0 0 20px; padding: 16px 18px; border: 1px solid #f8d3a6; border-radius: var(--kp-radius); background: #fff7ed; }
.kp-upgrade strong { display: block; font-size: 16px; color: var(--kp-ink); margin-bottom: 3px; }
.kp-upgrade span { font-size: 14px; line-height: 1.5; color: var(--kp-ink-2); }
.kp-upgrade-link { flex: none; font-weight: 700; font-size: 14px; color: #b85e00; text-decoration: none; }
.kp-upgrade-link:hover { text-decoration: underline; }

/* Locked 4th figure: orders & revenue (1.3.5). */
.kp-sales { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; margin: 0 0 16px; background: #fffaf3; border: 1px dashed #e9b874; border-radius: var(--kp-radius); }
.kp-sales-lock { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 10px; background: #fff0dc; color: var(--kp-warn); display: grid; place-items: center; }
.kp-sales-body { flex: 1 1 auto; min-width: 0; }
.kp-sales-title { margin: 0 0 2px; font-weight: 700; font-size: 16px; color: var(--kp-ink); }
.kp-sales-text { margin: 0 0 10px; color: var(--kp-muted); font-size: 14px; line-height: 1.55; }
.kp-sales-actions { margin: 0 0 12px; }
.kp-sales-actions .kp-btn { display: inline-block; text-decoration: none; }
.kp-sales-other summary { cursor: pointer; font-size: 14px; color: var(--kp-series-strong); font-weight: 600; }
.kp-sales-other form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.kp-sales-other select { min-width: 180px; }
.kp-new-badge { display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 999px; background: #fff0dc; color: #9a5b00; font-size: 11px; font-weight: 700; vertical-align: 1px; }

/* 1.3.11: plan + coupons cards, notices, footer */
.kp-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0 0 16px; }
.kp-two > .kp-card { margin: 0; }
.kp-plan-eyebrow { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--kp-warn); }
.kp-plan-name { margin: 0 0 4px; font-size: 22px; font-weight: 800; color: var(--kp-ink); }
.kp-plan-meta { margin: 0 0 12px; color: var(--kp-muted); font-size: 14px; }
.kp-plan-up { margin: 0 0 12px; font-size: 14px; color: var(--kp-ink); }
.kp-plan-list summary { cursor: pointer; font-weight: 700; font-size: 14px; margin-bottom: 6px; }
.kp-plan-prefix { margin: 0 0 4px; font-size: 13px; font-weight: 700; color: var(--kp-muted); }
.kp-plan-list ul { margin: 0 0 12px; padding: 0; list-style: none; display: grid; gap: 5px; }
.kp-plan-list li { position: relative; padding-left: 22px; font-size: 14px; line-height: 1.45; }
.kp-plan-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--kp-good); font-weight: 800; }
.kp-plan-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 4px 0 0; }
.kp-coupon-list { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.kp-coupon-list li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--kp-line); border-radius: 10px; }
.kp-coupon-list a { font-weight: 600; font-size: 14px; color: var(--kp-ink); text-decoration: none; }
.kp-pill { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.kp-pill--ok { background: #ecf8f0; color: var(--kp-good); }
.kp-pill--soon { background: #fff3e3; color: var(--kp-warn); }
.kp-pill--off { background: #f0f0ee; color: var(--kp-muted); }
.kp-new-coupon summary { list-style: none; display: inline-block; cursor: pointer; }
.kp-new-coupon summary::-webkit-details-marker { display: none; }
.kp-new-coupon form { display: grid; gap: 4px; margin-top: 12px; max-width: 420px; }
.kp-new-coupon label { font-size: 13px; font-weight: 700; margin-top: 6px; }
.kp-new-coupon input, .kp-new-coupon textarea { width: 100%; padding: 9px 11px; border: 1px solid var(--kp-line); border-radius: 8px; font: inherit; font-size: 14px; }
.kp-new-coupon .kp-btn { margin-top: 10px; justify-self: start; }
.kp-notice--ok { background: #ecf8f0; border-color: #cfe7d6; }
.kp-foot { margin: 18px 0 0; font-size: 13px; color: var(--kp-muted); text-align: center; }
@media (max-width: 760px) { .kp-two { grid-template-columns: 1fr; } }
.kp-dash a.kp-btn, .kp-dash summary.kp-btn { display: inline-flex; align-items: center; text-decoration: none; }
.kp-dash a.kp-btn:not(.kp-btn--ghost) { color: #fff; }

/* 1.3.15: overview fits the screen, active-coupon filter, «counting since» line */
.kp-admin-table th { white-space: normal; min-width: 0; line-height: 1.3; vertical-align: bottom; }
.kp-admin-table th, .kp-admin-table td { padding: 8px 7px; font-size: 13px; }
.kp-admin-table td:first-child, .kp-admin-table th:first-child { position: sticky; left: 0; z-index: 1; background: var(--kp-surface, #fff); min-width: 130px; }
.kp-admin-table .kp-pill { font-size: 11.5px; }
.kp-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 0 0 10px; }
.kp-card-head .kp-card-title { margin: 0; }
.kp-seg { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 3px; border: 1px solid var(--kp-line); border-radius: 10px; background: #f6f7f7; }
.kp-seg a { padding: 5px 11px; border-radius: 7px; font-size: 13px; font-weight: 600; color: var(--kp-ink-2); text-decoration: none; }
.kp-seg a.is-on { background: #fff; color: var(--kp-ink); box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.kp-since { margin: -8px 0 16px !important; padding: 8px 12px; border-left: 3px solid var(--kp-series, #0874ba); background: #f3f8fc; border-radius: 0 8px 8px 0; font-size: 13px; color: var(--kp-ink-2); }
/* 1.3.16: orders from kouponaki visitors without a code */
.kp-visits { margin: 10px 0 0 !important; padding: 8px 12px; border-radius: 8px; background: #f3f8fc; font-size: 14px; color: var(--kp-ink-2); }
.kp-visits sup { color: var(--kp-muted); }
