@font-face {
	font-family:'MiSans';
	src:url('./MiSans-Semibold.ttf') format('truetype');
	font-weight:800;
	font-style:normal;
	font-display:swap
}
* {
	box-sizing:border-box;
	font-family:"MiSans",system-ui,-apple-system,sans-serif !important
}
html {
	-webkit-text-size-adjust:100%;
	touch-action:pan-x pan-y
}
:root {
	--kb-bg:#fff;
	--kb-bg-rgb:244,245,247;
	--kb-surface:#ffffff;
	--kb-surface-alt:#fafbfc;
	--kb-border:#e4e6ea;
	--kb-border-soft:#edeef1;
	--kb-text:#161a22;
	--kb-text-muted:#666b78;
	--kb-text-faint:#9297a3;
	--kb-primary:#3452d9;
	--kb-primary-dark:#2a41b3;
	--kb-primary-soft-bg:#eaedfd;
	--kb-danger:#d1394f;
	--kb-danger-soft-bg:#fcedef;
	--kb-danger-border:#f2c1c9;
	--kb-success:#158a5c;
	--kb-hover-bg:#edeef1;
	--kb-input-bg:#ffffff;
	--kb-modal-overlay:rgba(17,24,39,.45);
	--kb-shadow-sm:0 1px 2px rgba(20,22,30,.04),0 1px 8px rgba(20,22,30,.04);
	--kb-shadow-lg:0 16px 40px rgba(20,22,30,.16);
	color-scheme:light
}
@media (prefers-color-scheme:dark) {
	:root:not([data-theme="light"]) {
	--kb-bg:#101216;
	--kb-bg-rgb:16,18,22;
	--kb-surface:#181b21;
	--kb-surface-alt:#1e222a;
	--kb-border:#2b2f38;
	--kb-border-soft:#23272f;
	--kb-text:#e8eaee;
	--kb-text-muted:#9aa0ad;
	--kb-text-faint:#6c7280;
	--kb-primary:#5c7cfa;
	--kb-primary-dark:#7c95fb;
	--kb-primary-soft-bg:#232a45;
	--kb-danger:#f1596d;
	--kb-danger-soft-bg:#3a2028;
	--kb-danger-border:#5a2b34;
	--kb-success:#34c98b;
	--kb-hover-bg:#23272f;
	--kb-input-bg:#1e222a;
	--kb-modal-overlay:rgba(0,0,0,.6);
	--kb-shadow-sm:0 1px 2px rgba(0,0,0,.24),0 1px 8px rgba(0,0,0,.24);
	--kb-shadow-lg:0 16px 40px rgba(0,0,0,.5);
	color-scheme:dark
}
}:root[data-theme="dark"] {
	--kb-bg:#101216;
	--kb-bg-rgb:16,18,22;
	--kb-surface:#181b21;
	--kb-surface-alt:#1e222a;
	--kb-border:#2b2f38;
	--kb-border-soft:#23272f;
	--kb-text:#e8eaee;
	--kb-text-muted:#9aa0ad;
	--kb-text-faint:#6c7280;
	--kb-primary:#5c7cfa;
	--kb-primary-dark:#7c95fb;
	--kb-primary-soft-bg:#232a45;
	--kb-danger:#f1596d;
	--kb-danger-soft-bg:#3a2028;
	--kb-danger-border:#5a2b34;
	--kb-success:#34c98b;
	--kb-hover-bg:#23272f;
	--kb-input-bg:#1e222a;
	--kb-modal-overlay:rgba(0,0,0,.6);
	--kb-shadow-sm:0 1px 2px rgba(0,0,0,.24),0 1px 8px rgba(0,0,0,.24);
	--kb-shadow-lg:0 16px 40px rgba(0,0,0,.5);
	color-scheme:dark
}
body {
	margin:0;
	color:var(--kb-text);
	background:var(--kb-bg);
	font-size:14.5px;
	line-height:1.55;
	touch-action:pan-x pan-y;
	overscroll-behavior:none;
	transition:background .15s,color .15s
}
.kb-logo-img {
	width:100%;
	height:100%;
	object-fit:contain;
	border-radius:8px;
	background:#fff
}
button,input,select,textarea {
	font:inherit;
	color:inherit
}
button {
	cursor:pointer
}
button:disabled,input:disabled,select:disabled {
	cursor:not-allowed;
	opacity:.6
}
a {
	color:var(--kb-primary);
	text-decoration:none
}
a:hover {
	text-decoration:underline
}
code {
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace
}
body.assets-body-locked {
	overflow:hidden
}
.kb-icon {
	display:inline-block;
	vertical-align:-2px;
	flex-shrink:0;
	line-height:1
}
@keyframes kb-icon-spin {
	from {
	transform:rotate(0deg)
}
to {
	transform:rotate(360deg)
}
}.kb-icon-spin {
	display:inline-block;
	animation:kb-icon-spin 1s linear infinite
}
.assets-container {
	width:min(100% - 48px,1280px);
	margin-inline:auto
}
.kb-shell {
	display:flex;
	min-height:100vh
}
.kb-sidebar {
	position:sticky;
	top:0;
	align-self:flex-start;
	height:100vh;
	height:100dvh;
	width:236px;
	flex:0 0 236px;
	display:flex;
	flex-direction:column;
	background:var(--kb-surface);
	border-right:1px solid var(--kb-border);
	z-index:50
}
.kb-sidebar-brand {
	display:flex;
	align-items:center;
	gap:10px;
	padding:18px 18px 16px;
	color:var(--kb-text);
	font-size:15.5px;
	font-weight:800;
	letter-spacing:-.01em;
	border-bottom:1px solid var(--kb-border-soft)
}
.kb-sidebar-brand:hover {
	color:var(--kb-text);
	text-decoration:none
}
.kb-sidebar-brand .kb-brand-mark {
	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	border-radius:8px;
	flex-shrink:0;
	background:var(--kb-primary);
	color:#fff
}
.kb-sidebar-nav {
	flex:1;
	min-height:0;
	overflow-y:auto;
	display:flex;
	flex-direction:column;
	gap:2px;
	padding:12px 10px
}
.kb-sidebar-section {
	margin:14px 8px 6px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.04em;
	color:var(--kb-text-faint);
	text-transform:uppercase
}
.kb-sidebar-link {
	display:flex;
	align-items:center;
	gap:10px;
	padding:9px 12px;
	border-radius:8px;
	color:var(--kb-text-muted);
	font-size:13.5px;
	font-weight:600;
	transition:background .12s,color .12s;
	width:100%;
	border:none;
	background:none;
	text-align:left
}
.kb-sidebar-link:hover {
	color:var(--kb-text);
	text-decoration:none;
	background:var(--kb-hover-bg)
}
.kb-sidebar-link-active {
	color:var(--kb-primary-dark);
	font-weight:700;
	background:var(--kb-primary-soft-bg)
}
.kb-sidebar-link-active:hover {
	color:var(--kb-primary-dark)
}
.kb-sidebar-footer {
	padding:12px 10px calc(env(safe-area-inset-bottom,0px) + 12px);
	border-top:1px solid var(--kb-border-soft);
	display:flex;
	flex-direction:column;
	gap:6px
}
.kb-settings-trigger {
	cursor:pointer
}
.kb-user-chip {
	display:flex;
	align-items:center;
	gap:9px;
	padding:8px 10px;
	border-radius:8px
}
.kb-user-chip .kb-avatar {
	display:flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	border-radius:50%;
	background:var(--kb-primary);
	color:#fff;
	font-size:12px;
	font-weight:800;
	flex-shrink:0;
	overflow:hidden
}
.kb-avatar img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block
}
.kb-avatar-lg {
	width:64px;
	height:64px;
	font-size:22px;
	flex-shrink:0
}
.kb-user-chip-text {
	display:flex;
	flex-direction:column;
	min-width:0;
	line-height:1.3
}
.kb-user-chip-name {
	font-size:13px;
	font-weight:700;
	color:var(--kb-text);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis
}
.kb-user-role {
	font-size:11px;
	color:var(--kb-text-faint);
	font-weight:500
}
.kb-sidebar-logout {
	color:var(--kb-text-muted)
}
.kb-sidebar-logout:hover {
	color:var(--kb-danger);
	background:var(--kb-danger-soft-bg)
}
.kb-sidebar-overlay {
	display:none;
	position:fixed;
	inset:0;
	background:rgba(15,17,23,.32)
}
.kb-sidebar-overlay.assets-show {
	display:block
}
.kb-main {
	flex:1;
	min-width:0;
	display:flex;
	flex-direction:column
}
.kb-topbar {
	position:sticky;
	top:0;
	z-index:40;
	display:flex;
	align-items:center;
	gap:14px;
	height:56px;
	flex:0 0 56px;
	padding:0 20px;
	background:rgba(var(--kb-bg-rgb),.92);
	backdrop-filter:blur(4px);
	border-bottom:1px solid var(--kb-border)
}
.kb-page-title {
	margin:0;
	font-size:15.5px;
	font-weight:700;
	color:var(--kb-text)
}
.kb-sidebar-toggler {
	display:none;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	flex-shrink:0;
	color:var(--kb-text);
	border:1px solid var(--kb-border);
	border-radius:8px;
	background:var(--kb-surface)
}
.kb-sidebar-toggler:hover {
	background:var(--kb-hover-bg)
}
.kb-content {
	flex:1;
	min-width:0;
	padding-top:4px
}
.kb-footer {
	padding:18px 0 28px
}
@media (max-width:900px) {
	.kb-sidebar-toggler {
	display:flex
}
.kb-sidebar {
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	z-index:99;
	height:100vh;
	height:100dvh;
	transform:translateX(-100%);
	box-shadow:0 16px 40px rgba(20,22,30,.16);
	transition:transform .18s ease
}
.kb-sidebar.kb-sidebar-show {
	transform:translateX(0)
}
.assets-container {
	width:min(100% - 32px,1280px)
}
}.assets-card {
	border:1px solid var(--kb-border);
	border-radius:12px;
	background:var(--kb-surface);
	box-shadow:var(--kb-shadow-sm);
	overflow:hidden
}
.assets-card-header {
	padding:14px 18px;
	font-weight:700;
	font-size:14.5px;
	border-bottom:1px solid var(--kb-border-soft);
	background:var(--kb-surface-alt);
	display:flex;
	align-items:center;
	gap:8px
}
.assets-card-body {
	padding:18px
}
.assets-form-label {
	display:inline-block;
	margin-bottom:6px;
	font-weight:600;
	font-size:13px;
	color:var(--kb-text)
}
.assets-form-control,.assets-form-select {
	display:block;
	width:100%;
	min-height:40px;
	padding:8px 12px;
	color:var(--kb-text);
	border:1px solid var(--kb-border);
	border-radius:8px;
	outline:0;
	background:var(--kb-input-bg);
	transition:border-color .15s,box-shadow .15s
}
.assets-form-select {
	padding-right:28px
}
.assets-form-control:focus,.assets-form-select:focus {
	border-color:var(--kb-primary);
	box-shadow:0 0 0 3.5px rgba(52,82,217,.14)
}
.assets-form-control-sm,.assets-form-select-sm {
	min-height:33px;
	padding:5px 9px;
	font-size:12.5px
}
.assets-form-text {
	margin-top:5px;
	color:var(--kb-text-muted);
	font-size:12px
}
.assets-form-check {
	display:flex;
	align-items:center;
	gap:7px
}
.assets-form-check-input {
	width:16px;
	height:16px;
	accent-color:var(--kb-primary)
}
.assets-form-check-label {
	margin:0;
	font-size:13px
}
.assets-form-range {
	width:100%;
	accent-color:var(--kb-primary);
	height:20px;
	cursor:pointer
}
.assets-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	min-height:40px;
	padding:8px 16px;
	color:#fff;
	border:1px solid transparent;
	border-radius:8px;
	background:var(--kb-primary);
	font-weight:600;
	font-size:13.5px;
	line-height:1.2;
	white-space:nowrap;
	transition:background .15s,border-color .15s,transform .1s
}
.assets-btn:hover {
	color:#fff;
	text-decoration:none;
	background:var(--kb-primary-dark)
}
.assets-btn:active {
	transform:translateY(1px)
}
.assets-btn-sm {
	min-height:32px;
	padding:6px 11px;
	font-size:12.5px;
	border-radius:7px
}
.assets-btn-primary {
	background:var(--kb-primary)
}
.assets-btn-primary:hover {
	background:var(--kb-primary-dark)
}
.assets-btn-secondary {
	background:#6b7280
}
.assets-btn-secondary:hover {
	background:#565d68
}
.assets-btn-danger {
	background:var(--kb-danger)
}
.assets-btn-danger:hover {
	background:#b52f42
}
.assets-btn-outline-primary,.assets-btn-outline-secondary,.assets-btn-outline-success,.assets-btn-outline-danger,.assets-btn-outline-warning {
	background:var(--kb-surface)
}
.assets-btn-outline-primary {
	color:var(--kb-primary);
	border-color:var(--kb-primary-soft-bg)
}
.assets-btn-outline-primary:hover {
	background:var(--kb-primary-soft-bg);
	color:var(--kb-primary-dark)
}
.assets-btn-outline-secondary {
	color:var(--kb-text-muted);
	border-color:var(--kb-border)
}
.assets-btn-outline-secondary:hover {
	background:var(--kb-hover-bg);
	color:var(--kb-text)
}
.assets-btn-outline-success {
	color:#0f7a4f;
	border-color:#b7e4cf
}
.assets-btn-outline-success:hover {
	background:#eaf7f1
}
.assets-btn-outline-danger {
	color:var(--kb-danger);
	border-color:var(--kb-danger-border)
}
.assets-btn-outline-danger:hover {
	background:var(--kb-danger-soft-bg)
}
.assets-btn-outline-warning {
	color:#b5730f;
	border-color:#f2d8a8
}
.assets-btn-outline-warning:hover {
	background:#fdf3e6
}
.assets-btn-close {
	position:relative;
	flex:0 0 auto;
	width:32px;
	height:32px;
	padding:0;
	border:0;
	border-radius:8px;
	background:0 0
}
.assets-btn-close::after,.assets-btn-close::before {
	position:absolute;
	top:15px;
	left:7px;
	width:18px;
	height:2px;
	background:var(--kb-text-muted);
	content:"";
	border-radius:2px
}
.assets-btn-close::before {
	transform:rotate(45deg)
}
.assets-btn-close::after {
	transform:rotate(-45deg)
}
.assets-btn-close:hover {
	background:var(--kb-hover-bg)
}
.assets-alert {
	position:relative;
	margin:0;
	padding:12px 16px;
	border:1px solid transparent;
	border-radius:8px;
	font-size:13.5px
}
.assets-alert-success {
	color:#0e6b45;
	border-color:#bfe8d4;
	background:#eaf7f1
}
.assets-alert-info {
	color:#0a5b8a;
	border-color:#bfe0f2;
	background:#eaf5fb
}
.assets-alert-warning {
	color:#8a5c15;
	border-color:#f2debd;
	background:#fdf3e6
}
.assets-alert-danger {
	color:#9c2e42;
	border-color:#f0c4cd;
	background:#fcedef
}
.assets-badge {
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:3px 9px;
	color:#fff;
	border-radius:999px;
	font-size:11.5px;
	font-weight:700;
	white-space:nowrap;
	line-height:1.5
}
.assets-bg-danger {
	background:var(--kb-danger)
}
.assets-bg-secondary {
	background:#8b93a1
}
.assets-bg-warning {
	color:#3f2a00;
	background:#e2a53f
}
.assets-bg-success {
	background:var(--kb-success)
}
.assets-table-responsive {
	width:100%;
	overflow-x:auto
}
.assets-table {
	width:100%;
	border-collapse:collapse;
	background:var(--kb-surface);
	font-size:13.5px
}
.assets-table td,.assets-table th {
	padding:12px 14px;
	text-align:left;
	border-bottom:1px solid var(--kb-border-soft);
	vertical-align:middle
}
.assets-table th {
	font-weight:700;
	white-space:nowrap;
	color:var(--kb-text-muted);
	font-size:12.5px;
	text-transform:none
}
.assets-table-dark {
	color:var(--kb-text-muted);
	background:var(--kb-surface-alt)
}
.assets-table-dark th {
	color:var(--kb-text-muted)
}
.assets-table-hover tbody tr {
	transition:background .12s
}
.assets-table-hover tbody tr:hover {
	background:var(--kb-surface-alt)
}
.assets-table-sm td,.assets-table-sm th {
	padding:8px 10px
}
.assets-table-bordered td,.assets-table-bordered th {
	border:1px solid var(--kb-border-soft)
}
.assets-align-middle {
	vertical-align:middle
}
.assets-pagination {
	display:flex;
	gap:5px;
	margin:0;
	padding:0;
	list-style:none;
	flex-wrap:wrap
}
.assets-page-link {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:34px;
	min-height:34px;
	padding:5px 9px;
	border:1px solid var(--kb-border);
	border-radius:8px;
	background:var(--kb-surface);
	font-size:13px
}
.assets-page-link:hover {
	text-decoration:none;
	background:var(--kb-primary-soft-bg)
}
.assets-page-item.assets-active .assets-page-link {
	color:#fff;
	border-color:var(--kb-primary);
	background:var(--kb-primary)
}
.assets-page-item.assets-disabled .assets-page-link {
	color:#b3b9c2;
	background:var(--kb-surface);
	cursor:default;
	opacity:.65
}
.assets-page-item.assets-disabled .assets-page-link:hover {
	background:var(--kb-surface)
}
.assets-tabs {
	display:flex;
	gap:4px;
	margin-bottom:18px;
	border-bottom:1px solid var(--kb-border);
	overflow-x:auto;
	scrollbar-width:none
}
.assets-tabs::-webkit-scrollbar {
	display:none
}
.assets-tab-btn {
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:10px 16px;
	margin-bottom:-1px;
	color:var(--kb-text-muted);
	background:0 0;
	border:none;
	border-bottom:2px solid transparent;
	font-weight:600;
	font-size:13.5px;
	white-space:nowrap;
	flex:0 0 auto;
	border-radius:0
}
.assets-tab-btn:hover {
	color:var(--kb-text);
	background:var(--kb-hover-bg)
}
.assets-tab-btn.assets-tab-active {
	color:var(--kb-primary);
	border-bottom-color:var(--kb-primary)
}
.assets-modal {
	position:fixed;
	z-index:1000;
	inset:0;
	display:none;
	align-items:flex-start;
	justify-content:center;
	overflow:auto;
	padding:72px 16px 24px;
	background:var(--kb-modal-overlay)
}
.assets-modal.assets-is-open {
	display:flex
}
.assets-modal-dialog {
	width:min(100%,560px);
	max-height:calc(100dvh - 96px);
	margin:0 auto
}
.assets-modal-lg {
	width:min(100%,860px)
}
.assets-modal-content {
	display:flex;
	max-height:calc(100dvh - 96px);
	overflow:hidden;
	flex-direction:column;
	border-radius:14px;
	background:var(--kb-surface);
	box-shadow:var(--kb-shadow-lg)
}
.assets-modal-content>form {
	display:flex;
	min-height:0;
	flex:1;
	flex-direction:column
}
.assets-modal-header,.assets-modal-footer {
	display:flex;
	align-items:center;
	gap:8px;
	padding:15px 18px;
	flex:0 0 auto;
	flex-wrap:wrap
}
.assets-modal-header {
	border-bottom:1px solid var(--kb-border-soft)
}
.assets-modal-title {
	margin:0;
	font-size:16.5px;
	font-weight:700;
	color:var(--kb-text)
}
.assets-modal-header .assets-btn-close {
	margin-left:auto
}
.assets-modal-body {
	min-height:0;
	padding:18px;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch
}
.assets-modal-footer {
	justify-content:flex-end;
	border-top:1px solid var(--kb-border-soft)
}
.assets-confirm-overlay {
	position:fixed;
	z-index:2000;
	inset:0;
	display:none;
	align-items:center;
	justify-content:center;
	padding:16px;
	background:var(--kb-modal-overlay)
}
.assets-confirm-overlay.assets-is-open {
	display:flex
}
.assets-confirm-box {
	width:min(100%,400px);
	border-radius:14px;
	background:var(--kb-surface);
	box-shadow:var(--kb-shadow-lg);
	overflow:hidden;
	animation:assetsConfirmPop .16s ease-out
}
@keyframes assetsConfirmPop {
	from{opacity:0;transform:scale(.96)}
	to{opacity:1;transform:scale(1)}
}
.assets-confirm-icon {
	display:flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	margin:22px auto 0;
	border-radius:50%;
	background:rgba(220,53,69,.12);
	color:#dc3545;
	font-size:20px
}
.assets-confirm-message {
	padding:14px 24px 22px;
	color:var(--kb-text);
	font-size:14.5px;
	line-height:1.6;
	text-align:center;
	word-break:break-word;
	white-space:pre-wrap
}
.assets-confirm-actions {
	display:flex;
	gap:10px;
	padding:14px 18px;
	border-top:1px solid var(--kb-border-soft)
}
.assets-confirm-actions .assets-btn {
	flex:1;
	justify-content:center
}
@media (max-width:576px) {
	.assets-modal {
	padding:14px 10px calc(env(safe-area-inset-bottom,0px) + 14px);
	align-items:center
}
.assets-modal-dialog,.assets-modal-lg {
	width:100%;
	max-width:440px;
	max-height:88dvh
}
.assets-modal-content {
	max-height:88dvh;
	border-radius:16px
}
.assets-modal-header,.assets-modal-footer {
	padding:12px 14px
}
.assets-modal-body {
	padding:14px
}
}.assets-row {
	display:flex;
	flex-wrap:wrap;
	margin:-8px
}
.assets-row>[class*=assets-col-] {
	width:100%;
	padding:8px;
	min-width:0
}
.assets-col-md-2 {
	width:16.666667%!important
}
.assets-col-md-3 {
	width:25%!important
}
.assets-col-md-4 {
	width:33.333333%!important
}
.assets-col-md-5 {
	width:41.666667%!important
}
.assets-col-md-6 {
	width:50%!important
}
.assets-col-md-7 {
	width:58.333333%!important
}
.assets-col-md-8 {
	width:66.666667%!important
}
.assets-col-md-12,.assets-col-12 {
	width:100%!important
}
.assets-g-2 {
	margin:-4px
}
.assets-g-2>[class*=assets-col-] {
	padding:4px
}
@media (max-width:860px) {
	.assets-col-md-2,.assets-col-md-3,.assets-col-md-4,.assets-col-md-5,.assets-col-md-6,.assets-col-md-7,.assets-col-md-8 {
	width:100%!important
}
}.assets-d-flex {
	display:flex
}
.assets-d-inline {
	display:inline
}
.assets-justify-content-between {
	justify-content:space-between
}
.assets-justify-content-center {
	justify-content:center
}
.assets-align-items-center {
	align-items:center
}
.assets-align-items-start {
	align-items:flex-start
}
.assets-flex-wrap {
	flex-wrap:wrap
}
.assets-me-auto {
	margin-right:auto
}
.assets-ms-auto {
	margin-left:auto
}
.assets-ms-1 {
	margin-left:4px
}
.assets-mt-1 {
	margin-top:4px
}
.assets-mt-2 {
	margin-top:8px
}
.assets-mt-3 {
	margin-top:16px
}
.assets-mt-4 {
	margin-top:24px
}
.assets-mb-0 {
	margin-bottom:0
}
.assets-mb-2 {
	margin-bottom:8px
}
.assets-mb-3 {
	margin-bottom:16px
}
.assets-mb-4 {
	margin-bottom:24px
}
.assets-mb-5 {
	margin-bottom:48px
}
.assets-py-2 {
	padding-top:8px;
	padding-bottom:8px
}
.assets-py-3 {
	padding-top:16px;
	padding-bottom:16px
}
.assets-py-4 {
	padding-top:24px;
	padding-bottom:24px
}
.assets-gap-1 {
	gap:4px
}
.assets-gap-2 {
	gap:8px
}
.assets-w-100 {
	width:100%
}
.assets-text-center {
	text-align:center
}
.assets-text-muted {
	color:var(--kb-text-muted)
}
.assets-text-primary {
	color:var(--kb-primary)
}
.assets-text-success {
	color:var(--kb-success)
}
.assets-text-danger {
	color:var(--kb-danger)
}
.assets-text-nowrap {
	white-space:nowrap
}
.assets-fw-bold {
	font-weight:700
}
.assets-small {
	font-size:12px
}
.auth-page {
	min-height:100vh;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--kb-bg);
	padding:32px 16px
}
.auth-card {
	width:100%;
	max-width:392px;
	background:var(--kb-surface);
	border:1px solid var(--kb-border);
	border-radius:12px;
	box-shadow:var(--kb-shadow-sm);
	padding:36px 32px
}
.auth-card-brand {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	margin-bottom:28px
}
.auth-card-brand .kb-brand-mark {
	width:36px;
	height:36px;
	border-radius:9px;
	background:var(--kb-primary);
	color:#fff
}
.auth-card-brand span {
	font-size:17.5px;
	font-weight:800;
	color:var(--kb-text);
	letter-spacing:-.01em
}
.auth-divider {
	display:flex;
	align-items:center;
	gap:12px;
	margin:22px 0;
	color:var(--kb-text-faint);
	font-size:12px
}
.auth-divider::before,.auth-divider::after {
	content:"";
	flex:1;
	height:1px;
	background:var(--kb-border-soft)
}
.auth-social-list {
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:10px
}
.auth-social-btn {
	display:flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	padding:0;
	border:1px solid var(--kb-border);
	border-radius:8px;
	background:var(--kb-surface);
	color:var(--kb-text);
	transition:background .15s,border-color .15s
}
.auth-social-btn:hover {
	background:var(--kb-hover-bg);
	border-color:var(--kb-border);
	color:var(--kb-text);
	text-decoration:none
}
.kb-chunk-card {
	border:1px solid var(--kb-border);
	border-radius:8px;
	background:var(--kb-surface);
	padding:14px 16px;
	margin-bottom:12px
}
.kb-chunk-meta {
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:8px;
	color:var(--kb-text-muted);
	font-size:12px
}
.kb-chunk-content {
	font-size:13.5px;
	line-height:1.8;
	color:var(--kb-text);
	white-space:pre-wrap;
	word-break:break-word
}
.kb-chunk-content mark {
	background:#fbe6b8;
	color:#78350f;
	border-radius:3px;
	padding:0 2px
}
.kb-chunk-content-rendered {
	white-space:normal
}
.kb-actions-bar {
	flex-wrap:wrap
}
@media (max-width:900px) {
	.kb-actions-bar {
		flex-wrap:nowrap;
		overflow-x:auto;
		overflow-y:hidden;
		-webkit-overflow-scrolling:touch;
		padding-bottom:6px;
		margin-bottom:-6px
	}
	.kb-actions-bar > * {
		flex:0 0 auto;
		white-space:nowrap
	}
}
.kb-empty-hint {
	padding:44px 12px;
	text-align:center;
	color:var(--kb-text-faint)
}
.kb-empty-hint .kb-icon {
	margin-bottom:8px
}
.kb-key-box {
	display:flex;
	align-items:center;
	gap:8px;
	padding:11px 13px;
	border:1px dashed var(--kb-primary-soft-bg);
	border-radius:8px;
	background:var(--kb-primary-soft-bg);
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	font-size:13px;
	word-break:break-all;
	color:var(--kb-primary-dark)
}
.kb-chat-bubble {
	border:1px solid var(--kb-border)
}
.kb-chat-bubble-user {
	background:var(--kb-primary-soft-bg)
}
.kb-chat-bubble-assistant {
	background:var(--kb-border-soft)
}
.kb-settings-layout {
	display:flex;
	min-height:420px
}
.kb-settings-tabs {
	display:flex;
	flex-direction:column;
	gap:2px;
	padding:14px 8px;
	border-right:1px solid var(--kb-border-soft);
	background:var(--kb-surface-alt)
}
.kb-settings-tab-btn {
	display:flex;
	align-items:center;
	gap:8px;
	padding:9px 12px;
	border-radius:8px;
	color:var(--kb-text-muted);
	font-size:13.5px;
	font-weight:600;
	border:none;
	background:none;
	text-align:left
}
.kb-settings-tab-btn:hover {
	background:var(--kb-hover-bg);
	color:var(--kb-text)
}
.kb-settings-tab-active,.kb-settings-tab-active:hover {
	background:var(--kb-primary-soft-bg);
	color:var(--kb-primary-dark)
}
.kb-settings-panels {
	flex:1;
	min-width:0;
	padding:20px;
	overflow-y:auto
}
.kb-settings-panel {
	display:none
}
.kb-settings-panel-active {
	display:block
}
.kb-settings-section {
	padding-bottom:22px;
	margin-bottom:22px;
	border-bottom:1px solid var(--kb-border-soft)
}
.kb-settings-section-title {
	font-size:13.5px;
	font-weight:700;
	color:var(--kb-text);
	margin-bottom:12px
}
.kb-settings-avatar-row {
	display:flex;
	align-items:center;
	gap:16px;
	flex-wrap:wrap
}
.kb-settings-danger-zone {
	background:var(--kb-danger-soft-bg);
	border:1px solid var(--kb-danger-border);
	border-radius:10px;
	padding:16px;
	margin-top:4px
}
@media (max-width:576px) {
	.kb-settings-layout {
	flex-direction:column;
	min-height:0
}
.kb-settings-tabs {
	flex-direction:row;
	border-right:none;
	border-bottom:1px solid var(--kb-border-soft);
	overflow-x:auto;
	padding:8px 6px;
	gap:4px
}
.kb-settings-tab-btn {
	padding:7px 10px;
	font-size:12.5px;
	flex:0 0 auto
}
.kb-settings-panels {
	padding:14px
}
.kb-settings-section {
	padding-bottom:16px;
	margin-bottom:16px
}
.kb-avatar-lg {
	width:52px;
	height:52px;
	font-size:18px
}
.kb-theme-option {
	min-width:72px;
	padding:10px 8px
}
}.kb-theme-options {
	display:flex;
	gap:10px;
	flex-wrap:wrap
}
.kb-theme-option {
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
	min-width:84px;
	padding:14px 12px;
	border:1.5px solid var(--kb-border);
	border-radius:10px;
	background:var(--kb-surface);
	color:var(--kb-text-muted);
	font-size:12.5px;
	font-weight:600
}
.kb-theme-option:hover {
	background:var(--kb-hover-bg)
}
.kb-theme-option-active {
	border-color:var(--kb-primary);
	color:var(--kb-primary-dark);
	background:var(--kb-primary-soft-bg)
}
.kb-progress {
	width:100%;
	min-width:110px;
	height:7px;
	border-radius:999px;
	background:var(--kb-border-soft);
	overflow:hidden
}
.kb-progress-bar {
	height:100%;
	border-radius:999px;
	background:var(--kb-primary);
	transition:width .4s ease
}
.kb-progress-label {
	font-size:11px;
	color:var(--kb-text-muted);
	margin-top:3px;
	white-space:nowrap
}
.kb-dept-chip {
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:2px 9px;
	border-radius:999px;
	background:var(--kb-primary-soft-bg);
	color:var(--kb-primary-dark);
	font-size:11.5px;
	font-weight:600;
	white-space:nowrap
}
.kb-dept-checklist {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	padding:10px;
	border:1px solid var(--kb-border);
	border-radius:8px;
	max-height:180px;
	overflow-y:auto
}
.kb-dept-check-item {
	display:flex;
	align-items:center;
	gap:6px;
	font-size:13px;
	padding:4px 8px;
	border-radius:6px;
	background:var(--kb-surface-alt)
}
.assets-select {
	position:relative
}
.assets-select-native {
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0
}
.assets-select-trigger {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	width:100%;
	min-height:40px;
	padding:8px 12px;
	color:var(--kb-text);
	border:1px solid var(--kb-border);
	border-radius:8px;
	background:var(--kb-input-bg);
	cursor:pointer;
	text-align:left;
	font-size:inherit
}
.assets-select-sm .assets-select-trigger {
	min-height:33px;
	padding:5px 9px;
	font-size:12.5px
}
.assets-select-trigger-text {
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	flex:1;
	min-width:0
}
.assets-select-chevron {
	display:flex;
	align-items:center;
	flex:0 0 auto;
	color:var(--kb-text-faint);
	font-size:12px;
	transition:transform .15s
}
.assets-select-open .assets-select-chevron {
	transform:rotate(180deg)
}
.assets-select-focus .assets-select-trigger {
	border-color:var(--kb-primary);
	box-shadow:0 0 0 3.5px rgba(52,82,217,.14)
}
.assets-select-disabled .assets-select-trigger {
	opacity:.6;
	cursor:not-allowed
}
.assets-select-menu {
	position:fixed;
	z-index:1055;
	display:none;
	max-height:260px;
	overflow-y:auto;
	padding:6px;
	border:1px solid var(--kb-border);
	border-radius:10px;
	background:var(--kb-surface);
	box-shadow:var(--kb-shadow-lg)
}
.assets-select-menu-open {
	display:block
}
.assets-select-option {
	padding:8px 10px;
	border-radius:6px;
	font-size:13.5px;
	color:var(--kb-text);
	cursor:pointer;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis
}
.assets-select-option:hover {
	background:var(--kb-hover-bg)
}
.assets-select-option-active {
	background:var(--kb-primary-soft-bg);
	color:var(--kb-primary-dark);
	font-weight:600
}
.assets-select-option-disabled {
	color:var(--kb-text-faint);
	cursor:not-allowed
}
.assets-select-option-disabled:hover {
	background:none
}
.wp-network-offline-notice {
	position:fixed;
	top:20px;
	left:50%;
	transform:translate(-50%,-100%);
	max-width:200px;
	width:100%;
	background:rgb(0 0 0 / 80%);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	border-radius:30px;
	color:#ffffff;
	text-align:center;
	font-size:15px;
	padding:15px;
	z-index:9999;
	transition:transform 0.4s ease-in-out;
	box-sizing:border-box;
	pointer-events:none
}
.wp-network-offline-notice.show {
	transform:translate(-50%,0)
}
@media (max-width:480px) {
	.wp-network-offline-notice {
	top:15px;
	font-size:14px;
	border-radius:20px
}
}.kb-settings-modal-body {
	display:flex;
	flex-direction:column;
	height:100%;
	overflow:hidden;
	padding:0 !important
}
.kb-settings-modal-body .kb-settings-layout {
	flex:1;
	min-height:0;
	display:flex
}
.kb-settings-modal-body .kb-settings-tabs {
	flex-shrink:0;
	overflow-y:auto;
	border-right:1px solid var(--kb-border-soft)
}
.kb-settings-modal-body .kb-settings-panels {
	flex:1;
	overflow-y:auto;
	padding:20px
}
@media (max-width:576px) {
	.kb-settings-modal-body .kb-settings-layout {
	flex-direction:column
}
.kb-settings-modal-body .kb-settings-tabs {
	flex-shrink:0;
	overflow-x:auto;
	overflow-y:visible;
	border-right:none;
	border-bottom:1px solid var(--kb-border-soft);
	padding:8px 6px;
	flex-direction:row
}
.kb-settings-modal-body .kb-settings-panels {
	padding:14px;
	overflow-y:auto
}
}#aiToolbar {
	display:flex;
	align-items:center;
	gap:8px
}
#aiToolbar .assets-btn {
	flex:0 0 auto;
	white-space:nowrap
}
@media (max-width:640px) {
	#aiToolbar {
	width:100%;
	margin-left:0 !important
}
#aiToolbar .assets-btn {
	flex:1 1 0;
	min-width:0;
	justify-content:center;
	padding-left:4px;
	padding-right:4px;
	font-size:12.5px
}
}#aiQuickCommands {
	display:flex;
	flex-wrap:nowrap;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	gap:8px;
	scrollbar-width:none
}
#aiQuickCommands::-webkit-scrollbar {
	display:none
}
#aiQuickCommands .assets-btn {
	flex:0 0 auto;
	white-space:nowrap
}
#aiInputBar {
	display:flex;
	align-items:center;
	gap:8px
}
#aiChatSendBtn {
	display:inline-flex;
	align-items:center;
	gap:6px
}
#aiChatSendBtn svg {
	flex:0 0 auto
}
@media (max-width:900px) {
	body {
	padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))
}
#aiInputBar {
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:60;
	padding:8px 12px calc(env(safe-area-inset-bottom,0px) + 8px);
	background:rgba(var(--kb-bg-rgb),.86);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	border-top:1px solid var(--kb-border)
}
#aiChatInputWrap {
	background:var(--kb-surface);
	border:1px solid var(--kb-border);
	border-radius:22px;
	padding:2px 6px 2px 16px;
	display:flex;
	align-items:center;
	box-shadow:0 2px 8px rgba(20,22,30,.06)
}
#aiChatInputWrap #aiChatInput {
	border:none;
	min-height:38px;
	padding:6px 4px;
	background:transparent
}
#aiChatInputWrap #aiChatInput:focus {
	box-shadow:none
}
#aiChatSendBtn {
	width:40px;
	height:40px;
	padding:0;
	border-radius:50%;
	flex:0 0 auto;
	justify-content:center
}
#aiMicBtn {
	width:40px;
	height:40px;
	padding:0;
	border-radius:50%;
	flex:0 0 auto;
	justify-content:center
}
#aiSendBtnText {
	display:none
}
#aiKbAutocomplete {
	margin-bottom:10px
}
}#aiMicBtn {
	display:inline-flex;
	align-items:center;
	justify-content:center
}
#aiMicBtn.kb-mic-recording {
	background:var(--kb-danger);
	border-color:var(--kb-danger);
	color:#fff;
	animation:kb-mic-pulse 1.2s ease-in-out infinite
}
@keyframes kb-mic-pulse {
	0%,100% {
	box-shadow:0 0 0 0 rgba(220,38,38,.35)
}
50% {
	box-shadow:0 0 0 8px rgba(220,38,38,0)
}
}.kb-thinking {
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:var(--kb-text-muted)
}
.kb-thinking-dots {
	display:inline-flex;
	align-items:center;
	gap:3px
}
.kb-thinking-dots span {
	width:6px;
	height:6px;
	border-radius:50%;
	background:var(--kb-primary);
	opacity:.35;
	animation:kb-thinking-bounce 1.1s ease-in-out infinite
}
.kb-thinking-dots span:nth-child(2) {
	animation-delay:.15s
}
.kb-thinking-dots span:nth-child(3) {
	animation-delay:.3s
}
@keyframes kb-thinking-bounce {
	0%,60%,100% {
	transform:translateY(0);
	opacity:.35
}
30% {
	transform:translateY(-4px);
	opacity:1
}
}.kb-thinking-text {
	animation:kb-thinking-fade .4s ease
}
@keyframes kb-thinking-fade {
	from {
	opacity:0;
	transform:translateY(2px)
}
to {
	opacity:1;
	transform:translateY(0)
}
}