/* PR76 -- Pencarian cepat (Ctrl/⌘+K) + bottom nav HP. Semua memakai token tema (var(--...)). */
.qk-bg{position:fixed;inset:0;background:rgba(7,28,18,.55);z-index:10000;display:none;align-items:flex-start;justify-content:center;padding:12vh 14px 14px}
.qk-bg.on{display:flex}
.qk-box{width:100%;max-width:560px;background:#fff;color:#10261B;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden}
:root[data-theme=dark] .qk-box{background:#1E293B;color:#F1F5F9}
.qk-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border,#E2E8F0)}
.qk-in input{flex:1;border:0;outline:0;background:transparent;font-size:16px;color:inherit;min-width:0}
.qk-in kbd{font-size:11px;border:1px solid var(--border-mid,#CBD5E1);border-radius:6px;padding:2px 6px;color:var(--text-secondary,#64748B)}
.qk-list{max-height:min(55vh,420px);overflow-y:auto;padding:6px}
.qk-it{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:14px;min-height:44px}
.qk-it i{font-size:19px;color:var(--primary-dark,#0F6B3E);flex:none}
.qk-it .qk-sub{margin-left:auto;font-size:11.5px;color:var(--text-muted,#7C9486);flex:none}
.qk-it.sel,.qk-it:hover{background:var(--primary-light,#E4F5EB)}
:root[data-theme=dark] .qk-it.sel,:root[data-theme=dark] .qk-it:hover{background:rgba(255,255,255,.08)}
.qk-kosong{padding:22px;text-align:center;color:var(--text-secondary,#64748B);font-size:13.5px}
.qk-foot{padding:8px 14px;border-top:1px solid var(--border,#E2E8F0);font-size:11.5px;color:var(--text-muted,#7C9486);display:flex;gap:14px;flex-wrap:wrap}
.qk-hint{display:none;position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:10.5px;color:var(--sidebar-text);opacity:.7;border:1px solid var(--sidebar-border);border-radius:5px;padding:1px 5px;pointer-events:none}
.sidebar-search-wrap{position:relative}
@media(hover:hover) and (min-width:769px){.qk-hint{display:block}}

/* Bottom nav: hanya HP */
.bn{display:none}
@media(max-width:768px){
  body.has-bn:not(.auth-page) .bn{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--border,#E2E8F0);padding:4px 4px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(0,0,0,.07)}
  :root[data-theme=dark] body.has-bn .bn{background:#0F172A}
  body.has-bn:not(.auth-page) .app-content{padding-bottom:84px}
  body.has-bn:not(.auth-page) .ai-assistant-fab{bottom:calc(76px + env(safe-area-inset-bottom))}
  body.has-bn:not(.auth-page) #koneksi-dot-wrap{bottom:calc(64px + env(safe-area-inset-bottom)) !important;right:auto !important;left:10px !important}
  body.has-bn:not(.auth-page) .toast-container{bottom:calc(80px + env(safe-area-inset-bottom));right:12px;left:12px}
  .bn button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:var(--text-secondary,#64748B);font-size:11px;font-weight:600;min-height:52px;border-radius:12px;cursor:pointer;padding:4px 2px}
  .bn button i{font-size:22px}
  .bn button.on{color:var(--primary-dark,#0F6B3E)}
  .bn button.on i{background:var(--primary-light,#E4F5EB);border-radius:999px;padding:2px 14px;margin-bottom:-2px}
}
.bs-bg{position:fixed;inset:0;background:rgba(7,28,18,.5);z-index:10001;display:none;align-items:flex-end}
.bs-bg.on{display:flex}
.bs{width:100%;background:#fff;color:#10261B;border-radius:20px 20px 0 0;padding:10px 12px calc(14px + env(safe-area-inset-bottom));max-height:75vh;overflow-y:auto}
:root[data-theme=dark] .bs{background:#1E293B;color:#F1F5F9}
.bs-grab{width:40px;height:4px;border-radius:99px;background:var(--border-mid,#CBD5E1);margin:0 auto 10px}
.bs h3{font-size:14px;margin:4px 6px 8px}
.bs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.bs-it{display:flex;align-items:center;gap:10px;border:1px solid var(--border,#E2E8F0);background:transparent;color:inherit;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:600;text-align:left;min-height:48px;cursor:pointer}
.bs-it i{font-size:20px;color:var(--primary-dark,#0F6B3E);flex:none}
.bs-it.on{border-color:var(--primary);background:var(--primary-light,#E4F5EB)}
