/* Hub refinement: cool neutral palette from NotiveHubUpdate; logo lime for primary actions. */
:root {
  --hub-brand:#d1ff00;--hub-brand-hover:#c2ed00;--hub-on-brand:#1a1a1a;
  --ns-radius-sm:8px;--ns-radius:12px;--ns-radius-lg:16px;--ns-header-height:68px;
  --hub-control-height:40px;--hub-control-small:36px;--hub-control-radius:8px;
}
.ns-hub :is(.btn,button.btn,a.btn,.ns-command-button),.login-submit {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:var(--hub-control-height);padding:9px 14px;border-radius:var(--hub-control-radius);
  font:550 12.5px/1.35 var(--ns-font);box-sizing:border-box;text-decoration:none;
  vertical-align:middle;max-width:100%;flex-shrink:0;white-space:nowrap;overflow-wrap:normal;box-shadow:none;
}
.ns-hub .btn.sm {min-height:var(--hub-control-small);padding:7px 12px;font-size:12px;}
.ns-hub .btn.pri,.login-submit {background:var(--hub-brand);border-color:var(--hub-brand);color:var(--hub-on-brand);}
.ns-hub .btn.pri:hover,.login-submit:hover {background:var(--hub-brand-hover);border-color:var(--hub-brand-hover);color:var(--hub-on-brand);}
.ns-hub .btn.bad {color:var(--ns-bad);border-color:var(--ns-bad);background:var(--ns-surface);}
.ns-hub .btn.bad:hover {background:var(--ns-bad-soft);}
.ns-hub .btn.ghost {background:transparent;}
.ns-hub .btn svg {display:block;width:16px;height:16px;flex:none;}
.ns-hub .btns {gap:8px;align-items:center;}
.ns-hub :is(button,a,input,select,textarea,summary):focus-visible,.login-main :is(button,a,input):focus-visible {
  outline:2px solid var(--ns-focus);outline-offset:3px;box-shadow:none;
}
.ns-hub :is(button,input,select,textarea):disabled {opacity:.55;cursor:not-allowed;}
.ns-hub input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
.ns-hub select,.ns-hub textarea {
  min-height:var(--hub-control-height);font:13px/1.4 var(--ns-font);border-radius:var(--hub-control-radius);
}
.ns-hub textarea {line-height:1.6;}
.ns-hub .seg,.ns-hub .tabs {display:inline-flex;align-items:stretch;flex-wrap:wrap;gap:4px;}
.ns-hub .seg>button,.ns-hub .tabs>button {min-height:var(--hub-control-small);padding:6px 12px;line-height:1.4;}
.ns-hub .ns-icon-button {display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;flex:none;}
.ns-hub .ns-topbar {gap:10px;min-height:68px;height:auto;padding-top:10px;padding-bottom:10px;}
.ns-hub .ns-breadcrumb {min-width:0;}
.ns-hub .ns-breadcrumb strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ns-hub .ns-brand {gap:12px;}
.ns-hub .ns-logomark {height:34px;width:34px;background:transparent;border-radius:5px;}
.ns-hub .ns-logomark>svg {display:block;width:34px;height:34px;}
.login-brand svg,.login-brand img {display:block;width:34px;height:34px;object-fit:contain;}
.login-product>span>svg {display:block;width:26px;height:26px;}
.login-product>span {display:grid;place-items:center;background:transparent;}
.login-submit {width:100%;min-height:44px;}
.ns-hub .ns-app-button {
  display:grid;grid-template-columns:32px minmax(0,1fr) 16px;align-items:center;gap:10px;
  width:calc(100% - 28px);min-height:64px;padding:12px;line-height:1.4;
}
.ns-hub .ns-app-button>.ns-app-symbol {width:32px;height:32px;background:transparent;border-radius:5px;}
.ns-hub .ns-app-button>.ns-app-symbol>svg {display:block;width:30px;height:30px;}
.ns-hub .ns-app-button>span:nth-child(2) {min-width:0;text-align:left;font-size:12px;font-weight:600;}
.ns-hub .ns-app-button small {display:block;margin-top:3px;font-size:10.5px;line-height:1.45;font-weight:400;overflow-wrap:anywhere;}
.ns-hub .hub-app-chevron,.ns-hub .hub-app-chevron>svg {display:block;width:16px;height:20px;}
/* A dedicated rule protects the icon's space from generic input styles. */
.ns-hub .top .cari {position:relative;width:280px;max-width:100%;flex:0 1 280px;}
.ns-hub .top .cari input#cari {width:100%;height:40px;padding:9px 42px 9px 40px;line-height:20px;}
.ns-hub .top .cari>svg {position:absolute;left:12px;top:20px;transform:translateY(-50%);width:16px;height:16px;pointer-events:none;}
.ns-hub .hub-search-key {position:absolute;right:10px;top:9px;display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--ns-border);border-radius:5px;background:var(--ns-inset);color:var(--ns-muted);font:11px var(--ns-mono);pointer-events:none;}
.ns-hub .top .cari .hasil {top:calc(100% + 8px);left:0;right:0;max-height:min(360px,60vh);}
.ns-hub .cari .hasil a {padding:10px 12px;gap:10px;min-height:44px;line-height:1.4;}
.ns-hub .cari .hasil a>* {min-width:0;}
.ns-hub .hub-channel-toolbar {gap:12px;align-items:center;margin-bottom:20px;}
.ns-hub .hub-channel-filters {display:grid;grid-template-columns:minmax(180px,1.35fr) repeat(4,minmax(0,1fr));gap:12px;flex:1 1 100%;min-width:0;}
.ns-hub .hub-filter-field {display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--ns-secondary);font-size:11.5px;line-height:1.4;font-weight:500;}
.ns-hub .hub-channel-filters :is(input,select) {width:100%;min-width:0;max-width:100%;margin:0;padding:9px 12px;font-size:12.5px;font-weight:400;}
.ns-hub select.inp {padding-right:36px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23616e7c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;background-size:16px;}
:root[data-theme='dark'] .ns-hub select.inp {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239daebc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");}
.ns-hub .hub-channel-filters select {padding-right:36px;text-overflow:ellipsis;}
.ns-hub .hub-report-grid {align-items:stretch;gap:16px;}
.ns-hub .hub-report-card {display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px;}
.ns-hub .hub-report-card>h3 {margin:0;font-size:13px;line-height:1.4;font-weight:600;}
.ns-hub .hub-report-card>p {margin:0;flex:1;color:var(--ns-secondary);font-size:12.5px;line-height:1.6;}
.ns-hub .hub-report-card>.btns {margin-top:auto;min-height:40px;padding-top:0;align-items:flex-end;}
.ns-hub .hub-report-card .btn {min-height:40px;padding:9px 14px;font-size:12px;}
.ns-hub .hub-alert-list {padding-top:4px;padding-bottom:4px;}
.ns-hub .hub-alert {
  display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:12px;align-items:start;
  padding:16px 0;margin:0;border:0;border-bottom:1px solid var(--ns-border);border-radius:0;
  background:transparent;opacity:1;font-size:13px;
}
.ns-hub .hub-alert:last-child {border-bottom:0;}
.ns-hub .hub-alert.ack {opacity:1;}
.ns-hub .hub-alert>.ik {margin-top:6px;width:8px;height:8px;background:var(--ns-focus);box-shadow:none;}
.ns-hub .hub-alert[data-level='kritis']>.ik {background:var(--ns-bad);}
.ns-hub .hub-alert[data-level='peringatan']>.ik {background:var(--ns-warn);}
.ns-hub .hub-alert[data-level='peluang']>.ik {background:var(--ns-accent);}
.ns-hub .hub-alert .hub-alert-heading {display:flex;gap:4px 8px;align-items:baseline;flex-wrap:wrap;min-width:0;line-height:1.5;}
.ns-hub .hub-alert .hub-alert-heading b {font-weight:600;color:var(--ns-text);}
.ns-hub .hub-alert .hub-alert-heading>a {margin:0;min-width:0;overflow-wrap:anywhere;color:var(--ns-secondary);}
.ns-hub .hub-alert p {margin:5px 0 0;color:var(--ns-secondary);font-size:12.5px;line-height:1.6;overflow-wrap:anywhere;}
.ns-hub .hub-alert .m {margin-top:6px;color:var(--ns-muted);font-size:11.5px;line-height:1.5;overflow-wrap:anywhere;}
.ns-hub .hub-alert>.btns {justify-content:flex-end;gap:8px;align-items:center;}
.ns-hub .hub-source-notices {padding:0 18px;}
.ns-hub .hub-source-notice {display:grid;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:12px;padding:16px 0;border-bottom:1px solid var(--ns-border);font-size:13px;line-height:1.65;}
.ns-hub .hub-source-notice:last-child {border-bottom:0;}
.ns-hub .hub-source-notice b {display:block;font-weight:600;overflow-wrap:anywhere;}
.ns-hub .hub-source-notice p {margin:4px 0 0;font-size:12px;color:var(--ns-muted);}
.ns-hub .hub-source-dot {display:block;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--ns-warn);}
.ns-hub .hub-source-notice[data-level='bad'] .hub-source-dot {background:var(--ns-bad);}
@media(max-width:1100px) {.ns-hub .hub-channel-filters {grid-template-columns:repeat(4,minmax(0,1fr));}.ns-hub .hub-filter-search {grid-column:1/-1;}}
@media(max-width:760px) {.ns-hub .top {flex-wrap:wrap;}.ns-hub .top .cari {flex-basis:100%;width:100%;}.ns-hub .hub-report-grid {grid-template-columns:minmax(0,1fr);}.ns-hub .hub-report-card {min-height:180px;}}
@media(max-width:640px) {
  :root {--hub-control-height:44px;--hub-control-small:44px;}
  .ns-hub .hub-channel-filters {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .ns-hub .hub-channel-filters :is(input,select) {font-size:16px;}
  .ns-hub .ns-icon-button {min-width:44px;min-height:44px;}
  .ns-hub .ns-topbar {padding-top:8px;padding-bottom:8px;gap:6px;}
  .ns-hub .ns-breadcrumb>span:first-child,.ns-hub .ns-breadcrumb .ns-divider {display:none;}
  .ns-hub .ns-breadcrumb {flex:1;}
  .ns-hub .ns-topbar-spacer {display:none;}
  .ns-hub .ns-command-button {min-width:40px;padding:8px;}
  .ns-hub .ns-command-button>span,.ns-hub .ns-command-button>kbd {display:none;}
  .ns-hub .top .cari input#cari {height:44px;min-height:44px;padding:11px 42px 11px 40px;font-size:16px;}
  .ns-hub .top .cari>svg {top:22px;}.ns-hub .hub-search-key {top:11px;}
  .ns-hub .hub-alert {grid-template-columns:8px minmax(0,1fr);gap:10px;}
  .ns-hub .hub-alert>.btns {grid-column:2;justify-content:flex-start;margin-top:2px;}
  .ns-hub .hub-report-card .btn {min-height:44px;}
  .ns-hub .toolbar .seg {max-width:100%;}.ns-hub .toolbar .sp {min-width:0;}
}
@media(prefers-reduced-motion:reduce) {.ns-hub * {scroll-behavior:auto!important;}}

.ns-hub .ns-command-button>svg,.ns-hub #hubAppearance>svg {width:16px;height:16px;display:block;flex:none;}
.ns-hub #hubAppearance {min-width:112px;}
@media(max-width:640px){
  .ns-hub #hubAppearance {width:40px;min-width:40px;padding:8px;}
  .ns-hub #hubAppearance .hub-theme-label,.ns-hub .hub-attention-label {display:none;}
  .ns-hub #hubAttention {padding:8px;gap:5px;}
}
