:root {
    color-scheme: light;
    --primary: #1a3275; --secondary: #e52329; --highlight: #00a3e0;
    --surface: #fff; --canvas: #f0f4f8; --text: #1e293b; --muted: #627087;
    --border: #dfe5ee; --soft: #eaf0fb; --link: #1a3275;
    --success: #17724e; --success-bg: #eaf7f0; --error: #b91c28;
    --shadow: 0 8px 30px rgb(26 50 117 / 4%); --radius: 16px;
}
:root[data-theme="dark"] {
    color-scheme: dark;
    --surface: #172236; --canvas: #0e1727; --text: #e7edf7; --muted: #a7b6cb;
    --border: #2d3c54; --soft: #233657; --link: #8cd7fa;
    --success: #8be1b4; --success-bg: #173c33; --error: #ff9aa4;
    --shadow: 0 8px 30px rgb(0 0 0 / 10%);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Lexend', 'Segoe UI', system-ui, sans-serif; background: var(--canvas); color: var(--text); font-size: 14px; line-height: 1.6; }
button, input { font: inherit; }
a { text-decoration: none; }
button, a, input { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--highlight); outline-offset: 4px; }
[hidden], [x-cloak] { display: none !important; }
h1, h2, h3, p { margin: 0; }
.k-muted { color: var(--muted); }
.k-eyebrow { display: block; font-size: 10px; letter-spacing: .15em; font-weight: 750; }
.k-link { color: var(--link); font-weight: 600; }
.k-link:hover { text-decoration: underline; }
.k-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 10px 18px; border: 1px solid transparent; border-radius: 9px; font-weight: 650; cursor: pointer; transition: background .15s, box-shadow .15s; }
.k-button--primary { background: var(--secondary); color: #fff; }
.k-button--primary:hover { background: #c91b21; }
.k-button--ghost { background: transparent; color: var(--muted); }
.k-button--ghost:hover { background: var(--soft); color: var(--link); }
.k-button--secondary { background: var(--surface); border-color: var(--border); color: var(--text); }
.k-button--light { background: #fff; color: var(--primary); }
.k-button--full { width: 100%; justify-content: space-between; }
.k-button:disabled, .k-input:disabled { opacity: .55; cursor: not-allowed; }
.k-text-button { color: var(--link); background: none; border: 0; padding: 8px 0; font-size: 12px; cursor: pointer; }
.k-form { display: grid; gap: 22px; margin-top: 30px; }
.k-field { display: grid; gap: 8px; }
.k-field label { font-size: 13px; font-weight: 650; }
.k-field-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-width: 0; }
.k-field-heading > small { max-width: 65%; margin-left: auto; font-size: 11px; line-height: 1.4; text-align: right; }
.k-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; margin: 18px 0; }
.k-input, .k-input[type] { width: 100%; min-height: 46px; padding: 11px 14px; border: 1px solid var(--border); background: var(--surface); color: var(--text); border-radius: 9px; box-shadow: none; }
.k-input::placeholder { color: var(--muted); opacity: .8; }
.k-input:focus { border-color: var(--highlight); outline: 2px solid var(--highlight); outline-offset: 1px; }
.k-input[aria-invalid] { border-color: var(--error); }
.k-picker-control { display: flex; align-items: stretch; gap: 8px; width: 100%; }
.k-picker-control input { min-width: 0; flex: 1 1 auto; }
.k-picker-control > .k-button { flex: 0 0 auto; min-width: 76px; min-height: 46px; align-self: stretch; }
.k-picker-options { margin-top: 13px; border-top: 1px solid var(--border); }
.k-picker-option { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; border: 0; border-bottom: 1px solid var(--border); padding: 12px 4px; background: transparent; text-align: left; color: var(--text); cursor: pointer; }
.k-picker-option:hover { color: var(--link); background: var(--soft); }
.k-picker-option-copy { display: grid; gap: 2px; min-width: 0; }
.k-picker-option-copy small { color: var(--muted); font-size: 11px; }
.k-picker-option > svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.k-picker-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.k-currency-control { position: relative; }
.k-currency-control > span { position: absolute; inset: 11px auto auto 12px; color: var(--muted); font-size: 12px; }
.k-currency-control input[data-currency-display] { padding-left: 39px; }
.k-error { color: var(--error); font-size: 12px; }
.k-form-options { display: flex; gap: 12px; justify-content: space-between; flex-wrap: wrap; align-items: center; font-size: 12px; }
.k-checkbox { display: flex; align-items: center; gap: 9px; color: var(--muted); cursor: pointer; }
.k-checkbox input { border-radius: 4px; accent-color: var(--primary); }
.k-alert { padding: 12px 16px; border-radius: 8px; margin-top: 16px; background: var(--success-bg); color: var(--success); }
.k-alert--error { color: var(--error); background: var(--soft); }
.k-flash-message { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; padding: 13px 14px; border: 1px solid color-mix(in srgb, var(--success) 22%, var(--border)); border-left: 4px solid var(--success); border-radius: var(--radius); background: var(--success-bg); box-shadow: 0 5px 16px rgb(30 41 59 / 5%); color: var(--text); animation: k-flash-enter .2s ease-out both; }
.k-flash-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--success) 12%, var(--surface)); color: var(--success); }
.k-flash-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.k-flash-copy { min-width: 0; flex: 1; }
.k-flash-title { display: block; margin-bottom: 2px; color: var(--success); font-size: 12px; font-weight: 700; }
.k-flash-copy p { margin: 0; color: var(--text); font-size: 13px; line-height: 1.5; }
.k-flash-dismiss { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border: 0; border-radius: 5px; background: transparent; color: var(--muted); cursor: pointer; }
.k-flash-dismiss:hover { background: color-mix(in srgb, var(--success) 10%, transparent); color: var(--success); }
.k-flash-dismiss svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.k-flash-message.is-dismissed { animation: k-flash-leave .16s ease-in both; }
@keyframes k-flash-enter { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes k-flash-leave { to { opacity: 0; transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .k-flash-message, .k-flash-message.is-dismissed { animation: none; } }
.k-brand { position: relative; display: block; width: 226px; flex: 0 0 auto; line-height: 0; }
.k-brand-logo { display: block; width: 100%; height: auto; }
.k-brand-logo-base { filter: brightness(0) invert(1); }
.k-brand-logo-accent { position: absolute; inset: 0; }
.k-brand-logo-mark { clip-path: inset(0 82% 0 0); }
.k-brand-logo-hub { clip-path: inset(0 0 0 76%); }
.k-card { background: var(--surface); border: 1px solid var(--border); padding: 26px; border-radius: var(--radius); box-shadow: var(--shadow); min-width: 0; }
.k-card-title { font-size: 17px; font-weight: 700; margin-bottom: 5px; }
.k-badge { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 6px; background: var(--soft); color: var(--link); font-size: 10px; letter-spacing: .035em; font-weight: 700; white-space: nowrap; }
.k-sidebar { width: 248px; position: fixed; inset: 0 auto 0 0; background: var(--surface); border-right: 1px solid var(--border); display: flex; flex-direction: column; padding: 32px 20px 24px; z-index: 40; }
.k-sidebar-brand { display: flex; align-items: center; justify-content: space-between; padding-left: 8px; }
.k-workspace-label { display: flex; align-items: center; gap: 11px; padding: 17px 12px; margin: 34px 0 28px; border: 1px solid var(--border); border-radius: 10px; font-size: 13px; font-weight: 650; }
.k-workspace-label small, .k-sidebar-bottom small { display: block; font-size: 11px; color: var(--muted); font-weight: 400; }
.k-workspace-icon { display: grid; place-items: center; width: 33px; height: 33px; background: var(--soft); color: var(--link); border-radius: 8px; }
.k-nav-caption { font-size: 9px; letter-spacing: .16em; color: var(--muted); font-weight: 700; padding-left: 14px; margin-bottom: 12px; }
.k-sidebar-nav { display: flex; flex: 1; flex-direction: column; min-height: 0; overflow-y: auto; }
.k-nav-section-caption { margin-top: 20px; }
.k-nav-lower { display: flex; flex-direction: column; margin-top: auto; }
.k-nav-management { padding-top: 20px; }
.k-nav-link { display: flex; align-items: center; gap: 13px; padding: 12px 14px; border-radius: 9px; color: var(--muted); margin-bottom: 5px; font-weight: 550; }
.k-nav-link span { font-size: 21px; line-height: 1; }
.k-nav-link .k-nav-icon { display: grid; width: 19px; height: 19px; flex: 0 0 19px; place-items: center; color: currentColor; }
.k-nav-link .k-nav-icon svg { display: block; width: 19px; height: 19px; }
.k-nav-link:hover, .k-nav-link.is-active { background: var(--soft); color: var(--link); }
.k-nav-link.is-active { box-shadow: inset 3px 0 var(--highlight); }
.k-nav-tree { margin: 0; }
.k-nav-tree > summary { list-style: none; cursor: pointer; }
.k-nav-tree > summary::-webkit-details-marker { display: none; }
.k-nav-tree > summary .k-nav-chevron { width: 14px; height: 14px; margin-left: auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s; }
.k-nav-tree[open] > summary .k-nav-chevron { transform: rotate(180deg); }
.k-nav-tree-children { margin-left: 11px; padding-left: 9px; border-left: 1px solid var(--border); }
.k-nav-tree--child > summary { padding-top: 9px; padding-bottom: 9px; }
.k-nav-link--nested { padding-top: 9px; padding-bottom: 9px; margin-bottom: 3px; }
.k-sidebar-bottom { margin-top: auto; border-top: 1px solid var(--border); padding: 22px 8px 0; font-size: 12px; }
.k-status-dot { display: inline-block; background: var(--highlight); border-radius: 50%; width: 6px; height: 6px; margin-right: 6px; }
.k-workspace { margin-left: 248px; min-height: 100vh; display: flex; flex-direction: column; }
.k-navbar { background: var(--surface); border-bottom: 1px solid var(--border); min-height: 80px; padding: 16px 36px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.k-navbar-leading, .k-navbar-actions { display: flex; align-items: center; gap: 12px; }
.k-navbar-leading strong { color: var(--text); font-weight: 600; margin-left: 8px; }
.k-avatar { display: inline-grid; place-items: center; border: 1px solid var(--border); width: 36px; height: 36px; border-radius: 50%; background: var(--soft); color: var(--link); font-weight: 700; flex-shrink: 0; }
.k-avatar--large { width: 58px; height: 58px; font-size: 24px; }
.k-tabs { padding: 12px 36px 0; display: flex; align-items: end; gap: 6px; border-bottom: 1px solid var(--border); overflow-x: auto; min-height: 54px; }
.k-tab { display: inline-flex; align-items: center; gap: 8px; padding: 0 10px 0 16px; border: 1px solid transparent; border-radius: 9px 9px 0 0; white-space: nowrap; color: var(--muted); }
.k-tab a { padding: 10px 0; font-size: 12px; }
.k-tab.is-active { background: var(--surface); border-color: var(--border); border-bottom-color: var(--surface); color: var(--link); }
.k-tab-close { border: 0; border-radius: 4px; background: transparent; color: inherit; cursor: pointer; width: 30px; height: 30px; font-size: 18px; }
.k-tab-close:hover { background: var(--soft); }
.k-main { padding: 32px 36px; width: 100%; max-width: 1600px; margin: 0 auto; flex: 1; }
.k-page-heading { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 24px; }
.k-page-heading .k-eyebrow { color: var(--muted); }
.k-page-heading h1 { font-size: 29px; font-weight: 700; letter-spacing: -.7px; margin: 4px 0 2px; }
.k-welcome { display: flex; justify-content: space-between; align-items: center; gap: 28px; position: relative; overflow: hidden; padding: 34px 38px; border-radius: var(--radius); background: linear-gradient(115deg, #1a3275, #234b8e); color: #fff; }
.k-welcome h2 { font-size: 30px; font-weight: 650; margin: 8px 0; overflow-wrap: anywhere; }
.k-welcome .k-eyebrow { color: #badcfb; }
.k-welcome p { max-width: 560px; color: #d5e1f5; margin-bottom: 23px; }
.k-welcome-symbol { font-size: 130px; font-weight: 750; line-height: 1; opacity: .8; transform: rotate(-12deg); padding: 0 24px; }
.k-welcome-symbol span { color: #6ed6ff; }
.k-stats-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
.k-stat .k-eyebrow { color: var(--muted); }
.k-stat strong { display: block; font-size: 25px; letter-spacing: -.5px; margin: 12px 0 5px; color: var(--link); }
.k-stat p { font-size: 12px; }
.k-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 24px; }
.k-steps { margin: 20px 0 0; padding: 0; list-style: none; }
.k-steps li { display: flex; gap: 16px; padding: 17px 0; border-top: 1px solid var(--border); }
.k-steps li > span { font-size: 12px; color: var(--link); background: var(--soft); border-radius: 8px; width: 34px; height: 34px; display: grid; place-items: center; flex-shrink: 0; }
.k-steps h3 { font-size: 13px; font-weight: 650; }
.k-steps p { font-size: 12px; margin-top: 4px; }
.k-account-summary { padding: 27px 0; overflow-wrap: anywhere; }
.k-account-summary h3 { font-size: 17px; font-weight: 650; margin-top: 12px; }
.k-account-summary .k-badge { margin-top: 18px; }
.k-app-footer { display: flex; gap: 12px; justify-content: space-between; padding: 8px 36px 24px; font-size: 10px; color: var(--muted); }
.k-profile-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: stretch; gap: 16px 20px; max-width: none; }
.k-profile-grid > .k-card:first-child { grid-row: span 2; }
.k-profile-grid .k-form { max-width: 580px; }
.k-skip-link { position: fixed; top: -100px; left: 12px; z-index: 100; background: var(--surface); padding: 12px; color: var(--link); }
.k-skip-link:focus { top: 12px; }
.k-menu-toggle, .k-mobile-close, .k-sidebar-backdrop { display: none; }
.k-dialog { background: var(--surface); color: var(--text); border: 1px solid var(--border); padding: 28px; border-radius: var(--radius); max-width: 520px; width: calc(100% - 32px); }
.k-dialog::backdrop { background: rgb(0 0 0 / 55%); }
@media (max-width: 1100px) { .k-sidebar { width: 232px; } .k-workspace { margin-left: 232px; } .k-main { padding: 26px; } .k-navbar { padding: 16px 26px; } .k-welcome-symbol { display: none; } }
@media (max-width: 800px) {
    .k-workspace, .k-main { min-width: 0; }
    .k-sidebar { transform: translateX(-100%); width: 260px; transition: transform .2s; visibility: hidden; }
    .k-sidebar-open .k-sidebar { transform: none; visibility: visible; }
    .k-sidebar-open { overflow: hidden; }
    .k-sidebar-open .k-sidebar-backdrop { display: block; position: fixed; inset: 0; background: rgb(0 0 0 / 50%); border: 0; z-index: 35; }
    .k-workspace { margin-left: 0; } .k-menu-toggle, .k-mobile-close { display: inline-flex; }
    .k-navbar { min-height: 68px; padding: 12px 16px; } .k-navbar-leading > span { display: none; }
    .k-tabs { padding-left: 18px; } .k-main { padding: 24px 18px; }
    .k-welcome { padding: 28px; } .k-welcome h2 { font-size: 26px; }
    .k-dashboard-grid { grid-template-columns: 1fr; } .k-app-footer { padding: 10px 18px 20px; }
}
@media (max-width: 540px) { .k-stats-grid { grid-template-columns: 1fr; gap: 12px; } .k-stat { padding: 20px; } .k-page-heading h1 { font-size: 26px; } .k-app-footer span:last-child { display: none; } .k-navbar-actions { gap: 4px; } .k-card { padding: 22px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }

/* Komponen unggah universal untuk gambar dan dokumen. */
.k-file-upload { display: grid; gap: 12px; margin-top: 16px; }
.k-file-drop { display: flex; align-items: center; gap: 13px; min-height: 82px; padding: 15px; border: 1px dashed var(--border); border-radius: 8px; background: var(--canvas); cursor: pointer; transition: border-color .15s, background .15s; }
.k-file-drop:hover, .k-file-drop:focus-within, .k-file-drop.is-dragging { border-color: var(--highlight); background: var(--soft); }
.k-file-drop input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.k-file-upload-symbol { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 8px; background: var(--soft); color: var(--link); }
.k-file-drop-copy { display: grid; gap: 2px; }
.k-file-drop-copy strong { color: var(--text); }
.k-file-drop-copy small { color: var(--muted); font-size: 12px; }
.k-file-upload-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.k-file-paste { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; padding: 0 11px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--link); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
.k-file-paste:hover, .k-file-paste:focus-visible { border-color: var(--highlight); background: var(--soft); color: var(--primary); }
.k-file-paste-status { color: var(--muted); font-size: 12px; }
.k-file-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.k-file-item { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 8px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); }
.k-file-thumbnail, .k-file-type-icon { display: grid; place-items: center; flex: none; width: 42px; height: 42px; overflow: hidden; border-radius: 6px; }
.k-file-thumbnail { padding: 0; border: 0; background: var(--canvas); cursor: zoom-in; }
.k-file-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.k-file-type-icon { background: var(--soft); color: var(--link); font-size: 10px; font-weight: 750; letter-spacing: .02em; }
.k-file-type-icon[data-file-type="pdf"] { background: #ffeded; color: #b4232c; }
.k-file-type-icon[data-file-type="xls"], .k-file-type-icon[data-file-type="csv"] { background: #e8f7ee; color: #17724e; }
.k-file-type-icon[data-file-type="doc"] { background: #eaf1ff; color: #2452a3; }
.k-file-details { display: grid; gap: 2px; min-width: 0; flex: 1; }
.k-file-details strong { overflow: hidden; color: var(--text); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.k-file-details small { color: var(--muted); font-size: 11px; }
.k-file-remove, .k-file-preview-close { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border: 0; border-radius: 5px; background: transparent; color: var(--muted); font-size: 20px; cursor: pointer; }
.k-file-remove:hover, .k-file-preview-close:hover { background: var(--soft); color: var(--error); }
.k-file-preview-dialog { position: relative; width: min(900px, calc(100% - 32px)); max-width: min(900px, calc(100% - 32px)); max-height: calc(100% - 32px); padding: 48px 18px 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); color: var(--text); text-align: center; }
.k-camera-dialog { width: min(680px, calc(100% - 28px)); max-width: min(680px, calc(100% - 28px)); padding: 18px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--text); }
.k-camera-dialog::backdrop { background: rgb(12 24 45 / 68%); backdrop-filter: blur(3px); }
.k-camera-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.k-camera-dialog-heading p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.k-camera-dialog video { display: block; width: 100%; max-height: min(65vh, 520px); border-radius: 8px; background: #111827; object-fit: contain; }
.k-camera-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
@media (max-width: 540px) { .k-camera-dialog { padding: 13px; } .k-camera-dialog-actions > button { flex: 1; } }
.k-file-preview-dialog::backdrop { background: rgb(0 0 0 / 72%); }
.k-file-preview-dialog img { display: block; max-width: 100%; max-height: 72vh; margin: auto; object-fit: contain; }
.k-file-preview-dialog p { margin-top: 10px; color: var(--muted); overflow-wrap: anywhere; }
.k-file-preview-close { position: absolute; top: 8px; right: 8px; }
.k-table-toolbar { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; }
.k-search-control { position: relative; display: block; flex: 1 1 260px; }
.k-search-control > span { position: absolute; top: 7px; left: 11px; color: var(--muted); font-size: 19px; }
.k-search-control .k-input { padding-left: 36px; }
.k-management-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; margin: 18px 0; }
.k-permission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.k-permission-option { display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--border); border-radius: 7px; cursor: pointer; }
.k-permission-option:hover { border-color: var(--highlight); background: var(--soft); }
.k-permission-option input { accent-color: var(--primary); }
.k-permission-option span { display: grid; gap: 2px; min-width: 0; }
.k-permission-option strong { overflow-wrap: anywhere; font-size: 13px; }
.k-permission-option small { color: var(--muted); font-size: 11px; }
.k-before-after-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.k-before-after-grid h3 { margin-bottom: 8px; font-size: 14px; }
.k-before-after-grid pre { overflow: auto; max-height: 440px; padding: 12px; border-radius: 6px; background: var(--canvas); color: var(--text); font: 12px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.k-table-scroll { width: 100%; overflow-x: auto; padding : 15px}
.k-data-table, .k-mini-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 13px; white-space: nowrap; }
.k-data-table th, .k-mini-table th { padding: 12px 14px; background: var(--canvas); color: var(--muted); font-size: 12px; letter-spacing: .04em; }
.k-data-table th button { display: flex; align-items: center; gap: 7px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; cursor: pointer; }
.k-data-table td, .k-mini-table td { border-bottom: 1px solid var(--border); padding: 12px 14px; }
.k-data-table tbody tr:hover, .k-mini-table tbody tr:hover { background: var(--soft); }
.k-data-table tfoot td { background: var(--canvas); font-weight: 700; }
.k-data-table .k-badge { letter-spacing: 0; }
.k-table-footer { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-top: 16px; color: var(--muted); font-size: 11px; }
.k-table-footer nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; }
.k-table-footer nav a, .k-table-footer nav span[aria-current] > span { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; margin: 0 2px; padding: 4px 9px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface); color: var(--text); }
.k-table-footer nav span[aria-current] > span { border-color: var(--primary); background: var(--primary); color: #fff; }
.k-table-footer nav a:hover { border-color: var(--highlight); color: var(--link); }
.k-mini-table th { background: transparent; border-bottom: 1px solid var(--border); }
.k-numeric { text-align: right; }
.k-table-empty { text-align: center; padding: 30px 10px 4px; }
.k-table-empty p { color: var(--muted); font-size: 12px; }
.k-link-button { border: 0; background: transparent; color: var(--link); cursor: pointer; font: inherit; font-weight: 650; }
.k-link-button:hover { text-decoration: underline; }
.k-row-actions { white-space: nowrap; }
.k-page-actions, .k-form-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.k-page-actions { justify-content: flex-end; }
.k-detail-list { display: grid; margin: 16px 0 0; }
.k-detail-list > div { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(0, 1.3fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--border); }
.k-detail-list dt { color: var(--muted); font-size: 12px; }
.k-detail-list dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.k-badge--warning { background: #fff4df; color: #80530b; }
.k-badge--danger { background: #fff0f0; color: #b91c28; }
:root[data-theme="dark"] .k-badge--warning { background: #51402a; color: #ffdda3; }
:root[data-theme="dark"] .k-badge--danger { background: #4e2932; color: #ffc1c7; }
.k-index-table-filters { margin: 0 0 14px; }
.k-customer-toolbar { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 0 14px; border-bottom: 1px solid var(--border); }
.k-customer-toolbar .k-search-control { flex: 0 1 340px; }
.k-customer-toolbar .k-search-control > span { top: 50%; left: 10px; display: flex; width: 16px; height: 16px; align-items: center; justify-content: center; transform: translateY(-50%); font-size: 0; }
.k-customer-toolbar .k-search-control .k-input { min-height: 38px; padding: 7px 11px 7px 35px; font-size: 11.5px; }
.k-search-icon { display: block; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.k-chevron { display: inline-flex; transition: transform .15s; }
.k-chevron svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.k-filter-toggle[aria-expanded="false"] .k-chevron { transform: rotate(180deg); }
.k-customer-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.k-index-filter-disclosure { position: relative; }
.k-index-filter-disclosure > summary { list-style: none; }
.k-index-filter-disclosure > summary::-webkit-details-marker { display: none; }
.k-filter-toggle { min-height: 37px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 7px 12px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface); color: var(--text); font: inherit; font-size: 12px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.k-filter-toggle:hover, .k-index-filter-disclosure[open] > summary { border-color: var(--highlight); color: var(--link); background: var(--soft); }
.k-filter-toggle[aria-expanded="false"] .k-chevron { transform: rotate(180deg); }
.k-index-filter-panel { position: absolute; z-index: 30; top: calc(100% + 6px); right: 0; width: min(440px, calc(100vw - 40px)); border: 1px solid var(--border); border-radius: 6px; box-shadow: var(--shadow); }
.k-index-date-fields, .k-index-filter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.k-index-date-fields .k-input { min-height: 38px; padding: 7px 10px; font-size: 11.5px; }
.k-filter-panel-note { margin-top: 9px; color: var(--muted); font-size: 11px; }
.k-active-filters { display: flex; justify-content: space-between; gap: 8px; padding: 10px 0; color: var(--muted); font-size: 11px; border-bottom: 1px solid var(--border); }
.k-active-filters a { color: var(--link); }
.k-customer-table-card { padding: 0; overflow: visible; }
.k-customer-table-card > .k-card-title { padding: 17px 54px 0 19px; margin: 0; font-size: 18px; }
.k-customer-table-card > .k-muted { padding: 3px 19px 13px; margin: 0; font-size: 13px; }
.k-customer-selected-total { margin: 0 18px 10px; }
.k-customer-selected-total > span { padding: 4px 8px; border-radius: 5px; background: var(--canvas); color: var(--muted); font-size: 10px; }
.k-customer-toolbar { padding: 12px 19px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.k-customer-toolbar .k-search-control { flex: 0 1 320px; }
.k-customer-actions > .k-button { min-height: 37px; padding: 7px 13px; border-radius: 4px; font-size: 12px; }
.k-toolbar-icon { width: 15px; height: 15px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.k-customer-filter-panel { padding: 16px 19px 15px; border-bottom: 1px solid var(--border); background: var(--surface); }
.k-customer-filter-panel[hidden] { display: none !important; }
.k-filter-panel-copy { display: grid; gap: 2px; margin-bottom: 12px; font-size: 13px; }
.k-filter-panel-copy > span { color: var(--muted); font-size: 12px; }
.k-date-filter-fields { display: grid; grid-template-columns: 220px 220px; gap: 0 12px; align-items: end; max-width: 570px; }
.k-date-filter-fields .k-input { min-height: 37px; padding: 7px 10px; font-size: 11.5px; }
.k-date-filter-fields .k-filter-panel-note { grid-column: 1; margin-top: 5px; }
.k-date-filter-fields .k-filter-apply { grid-column: 2; grid-row: 2; justify-self: end; align-self: end; min-height: 35px; font-size: 11px; }
.k-customer-status-panel { min-height: 114px; }
.k-status-filter-control { width: min(310px, 100%); }
.k-status-filter-control > label { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 600; }
.k-status-filter-control > div { display: flex; gap: 7px; align-items: center; }
.k-status-filter-control select { min-height: 37px; font-size: 11.5px; flex: 1; }
.k-status-filter-control > div > button { width: 35px; height: 35px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface); color: var(--link); cursor: pointer; }
.k-active-filters { padding: 10px 19px; }
.k-customer-data-table { font-size: 13px; }
.k-customer-data-table thead th { height: 40px; padding: 9px 13px; text-align: left; background: var(--canvas); color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: 0; }
.k-customer-data-table .k-table-sort { display: inline-flex; align-items: center; gap: 7px; color: inherit; font: inherit; letter-spacing: inherit; white-space: nowrap; }
.k-customer-data-table .k-table-sort:hover, .k-customer-data-table .k-table-sort.is-active { color: var(--link); }
.k-customer-data-table .k-table-sort svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; opacity: .65; }
.k-customer-data-table .k-table-sort.is-active svg { opacity: 1; }
.k-customer-data-table tbody td { height: 42px; padding: 8px 13px; }
.k-customer-data-table tbody tr:last-child td { border-bottom: 1px solid var(--border); }
.k-row-actions { display: flex; align-items: center; gap: 4px; }
.k-row-actions > form { display: inline-flex; align-items: center; margin: 0; }
.k-row-actions > form > button { vertical-align: middle; margin-block: 0; }
.k-customer-data-table thead th:last-child, .k-customer-data-table tbody td:last-child { text-align: center; }
.k-customer-data-table tbody td:last-child .k-row-actions { justify-content: center; }
.k-row-actions a { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 4px; color: var(--muted); }
.k-row-actions svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.k-row-actions a:hover { background: var(--soft); color: var(--link); }
.k-customer-table-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 19px 13px; color: var(--muted); font-size: 11px; }
.k-customer-table-footer .k-page-controls nav { width: auto; }
.k-customer-table-footer nav a, .k-customer-table-footer nav span[aria-current] > span { min-width: 28px; min-height: 28px; font-size: 10px; }
.k-customer-table-card .k-table-empty { padding: 22px 12px; }
@media (max-width: 700px) { .k-form-grid, .k-management-form-grid, .k-permission-grid, .k-before-after-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .k-detail-list > div { grid-template-columns: 1fr; gap: 3px; } .k-table-footer nav { align-items: flex-start; flex-direction: column; } }
@media (max-width: 700px) { .k-customer-toolbar { align-items: stretch; flex-wrap: wrap; } .k-customer-toolbar .k-search-control { flex-basis: 100%; } .k-customer-actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; } .k-index-filter-panel { left: 0; right: auto; } }
@media (max-width: 520px) { .k-index-date-fields, .k-index-filter-grid { grid-template-columns: 1fr; } .k-customer-actions { gap: 5px; } }
@media (max-width: 820px) { .k-customer-toolbar { flex-wrap: wrap; } .k-customer-toolbar .k-search-control { flex-basis: 100%; } .k-customer-actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; } }
@media (max-width: 560px) { .k-customer-actions { gap: 5px; } .k-filter-toggle, .k-customer-actions > .k-button { min-height: 36px; padding-inline: 9px; font-size: 11px; } .k-customer-filter-panel { padding: 14px; } .k-active-filters, .k-customer-table-footer { padding-inline: 14px; } .k-customer-table-footer { align-items: flex-start; flex-direction: column; } .k-date-filter-fields { grid-template-columns: 1fr 1fr; } }

/* Skala dan jarak komponen global yang seimbang untuk desktop dan ponsel. */
:root { --radius: 12px; }
body { font-size: 13px; }
.k-button { min-height: 42px; padding: 9px 16px; border-radius: 7px; font-size: 13px; }
.k-action-spinner { display: inline-block; width: 13px; height: 13px; flex: none; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: k-action-spin .7s linear infinite; vertical-align: middle; }
.k-button[aria-busy="true"], a[aria-busy="true"] { cursor: pointer; }
@keyframes k-action-spin { to { transform: rotate(360deg); } }
.k-input, .k-input[type] { min-height: 44px; padding: 10px 13px; border-radius: 7px; font-size: 11.5px; }
.k-card { position: relative; padding: 23px; border-radius: 11px; }
.k-card-title { font-size: 17px; padding-right: 38px; }
.k-card-maximize { display: grid; place-items: center; position: absolute; z-index: 1; top: 11px; right: 11px; width: 32px; height: 32px; padding: 0; border: 1px solid var(--border); border-radius: 5px; background: var(--surface); color: var(--muted); cursor: pointer; transition: color .15s, background .15s, border-color .15s; }
.k-card-maximize:hover { border-color: var(--highlight); background: var(--soft); color: var(--link); }
.k-card-maximize:focus-visible { outline: 2px solid var(--highlight); outline-offset: 2px; }
.k-card:fullscreen { overflow: auto; background: var(--surface); }
.k-card.is-maximized { position: fixed; inset: 12px; z-index: 81; overflow: auto; max-width: none; }
body.k-card-maximized::after { content: ""; position: fixed; inset: 0; z-index: 80; background: rgb(0 0 0 / 55%); }
.k-badge { border-radius: 5px; }
.k-sidebar { width: 272px; padding: 27px 20px 22px; }
.k-workspace { margin-left: 272px; }
.k-workspace-label { margin: 26px 0 23px; padding: 15px 11px; border-radius: 8px; }
.k-nav-link { padding: 11px 12px; margin-bottom: 3px; border-radius: 7px; font-size: 13.5px; }
.k-navbar { min-height: 70px; padding: 13px 31px; }
.k-tabs { padding-top: 9px; min-height: 49px; }
.k-main { padding: 27px 32px; }
.k-main > .k-card + .k-card { margin-top: 20px; }
.k-main > form > .k-card + .k-card { margin-top: 20px; }
.k-page-heading { margin-bottom: 20px; }
.k-page-heading h1 { font-size: 28px; }
.k-welcome { padding: 29px 33px; }
.k-welcome h2 { font-size: 28px; }
.k-stats-grid { gap: 18px; margin: 20px 0; }
.k-dashboard-grid { gap: 20px; }
.k-app-footer { padding: 8px 32px 19px; }
.k-avatar { overflow: hidden; }
.k-avatar img { width: 100%; height: 100%; object-fit: cover; }
.k-avatar--small { width: 28px; height: 28px; font-size: 12px; }
.k-avatar-link { display: inline-flex; border-radius: 50%; }
.k-user-table-identity, .k-user-detail-identity { display: inline-flex; align-items: center; gap: 9px; }
.k-user-detail-identity { margin: 12px 0 18px; }
.k-user-avatar-field { display: grid; gap: 12px; width: 100%; max-width: 50%; margin: 20px 0; }
.k-user-avatar-current { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 12px; }
.k-card { --card-padding: 23px; padding: var(--card-padding); }
.k-card-footer { display: flex; align-items: center; justify-content: flex-end; margin: 24px calc(-1 * var(--card-padding)) calc(-1 * var(--card-padding)); padding: 15px var(--card-padding); border-top: 1px solid var(--border); }
.k-card-footer .k-picker-actions { margin: 0; }
.k-pagination { display: inline-flex; align-items: center; justify-content: flex-end; gap: 4px; }
.k-pagination button { display: inline-grid; place-items: center; width: 28px; min-width: 28px; height: 28px; min-height: 28px; padding: 0; border: 1px solid var(--border); border-radius: 5px; background: var(--surface); color: var(--text); font: inherit; font-size: 11px; line-height: 1; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.k-pagination button svg { display: block; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.k-pagination button:hover:not(:disabled) { border-color: var(--highlight); background: var(--soft); color: var(--link); }
.k-pagination button[aria-current="page"] { border-color: var(--primary); background: var(--primary); color: #fff; }
.k-pagination button:disabled { background: var(--canvas); color: var(--muted); opacity: .55; cursor: not-allowed; }
@media (max-width: 1100px) { .k-sidebar { width: 232px; } .k-workspace { margin-left: 232px; } .k-main { padding: 23px; } }
@media (max-width: 800px) { .k-sidebar { width: 260px; } .k-workspace { margin-left: 0; } .k-navbar { min-height: 66px; padding: 11px 16px; } .k-main { padding: 23px 18px; } .k-app-footer { padding: 11px 18px 19px; } }
@media (max-width: 540px) { .k-card { --card-padding: 22px; } }
@media (max-width: 700px) { .k-user-avatar-field { max-width: 100%; } }

/* Sidebar Klinusa Hub mengikuti identitas navy dan wordmark resmi. */
.k-sidebar { width: 280px; padding: 24px 18px 18px; border-right: 0; background: #030a3b; color: #d4def2; }
.k-workspace { margin-left: 280px; }
.k-sidebar-brand { min-height: 38px; justify-content: flex-start; padding: 0 8px; margin-bottom: 19px; }
.k-sidebar-brand .k-brand { width: 210px; }
.k-sidebar-brand .k-mobile-close { margin-left: auto; color: #d4def2; }
.k-sidebar-nav > .k-nav-caption:first-child { display: none; }
.k-sidebar .k-nav-caption { color: #91a4cb; }
.k-sidebar .k-nav-section-caption { color: #39c5e2; margin: 15px 0 8px; }
.k-sidebar-nav { scrollbar-width: none; -ms-overflow-style: none; }
.k-sidebar-nav::-webkit-scrollbar { display: none; }
.k-nav-link { min-height: 48px; align-items: center; gap: 13px; padding: 10px 15px; border-radius: 10px; color: #c4d0e8; font-size: 13.5px; font-weight: 500; }
.k-nav-link .k-nav-icon, .k-nav-link .k-nav-icon svg { width: 19px; height: 19px; }
.k-nav-link:hover { background: #0a1d49; color: #48c8e4; }
.k-nav-link.is-active { background: #102754; color: #35c5e4; box-shadow: none; font-weight: 600; }
.k-nav-tree-children { border-left-color: #23345e; }
.k-nav-tree--child > summary, .k-nav-link--nested { min-height: 41px; padding-top: 8px; padding-bottom: 8px; font-size: 13px; }
.k-sidebar-bottom { display: grid; gap: 6px; margin: 15px 0 0; padding: 15px 16px; border: 0; border-radius: 12px; background: #0b2050; color: #a8d8e9; font-size: 13px; line-height: 1.5; }
.k-sidebar-bottom strong { color: #39c5e2; font-size: 11px; letter-spacing: .17em; line-height: 1.4; }
.k-sidebar-bottom span { max-width: 210px; }
.k-navbar-user { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.k-navbar-user-copy { display: grid; min-width: 0; line-height: 1.3; }
.k-navbar-user-copy strong { overflow: hidden; max-width: 170px; color: var(--text); font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.k-navbar-user-copy small { overflow: hidden; max-width: 170px; margin-top: 2px; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.k-navbar-user:hover .k-navbar-user-copy strong { color: var(--highlight); }
@media (max-width: 1100px) { .k-sidebar { width: 270px; } .k-workspace { margin-left: 270px; } }
@media (max-width: 800px) { .k-sidebar { width: 280px; } .k-workspace { margin-left: 0; } }
@media (max-width: 540px) { .k-navbar-user-copy { display: none; } }
@media (max-width: 900px) { .k-profile-grid { grid-template-columns: minmax(0, 1fr); } .k-profile-grid > .k-card:first-child { grid-row: auto; } }
.k-profile-grid .k-user-avatar-field { max-width: 84%; }
@media (max-width: 700px) { .k-profile-grid .k-user-avatar-field { max-width: 100%; } }

/* Shell dan tabel card khusus mobile; desktop tetap memakai layout tabel dan sidebar yang sama. */
.k-mobile-navbar, .k-mobile-greeting, .k-mobile-menu-account, .k-mobile-bottom-nav { display: none; }
.k-mobile-table-toggle { display: none; }
.k-mobile-home-title { display: none; }
.k-mobile-navigation-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.k-mobile-navigation-settings-note { margin: 18px 0 0; }
@media (max-width: 1024px) {
    .k-sidebar { inset: 0; width: 100%; height: 100vh; height: 100svh; padding: max(20px, env(safe-area-inset-top)) 22px max(16px, env(safe-area-inset-bottom)); transform: translateX(-105%); transition: transform .22s ease; visibility: hidden; }
    body.k-sidebar-open .k-sidebar { transform: translateX(0); visibility: visible; }
    body.k-sidebar-open { overflow: hidden; }
    body.k-sidebar-open .k-sidebar-backdrop { display: block; position: fixed; inset: 0; background: rgb(3 10 59 / 64%); border: 0; z-index: 35; }
    .k-sidebar-brand { justify-content: space-between; margin-bottom: 16px; }
    .k-sidebar-brand .k-brand { width: min(60vw, 220px); }
    .k-mobile-close { display: inline-flex; color: #d4def2; font-size: 30px; line-height: 1; }
    .k-sidebar-nav { overscroll-behavior: contain; padding-bottom: 8px; }
    .k-sidebar-bottom { display: none; }
    .k-mobile-menu-account { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding: 14px 2px max(4px, env(safe-area-inset-bottom)); border-top: 1px solid #26345c; }
    .k-mobile-menu-account > a { display: flex; align-items: center; gap: 10px; min-width: 0; color: #fff; text-decoration: none; }
    .k-mobile-menu-account > a > span { display: grid; min-width: 0; gap: 3px; }
    .k-mobile-menu-account strong { overflow: hidden; max-width: 190px; text-overflow: ellipsis; white-space: nowrap; }
    .k-mobile-menu-account small { color: #a8d8e9; }
    .k-mobile-menu-account form { flex: 0 0 auto; }
    .k-workspace { margin-left: 0; padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
    .k-navbar { display: grid; grid-template-columns: 1fr; gap: 0; min-height: 80px; padding: max(14px, env(safe-area-inset-top)) 20px 16px; border: 0; background: #030a3b; color: #fff; }
    .k-mobile-navbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; }
    .k-mobile-navbar .k-brand { width: min(44vw, 190px); min-width: 0; flex: 0 1 190px; }
    .k-mobile-navbar-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; }
    .k-mobile-navbar [data-theme-toggle] { color: #d4def2; }
    .k-mobile-menu-toggle { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 12px; border: 1px solid #233966; border-radius: 11px; background: #102754; color: #fff; font-size: 12px; }
    .k-mobile-menu-toggle svg { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
    .k-navbar-leading, .k-navbar-actions, .k-tabs { display: none; }
    .k-mobile-greeting { display: grid; gap: 3px; padding: 20px 0 4px 2px; }
    .k-mobile-greeting span { color: #9bd9ec; font-size: 16px; font-weight: 500; }
    .k-mobile-greeting strong { color: #fff; font-size: 28px; font-weight: 600; line-height: 1.2; }
    .k-page-dashboard .k-navbar { padding-bottom: 26px; }
    .k-page-dashboard .k-main > .k-page-heading, .k-page-dashboard .k-welcome { display: none; }
    .k-mobile-home-title { display: block; margin: 0 0 9px; color: var(--text); font-size: 20px; font-weight: 600; }
    .k-main { max-width: none; padding: 24px 18px 30px; }
    .k-mobile-bottom-nav { position: fixed; z-index: 30; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: 68px; padding: 7px 6px max(7px, env(safe-area-inset-bottom)); border-top: 1px solid var(--border); background: var(--surface); box-shadow: 0 -8px 24px rgb(21 44 82 / 6%); }
    .k-mobile-bottom-nav a { display: grid; align-content: center; justify-items: center; gap: 4px; min-width: 0; color: var(--muted); text-decoration: none; }
    .k-mobile-bottom-nav .k-nav-icon, .k-mobile-bottom-nav .k-nav-icon svg { width: 21px; height: 21px; }
    .k-mobile-bottom-nav a span { overflow: hidden; max-width: 100%; font-size: 10px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
    .k-mobile-bottom-nav a.is-active { color: var(--link); }
    .k-mobile-bottom-nav a.is-active span { font-weight: 650; }
    .k-app-footer { display: none; }
    .k-page-heading { align-items: flex-start; margin-bottom: 17px; }
    .k-page-heading h1 { font-size: 24px; }
    .k-page-heading p { max-width: 100%; font-size: 12px; }
    .k-page-actions { width: 100%; flex-wrap: wrap; }
    .k-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0 18px; }
    .k-stat { min-width: 0; padding: 15px; }
    .k-stat strong { overflow-wrap: anywhere; font-size: 20px; }
    .k-stat p { font-size: 11px; }
    .k-dashboard-grid, .k-profile-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .k-card { --card-padding: 17px; border-radius: 16px; }
    .k-card-title { font-size: 16px; }
    .k-card-description { font-size: 12px; }
    .k-form-grid, .k-management-form-grid, .k-permission-grid, .k-before-after-grid { grid-template-columns: minmax(0, 1fr); }
    .k-field { min-width: 0; }
    .k-card-footer { flex-wrap: wrap; gap: 8px; }
    .k-card-footer .k-picker-actions { width: 100%; flex-wrap: wrap; }
    .k-card-footer .k-button { flex: 1 1 auto; }
    .k-dialog { max-height: calc(100svh - 24px); padding: 22px; border-radius: 18px; }
    .k-mobile-navigation-settings-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .k-table-scroll { overflow: visible; padding: 0; }
    .k-mobile-cards { display: block; width: 100%; border-collapse: separate; border-spacing: 0; }
    .k-mobile-cards > thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
    .k-mobile-cards > tbody { display: grid; gap: 20px; padding: 5px; min-width: 0; }
    .k-mobile-cards > tbody > tr { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0 12px; padding: 15px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: 0 4px 14px rgb(21 44 82 / 4%); }
    .k-mobile-cards > tbody > tr > td { display: grid; grid-template-columns: minmax(82px, .7fr) minmax(0, 1.3fr); align-items: start; gap: 8px; min-width: 0; padding: 8px 0; border: 0; color: var(--text); font-size: 12px; text-align: left; white-space: normal; overflow-wrap: anywhere; }
    .k-mobile-cards > tbody > tr > td::before { content: attr(data-mobile-label); color: var(--muted); font-size: 10px; font-weight: 500; }
    .k-mobile-cards > tbody > tr > td[data-mobile-title] { grid-column: 1 / -1; grid-row: 1; display: block; padding: 0 38px 10px 0; color: var(--primary); font-size: 15px; font-weight: 650; line-height: 1.35; }
    .k-mobile-cards > tbody > tr > td[data-mobile-title]::before { display: none; }
    .k-mobile-cards > tbody > tr > td[data-mobile-title] .k-mobile-table-toggle { display: flex; width: 100%; margin-top: 5px; padding: 4px 0 0; }
    .k-mobile-cards > tbody > tr > td[data-mobile-priority="extra"] { display: none; }
    .k-mobile-cards > tbody > tr.is-expanded > td[data-mobile-priority="extra"] { display: grid; }
    .k-mobile-cards > tbody > tr > td.k-select-cell { grid-column: 2; grid-row: 1; display: flex; justify-content: flex-end; padding: 0 0 8px; }
    .k-mobile-cards > tbody > tr > td.k-select-cell::before, .k-mobile-cards > tbody > tr > td[data-mobile-role="number"]::before { display: none; }
    .k-mobile-cards > tbody > tr > td[data-mobile-role="number"] { display: none; }
    .k-mobile-cards > tbody > tr > td.k-row-actions { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 10px; padding: 10px 0 0; border-top: 1px solid var(--border); }
    .k-mobile-cards > tbody > tr > td.k-row-actions::before { display: none; }
    .k-mobile-cards > tbody > tr > td[data-mobile-empty] { display: block; grid-column: 1 / -1; text-align: center; }
    .k-mobile-table-toggle { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; gap: 5px; grid-column: 1 / -1; margin-top: 5px; padding: 4px 0 0; border: 0; background: transparent; color: var(--link); font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
    .k-mobile-table-toggle svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.7; transition: transform .15s; }
    .k-mobile-cards > tbody > tr.is-expanded .k-mobile-table-toggle svg { transform: rotate(180deg); }
    .k-mobile-cards > tbody > tr[data-mobile-no-extra] .k-mobile-table-toggle { display: none; }
    .k-customer-table-footer, .k-table-footer { align-items: stretch; flex-direction: column; gap: 10px; }
    .k-customer-toolbar, .k-table-toolbar { align-items: stretch; flex-wrap: wrap; }
    .k-customer-toolbar .k-search-control, .k-table-toolbar .k-search-control { flex-basis: 100%; }
    .k-customer-actions { width: 100%; flex-wrap: wrap; }
    .k-filter-panel { left: 0; right: 0; width: 100%; }
    .k-detail-list > div { grid-template-columns: minmax(0, 1fr); gap: 3px; }
    .k-chart { min-height: 190px; }
}
@media (max-width: 420px) {
    .k-navbar { padding-right: 15px; padding-left: 15px; }
    .k-mobile-navbar .k-brand { width: 42vw; flex-basis: 42vw; }
    .k-mobile-navbar-actions { gap: 6px; }
    .k-mobile-menu-toggle { min-height: 37px; padding-inline: 9px; }
    .k-main { padding-right: 13px; padding-left: 13px; }
    .k-mobile-cards > tbody > tr { padding: 12px; }
    .k-mobile-cards > tbody > tr > td { grid-template-columns: minmax(72px, .65fr) minmax(0, 1.35fr); }
}

/* Sidebar desktop dapat diringkas menjadi rail ikon dan pilihan tersimpan per browser. */
@media (min-width: 1025px) {
    .k-menu-toggle { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; padding: 0; }
    .k-menu-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
    body.k-sidebar-collapsed .k-sidebar { width: 76px; padding-right: 12px; padding-left: 12px; }
    body.k-sidebar-collapsed .k-workspace { margin-left: 76px; }
    body.k-sidebar-collapsed .k-sidebar-brand { justify-content: center; padding: 0; }
    body.k-sidebar-collapsed .k-sidebar-brand .k-brand { display: grid; width: 42px; height: 42px; place-items: center; overflow: hidden; border-radius: 11px; background: #102754; }
    body.k-sidebar-collapsed .k-sidebar-brand .k-brand-logo { display: none; }
    body.k-sidebar-collapsed .k-sidebar-brand .k-brand::before { content: "K"; color: #39c5e2; font-size: 29px; font-weight: 700; line-height: 1; }
    body.k-sidebar-collapsed .k-sidebar-nav > .k-nav-caption,
    body.k-sidebar-collapsed .k-sidebar-bottom,
    body.k-sidebar-collapsed .k-mobile-menu-account { display: none; }
    body.k-sidebar-collapsed .k-nav-lower { display: flex; gap: 8px; margin-top: auto; }
    body.k-sidebar-collapsed .k-nav-development,
    body.k-sidebar-collapsed .k-nav-management { padding-top: 0; }
    body.k-sidebar-collapsed .k-nav-lower .k-nav-caption { display: none; }
    body.k-sidebar-collapsed .k-sidebar-nav { overflow: visible; }
    body.k-sidebar-collapsed .k-sidebar-nav > .k-nav-link,
    body.k-sidebar-collapsed .k-sidebar-nav > .k-nav-tree > summary,
    body.k-sidebar-collapsed .k-nav-tree-children > .k-nav-link { position: relative; justify-content: center; gap: 0; padding-right: 0; padding-left: 0; font-size: 0; }
    body.k-sidebar-collapsed .k-sidebar-nav > .k-nav-tree > summary .k-nav-chevron,
    body.k-sidebar-collapsed .k-nav-tree--child > summary { display: none; }
    body.k-sidebar-collapsed .k-sidebar-nav > .k-nav-tree > .k-nav-tree-children,
    body.k-sidebar-collapsed .k-nav-tree--child:not([open]) > .k-nav-tree-children { display: block; }
    body.k-sidebar-collapsed .k-nav-tree-children { margin-left: 0; padding-left: 0; border-left: 0; }
    body.k-sidebar-collapsed .k-nav-tree-children > .k-nav-tree--child { margin: 0; }
    body.k-sidebar-collapsed .k-nav-lower .k-nav-link { position: relative; justify-content: center; gap: 0; padding-right: 0; padding-left: 0; font-size: 0; }
    body.k-sidebar-collapsed .k-nav-link .k-nav-icon,
    body.k-sidebar-collapsed .k-nav-link .k-nav-icon svg { flex: 0 0 19px; width: 19px; height: 19px; }
    body.k-sidebar-collapsed .k-nav-link[data-page-label]::after,
    body.k-sidebar-collapsed summary[data-nav-label]::after { position: absolute; z-index: 60; top: 50%; left: calc(100% + 12px); display: none; width: max-content; max-width: 240px; padding: 8px 10px; transform: translateY(-50%); border: 1px solid #233966; border-radius: 7px; background: #102754; color: #fff; content: attr(data-page-label); font-size: 12px; font-weight: 500; line-height: 1.3; pointer-events: none; white-space: normal; box-shadow: 0 8px 20px rgb(3 10 59 / 18%); }
    body.k-sidebar-collapsed summary[data-nav-label]::after { content: attr(data-nav-label); }
    body.k-sidebar-collapsed .k-nav-link[data-page-label]:hover::after,
    body.k-sidebar-collapsed .k-nav-link[data-page-label]:focus-visible::after,
    body.k-sidebar-collapsed summary[data-nav-label]:hover::after,
    body.k-sidebar-collapsed summary[data-nav-label]:focus-visible::after { display: block; }
    body.k-sidebar-collapsed .k-menu-toggle svg { transform: rotate(180deg); }
}
