/*
Theme Name: AI-MOP Dashboard
Theme URI: https://wordpress.org/themes/ai-mop
Author: AI-MOP CMD
Author URI: https://ai-mop.id
Description: WordPress theme berbentuk dashboard IOT ala AI-MOP CMD — sidebar persistent mini/expanded, app bar biru #2563EB, card putih, Roboto. Light mode.
Requires at least: 6.4
Requires PHP: 8.0
Version: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ai-mop
Tags: one-column, custom-menu, featured-images, blog, company-profile, dashboard
*/

/* Design tokens mengikuti cmd-frontend: src/themes/theme.ts + globals.css */

:root {
	--kd-primary: #2563EB;
	--kd-primary-hover: #1E40AF;
	--kd-primary-soft: #EFF6FF;
	--kd-surface-raised: #F8FAFC;

	--kd-success: #22c55e;
	--kd-error: #ef4444;
	--kd-warning: #fef08a;

	--kd-text-heading: #0A0A0A;
	--kd-text-body: #262626;
	--kd-text-secondary: #525252;
	--kd-text-disabled: #A3A3A3;
	--kd-border: #E5E5E5;

	--kd-bg: #f8f9fa;
	--kd-surface: #ffffff;

	--kd-font: "Roboto", "Segoe UI", system-ui, sans-serif;

	--kd-appbar-height: 64px;
	--kd-sidebar-width: 224px;
	--kd-sidebar-mini: 60px;
	--kd-content-max: 1200px;

	--kd-ease: cubic-bezier(0.4, 0, 0.2, 1);
	--kd-sz: 224px;
}

/* ---------- Reset & base ---------- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html, body {
	max-width: 100vw;
	overflow-x: hidden;
	background: var(--kd-bg);
}

body {
	font-family: var(--kd-font);
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--kd-text-secondary);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--kd-font);
	color: var(--kd-text-heading);
	line-height: 1.25;
	font-weight: 700;
}

a { color: var(--kd-primary); }
a:hover { color: var(--kd-primary-hover); }

:focus-visible { outline: 2px solid var(--kd-primary); outline-offset: 2px; }

*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
	backgroundColor: transparent;
	borderRadius: 99px;
	border: 2px solid transparent;
	backgroundClip: content-box;
}

img, svg { max-width: 100%; }

.kd-skiplink {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--kd-primary);
	color: #fff;
	padding: 8px 16px;
	z-index: 4000;
}
.kd-skiplink:focus { left: 0; }

/* ---------- Shell ---------- */
.kd-page {
	display: flex;
	flex-direction: column;
	background: var(--kd-bg);
	min-height: 100vh;
}
.kd-page > .kd-inner {
	display: flex;
	flex: 1;
}
.kd-work {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
}
.kd-page:not(:has(#kd-sidebar-toggle:checked)) .kd-inner { --kd-sz: 60px; }

#kd-sidebar-toggle {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 0;
	height: 0;
}

.kd-icon,
svg.kd-icon,
.kd-nav__icon,
svg.kd-nav__icon {
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
	max-width: 20px;
	max-height: 20px;
	vertical-align: middle;
	display: inline-block;
	flex-shrink: 0;
}

/* ---------- Sidebar (desktop) ---------- */
.kd-sidebar {
	flex: 0 0 var(--kd-sz);
	width: var(--kd-sz);
	position: sticky;
	top: 0;
	height: 100vh;
	overflow-y: auto;
	background: var(--kd-surface);
	border-right: 1px solid var(--kd-border);
	padding: 16px 0 12px;
	transition: width .25s var(--kd-ease);
	z-index: 100;
	display: flex;
	flex-direction: column;
}

.kd-sidebar__brand {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 20px;
	margin-bottom: 16px;
	color: var(--kd-text-body);
	text-decoration: none;
	white-space: nowrap;
}
.kd-sidebar__brand:hover { color: var(--kd-text-body); }
.kd-sidebar__logo { color: var(--kd-primary); display: flex; align-items: center; }
.kd-sidebar__logo-text { font-size: 0.95rem; font-weight: 800; letter-spacing: -0.2px; }
.kd-sidebar__logo-sub { font-size: 0.65rem; font-weight: 600; opacity: .75; letter-spacing: .08em; }

.kd-nav { flex: 1 1 auto; padding: 0 8px; }
.kd-nav__section { margin-bottom: 16px; }
.kd-nav__heading {
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--kd-text-disabled);
	padding: 6px 14px;
}
.kd-nav__list { list-style: none; }
.kd-nav__item { display: block; margin-bottom: 2px; }

