/* Hub shell: NZIC's charcoal, ivory and gold palette. */
:root { --bs-sidenav-width:250px; --bs-sidenav-width-sm:72px; --bs-topbar-height:85px; --bs-body-font-family:Lexend,sans-serif; --bs-font-sans-serif:Lexend,sans-serif; --bs-font-monospace:Lexend,sans-serif; --nzic-ink:#313a46; --nzic-gold:#d3c28e; --nzic-mist:#f0ebdf; --nzic-rule:#b6b0a0; }
body,button,input,select,textarea,h1,h2,h3,h4,h5,h6,p,pre,code,kbd,.swal2-popup { font-family:Lexend,sans-serif; font-variant-numeric:tabular-nums; }
body { font-size:14px; }
body.nzic-app :is(.form-control,.form-select,.btn,.table,.dropdown-menu) { font-size:14px; }
body.nzic-app .wrapper { overflow:clip; }
.nzic-app .page-content { margin-left:250px!important; padding:111px 28px 24px!important; min-height:calc(100vh - 68px)!important; }
.nzic-app .page-content > :is(.page-container,.container-fluid) { padding:0!important; max-width:none; }
.nzic-app .nzic-footer { margin-left:250px; padding:20px 28px; border-top:1px dashed var(--nzic-rule); }
.nzic-app .app-topbar { position:fixed; height:85px; min-height:85px; left:250px; right:0; margin:0!important; padding:0; border:0; border-bottom:1px dashed var(--nzic-rule); background:radial-gradient(ellipse at 5% 0%,#d3c28e30,transparent 52%),radial-gradient(ellipse at 65% 100%,#b6aa8d26,transparent 46%),radial-gradient(ellipse at 100% 0%,#ded9cb80,transparent 40%),linear-gradient(#fff,#f5f2eb); box-shadow:0 8px 18px -8px #313a4633; isolation:isolate; }
.nzic-app .app-topbar::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 1px 1px,#313a4616 1px,transparent 1.6px) 0 0 / 14px 14px; z-index:-1; }
.nzic-app .app-topbar::after { content:""; position:absolute; inset:0; pointer-events:none; z-index:-1; background:linear-gradient(100deg,transparent 10%,#fff9 45%,transparent 75%); background-size:220% 100%; animation:nzic-header-sweep 18s ease-in-out infinite; }
@keyframes nzic-header-sweep { 0%,100% { background-position:100% 0; } 50% { background-position:-100% 0; } }
.nzic-app .app-topbar .topbar-menu { height:85px; min-height:85px; padding:14px 28px; display:flex; align-items:center; gap:20px; justify-content:space-between; }
.nzic-header-leading,.nzic-header-actions { display:flex; align-items:center; gap:12px; min-width:0; }
.nzic-header-leading { flex:1; }
.nzic-title-card { padding:6px 12px; border:1px solid var(--nzic-rule); box-shadow:3px 3px 0 #ded8c7; border-radius:5px; background:#fff; min-width:0; }
.nzic-eyebrow,.nzic-app label.form-label,.nzic-app .table th { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.11em; }
.nzic-title-card .nzic-eyebrow { display:block; line-height:1.3; font-size:10px; }
.nzic-header-title { display:block; color:var(--nzic-ink); font-size:19px; font-weight:700; line-height:1.25; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:350px; }
.nzic-page-search { height:44px; width:clamp(300px,23vw,420px); display:flex; gap:10px; align-items:center; border:1px solid var(--nzic-ink); border-radius:5px; background:#fff; padding:0 12px; box-shadow:3px 3px 0 #ded8c7; color:#686961; text-align:left; font-size:14px; }
.nzic-page-search > i { font-size:20px; color:var(--nzic-ink); }
.nzic-page-search kbd { margin-left:auto; background:var(--nzic-ink); color:#fff; padding:3px 6px; border-radius:3px; font-size:11px; }
.nzic-profile-button { height:44px; padding:4px 10px 4px 5px; border:1px solid var(--nzic-rule); border-radius:5px; box-shadow:3px 3px 0 #ded8c7; background:#fff; color:var(--nzic-ink); gap:9px; }
.nzic-avatar { flex:0 0 34px; height:34px; width:34px; border-radius:5px; color:#f9f7f0; background:var(--nzic-ink); font-size:11px; font-weight:700; }
.nzic-profile-copy { text-align:left; line-height:1.3; max-width:145px; }
.nzic-profile-name,.nzic-profile-role { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nzic-profile-name { font-size:13px; font-weight:600; }
.nzic-profile-role { font-size:10px; color:#74766e; margin-top:1px; }
.nzic-app .sidenav-toggle-button { display:none; font-size:20px; }
.nzic-app .nzic-sidebar { width:250px!important; position:fixed; inset:0 auto 0 0; height:100dvh; z-index:1040; margin:0!important; transform:none!important; background:radial-gradient(ellipse at 0 0,#d3c28e18,transparent 46%),radial-gradient(ellipse at 100% 100%,#d3c28e13,transparent 45%),radial-gradient(circle at 1px 1px,#ffffff20 1.15px,transparent 1.8px) 0 0 / 14px 14px,linear-gradient(#24262e,#1e1f27 50%,#25262c); border-right:1px solid #45474f; box-shadow:none; background-color:#1e1f27; }
.nzic-logo-row { height:85px; flex:0 0 85px; border-bottom:1px dashed var(--nzic-rule); display:flex; align-items:center; justify-content:center; position:relative; background:#fff; }
.nzic-sidebar-brand { border:0; width:100%; height:100%; padding:10px 14px; }
.nzic-sidebar-brand img.nzic-full-logo { width:221px; height:auto; max-height:62px; object-fit:contain; }
.nzic-brand-monogram { display:none; font-family:Lexend,sans-serif; color:#9f8746; font-weight:700; font-size:29px; }
.nzic-sidebar-scroll { height:calc(100dvh - 85px); display:flex; flex-direction:column; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; scrollbar-color:#5c5d63 transparent; }
.nzic-navigation { padding:22px 14px; }
.nzic-nav-link,.nzic-nav-group > summary { min-height:44px; display:flex; align-items:center; gap:12px; padding:10px 16px; border:1px solid transparent; border-radius:5px; font-size:14.5px; font-weight:500; color:#dddedf; text-decoration:none; margin:0 0 8px; line-height:22px; cursor:pointer; list-style:none; }
.nzic-nav-group > summary::-webkit-details-marker { display:none; }
.nzic-nav-link > i,.nzic-nav-group > summary > i:first-child { flex:0 0 20px; font-size:20px; }
.nzic-nav-link:hover,.nzic-nav-group > summary:hover,.nzic-sub-link:hover { color:#fff; background:#ffffff14; }
.nzic-nav-link.active { color:#2f2d27; background:#f9f7ef; border-color:#17191e; font-weight:600; box-shadow:3px 4px 0 #887e62; }
.nzic-nav-group.has-active > summary { color:var(--nzic-gold); font-weight:600; }
.nzic-group-chevron { margin-left:auto; font-size:14px; transition:transform .15s; }
.nzic-nav-group[open] > summary .nzic-group-chevron { transform:rotate(90deg); }
.nzic-submenu { margin:0 0 14px 21px; padding-left:10px; border-left:1px solid #55565a; }
.nzic-sub-link { position:relative; min-height:40px; padding:8px 10px; display:flex; align-items:center; gap:9px; border-radius:5px; color:#c1c2c6; font-size:13.5px; line-height:22px; }
.nzic-sub-link > i { font-size:17px; flex:0 0 17px; }
.nzic-sub-link.active { color:var(--nzic-gold); font-weight:600; padding-right:23px; }
.nzic-sub-link.active::after { content:""; width:7px; height:7px; border-radius:50%; background:var(--nzic-gold); position:absolute; right:8px; }
.nzic-count { background:#ffffff12; border-radius:4px; color:var(--nzic-gold); font-size:10px; min-width:21px; padding:0 4px; margin-left:auto; text-align:center; line-height:19px; }
.nzic-sidebar-bottom { margin-top:auto; padding:16px 14px 18px; }
.nzic-assistant-badge { display:flex; align-items:center; gap:10px; padding:13px 12px; border:1px solid #11131a; border-radius:10px; box-shadow:4px 5px 0 #11131a; background:linear-gradient(115deg,#9b885c 0%,#c3b17e 35%,#d3c28e 55%,#a08d63 80%,#9b885c 100%); background-size:280% 100%; background-position:0% 50%; animation:nzic-assistant-flow 12s ease-in-out infinite; color:#25262e; text-shadow:none; }
.nzic-assistant-badge:is(:link,:visited,:hover,:focus) { color:#25262e; text-decoration:none; }
.nzic-assistant-badge:hover { border-color:var(--nzic-gold); }
.nzic-assistant-badge:focus-visible { outline:2px solid var(--nzic-gold); outline-offset:3px; }
.nzic-assistant-avatar { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:6px; background:#fff; color:#655631; font-size:23px; text-shadow:none; }
.nzic-assistant-badge strong,.nzic-assistant-badge small { display:block; }
.nzic-assistant-badge strong { font-weight:700; font-size:14px; }
.nzic-assistant-badge small { font-size:10px; margin-top:3px; }
.nzic-sidebar-account { display:flex; align-items:center; gap:8px; margin-top:23px; padding-top:17px; border-top:1px dashed #686860; }
.nzic-sidebar-account .nzic-avatar { flex-basis:36px; width:36px; height:36px; color:#51472f; background:#f0ebdf; }
.nzic-sidebar-user { min-width:0; flex:1; }
.nzic-sidebar-user strong,.nzic-sidebar-user small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nzic-sidebar-user strong { color:#fff; font-size:13px; font-weight:600; }
.nzic-sidebar-user small { color:#aaaab0; font-size:11.5px; margin-top:3px; }
.nzic-sidebar-account > a { color:#d3c28e; font-size:10px; white-space:nowrap; }
.nzic-sidebar-account > a i { display:none; }
.nzic-sidebar .button-close-fullsidebar { display:none!important; border:0; background:transparent; color:var(--nzic-ink); font-size:22px; position:absolute; right:6px; top:7px; padding:4px; }
.nzic-navigation :is(a,summary):focus-visible,.nzic-sidebar-account a:focus-visible { outline:2px solid var(--nzic-gold); outline-offset:3px; }
.nzic-app :is(.card,.custom-card) { border:1px solid var(--nzic-ink); border-radius:11px; box-shadow:5px 7px 0 #313a46; }
.nzic-app .nzic-stat-card:hover { box-shadow:5px 7px 0 #313a46; border-color:var(--nzic-ink); }
.nzic-app :is(.card-header,.card-footer) { border:0; border-bottom:1px dashed var(--nzic-rule); }
.nzic-app :is(.card-header .card-title,.card-header h2) { font-family:Lexend,sans-serif; font-size:18px!important; font-weight:600!important; border-bottom:2px dashed var(--nzic-rule); padding-bottom:5px; line-height:1.5; }
.nzic-app :is(.nzic-tool-row,.nzic-connection-link) { border-bottom-style:dashed; }
.nzic-app :is(.btn,.form-control,.form-select) { border:1px solid var(--nzic-ink); border-radius:5px; box-shadow:3px 3px 0 #313a4629; }
.nzic-app .btn { position:relative; }
.nzic-app :is(.btn,.nzic-page-search,.nzic-profile-button):active { transform:translateY(1px); box-shadow:none!important; }
.nzic-app .btn > .nzic-action-icon { display:inline-block; margin-right:7px; vertical-align:-1px; font-size:16px; }
.nzic-app .btn-close { box-shadow:none; }
.nzic-app .page-header-breadcrumb,.nzic-dashboard-heading { margin:0 0 27px!important; padding:0!important; align-items:flex-end!important; }
.nzic-page-heading-copy { min-width:0; flex:1; }
.nzic-app .page-header-breadcrumb .page-title,.nzic-dashboard-heading h1 { font-size:28px!important; font-weight:700!important; letter-spacing:-.015em; line-height:1.3; margin:8px 0!important; }
.nzic-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:11px; color:#74766e; margin:0 0 7px; }
.nzic-breadcrumb .nzic-current-page { color:#78672e; }
.nzic-app .page-header-breadcrumb p,.nzic-page-description { font-size:14px!important; line-height:1.6; margin:0!important; color:#77796f; }
.nzic-page-description { max-width:850px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nzic-app .nzic-stat-number { font-variant-numeric:tabular-nums; }
.nzic-switcher { width:min(620px,calc(100vw - 32px)); max-height:min(660px,85dvh); margin:12vh auto auto; border:1px solid var(--nzic-ink); border-radius:12px; padding:0; color:var(--nzic-ink); background:#fcfbf7; box-shadow:7px 9px 0 #11131a; }
.nzic-switcher::backdrop { background:#17191f99; }
.nzic-switcher-heading { display:flex; justify-content:space-between; align-items:center; padding:19px 21px 14px; }
.nzic-switcher-heading h2 { font-size:18px; font-weight:600; margin:0; }
.nzic-switcher-close { border:0; background:transparent; font-size:22px; color:inherit; }
.nzic-switcher-input { margin:0 20px 14px; display:flex; align-items:center; gap:10px; border:1px solid var(--nzic-ink); border-radius:5px; background:#fff; padding:0 12px; box-shadow:3px 3px 0 #ded8c7; }
.nzic-switcher-input input { min-width:0; flex:1; height:46px; padding:0; border:0; outline:0; background:transparent; font-size:14px; }
.nzic-switcher-input:focus-within { outline:2px solid #8c7840; outline-offset:2px; }
#pageSwitcherResults { padding:8px 14px; margin:0; list-style:none; max-height:350px; overflow:auto; border-top:1px dashed var(--nzic-rule); }
#pageSwitcherResults li { padding:0; margin:3px 0; }
#pageSwitcherResults a { display:flex; gap:12px; align-items:center; min-height:44px; padding:10px; border:1px solid transparent; border-radius:5px; color:inherit; }
#pageSwitcherResults [aria-selected=true] a { border-color:var(--nzic-ink); background:#efe9d9; }
#pageSwitcherResults i { font-size:19px; }
.nzic-switcher-section { margin-left:auto; font-size:10px; color:#77766d; }
.nzic-switcher-help { padding:13px 20px; display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; border-top:1px dashed var(--nzic-rule); font-size:10px; color:#77766d; }
.nzic-switcher-empty { padding:25px 20px; margin:0; text-align:center; }
@media(min-width:1800px) { body,body.nzic-app :is(.form-control,.form-select,.btn,.table,.dropdown-menu) { font-size:15px; } }
@media(min-width:2400px) { .nzic-app .app-topbar .topbar-menu { padding-inline:40px; } .nzic-app .page-content { padding-inline:40px!important; } }
@media(min-width:768px) and (max-width:999.98px) {
  .nzic-app .nzic-sidebar { width:72px!important; overflow:visible; }
  .nzic-app .page-content { margin-left:72px!important; padding-inline:24px!important; }
  .nzic-app .app-topbar { left:72px; }
  .nzic-app .nzic-footer { margin-left:72px!important; }
  .nzic-sidebar-brand { padding:0; }
  .nzic-full-logo { display:none; }
  .nzic-brand-monogram { display:block; }
  .nzic-navigation { padding:18px 9px; }
  .nzic-nav-link,.nzic-nav-group > summary { width:52px; padding:10px 15px; gap:0; }
  .nzic-navigation > .nzic-nav-link .nzic-nav-label,.nzic-nav-group > summary .nzic-nav-label,.nzic-group-chevron { display:none; }
  .nzic-nav-group[open] .nzic-submenu { position:fixed; left:80px; top:100px; width:235px; max-height:calc(100dvh - 120px); overflow:auto; padding:10px; margin:0; border:1px solid #41434a; border-radius:8px; background:#25262e; box-shadow:4px 5px 0 #17191f; z-index:1100; }
  .nzic-sidebar-scroll { overflow:visible; }
  .nzic-sidebar-bottom { padding:12px 14px; }
  .nzic-assistant-badge { display:none; }
  .nzic-sidebar-account { flex-direction:column; padding-top:14px; margin-top:0; }
  .nzic-sidebar-user,.nzic-sidebar-account > a span { display:none; }
  .nzic-sidebar-account > a i { display:block; font-size:20px; }
  .nzic-page-search { width:44px; padding:0; justify-content:center; }
  .nzic-page-search span,.nzic-page-search kbd { display:none; }
  .nzic-header-title { max-width:340px; }
}
@media(min-width:1000px) and (max-width:1299.98px) { .nzic-page-search { width:240px; } .nzic-profile-copy { display:none; } .nzic-header-title { max-width:220px; } }
@media(max-width:767.98px) {
  .nzic-app .page-content { margin-left:0!important; padding:107px 16px 24px!important; }
  .nzic-app .app-topbar { left:0; }
  .nzic-app .app-topbar .topbar-menu { padding:14px 16px; gap:10px; }
  .nzic-app .nzic-footer { margin-left:0!important; padding-inline:16px; }
  .nzic-app .nzic-sidebar { transform:translateX(-100%)!important; transition:transform .18s; width:250px!important; }
  html.sidebar-enable .nzic-app .nzic-sidebar { transform:translateX(0)!important; }
  .nzic-app .sidenav-toggle-button { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; flex:0 0 44px; padding:0; }
  .nzic-sidebar .button-close-fullsidebar { display:block!important; }
  .nzic-sidebar-brand img.nzic-full-logo { width:190px; }
  .nzic-header-leading { gap:9px; }
  .nzic-header-actions { gap:8px; }
  .nzic-title-card { padding:6px 8px; flex:1; }
  .nzic-title-card .nzic-eyebrow { font-size:10px; letter-spacing:.10em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .nzic-header-title { font-size:19px; max-width:135px; }
  .nzic-page-search { width:44px; height:44px; justify-content:center; padding:0; }
  .nzic-page-search span,.nzic-page-search kbd,.nzic-profile-copy,.nzic-profile-button > .ti-chevron-down { display:none; }
  .nzic-profile-button { padding:4px; height:44px; width:44px; }
  .nzic-profile-button .nzic-avatar { width:34px; height:34px; flex-basis:34px; }
  .nzic-app .page-header-breadcrumb .page-title,.nzic-dashboard-heading h1 { font-size:24px!important; }
  .nzic-page-description { white-space:normal; }
  .nzic-dashboard-heading > div:first-child { flex-basis:100%; }
  .nzic-switcher { margin-top:7vh; }
  .nzic-switcher-section { display:none; }
}
@media(prefers-reduced-motion:reduce) { .nzic-app .app-topbar::after { animation:none!important; } }

.nzic-app .page-header-breadcrumb > .d-flex { min-width:0; max-width:100%; }
.nzic-app .page-header-breadcrumb .breadcrumb[hidden] { display:none!important; }

@keyframes nzic-assistant-flow { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@media(prefers-reduced-motion:reduce) { .nzic-assistant-badge { animation:none!important; background-position:50% 50%; } }
