/* DELOR Business Space. Brand-led blue / yellow workspace. */
@font-face { font-family: Manrope; src: url('../fonts/Manrope-Variable.ttf') format('truetype'); font-weight: 200 800; font-style: normal; font-display: swap; }
:root {
  color-scheme: light;
  --delor-blue: #001774;
  --delor-yellow: #ffeb13;
  --delor-red: #e82a21;
  --ink: #001774;
  --muted: #6c7ba6;
  --line: #b9c8ea;
  --canvas: #e0e8fa;
  --surface: #f0f4ff;
  --green: #218164;
  --sidebar-width: 232px;
  --icon-fill: #e0e8fa;
  --bs-body-bg: #e0e8fa;
  --bs-body-color: #001774;
  --bs-secondary-color: #6c7ba6;
  --bs-tertiary-bg: #dae4fa;
  --bs-border-color: #b9c8ea;
  --bs-body-font-family: Manrope, 'Segoe UI', sans-serif;
  --bs-link-color: #001774;
  --bs-link-hover-color: #2949c2;
  --bs-emphasis-color: #001774;
}
body { background: var(--canvas); font-family: Manrope, 'Segoe UI', sans-serif; }
::selection { background: var(--delor-yellow); color: var(--delor-blue); }
* { scrollbar-width: thin; scrollbar-color: #9cafe0 transparent; }
button:focus-visible, a:focus-visible { outline: 3px solid #e82a21; outline-offset: 4px; }
.sidebar { background: var(--delor-blue); border: 0; padding: 30px 13px 16px; color: #f1f5ff; }
.brand { color: #fff; font-size: 27px; letter-spacing: .8px; gap: 8px; margin: 0 8px 35px; }
.brand:hover { color: #ffeb13; }
.brand-mark { width: 38px; height: 34px; }
.brand-caption { color: #a5b7ed; font-size: var(--type-small); letter-spacing: 2px; margin-top: 8px; }
.organization { background: #ffffff0d; border: 1px solid #ffffff20; color: #fff; border-radius: 13px; padding: 11px 9px; }
.organization strong { font-size: var(--type-small); }
.organization small { color: #a0b1e4; font-size: var(--type-small); }
.organization > .icon { color: #b0bfe9; width: 12px; }
.organization-icon { background: #ffffff15; color: #ffeb13; border-radius: 8px; width: 30px; height: 30px; }
.nav-caption { font-size: var(--type-small); letter-spacing: 1.4px; color: #7188c8; margin: 28px 12px 12px; }
.main-nav { gap: 6px; }
.nav-item { color: #b0bfea; font-size: var(--type-small); min-height: 43px; padding: 11px 11px; border-radius: 11px; gap: 10px; }
.nav-item .icon { width: 17px; height: 17px; color: #90a5df; }
.nav-item:hover { background: #ffffff0e; color: #fff; }
.nav-item.active { background: #ffeb13; color: #001774; box-shadow: 0 5px 20px #000e5718; }
.nav-item.active .icon { color: #001774; }
.nav-item.active::before { display: none; }
.nav-count { color: #91a5df; font-size: var(--type-small); }
.nav-new { color: #ffeb13; background: #ffffff12; border: 1px solid #ffffff16; border-radius: 6px; font-size: var(--type-small); }
.support-dot { background: #ffeb13; width: 4px; height: 4px; }
.sidebar-bottom { padding-top: 28px; }
.help-card { border: 1px solid #ffffff21; border-radius: 16px; background: #ffffff07; padding: 17px 13px; }
.help-card-icon { color: #ffeb13; }
.help-card strong { font-size: var(--type-small); font-weight: 650; color: #fff; }
.help-card p { color: #8ca2de; font-size: var(--type-small); }
.help-card a { color: #ffeb13; font-size: var(--type-small); }
.website-link { color: #a2b4e7; font-size: var(--type-small); }
.sidebar-footnote { color: #627ebc; font-size: var(--type-small); }
.topbar { height: 76px; background: transparent; border: 0; padding: 0 32px; }
.breadcrumb-line { color: #001774; font-size: var(--type-small); gap: 9px; }
.breadcrumb-line > span { color: #7484ad; }
.breadcrumb-line strong { font-weight: 650; }
.breadcrumb-line .icon { color: #93a5cd; }
.header-status { display: flex; align-items: center; gap: 6px; color: #4e649b; margin-left: auto; font-size: var(--type-small); letter-spacing: 1px; white-space: nowrap; }
.header-status .live-dot { background: #e82a21; width: 4px; height: 4px; }
.topbar-actions { gap: 14px; }
.search-trigger { background: #cdd9f2; border: 1px solid #bdcdee; border-radius: 100px; color: #506ba7; padding: 9px 12px; font-size: var(--type-small); }
.search-trigger > span { display: none; }
kbd { background: #e5ecfc; border: 0; border-radius: 4px; font-size: var(--type-small); color: #768ab6; margin-left: 2px; }
.topbar-divider { background: #bfcde9; }
.icon-button { color: #001774; border-radius: 50%; }
.icon-button:hover { background: #c5d3f3; color: #001774; }
.notification-dot { border-color: #e0e8fa; width: 6px; height: 6px; }
.avatar { background: #ffeb13; color: #001774; border-radius: 12px; width: 36px; height: 36px; font-size: var(--type-small); }
.user-details strong { font-size: var(--type-small); color: #001774; }
.user-details small { font-size: var(--type-small); color: #7c8bb3; }
.user-menu > .icon { color: #6179b0; width: 12px; }
main { padding: 20px 32px 0; max-width: 1600px; }
.page-heading { margin-bottom: 29px; align-items: flex-end; }
.eyebrow { font-size: var(--type-small); color: #6f82b0; letter-spacing: 1.7px; margin-bottom: 10px; }
h1 { color: #001774; font-size: 38px; font-weight: 700; line-height: 1.2; letter-spacing: -1.7px; word-spacing: .07em; }
.page-heading p { color: #6179a6; font-size: var(--type-small); margin-top: 9px; }
.page-heading-actions { gap: 11px; padding-bottom: 3px; }
.demo-label { border: 1px solid #b7c7e8; color: #8493b7; font-size: var(--type-small); border-radius: 5px; padding: 5px 7px; }
.period-select { width: 152px; font-size: var(--type-small); background-color: #cddbf6; color: #001774; border: 1px solid #b9caed; padding: 11px 30px 11px 13px; border-radius: 10px; }
.experience-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(270px,1fr); gap: 19px; align-items: stretch; margin-bottom: 20px; }
.network-board { position: relative; background: linear-gradient(140deg,#c8d7fa,#b4c7ef); border: 1px solid #b6c9f1; border-radius: 25px; padding: 24px 22px 16px; min-width: 0; display: flex; flex-direction: column; overflow: hidden; box-shadow: inset 0 1px 0 #ffffff75; }
.module-label { display: block; font-size: var(--type-small); font-weight: 650; letter-spacing: 1.5px; color: #596fa4; }
.network-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.network-heading h2 { font-size: 33px; font-weight: 700; letter-spacing: -1.3px; margin-top: 9px; color: #001774; }
.network-heading p { font-size: var(--type-small); color: #4e6da3; margin-top: 5px; }
.network-count { display: flex; flex-direction: column; align-items: flex-end; color: #001774; }
.network-count strong { font-size: 47px; letter-spacing: -2px; line-height: 1; font-weight: 500; }
.network-count > span { display: flex; align-items: center; gap: 5px; font-size: var(--type-small); margin-top: 7px; color: #6780ae; }
.network-count:hover { color: #2648b7; }
.network-toolbar { display: flex; align-items: center; justify-content: space-between; margin-top: 21px; position: relative; z-index: 2; }
.network-lenses { display: flex; gap: 3px; border: 1px solid #9fb5df; background: #abc0ea66; border-radius: 100px; padding: 3px; }
.network-lenses button { background: transparent; border: 0; color: #5d79b0; font-size: var(--type-small); border-radius: 100px; padding: 6px 12px; font-weight: 600; }
.network-lenses button.active { background: #001774; color: #fff; box-shadow: 0 2px 5px #00177418; }
.network-health { display: inline-flex; align-items: center; gap: 5px; color: #507397; font-size: var(--type-small); }
.network-health i { background: #218164; width: 4px; height: 4px; border-radius: 50%; }
.network-health b { font-weight: 600; }
.network-scene { position: relative; flex: 1; display: grid; align-items: center; margin: 0 -12px; }
.network-map { width: 100%; position: relative; aspect-ratio: 760 / 410; }
.network-graphic { width: 100%; height: 100%; position: absolute; inset: 0; overflow: visible; }
.office-label { font-family: Manrope,sans-serif; font-weight: 700; font-size: var(--type-small); fill: #001774; letter-spacing: 1px; }
.office-model { filter: drop-shadow(0 7px 8px #00177414); }
.network-route { fill: none; stroke: #698bcc; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; opacity: .4; transition: stroke .2s,opacity .2s; }
.network-route.is-selected { stroke: #001774; opacity: .8; stroke-width: 3.5; }
.network-packet { fill: none; stroke: #ffeb13; stroke-width: 3; stroke-dasharray: 12 600; stroke-linecap: round; animation: packet-flow 8s linear infinite; opacity: 0; transition: opacity .3s; }
[data-lens="connections"] .network-packet { opacity: 1; }
[data-lens="connections"] .network-route { stroke: #001774; opacity: .6; stroke-width: 2; }
.network-traffic-labels { opacity: 0; transition: opacity .3s; }
[data-lens="connections"] .network-traffic-labels { opacity: .7; }
.network-nodes { position: absolute; inset: 0; }
.network-node { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 72px; height: 82px; background: transparent; border: 0; padding: 0; color: #001774; transform: translate(-50%,-56%); cursor: pointer; z-index: 1; }
.network-node .station-model { display: block; width: 68px; height: 61px; overflow: visible; transition: transform .25s,filter .25s; }
.network-node > span { display: flex; align-items: center; gap: 4px; margin-top: -1px; font-size: var(--type-small); font-weight: 700; padding: 3px 6px; border-radius: 5px; color: #3c5a96; letter-spacing: .2px; white-space: nowrap; transition: color .25s,background .25s; }
.network-node > span i { width: 3px; height: 3px; background: #218164; border-radius: 50%; }
.network-node:hover .station-model,.network-node:focus-visible .station-model,.network-node.is-selected .station-model { transform: translateY(-7px); filter: drop-shadow(0 9px 7px #0017742c); }
.network-node.is-selected .station-plinth { fill: #ffeb13; }
.network-node.is-selected > span { background: #001774; color: #fff; }
.network-node.is-selected > span i { background: #ffeb13; }
.network-inspector { display: flex; align-items: center; gap: 10px; background: #eaf1ff96; border: 1px solid #ecf3ff66; border-radius: 14px; padding: 12px; position: relative; z-index: 2; min-height: 57px; }
.inspector-status { width: 7px; height: 7px; border-radius: 50%; background: #218164; box-shadow: 0 0 0 4px #2181640d; margin: 0 3px; flex-shrink: 0; }
.network-inspector > div { min-width: 0; flex: 1; }
.network-inspector strong { display: block; font-size: var(--type-small); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.network-inspector small { display: block; color: #7790b5; font-size: var(--type-small); margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inspector-caption { display: none; color: #8396b8; font-size: var(--type-small); text-align: right; width: 96px; }
.network-inspector button { display: grid; place-items: center; width: 33px; height: 33px; border: 0; border-radius: 50%; background: #001774; color: #ffeb13; flex-shrink: 0; }
.network-inspector button .icon { width: 17px; height: 17px; }
.network-inspector button:hover { background: #2243ac; }
.business-widgets { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.loyalty-pass { position: relative; border-radius: 25px; background: #ffeb13; color: #001774; padding: 21px 24px; overflow: hidden; flex: 1; isolation: isolate; }
.loyalty-pass::before { content: ''; position: absolute; z-index: -1; right: -85px; top: 82px; width: 320px; height: 320px; border: 1px solid #0017740c; box-shadow: 0 0 0 29px #00177404,0 0 0 30px #00177406,0 0 0 59px #00177403; transform: rotate(-22deg); border-radius: 60px; }
.pass-topline { display: flex; justify-content: space-between; align-items: center; }
.loyalty-pass .module-label { color: #786f10; font-size: var(--type-small); }
.round-link { width: 31px; height: 31px; border: 1px solid #0017743b; border-radius: 50%; display: grid; place-items: center; color: #001774; }
.round-link .icon { width: 15px; height: 15px; transform: rotate(-40deg); }
.round-link:hover { background: #001774; color: #ffeb13; }
.loyalty-pass h2 { font-size: 27px; line-height: 1.13; font-weight: 700; letter-spacing: -.9px; margin-top: 11px; word-spacing: .07em; }
.loyalty-card-stack { position: relative; width: min(100%,280px); height: 175px; margin: 0 auto 2px; perspective: 900px; }
.plastic-card { position: absolute; border-radius: 12px; width: 224px; height: 135px; box-shadow: 0 15px 16px #45508b32, inset 0 1px 0 #ffffff33; transition: transform .5s; }
.plastic-card-back { left: 29px; top: 22px; transform: rotate(12deg); background: #e82a21; color: #fff; overflow: hidden; border: 1px solid #ed665b; }
.plastic-card-back::after { content: ''; position: absolute; top: 40px; width: 100%; height: 28px; background: #a82621; }
.plastic-card-back span { position: absolute; font-size: var(--type-small); font-weight: 800; letter-spacing: 1px; top: 12px; left: 16px; }
.plastic-card-back i { position: absolute; right: -27px; bottom: -34px; width: 125px; height: 125px; border: 1px solid #ffffff29; border-radius: 50%; }
.plastic-card-front { background: linear-gradient(125deg,#001774 5%,#1640b5 75%,#294ec9); color: white; padding: 15px 16px; top: 33px; left: 8px; transform: rotate(-10deg); border: 1px solid #243f97; overflow: hidden; }
.plastic-card-front::after { content: ''; position: absolute; right: -66px; top: -36px; width: 180px; height: 180px; border: 1px solid #ffffff0e; border-radius: 48px; transform: rotate(-12deg); box-shadow: 0 0 0 18px #ffffff03,0 0 0 19px #ffffff07; }
.plastic-brand { display: flex; align-items: center; justify-content: space-between; font-size: var(--type-body); font-weight: 800; letter-spacing: 1px; }
.plastic-brand span { color: #b4c8f4; font-size: var(--type-small); letter-spacing: 2px; font-weight: 400; }
.plastic-chip { display: flex; align-items: center; width: 25px; height: 19px; border-radius: 4px; background: linear-gradient(135deg,#ffef74,#d9bd52); border: 1px solid #dcc66b; margin-top: 9px; overflow: hidden; }
.plastic-chip i { width: 10px; height: 10px; border: .5px solid #8d813f99; border-radius: 3px; }
.plastic-number { display: block; margin-top: 8px; font-family: monospace; font-size: var(--type-small); letter-spacing: .6px; color: #d1ddfb; }
.plastic-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 5px; font-size: var(--type-small); letter-spacing: 1px; color: #adc4f7; }
.plastic-bottom svg { width: 26px; height: 21px; }
.loyalty-pass:hover .plastic-card-front { transform: rotate(-13deg) translateY(-5px); }
.loyalty-pass:hover .plastic-card-back { transform: rotate(16deg) translateY(1px); }
.pass-metrics { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: -2px; }
.pass-metrics .stat-value { font-size: 42px; font-weight: 600; line-height: 1; letter-spacing: -1.9px; margin: 0; color: #001774; white-space: nowrap; }
.pass-metrics .stat-value span { color: #706816; font-size: var(--type-small); font-weight: 500; letter-spacing: 0; margin-left: 7px; }
.pass-growth { color: #001774; font-size: var(--type-small); font-weight: 700; border: 1px solid #00177438; border-radius: 100px; padding: 6px 9px; white-space: nowrap; }
.pass-caption { font-size: var(--type-small); color: #837820; margin-top: 8px; }
.account-pod { display: grid; grid-template-columns: 1.5fr 1fr; border: 1px solid #b5c8eb; border-radius: 22px; background: #cad8f4; padding: 18px 19px; }
.account-pod a { display: flex; flex-direction: column; color: #001774; min-width: 0; }
.account-pod a > span { display: flex; align-items: center; justify-content: space-between; color: #6f83b0; font-size: var(--type-small); }
.account-balance { padding-right: 17px; }
.account-pod a strong { font-size: 26px; font-weight: 600; letter-spacing: -.7px; margin-top: 9px; white-space: nowrap; }
.account-pod a strong > small { font-size: var(--type-small); margin-left: 3px; font-weight: 500; color: #7a90ba; letter-spacing: 0; }
.account-pod a > small { font-size: var(--type-small); margin-top: 7px; color: #608277; }
.account-services { border-left: 1px solid #aebfe3; padding-left: 16px; }
.account-services > small { color: #a5653e !important; }
.account-pod a:hover strong { color: #2f51bf; }
.workflow-strip { display: grid; grid-template-columns: .78fr 1fr 1fr 1.13fr; border-bottom: 1px solid #b9cae8; padding: 2px 0 22px; margin-bottom: 25px; gap: 12px; }
.workflow-title { display: flex; align-items: center; gap: 9px; font-size: var(--type-small); color: #7c8caf; }
.workflow-title .icon { width: 16px; }
.workflow-strip a,.workflow-strip button { display: flex; align-items: center; gap: 9px; border: 0; background: transparent; padding: 0; text-align: left; color: #001774; }
.workflow-icon { display: grid; place-items: center; width: 33px; height: 33px; color: #4f6aab; border: 1px solid #b6c8ec; background: #d1ddf5; border-radius: 10px; flex-shrink: 0; }
.workflow-icon .icon { width: 15px; height: 15px; }
.workflow-strip strong { display: block; font-size: var(--type-small); font-weight: 650; }
.workflow-strip small { display: block; font-size: var(--type-small); color: #657da5; margin-top: 4px; }
.workflow-strip b { margin-left: 5px; font-size: var(--type-small); padding: 3px 6px; background: #001774; color: #ffeb13; border-radius: 5px; }
.workflow-strip button > .icon { width: 11px; margin-left: auto; color: #8397bf; }
.workflow-strip a:hover strong,.workflow-strip button:hover strong { color: #e82a21; }
.analytics-row { margin-bottom: 21px; --bs-gutter-x: 19px; --bs-gutter-y: 19px; }
.panel { background: #edf2fc; border: 1px solid #c2d1ee; border-radius: 21px; box-shadow: inset 0 1px 0 #ffffff50; }
.panel-heading { padding: 23px; }
.panel-heading h2,.finance-summary h2,.settings-panel h2,.company-contact h2 { font-size: 17px; color: #001774; font-weight: 700; letter-spacing: -.5px; }
.panel-heading p { color: #6178a3; font-size: var(--type-small); margin-top: 5px; }
.text-link { color: #5875af; font-size: var(--type-small); }
.text-link:hover { color: #e82a21; }
.section-index { display: block; font-size: var(--type-small); letter-spacing: 1.4px; color: #91a8df; margin-bottom: 8px; }
.pulse-panel { position: relative; background: #001774; color: #fff; border-color: #001774; min-height: 284px; overflow: hidden; }
.pulse-panel .panel-heading { padding-bottom: 12px; }
.pulse-panel h2 { color: #fff; font-size: 19px; }
.chart-open { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #ffffff28; border-radius: 50%; color: #ffeb13; }
.chart-open .icon { width: 16px; height: 16px; transform: rotate(-40deg); }
.chart-open:hover { color: #001774; background: #ffeb13; }
.chart-summary { display: flex; align-items: center; justify-content: space-between; padding: 0 23px; gap: 10px; }
.chart-summary > div { display: flex; align-items: baseline; gap: 10px; }
.chart-summary strong { color: #fff; font-size: 34px; letter-spacing: -1px; font-weight: 500; }
.chart-summary div > span { color: #96ace0; font-size: var(--type-small); }
.chart-growth { color: #ffeb13; background: #ffffff0d; border: 1px solid #ffffff1a; border-radius: 100px; padding: 5px 9px; font-size: var(--type-small); }
.loyalty-chart { padding: 3px 23px 20px; }
.loyalty-chart svg { display: block; width: 100%; height: 117px; overflow: visible; }
.chart-axis { display: flex; justify-content: space-between; font-size: var(--type-small); color: #849ccd; margin-top: 8px; }
.attention-panel { position: relative; background: #f6f1c0; border: 1px solid #e1d9a0; padding: 21px 23px; border-radius: 21px; height: 100%; min-height: 284px; color: #001774; overflow: hidden; }
.attention-top { margin-bottom: 13px; }
.attention-icon { background: #ffeb13; color: #001774; border-radius: 9px; width: 30px; height: 30px; }
.attention-top .soft-badge { background: none; border: 0; padding: 0; color: #918552; font-size: var(--type-small); }
.attention-panel h3 { font-size: 21px; font-weight: 600; line-height: 1.18; letter-spacing: -.6px; color: #001774; }
.attention-panel > p { color: #9a8c63; font-size: var(--type-small); margin-top: 7px; }
.renewal-date { align-items: baseline; justify-content: space-between; margin: 18px 0; }
.renewal-date strong { font-size: 19px; color: #001774; font-weight: 650; letter-spacing: -.7px; }
.renewal-date span { font-size: var(--type-small); color: #9f915f; }
.attention-panel .btn { border: 0; background: #001774; color: #ffeb13; font-size: var(--type-small); border-radius: 9px; padding: 10px 12px; }
.attention-panel .btn:hover { background: #2341a2; color: #fff; }
.content-row { --bs-gutter-x: 19px; --bs-gutter-y: 19px; }
.products-panel { background: transparent; border: 0; box-shadow: none; }
.products-panel > .panel-heading { padding: 7px 0 20px; }
.product-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.product-row { position: relative; display: flex; align-items: flex-start; flex-direction: column; gap: 12px; border: 1px solid #b9caeb; border-radius: 17px; background: #cfddf7; padding: 18px; min-height: 167px; transition: transform .2s,background .2s; overflow: hidden; }
.product-row:nth-child(2) { background: #d2dcf6; }
.product-row:nth-child(3) { background: #d9e2f5; }
.product-row:nth-child(4) { background: #c8daf1; }
.product-row:hover { transform: translateY(-3px); background: #e3ecff; }
.product-icon { background: #001774; color: #ffeb13; border-radius: 10px; width: 36px; height: 36px; border: 0; }
.product-icon.violet,.product-icon.amber,.product-icon.teal { color: #001774; background: #e7eefc; border: 1px solid #b5c9f1; }
.product-row .product-info { min-width: 0; flex: initial; }
.product-info strong { font-size: var(--type-body); font-weight: 700; letter-spacing: -.2px; color: #001774; }
.product-info small { font-size: var(--type-small); color: #647ea9; margin-top: 5px; }
.product-status { display: flex; gap: 8px; align-items: center; text-align: left; margin: auto 0 0; flex-wrap: wrap; }
.product-status small { color: #8798ba; font-size: var(--type-small); margin: 0; }
.product-open { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 29px; height: 29px; color: #6f88bb; border: 1px solid #abc0e6; border-radius: 50%; background: #ffffff20; }
.product-open .icon { width: 13px; height: 13px; }
.product-open:hover { background: #001774; color: #ffeb13; }
.connect-product { margin-top: 12px; border: 1px dashed #99b0df; border-radius: 13px; background: #d6e2f7; color: #001774; font-size: var(--type-small); padding: 17px 18px; }
.connect-product > span { color: #8396bb; font-size: var(--type-small); }
.connect-product:hover { background: #c1d2f5; color: #001774; }
.activity-panel { height: 100%; background: #e8effc; }
.activity-panel .panel-heading { padding: 24px 20px; }
.activity-panel h2 { font-size: var(--type-body); }
.activity-timeline { padding: 0 20px; gap: 23px; }
.activity-icon { border-radius: 10px; width: 30px; height: 30px; }
.activity-icon .icon { width: 14px; height: 14px; }
.activity-icon.blue { background: #cbd9f5; color: #001774; }
.activity-icon.green { background: #d7e5e1; color: #488875; }
.activity-icon.violet { background: #dedff4; color: #536da2; }
.activity-item:not(:last-child)::before { background: #c3d2eb; left: 14px; }
.activity-item strong { font-size: var(--type-small); font-weight: 650; color: #001774; }
.activity-item p { font-size: var(--type-small); color: #8194b7; }
.activity-item a { font-size: var(--type-small); color: #001774; }
.activity-item small { font-size: var(--type-small); color: #9aaccb; }
.activity-all { color: #647dab; border-color: #cad7ef; font-size: var(--type-small); padding: 17px 20px; }
.soft-badge { border-radius: 5px; font-size: var(--type-small); font-weight: 600; padding: 4px 6px; }
.soft-badge.green { color: #4f8575; background: #d4e5dd; border: 1px solid #c5dcd1; }
.soft-badge.blue { color: #5474ab; background: #d5e1f7; border: 1px solid #c7d5ee; }
.soft-badge.amber { color: #9a7a35; background: #eee7c1; border: 1px solid #ded6aa; }
.soft-badge.gray { color: #8797b8; background: #dfe7f5; border: 1px solid #d2dced; }
.soft-badge.red { color: #ba625a; background: #f3dfdc; border: 1px solid #e9d1cd; }
.table { --bs-table-bg: transparent; --bs-table-color: #526b9d; --bs-table-border-color: #d2def0; }
.table th { background: #dae5f7; color: #7d92b7; font-size: var(--type-small); }
.table td { font-size: var(--type-small); color: #637fa9; padding-top: 17px; padding-bottom: 17px; }
.table td strong { color: #001774; font-size: var(--type-small); font-weight: 650; }
.table-subtitle { color: #6b81a8; font-size: var(--type-small); }
.file-icon { color: #e82a21; background: #e8e6ec; border: 1px solid #dbdbea; border-radius: 6px; font-size: var(--type-small); }
.download-button { color: #001774; background: #d3dff5; border-color: #bbcdef; border-radius: 9px; }
.download-button:hover { background: #ffeb13; color: #001774; }
.workspace-footer { color: #8c9dbc; font-size: var(--type-small); margin-top: 10px; padding: 25px 0; }
.workspace-footer .status-dot { background: #748f80; width: 4px; height: 4px; }
.btn-primary { --bs-btn-bg: #001774; --bs-btn-border-color: #001774; --bs-btn-color: #ffeb13; --bs-btn-hover-bg: #2344ac; --bs-btn-hover-border-color: #2344ac; --bs-btn-hover-color: #fff; --bs-btn-active-bg: #00105a; --bs-btn-active-border-color: #00105a; --bs-btn-active-color: #ffeb13; --bs-btn-disabled-bg: #001774; --bs-btn-disabled-border-color: #001774; border-radius: 9px; }
.btn-yellow { background: #ffeb13; color: #001774; border-color: #ffeb13; border-radius: 9px; }
.btn-yellow:hover { background: #fff36b; color: #001774; border-color: #fff36b; }
.btn-outline-primary { --bs-btn-color: #001774; --bs-btn-border-color: #9fb5df; --bs-btn-hover-bg: #001774; --bs-btn-hover-color: #ffeb13; --bs-btn-hover-border-color: #001774; --bs-btn-active-bg: #001774; --bs-btn-active-color: #ffeb13; border-radius: 9px; }
.btn-light { background: #dae5f9; border-color: #c5d5f0; color: #506ca5; border-radius: 9px; }
.btn-light:hover { background: #c1d3f5; color: #001774; border-color: #abc2ec; }
.btn-outline-secondary { color: #657eaf; border-color: #aebfe1; border-radius: 9px; }
.btn-outline-secondary:hover { color: #fff; background: #657eaf; }
.growth { color: #36866e; }
.text-amber { color: #a68146; }
.status-dot.green { background: #4e9d7b; }
.filter-tabs { background: #c9d9f4; border-color: #b4c8ec; border-radius: 11px; }
.filter-tabs button { color: #6884b7; border-radius: 8px; }
.filter-tabs button.active { background: #001774; color: #ffeb13; }
.toolbar-note { color: #7a91b8; }
.station-card,.subscription-card { background: #d4e0f7; border-color: #baccf0; }
.station-card h2,.subscription-card h2 { color: #001774; font-size: 17px; }
.station-address,.subscription-card > p { color: #6480a9; }
.station-card-bottom { border-color: #bfcfeb; color: #8198bf; }
.station-card-bottom button { color: #001774; }
.subscription-price { color: #001774; font-weight: 600; }
.subscription-price > span { color: #8b9ec2; }
.subscription-date { border-color: #b8caeb; color: #8096bd; }
.subscription-date strong { color: #3c5e9f; }
.auto-renew { color: #6f88b3; }
.form-control,.form-select { background-color: #e4edff; border-color: #b0c6ee; color: #001774; border-radius: 10px; }
.form-control::placeholder { color: #8a9dc2; }
.form-control:focus,.form-select:focus { background-color: #eff4ff; color: #001774; border-color: #577bbe; box-shadow: 0 0 0 3px #0017740d; }
.form-label { color: #486395; }
.form-check-input { background-color: #d8e4fb; border-color: #a8bee5; }
.form-check-input:checked { background-color: #001774; border-color: #001774; }
.input-search { background: #e0eaff; border-color: #b5caee; border-radius: 10px; }
.input-search input { color: #001774; }
.input-search input::placeholder { color: #859ec8; }
.input-search .icon { color: #6785b9; }
.document-filters,.table-footer { border-color: #d2def2; }
.table-footer { color: #8498ba; }
.form-panel,.settings-panel,.company-contact,.finance-summary { background: #eaf0fc; }
.contact-avatar { background: #ffeb13; color: #001774; border-radius: 20px; }
.company-contact p,.contact-detail small { color: #6d82aa; }
.contact-detail strong { color: #365b99; }
.contact-detail { border-color: #d1dff1; }
.info-note { color: #7993bf; background: #d4e1fa; border-color: #c0d0ee; border-radius: 12px; }
.info-note .icon { color: #6a88bd; }
.expense-line { border-color: #c8d8f1; color: #859bc0; }
.expense-line strong { color: #001774; }
.ticket-row { border-color: #d0dcf0; }
.ticket-row strong { color: #001774; }
.ticket-row small { color: #869ec5; }
.setting-row { border-color: #cddbef; }
.setting-row strong { color: #001774; }
.setting-row small,.settings-panel > p { color: #859dc2; }
.modal-content,.dropdown-menu { background: #eef3ff; color: #001774; border: 1px solid #a9c0eb; border-radius: 20px; box-shadow: 0 20px 65px #00177430; }
.modal-header,.modal-footer { border-color: #d2dff5; }
.modal-header { padding: 22px 25px; }
.modal-body { padding: 22px 25px; }
.modal-footer { padding: 18px 25px; }
.modal-backdrop { --bs-backdrop-bg: #001774; --bs-backdrop-opacity: .25; }
.notification-entry { border-color: #d9e4f7; }
.notification-entry small { color: #6983ac; }
.notification-menu { border-radius: 16px; }
.search-results a { color: #4e71ad; }
.search-results a:hover { background: #d9e6ff; color: #001774; }
.toast { background: #001774; color: #fff; border-color: #4561a7; border-radius: 13px; }
.toast-symbol { color: #ffeb13; }
.toast .btn-close { filter: invert(1); }
.text-muted { color: #879dc1 !important; }
.loyalty-banner,.balance-panel,.support-contact { background: #001774; color: #fff; border-radius: 23px; }
.loyalty-banner h2,.balance-panel h2,.support-contact h2 { color: #fff; }
.loyalty-banner p,.balance-panel p,.support-contact p { color: #98b1e8; }
.loyalty-banner .btn { color: #001774; background: #ffeb13; border-color: #ffeb13; }
.loyalty-stats .stat-card { background: #ceddf8; border-color: #b9cdee; border-radius: 18px; }
.loyalty-stats .stat-value { color: #001774; }
.loyalty-stats .stat-top { color: #6b86b5; }
.loyalty-stats .stat-top .icon { color: #7293c4; }
.empty-state { color: #7795c0; }
@keyframes packet-flow { from { stroke-dashoffset: 612; } to { stroke-dashoffset: 0; } }
@media (min-width: 1450px) {
  :root { --sidebar-width: 236px; }
  .sidebar { padding: 35px 18px 20px; }
  .nav-item { font-size: var(--type-small); }
  .nav-caption { font-size: var(--type-small); }
  .organization strong { font-size: var(--type-small); }
  .organization small { font-size: var(--type-small); }
  main { padding: 26px 42px 0; }
  .topbar { padding: 0 42px; }
  h1 { font-size: 45px; }
  .page-heading p { font-size: var(--type-small); }
  .experience-grid { gap: 24px; }
  .network-board { padding: 28px 27px 20px; }
  .network-heading h2 { font-size: 38px; }
  .network-heading p { font-size: var(--type-small); }
  .network-count strong { font-size: 58px; }
  .network-count > span { font-size: var(--type-small); }
  .module-label { font-size: var(--type-small); }
  .network-lenses button { font-size: var(--type-small); padding: 8px 15px; }
  .network-health { font-size: var(--type-small); }
  .network-inspector strong { font-size: var(--type-small); }
  .network-inspector small { font-size: var(--type-small); }
  .inspector-caption { display: inline; }
  .loyalty-pass { padding: 25px 29px; }
  .loyalty-pass h2 { font-size: 33px; }
  .loyalty-card-stack { height: 218px; margin-top: 6px; width: 340px; }
  .plastic-card { width: 275px; height: 164px; border-radius: 15px; padding: 19px 20px; }
  .plastic-card-front { top: 35px; left: 12px; }
  .plastic-card-back { left: 48px; top: 23px; }
  .plastic-brand { font-size: 18px; }
  .plastic-brand span { font-size: var(--type-small); }
  .plastic-chip { margin-top: 14px; width: 31px; height: 23px; }
  .plastic-number { font-size: var(--type-small); margin-top: 9px; }
  .plastic-bottom { font-size: var(--type-small); margin-top: 9px; }
  .plastic-bottom svg { width: 32px; height: 25px; }
  .pass-metrics .stat-value { font-size: 51px; }
  .pass-growth { font-size: var(--type-small); padding: 7px 12px; }
  .pass-caption { font-size: var(--type-small); }
  .account-pod { padding: 22px 26px; }
  .account-pod a strong { font-size: 32px; }
  .account-pod a > span { font-size: var(--type-small); }
  .account-pod a > small { font-size: var(--type-small); }
  .workflow-strip strong { font-size: var(--type-small); }
  .workflow-strip small { font-size: var(--type-small); }
  .workflow-title { font-size: var(--type-small); }
  .product-info strong { font-size: var(--type-body); }
  .product-info small { font-size: var(--type-small); }
  .product-status small { font-size: var(--type-small); }
  .soft-badge { font-size: var(--type-small); }
  .activity-item strong { font-size: var(--type-small); }
  .activity-item p { font-size: var(--type-small); }
  .activity-item a { font-size: var(--type-small); }
  .activity-item small { font-size: var(--type-small); }
  .table td { font-size: var(--type-small); }
  .table td strong { font-size: var(--type-small); }
  .table th,.table-subtitle { font-size: var(--type-small); }
}
@media (max-width: 1199px) {
  :root { --sidebar-width: 216px; }
  .nav-item { font-size: var(--type-small); }
  main { padding: 20px 23px 0; }
  .topbar { padding: 0 23px; }
  .header-status { display: none; }
  h1 { font-size: 34px; }
  .experience-grid { grid-template-columns: minmax(0,1.45fr) minmax(260px,1fr); gap: 15px; }
  .network-board { padding: 21px 18px 15px; }
  .network-heading h2 { font-size: 29px; }
  .network-heading p { font-size: var(--type-small); max-width: 180px; line-height: 1.6; }
  .network-node { width: 62px; height: 74px; }
  .network-node .station-model { width: 58px; height: 54px; }
  .loyalty-pass { padding: 20px; }
  .loyalty-pass h2 { font-size: 24px; }
  .pass-metrics .stat-value { font-size: 36px; }
  .pass-growth { font-size: var(--type-small); padding: 5px 7px; }
  .plastic-card { width: 196px; height: 121px; }
  .plastic-card-front { padding: 13px 15px; left: 5px; }
  .plastic-brand { font-size: var(--type-body); }
  .plastic-number { font-size: var(--type-small); }
  .loyalty-card-stack { height: 166px; max-width: 247px; }
  .account-pod { padding: 17px; }
  .account-pod a strong { font-size: 23px; }
  .account-balance { padding-right: 12px; }
  .account-services { padding-left: 12px; }
  .workflow-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .workflow-title { display: none; }
  .activity-timeline { flex-direction: column; }
  .activity-item { flex: initial; }
}
@media (max-width: 991px) {
  .sidebar { width: 236px; }
  .nav-item { font-size: var(--type-small); }
  .topbar { height: 69px; }
  main { padding-top: 22px; }
  h1 { font-size: 35px; }
  .experience-grid { grid-template-columns: minmax(0,1.6fr) minmax(250px,1fr); }
  .network-board { min-height: 436px; }
  .network-map { margin-top: 0; }
  .network-node { width: 59px; height: 66px; }
  .network-node .station-model { width: 57px; height: 51px; }
  .network-health { font-size: var(--type-small); gap: 4px; }
  .network-inspector strong { font-size: var(--type-small); }
  .network-inspector small { font-size: var(--type-small); }
  .attention-panel { display: block; min-height: 0; padding: 22px; }
  .attention-panel h3 br { display: none; }
  .attention-panel > p { display: block; }
  .attention-panel .btn { max-width: none; }
  .attention-top .soft-badge { display: inline-flex; }
  .activity-timeline { display: flex; flex-direction: row; gap: 20px; }
  .activity-item { flex: 1; }
}
@media (max-width: 767px) {
  main { padding: 23px 20px 0; }
  .topbar { padding: 0 18px; }
  .topbar-actions { gap: 12px; }
  h1 { font-size: 35px; letter-spacing: -1.5px; }
  .page-heading { flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
  .page-heading-actions { justify-content: space-between; width: 100%; }
  .demo-label { font-size: var(--type-small); }
  .period-select { width: 150px; }
  .experience-grid { grid-template-columns: 1fr; gap: 15px; }
  .network-board { padding: 24px 22px 17px; min-height: 0; border-radius: 23px; }
  .network-heading h2 { font-size: 33px; }
  .network-heading p { max-width: none; font-size: var(--type-small); }
  .network-count strong { font-size: 45px; }
  .network-toolbar { margin-top: 23px; }
  .network-lenses button { font-size: var(--type-small); padding: 7px 14px; }
  .network-health { font-size: var(--type-small); }
  .network-map { margin: 2px 0; }
  .network-node { width: 64px; height: 72px; }
  .network-node .station-model { width: 62px; height: 56px; }
  .network-node > span { font-size: var(--type-small); }
  .network-inspector { min-height: 60px; padding: 12px; }
  .network-inspector strong { font-size: var(--type-small); }
  .network-inspector small { font-size: var(--type-small); }
  .business-widgets { gap: 15px; }
  .loyalty-pass { padding: 22px 25px; border-radius: 23px; min-height: 354px; }
  .loyalty-pass h2 { font-size: 32px; }
  .loyalty-pass .module-label { font-size: var(--type-small); }
  .loyalty-card-stack { max-width: 290px; height: 178px; margin-top: -4px; }
  .plastic-card { width: 239px; height: 144px; }
  .plastic-card-front { padding: 16px 18px; top: 24px; }
  .plastic-card-back { top: 12px; left: 40px; }
  .plastic-brand { font-size: 16px; }
  .plastic-chip { margin-top: 10px; }
  .plastic-number { font-size: var(--type-small); margin-top: 9px; }
  .plastic-bottom { margin-top: 8px; }
  .pass-metrics .stat-value { font-size: 45px; }
  .pass-growth { font-size: var(--type-small); padding: 7px 11px; }
  .pass-caption { font-size: var(--type-small); }
  .account-pod { padding: 24px; border-radius: 20px; }
  .account-pod a strong { font-size: 31px; }
  .account-pod a > span { font-size: var(--type-small); }
  .account-pod a > small { font-size: var(--type-small); }
  .account-services { padding-left: 23px; }
  .workflow-strip { display: flex; flex-direction: column; gap: 17px; padding: 5px 0 26px; margin-top: 26px; }
  .workflow-title { display: flex; font-size: var(--type-small); }
  .workflow-strip a,.workflow-strip button { gap: 12px; }
  .workflow-strip strong { font-size: var(--type-small); }
  .workflow-strip small { font-size: var(--type-small); }
  .workflow-strip b { margin-left: auto; font-size: var(--type-small); padding: 4px 8px; }
  .workflow-icon { width: 39px; height: 39px; }
  .workflow-icon .icon { width: 18px; height: 18px; }
  .workflow-strip button > .icon { width: 16px; }
  .pulse-panel { min-height: 286px; }
  .pulse-panel h2 { font-size: 20px; }
  .chart-summary strong { font-size: 32px; }
  .chart-summary > div { flex-wrap: wrap; gap: 3px 8px; }
  .chart-summary div > span { font-size: var(--type-small); }
  .chart-growth { font-size: var(--type-small); }
  .loyalty-chart svg { height: 120px; }
  .attention-panel { min-height: 276px; }
  .attention-panel h3 { font-size: 27px; }
  .attention-panel > p { font-size: var(--type-small); }
  .renewal-date strong { font-size: 25px; }
  .renewal-date span { font-size: var(--type-small); }
  .attention-panel .btn { font-size: var(--type-small); padding: 13px; }
  .product-list { gap: 12px; }
  .product-row { min-height: 190px; padding: 17px; }
  .product-info strong { font-size: var(--type-small); line-height: 1.4; }
  .product-info small { font-size: var(--type-small); line-height: 1.6; }
  .product-status { gap: 6px; }
  .product-status small { font-size: var(--type-small); }
  .product-open { right: 13px; top: 17px; width: 26px; height: 26px; }
  .connect-product { font-size: var(--type-small); }
  .connect-product > span { display: none; }
  .panel-heading h2 { font-size: 19px; }
  .products-panel > .panel-heading { padding-top: 12px; }
  .activity-timeline { flex-direction: column; gap: 26px; }
  .activity-item strong { font-size: var(--type-body); }
  .activity-item p { font-size: var(--type-small); }
  .activity-item a { font-size: var(--type-small); }
  .activity-item small { font-size: var(--type-small); }
  .activity-all { font-size: var(--type-small); padding: 20px; }
  .soft-badge { font-size: var(--type-small); }
  .loyalty-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .loyalty-stats .stat-card { padding: 19px; }
}
@media (max-width: 479px) {
  main { padding: 22px 16px 0; }
  .topbar { padding: 0 12px; height: 64px; }
  .topbar-actions { gap: 7px; }
  .breadcrumb-line { font-size: var(--type-small); }
  .search-trigger { padding: 8px; }
  .search-trigger kbd { display: none; }
  .page-heading p { font-size: var(--type-small); }
  h1 { font-size: 33px; }
  .network-board { padding: 22px 17px 15px; }
  .network-heading h2 { font-size: 29px; }
  .network-heading p { max-width: 194px; font-size: var(--type-small); line-height: 1.6; }
  .network-count strong { font-size: 39px; }
  .network-count > span { font-size: var(--type-small); }
  .network-toolbar { margin-top: 20px; }
  .network-lenses button { font-size: var(--type-small); padding: 7px 11px; }
  .network-health { font-size: var(--type-small); }
  .network-node { width: 45px; height: 58px; }
  .network-node .station-model { width: 43px; height: 41px; }
  .network-node > span { font-size: var(--type-small); padding: 2px 4px; margin-top: -1px; }
  .network-node.is-selected .station-model { transform: translateY(-4px); }
  .network-inspector { gap: 6px; padding: 10px; }
  .network-inspector strong { font-size: var(--type-small); }
  .network-inspector small { font-size: var(--type-small); }
  .loyalty-pass { padding: 21px 23px; }
  .loyalty-pass h2 { font-size: 30px; }
  .pass-metrics .stat-value { font-size: 43px; }
  .account-pod { padding: 21px; }
  .account-pod a strong { font-size: 28px; }
  .account-pod a > span { font-size: var(--type-small); }
  .account-pod a > small { font-size: var(--type-small); }
  .account-services { padding-left: 20px; }
  .product-row { padding: 15px; min-height: 210px; }
  .product-icon { width: 31px; height: 31px; border-radius: 9px; }
  .product-icon .icon { width: 17px; height: 17px; }
  .product-info strong { font-size: var(--type-small); }
  .product-info small { font-size: var(--type-small); }
  .product-open { right: 12px; top: 16px; width: 23px; height: 23px; }
  .product-open .icon { width: 11px; }
  .product-status .soft-badge { font-size: var(--type-small); padding: 3px 5px; }
  .product-status small { font-size: var(--type-small); }
  .panel-heading { padding: 23px 20px; }
  .text-link { font-size: var(--type-small); }
  .chart-summary { padding: 0 20px; }
  .chart-summary strong { font-size: 30px; }
  .loyalty-chart { padding-left: 20px; padding-right: 20px; }
  .modal-body { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .network-packet { animation: none; }
  .network-node .station-model,.plastic-card,.product-row { transition: none; }
}