.kd-nav__link {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 8px 14px;
	border-left: 3px solid transparent;
	border-radius: 8px;
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--kd-text-secondary);
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s var(--kd-ease), border-color .15s var(--kd-ease), color .15s var(--kd-ease);
}
.kd-nav__link:hover { background: var(--kd-surface-raised); color: var(--kd-text-body); }
.kd-nav__link.is-active, .current_page_item > a {
	background: var(--kd-primary-soft);
	border-left-color: var(--kd-primary);
	color: var(--kd-primary);
}
.kd-nav .page_item a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 14px;
	border-left: 3px solid transparent;
	border-radius: 8px;
	color: var(--kd-text-secondary);
	text-decoration: none;
	white-space: nowrap;
	font-size: 0.85rem;
	font-weight: 500;
}
.kd-nav .page_item a:hover { background: var(--kd-surface-raised); color: var(--kd-text-body); }
.kd-nav .page_item.current_page_item a {
	background: var(--kd-primary-soft);
	border-left-color: var(--kd-primary);
	color: var(--kd-primary);
}
.kd-nav__icon { display: flex; align-items: center; justify-content: center; color: var(--kd-text-secondary); flex-shrink: 0; }
.kd-nav__link.is-active .kd-nav__icon, .kd-nav .page_item.current_page_item .kd-nav__icon { color: var(--kd-primary); }

.kd-sidebar__meta {
	padding: 12px 20px 8px;
	border-top: 1px solid var(--kd-border);
	color: var(--kd-text-disabled);
	font-size: 0.7rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

/* ---------- App bar ---------- */
.kd-header {
	width: 100%;
	position: sticky;
	top: 0;
	z-index: 50;
	height: var(--kd-appbar-height);
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0 24px;
	background: var(--kd-primary);
	color: #fff;
	box-shadow: 0 2px 4px rgba(0, 0, 0, .08);
}

.kd-header__brand {
	display: none;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-weight: 800;
	font-size: 1.05rem;
	white-space: nowrap;
	text-decoration: none;
}
.kd-header__brand:hover { color: #fff; }
.kd-header__brand-tag { font-size: 0.65rem; font-weight: 600; opacity: .85; letter-spacing: 1px; }

@media (max-width: 1023px) {
	.kd-header__brand { display: flex; }
}

.kd-header__title {
	flex: 1 1 auto;
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .95);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kd-header__actions { display: flex; align-items: center; gap: 12px; }

.kd-icon-btn {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: rgba(255, 255, 255, .92);
	cursor: pointer;
	transition: background .2s var(--kd-ease);
}
.kd-icon-btn:hover { background: rgba(255, 255, 255, .18); }

.kd-user { display: flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; }
.kd-user__avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.kd-user__title { text-align: right; }
.kd-user__me { font-size: 0.78rem; white-space: nowrap; display: block; font-weight: 500; }
.kd-user__role { font-size: 0.65rem; opacity: .85; display: block; }

.kd-nav-toggle { display: none; }

/* ---------- Main ---------- */
.kd-main {
	flex: 1 1 auto;
	padding: 24px 28px 48px;
	max-width: 1440px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.kd-main__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 4px; }
.kd-main__head h1 { font-size: 1.45rem; }
.kd-main__head h2 { font-size: 1.15rem; }
.kd-main__desc { color: var(--kd-text-secondary); font-size: 0.85rem; }

.kd-card {
	background: var(--kd-surface);
	border: 1px solid var(--kd-border);
	border-radius: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
	padding: 22px;
}
.kd-card + .kd-card { margin-top: 0; }

.kd-card__foot { display: flex; justify-content: flex-end; margin-top: 16px; gap: 8px; }

.kd-overline {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--kd-text-disabled);
	margin-bottom: 6px;
}

.kd-list { list-style: none; }
.kd-list__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 0;
	border-bottom: 1px solid var(--kd-border);
}
.kd-list__item:last-of-type { border-bottom: 0; }
.kd-list__item-title { font-weight: 500; color: var(--kd-text-body); }
.kd-list__item-title a { color: inherit; }
.kd-list__item:hover .kd-list__item-title a { color: var(--kd-primary); }
.kd-list__meta { font-size: 0.75rem; color: var(--kd-text-secondary); display: flex; gap: 12px; flex-wrap: wrap; }

.kd-featured { width: 100%; border-radius: 8px; margin-bottom: 16px; border: 1px solid var(--kd-border); }

/* ---------- Buttons ---------- */
.kd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 8px;
	border: 1px solid transparent;
	font-weight: 500;
	font-size: 0.8rem;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	transition: background .15s var(--kd-ease), border-color .15s var(--kd-ease), color .15s var(--kd-ease), opacity .15s;
}
.kd-btn:disabled { opacity: .6; cursor: not-allowed; }

.kd-btn--small { padding: 9px 12px; font-size: 0.75rem; }
.kd-btn--medium { padding: 9.5px 16px; font-size: 0.75rem; }
.kd-btn--large { padding: 13.5px 12px; font-size: 0.75rem; }

.kd-btn--primary { background: var(--kd-primary); color: #fff; }
.kd-btn--primary:hover:not(:disabled) { background: var(--kd-primary-hover); }

.kd-btn--outlined { background: transparent; border-color: var(--kd-border); color: var(--kd-text-body); }
.kd-btn--outlined:hover { border-color: var(--kd-primary); color: var(--kd-primary); }

.kd-btn--ghost { background: var(--kd-surface-raised); border-color: var(--kd-border); color: var(--kd-text-secondary); }
.kd-btn--ghost:hover { background: var(--kd-primary-soft); border-color: var(--kd-primary); color: var(--kd-primary-hover); }

.kd-btn--success { background: var(--kd-success); color: #fff; padding: 5px 11px; font-size: 0.7rem; border-radius: 99px; }
.kd-btn--danger { background: var(--kd-error); color: #fff; padding: 5px 11px; font-size: 0.7rem; border-radius: 99px; }
.kd-btn--link { background: transparent; padding: 0; }

/* ---------- Badges ---------- */
.kd-badge {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 99px;
	font-size: 0.68rem;
	font-weight: 500;
	line-height: 1.6;
	background: var(--kd-primary-soft);
	color: var(--kd-primary-hover);
}
.kd-badge--success { background: #DCFCE7; color: #15803D; }
.kd-badge--danger { background: #FEE2E2; color: #B91C1C; }
.kd-badge--warning { background: #FEF9C3; color: #854D0E; }
.kd-badge--neutral { background: #F3F4F6; color: var(--kd-text-secondary); }

/* ---------- Tables ---------- */
.kd-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.kd-table th, .kd-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--kd-border); vertical-align: middle; }
.kd-table thead th { background: var(--kd-primary); color: #fff; font-size: 0.72rem; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; }
.kd-table tbody tr:hover { background: var(--kd-surface-raised); }
.kd-table tbody tr:last-child td { border-bottom: 0; }

/* ---------- Forms ---------- */
.kd-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.kd-field__label { font-size: 0.75rem; font-weight: 500; color: var(--kd-text-secondary); }

.kd-field__input, .kd-field__area, .kd-field__select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--kd-border);
	border-radius: 8px;
	font-family: var(--kd-font);
	font-size: 0.85rem;
	color: var(--kd-text-body);
	background: var(--kd-surface);
	transition: border-color .15s var(--kd-ease), box-shadow .15s var(--kd-ease);
}
.kd-field__input:focus, .kd-field__area:focus, .kd-field__select:focus {
	outline: 0;
	border-color: var(--kd-primary);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .16);
}
.kd-field__input::placeholder { color: var(--kd-text-disabled); }
.kd-field__help { font-size: 0.72rem; color: var(--kd-error); }

.kd-switch { position: relative; display: inline-flex; align-items: center; gap: 8px; font-size: 0.8rem; cursor: pointer; }
.kd-switch__input { position: absolute; opacity: 0; }
.kd-switch__track {
	width: 36px;
	height: 20px;
	border-radius: 99px;
	background: var(--kd-border);
	position: relative;
	transition: background .2s var(--kd-ease);
}
.kd-switch__thumb {
	position: absolute;
	top: 2px;
	left: 2px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
	transition: transform .2s var(--kd-ease);
}
.kd-switch__input:checked + .kd-switch__track { background: var(--kd-primary); }
.kd-switch__input:checked + .kd-switch__track .kd-switch__thumb { transform: translateX(16px); }

/* ---------- Pagination ---------- */
.kd-pagination { display: flex; gap: 6px; list-style: none; justify-content: flex-end; align-items: center; margin-top: 24px; flex-wrap: wrap; }
.kd-pagination__item { width: 36px; height: 36px; border-radius: 8px; display: inline-grid; place-items: center; font-weight: 500; font-size: 0.85rem; }
.kd-pagination__link { text-decoration: none; color: var(--kd-text-secondary); border: 1px solid var(--kd-border); }
.kd-pagination__item:not(.is-current) a:hover { background: var(--kd-primary-soft); border-color: var(--kd-primary); color: var(--kd-primary-hover); }
.kd-pagination__item.is-current { background: var(--kd-primary); color: #fff; }

/* ---------- Komentar & post nav ---------- */
.kd-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.kd-comment { padding: 16px 0; border-bottom: 1px solid var(--kd-border); }
.kd-comment__meta { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.kd-comment__author { font-weight: 500; color: var(--kd-text-body); }
.kd-comment__time { font-size: 0.72rem; color: var(--kd-text-disabled); }

/* ---------- Entry meta ---------- */
.kd-entry-meta { display: flex; gap: 14px; flex-wrap: wrap; font-size: 0.75rem; color: var(--kd-text-secondary); }
.kd-entry-meta a { color: inherit; }
.kd-entry-meta a:hover { color: var(--kd-primary); }
.kd-entry-meta__item { display: inline-flex; align-items: center; gap: 5px; }

/* ---------- Footer ---------- */
.kd-foot {
	padding: 16px 24px 32px;
	font-size: 0.72rem;
	color: var(--kd-text-disabled);
}

/* ---------- 404 ---------- */
.kd-error { text-align: center; padding: 72px 20px; }
.kd-error__title { font-size: 4rem; font-weight: 900; color: var(--kd-primary); }
.kd-error__code { font-size: 1.25rem; font-weight: 500; color: var(--kd-text-body); margin: 8px 0 24px; }

/* ---------- Utils ---------- */
.wp-block-cover { border-radius: 8px; }

.comment-form input[type="text"], .comment-form input[type="email"], .comment-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--kd-border);
	border-radius: 8px;
	font-family: var(--kd-font);
	font-size: 0.85rem;
	margin-bottom: 16px;
}
.comment-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	border: 1px solid transparent;
	font-weight: 500;
	font-size: 0.8rem;
	background: var(--kd-primary);
	color: #ffffff;
	padding: 9.5px 16px;
	cursor: pointer;
	transition: background .15s var(--kd-ease);
}
.comment-form input[type="submit"]:hover { background: var(--kd-primary-hover); }
.comment-form label { font-weight: 500; color: var(--kd-text-body); }

/* ---------- IoT Dashboard Components ---------- */
.kd-dash-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding-bottom: 4px;
}
.kd-dash-banner__title h1 {
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--kd-text-heading);
	margin-bottom: 4px;
}
.kd-dash-banner__sub {
	color: var(--kd-text-secondary);
	font-size: 0.85rem;
}
.kd-dash-banner__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Status Pulse */
.kd-status-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px;
	background: #ECFDF5;
	border: 1px solid #A7F3D0;
	border-radius: 99px;
	font-size: 0.75rem;
	font-weight: 600;
	color: #065F46;
}
.kd-pulse-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #10B981;
	box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
	animation: kd-pulse 2s infinite;
}
@keyframes kd-pulse {
	0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
	70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
	100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

/* KPI Cards */
.kd-kpi-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.kd-kpi-card {
	background: var(--kd-surface);
	border: 1px solid var(--kd-border);
	border-radius: 10px;
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.03);
	transition: transform 0.15s var(--kd-ease), box-shadow 0.15s var(--kd-ease);
}
.kd-kpi-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.kd-kpi-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.kd-kpi-card__icon-box {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	display: grid;
	place-items: center;
	background: var(--kd-primary-soft);
	color: var(--kd-primary);
}
.kd-kpi-card__icon-box--green { background: #DCFCE7; color: #16A34A; }
.kd-kpi-card__icon-box--amber { background: #FEF3C7; color: #D97706; }
.kd-kpi-card__icon-box--purple { background: #F3E8FF; color: #9333EA; }

.kd-kpi-card__val {
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--kd-text-heading);
	line-height: 1.2;
}
.kd-kpi-card__label {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--kd-text-secondary);
}
.kd-kpi-card__meta {
	font-size: 0.75rem;
	color: var(--kd-text-disabled);
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 4px;
	border-top: 1px dashed var(--kd-border);
	padding-top: 8px;
}

/* Dashboard 2-column layout */
.kd-dash-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 20px;
	align-items: start;
}
.kd-dash-col {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Card Header inside dashboard */
.kd-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--kd-border);
}
.kd-card-header__title {
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--kd-text-heading);
	display: flex;
	align-items: center;
	gap: 8px;
}
.kd-card-header__sub {
	font-size: 0.75rem;
	color: var(--kd-text-secondary);
	font-weight: 400;
}

/* Telemetry Mini Progress */
.kd-prog-track {
	width: 100%;
	height: 6px;
	border-radius: 99px;
	background: #E2E8F0;
	overflow: hidden;
	position: relative;
}
.kd-prog-fill {
	height: 100%;
	border-radius: 99px;
	background: var(--kd-primary);
}
.kd-prog-fill--green { background: #10B981; }
.kd-prog-fill--amber { background: #F59E0B; }

/* Code Badge / Monospace */
.kd-code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.78rem;
	background: #F1F5F9;
	color: #334155;
	padding: 2px 6px;
	border-radius: 4px;
	border: 1px solid #CBD5E1;
}

/* Metric Row */
.kd-metric-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid var(--kd-border);
	font-size: 0.82rem;
}
.kd-metric-row:last-child { border-bottom: 0; }
.kd-metric-row__label { color: var(--kd-text-secondary); display: flex; align-items: center; gap: 8px; }
.kd-metric-row__val { font-weight: 600; color: var(--kd-text-body); }

/* ---------- Responsive (<=1023px): drawer overlay ---------- */
@media (max-width: 1023px) {
	.kd-kpi-grid { grid-template-columns: repeat(2, 1fr); }
	.kd-dash-layout { grid-template-columns: 1fr; }
	.kd-sidebar {
		position: fixed;
		top: 0;
		left: -9999px;
		height: 100svh;
		box-shadow: 4px 0 16px rgba(0, 0, 0, .18);
		transition: left .25s var(--kd-ease);
		z-index: 999;
		padding-bottom: 60px;
	}
	#kd-sidebar-toggle:checked ~ .kd-inner > .kd-sidebar { left: 0; }

	.kd-header {
		margin-left: 0;
		padding-right: 64px;
	}

	.kd-backdrop { display: none; }
	#kd-sidebar-toggle:checked ~ .kd-inner .kd-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, .35);
		z-index: 100;
		cursor: pointer;
	}

	#kd-sidebar-toggle:not(:checked) ~ .kd-inner > .kd-sidebar { pointer-events: none; }

	.kd-nav-toggle {
		display: inline-grid;
		position: absolute;
		left: 12px;
		z-index: 1000;
		width: 40px;
		height: 40px;
		border: 0;
		border-radius: 8px;
		background: rgba(255, 255, 255, .16);
		color: #fff;
		cursor: pointer;
	}

	.kd-main {
		padding-top: calc(var(--kd-appbar-height) + 8px);
		padding-left: 14px;
		padding-right: 14px;
		max-width: 100%;
	}
}

@media (max-width: 900px) {
	.kd-main__head { flex-direction: column; align-items: stretch; }
}

/* Admin bar WordPress (user login di frontend) */
body.admin-bar .kd-header { height: calc(var(--kd-appbar-height) + 32px); }
@media (max-width: 783px) {
	body.admin-bar .kd-header { height: calc(var(--kd-appbar-height) + 46px); }
}
