:root,
html[data-theme="light"],
html[data-theme="dark"] {
  color-scheme: light;
  --primary: #111614;
  --secondary: #2f6b57;
  --accent: #cfff47;
  --header-bg: #101513;
  --header-color: #ffffff;
  --header-link-color: #dce5e0;
  --breadcrumbs-bg: #ffffff;
  --breadcrumbs-link-fg: #52645d;
  --body-bg: #f4f6f2;
  --body-fg: #18201d;
  --body-quiet-color: #69756f;
  --hairline-color: #e3e8e2;
  --border-color: #dce2dc;
  --link-fg: #285c4b;
  --link-hover-color: #102d24;
  --button-bg: #16201c;
  --button-hover-bg: #2c5f4f;
  --default-button-bg: #cfff47;
  --default-button-hover-bg: #b9e93d;
  --close-button-bg: #5d6662;
  --delete-button-bg: #b93838;
  --message-success-bg: #e4f3e9;
  --message-warning-bg: #fff2c7;
  --message-error-bg: #fce5e4;
  --halo-ink: #131916;
  --halo-green: #2f6b57;
  --halo-lime: #cfff47;
  --halo-paper: #f4f6f2;
  --halo-line: #e1e6e0;
  --halo-muted: #77827d;
  --halo-orange: #ff7448;
}

* { box-sizing: border-box; }
html, body { background: var(--halo-paper); }
body { color: var(--halo-ink); font-family: "Avenir Next", "Gill Sans", sans-serif; }
a { transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease; }

/* App chrome */
#header {
  min-height: 72px;
  padding: 0 28px;
  background: var(--halo-ink);
  border: 0;
  box-shadow: 0 1px 0 rgba(255,255,255,.08);
}
#branding { display: flex; align-items: center; min-width: 225px; }
.halo-brand { display: flex; align-items: center; gap: 12px; color: #fff !important; text-decoration: none; }
.halo-brand__mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--halo-ink);
  background: var(--halo-lime);
  border-radius: 10px;
  font: 900 20px/1 "Avenir Next Condensed", sans-serif;
  letter-spacing: -.06em;
}
.halo-brand strong, .halo-brand small { display: block; }
.halo-brand strong { font: 800 14px/1.1 "Avenir Next", sans-serif; letter-spacing: .08em; }
.halo-brand small { margin-top: 4px; color: #84918b; font-size: 8px; font-weight: 700; letter-spacing: .18em; }
.halo-status { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; color: #9eaaa4; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.halo-status i, .halo-live i { width: 7px; height: 7px; border-radius: 50%; background: #7be57c; box-shadow: 0 0 0 4px rgba(123,229,124,.12); }
#user-tools { display: flex; align-items: center; gap: 8px; margin-left: 26px; color: #99a49f; font-size: 10px; }
#user-tools a, #logout-form button { color: #d9e0dc; font-weight: 700; }
#user-tools a:hover, #logout-form button:hover { color: var(--halo-lime); }
.theme-toggle { display: none; }

/* Halo operation feedback */
.halo-toast-stack {
  position: fixed;
  z-index: 1000;
  top: 20px;
  right: 20px;
  display: grid;
  width: min(390px, calc(100vw - 32px));
  gap: 10px;
  pointer-events: none;
}
.halo-toast {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 28px;
  min-height: 76px;
  padding: 14px 13px;
  align-items: center;
  gap: 11px;
  overflow: hidden;
  color: #eaf0ec;
  background: rgba(16, 22, 19, .97);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 14px;
  box-shadow: 0 18px 54px rgba(7, 12, 9, .28);
  pointer-events: auto;
  backdrop-filter: blur(16px);
  animation: halo-toast-in .34s cubic-bezier(.2,.8,.2,1) both;
}
.halo-toast.is-leaving { animation: halo-toast-out .24s ease both; }
.halo-toast__icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #142017;
  background: var(--halo-lime);
  border-radius: 11px;
  font-size: 17px;
  font-weight: 900;
  box-shadow: 0 0 0 5px rgba(207,255,71,.07);
}
.halo-toast--error .halo-toast__icon { color: #fff; background: #e1584e; box-shadow: 0 0 0 5px rgba(225,88,78,.09); }
.halo-toast--warning .halo-toast__icon { background: #ffd400; }
.halo-toast__copy { min-width: 0; }
.halo-toast__copy strong, .halo-toast__copy small { display: block; }
.halo-toast__copy strong { color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .01em; }
.halo-toast__copy small { margin-top: 5px; color: #9eaaa4; font-size: 9px; line-height: 1.45; }
.halo-toast > button {
  display: grid;
  width: 28px;
  height: 28px;
  padding: 0;
  place-items: center;
  align-self: start;
  color: #78837d;
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}
.halo-toast > button:hover { color: #fff; background: rgba(255,255,255,.07); }
.halo-toast__timer { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--halo-lime); transform-origin: left; animation: halo-toast-timer 4.8s linear both; }
.halo-toast--error .halo-toast__timer { background: #e1584e; animation-duration: 7s; }

@keyframes halo-toast-in { from { opacity: 0; transform: translateY(-12px) scale(.975); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes halo-toast-out { to { opacity: 0; transform: translateX(22px) scale(.98); } }
@keyframes halo-toast-timer { from { transform: scaleX(1); } to { transform: scaleX(0); } }

div.breadcrumbs { padding: 12px 30px; background: #fff; border-bottom: 1px solid var(--halo-line); color: var(--halo-muted); }
.main { align-items: stretch; }
.content { min-width: 0; }
#content { max-width: none; padding: 30px 34px 54px; }
#content-main { float: none; width: 100%; }

/* Permanent marketplace navigation */
#nav-sidebar.halo-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex: 0 0 252px;
  width: 252px;
  height: calc(100vh - 72px);
  max-height: calc(100vh - 72px);
  flex-direction: column;
  overflow: hidden;
  color: #c8d0cc;
  background: #121815;
  border: 0;
}
.halo-sidebar__logo { display: flex; align-items: center; gap: 9px; margin: 20px 18px 4px; color: #f1f4f2 !important; text-decoration: none; }
.halo-sidebar__logo > span { display: grid; width: 27px; height: 27px; place-items: center; color: #141814; background: var(--halo-lime); border-radius: 7px; font: 900 14px/1 "Avenir Next Condensed", sans-serif; }
.halo-sidebar__logo strong { font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.halo-sidebar__logo i { width: 5px; height: 5px; margin-left: auto; background: #78dc78; border-radius: 50%; box-shadow: 0 0 0 4px rgba(120,220,120,.08); }
.halo-sidebar__workspace { display: flex; align-items: center; gap: 10px; margin: 18px 16px 12px; padding: 11px; background: #1c2420; border: 1px solid #29332e; border-radius: 12px; }
.halo-sidebar__workspace-mark { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; color: #121815; background: var(--halo-lime); border-radius: 8px; font-size: 10px; font-weight: 900; }
.halo-sidebar__workspace span:nth-child(2) { min-width: 0; flex: 1; }
.halo-sidebar__workspace small, .halo-sidebar__workspace strong { display: block; }
.halo-sidebar__workspace small { color: #6f7b75; font-size: 7px; font-weight: 900; letter-spacing: .13em; }
.halo-sidebar__workspace strong { margin-top: 3px; color: #f1f4f2; font-size: 11px; }
.halo-sidebar__chevron { color: #748078; font-size: 14px; }
.halo-sidebar__search { position: relative; display: flex; height: 36px; margin: 0 16px 5px; align-items: center; color: #68736d; background: #0d1210; border: 1px solid #27312c; border-radius: 8px; }
.halo-sidebar__search svg { width: 15px; height: 15px; margin-left: 10px; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.halo-sidebar__search input { min-width: 0; height: 100%; flex: 1; padding: 0 7px; color: #dfe4e1; background: transparent; border: 0; outline: 0; font-size: 9px; }
.halo-sidebar__search input::placeholder { color: #59645e; }
.halo-sidebar__search:focus-within { color: var(--halo-lime); border-color: #6f802f; }
.halo-sidebar__search kbd { margin-right: 7px; padding: 3px 5px; color: #68736d; background: #1c2420; border: 1px solid #2e3933; border-radius: 4px; font: 700 7px/1 "Avenir Next", sans-serif; }
.halo-sidebar__scroll { flex: 1; overflow: auto; padding: 0 12px 18px; scrollbar-width: thin; scrollbar-color: #34413a transparent; }
.halo-nav-group { margin-top: 20px; }
.halo-nav-group h2 { display: flex; align-items: center; gap: 7px; margin: 0 10px 7px; padding: 0; color: #67736d; background: none; font-size: 8px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.halo-nav-group h2 span { width: 5px; height: 5px; background: #56615c; border-radius: 50%; }
.halo-nav-group--hurt h2 span { background: var(--halo-lime); }
.halo-nav-group--retail h2 span { background: #7bb4ff; }
.halo-nav-group--salvage h2 span { background: var(--halo-orange); }
.halo-nav-group a { display: flex; align-items: center; gap: 10px; min-height: 38px; margin: 2px 0; padding: 6px 9px; color: #aeb8b3; border-radius: 8px; font-size: 11px; font-weight: 600; text-decoration: none; }
.halo-nav-group a:hover { color: #fff; background: #202a25; }
.halo-nav-group a.is-active { color: #121815; background: var(--halo-lime); font-weight: 800; }
.halo-nav-icon { display: grid; width: 24px; height: 24px; place-items: center; color: #6f7b75; background: #1c2420; border: 1px solid #2b3731; border-radius: 6px; font-size: 7px; font-weight: 900; letter-spacing: -.02em; }
.halo-nav-group a.is-active .halo-nav-icon { color: var(--halo-lime); background: var(--halo-ink); border-color: var(--halo-ink); }
.halo-sidebar__account { display: flex; align-items: center; gap: 10px; padding: 14px 18px; background: #0d1210; border-top: 1px solid #242d29; }
.halo-avatar { display: grid; width: 32px; height: 32px; place-items: center; color: #122018; background: #eef2ee; border-radius: 50%; font-size: 11px; font-weight: 900; }
.halo-sidebar__account strong, .halo-sidebar__account small { display: block; }
.halo-sidebar__account strong { max-width: 145px; overflow: hidden; color: #e1e7e3; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.halo-sidebar__account small { margin-top: 3px; color: #6f7b75; font-size: 8px; }

/* Dashboard */
.halo-dashboard { width: 100%; max-width: 1540px; margin: 0 auto; }
.halo-pagehead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 3px 0 28px; }
.halo-eyebrow { margin: 0 0 7px; color: #849089; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.halo-pagehead h1 { margin: 0; color: var(--halo-ink); font: 800 clamp(31px, 3vw, 42px)/1 "Avenir Next", sans-serif; letter-spacing: -.045em; }
.halo-pagehead p:not(.halo-eyebrow) { margin: 9px 0 0; color: var(--halo-muted); font-size: 12px; }
.halo-pagehead__actions { display: flex; align-items: center; gap: 9px; }
.halo-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 1px solid var(--halo-line); border-radius: 10px; font-size: 10px; font-weight: 800; text-decoration: none; cursor: pointer; }
.halo-btn--quiet { color: #43504a !important; background: #fff; }
.halo-btn--quiet:hover { border-color: #aeb9b3; }
.halo-btn--quiet b { display: grid; min-width: 18px; height: 18px; place-items: center; color: #fff; background: #e24e44; border-radius: 20px; font-size: 8px; }
.halo-btn--primary { color: var(--halo-ink) !important; background: var(--halo-lime); border-color: var(--halo-lime); }
.halo-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(78,104,35,.16); }
.halo-btn--primary span { font-size: 16px; line-height: 1; }
.halo-create { position: relative; }
.halo-create summary { list-style: none; }
.halo-create summary::-webkit-details-marker { display: none; }
.halo-create__menu { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; width: 190px; padding: 7px; background: #fff; border: 1px solid var(--halo-line); border-radius: 12px; box-shadow: 0 18px 50px rgba(27,38,33,.16); }
.halo-create__menu a { display: flex; align-items: center; gap: 9px; padding: 10px; color: #28332e; border-radius: 7px; font-size: 10px; font-weight: 700; text-decoration: none; }
.halo-create__menu a:hover { background: #f2f5f1; }
.halo-create__menu i { width: 7px; height: 7px; border-radius: 50%; background: var(--halo-lime); }
.halo-create__menu i.is-retail { background: #7bb4ff; }
.halo-create__menu i.is-salvage { background: var(--halo-orange); }

.halo-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.halo-kpi { position: relative; min-height: 142px; padding: 20px; overflow: hidden; background: #fff; border: 1px solid var(--halo-line); border-radius: 14px; box-shadow: 0 4px 18px rgba(30,45,37,.035); animation: halo-rise .46s ease both; }
.halo-kpi:nth-child(2) { animation-delay: .04s; }.halo-kpi:nth-child(3) { animation-delay: .08s; }.halo-kpi:nth-child(4) { animation-delay: .12s; }
.halo-kpi:after { content: ""; position: absolute; right: -28px; bottom: -36px; width: 92px; height: 92px; border: 16px solid #f4f6f2; border-radius: 50%; }
.halo-kpi__top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.halo-kpi__top span { color: #69766f; font-size: 10px; font-weight: 700; }
.halo-kpi__top i { display: grid; width: 28px; height: 28px; place-items: center; color: #63706a; background: #f1f4f0; border-radius: 8px; font-size: 11px; font-style: normal; font-weight: 900; }
.halo-kpi > strong { position: relative; z-index: 1; display: block; margin: 17px 0 9px; font: 800 28px/1 "Avenir Next", sans-serif; letter-spacing: -.05em; }
.halo-kpi > small { position: relative; z-index: 1; color: #8a958f; font-size: 9px; }
.halo-kpi > small b { color: #39725e; }
.halo-kpi--revenue { color: #fff; background: var(--halo-green); border-color: var(--halo-green); }
.halo-kpi--revenue:after { border-color: rgba(255,255,255,.06); }
.halo-kpi--revenue .halo-kpi__top span, .halo-kpi--revenue > small { color: #b9d1c7; }
.halo-kpi--revenue .halo-kpi__top i { color: #1a3027; background: var(--halo-lime); }
.halo-kpi--revenue > small b { color: var(--halo-lime); }
.halo-kpi--attention { border-color: #f3c9c4; }
.halo-kpi--attention .halo-kpi__top i { color: #fff; background: #e35f54; }

.halo-dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, .68fr); gap: 12px; margin-bottom: 12px; }
.halo-content-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(270px, .75fr); gap: 12px; margin-bottom: 12px; }
.halo-panel { background: #fff; border: 1px solid var(--halo-line); border-radius: 14px; box-shadow: 0 4px 18px rgba(30,45,37,.03); }
.halo-panel__head { display: flex; align-items: center; justify-content: space-between; min-height: 68px; padding: 0 20px; border-bottom: 1px solid #edf0ec; }
.halo-panel__head span, .halo-panel__head small { display: block; }
.halo-panel__head span { color: #25312b; font-size: 12px; font-weight: 800; }
.halo-panel__head small { margin-top: 4px; color: #8a958f; font-size: 8px; }
.halo-panel__head > a { color: #477160; font-size: 9px; font-weight: 800; text-decoration: none; }
.halo-live { display: flex !important; align-items: center; gap: 7px; color: #659f76 !important; font-size: 8px !important; letter-spacing: .1em; }

.halo-channel-table { padding: 8px 20px 15px; }
.halo-channel-table__labels, .halo-channel-row { display: grid; grid-template-columns: minmax(180px, 1.5fr) .55fr .55fr minmax(135px, 1fr); align-items: center; gap: 14px; }
.halo-channel-table__labels { min-height: 34px; color: #9aa39f; font-size: 7px; font-weight: 900; letter-spacing: .09em; }
.halo-channel-row { min-height: 59px; border-top: 1px solid #eff1ee; }
.halo-channel-row > strong { font-size: 12px; }
.halo-channel-name { display: flex; align-items: center; gap: 11px; }
.halo-channel-name > i { width: 9px; height: 34px; background: var(--halo-lime); border-radius: 5px; }
.halo-channel-row--retail .halo-channel-name > i { background: #7bb4ff; }
.halo-channel-row--salvage .halo-channel-name > i { background: var(--halo-orange); }
.halo-channel-name strong, .halo-channel-name small { display: block; }
.halo-channel-name strong { font-size: 10px; letter-spacing: .02em; }
.halo-channel-name small { margin-top: 3px; color: #929c97; font-size: 8px; }
.halo-channel-volume { display: flex; align-items: center; gap: 9px; }
.halo-channel-volume > span { width: 74px; height: 5px; overflow: hidden; background: #edf0ec; border-radius: 10px; }
.halo-channel-volume > span i { display: block; height: 100%; background: #5c967f; border-radius: inherit; }
.halo-channel-volume small { color: #6f7b75; font-size: 8px; white-space: nowrap; }

.halo-panel--pulse { position: relative; overflow: hidden; color: #fff; background: #17201c; border-color: #17201c; }
.halo-panel--pulse:after { content: ""; position: absolute; top: 92px; right: -55px; width: 170px; height: 170px; border: 1px solid rgba(207,255,71,.16); border-radius: 50%; box-shadow: 0 0 0 28px rgba(207,255,71,.025), 0 0 0 58px rgba(207,255,71,.02); }
.halo-panel--pulse .halo-panel__head { position: relative; z-index: 1; border-color: rgba(255,255,255,.08); }
.halo-panel--pulse .halo-panel__head span { color: #fff; }
.halo-panel--pulse .halo-panel__head small { color: #78857e; }
.halo-pulse-number { position: relative; z-index: 1; display: flex; align-items: flex-end; gap: 10px; padding: 22px 20px 8px; }
.halo-pulse-number strong { color: var(--halo-lime); font: 800 48px/.8 "Avenir Next", sans-serif; letter-spacing: -.07em; }
.halo-pulse-number span { color: #93a098; font-size: 8px; line-height: 1.3; text-transform: uppercase; }
.halo-pulse-track { position: relative; z-index: 1; display: flex; align-items: flex-end; gap: 4px; height: 42px; margin: 8px 20px 13px; }
.halo-pulse-track i { width: 5px; height: 20%; background: #355044; border-radius: 5px; animation: halo-pulse 2.4s ease-in-out infinite; }
.halo-pulse-track i:nth-child(2n) { height: 56%; animation-delay: -.4s; }.halo-pulse-track i:nth-child(3n) { height: 85%; animation-delay: -.8s; }.halo-pulse-track i:nth-child(5n) { height: 37%; animation-delay: -1.2s; }
.halo-panel--pulse > p { position: relative; z-index: 1; margin: 0 20px 18px; color: #86928c; font-size: 8px; line-height: 1.55; }
.halo-pulse-footer { position: relative; z-index: 1; display: flex; justify-content: space-between; margin: 0 20px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.08); color: #8c9892; font-size: 9px; }
.halo-pulse-footer strong { color: #fff; }

.halo-order-table { padding: 8px 20px 15px; }
.halo-order-table__head, .halo-order-row { display: grid; grid-template-columns: 1.1fr .65fr 1fr .85fr .7fr; align-items: center; gap: 10px; }
.halo-order-table__head { min-height: 34px; color: #99a39e; font-size: 7px; font-weight: 900; letter-spacing: .08em; }
.halo-order-row { min-height: 51px; color: #58655f; border-top: 1px solid #eff1ee; font-size: 9px; }
.halo-order-row > strong { color: #27322d; font-size: 9px; }
.halo-channel-pill, .halo-status-pill { justify-self: start; padding: 5px 7px; border-radius: 5px; font-size: 7px; font-weight: 900; text-transform: uppercase; }
.halo-channel-pill { color: #355044; background: #e8f2ed; }
.halo-channel-pill--hurt { color: #577100; background: #efffc1; }
.halo-status-pill { color: #826d20; background: #fff4c8; }
.halo-status-pill--completed, .halo-status-pill--paid { color: #326b51; background: #e1f3e8; }
.halo-status-pill--cancelled { color: #a44a44; background: #f9e6e4; }
.halo-empty { display: grid; min-height: 178px; place-items: center; align-content: center; color: #86918b; }
.halo-empty span { font-size: 26px; }.halo-empty strong { margin-top: 7px; color: #39463f; font-size: 11px; }.halo-empty small { margin-top: 4px; font-size: 8px; }

.halo-stock-list { padding: 7px 18px 13px; }
.halo-stock-list > div { display: flex; align-items: center; gap: 9px; min-height: 51px; border-top: 1px solid #eff1ee; }
.halo-stock-list > div:first-child { border-top: 0; }
.halo-stock-list__mark { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; color: #2f5546; background: #eaf0ec; border-radius: 8px; font-size: 9px; font-weight: 900; }
.halo-stock-list > div > span:nth-child(2) { min-width: 0; flex: 1; }
.halo-stock-list strong, .halo-stock-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.halo-stock-list strong { color: #35423b; font-size: 9px; }.halo-stock-list small { margin-top: 3px; color: #929c97; font-size: 7px; }
.halo-stock-list b { color: #d2574e; font-size: 8px; white-space: nowrap; }
.halo-stock-ok { min-height: 180px !important; justify-content: center; border: 0 !important; }
.halo-stock-ok i { display: grid; width: 34px; height: 34px; place-items: center; color: #3e7d60; background: #e4f2e9; border-radius: 50%; font-style: normal; }

.halo-modules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.halo-module { position: relative; min-height: 218px; padding: 22px; overflow: hidden; color: #fff; background: #18201c; border-radius: 14px; }
.halo-module:after { content: ""; position: absolute; right: -45px; bottom: -66px; width: 155px; height: 155px; border: 28px solid rgba(255,255,255,.04); border-radius: 50%; }
.halo-module__number { position: absolute; top: 20px; right: 21px; color: #4f5c55; font: 800 10px/1 "Avenir Next", sans-serif; }
.halo-module__signal { display: block; width: 28px; height: 6px; margin-bottom: 25px; background: var(--halo-lime); border-radius: 9px; }
.halo-module--retail .halo-module__signal { background: #7bb4ff; }.halo-module--salvage .halo-module__signal { background: var(--halo-orange); }
.halo-module p { margin: 0 0 5px; color: #76837c; font-size: 7px; font-weight: 900; letter-spacing: .14em; }
.halo-module h2 { margin: 0; color: #fff; font: 800 26px/1 "Avenir Next", sans-serif; letter-spacing: -.04em; }
.halo-module > span { display: block; max-width: 265px; min-height: 42px; margin-top: 10px; color: #96a19b; font-size: 9px; line-height: 1.5; }
.halo-module > div:last-child { position: relative; z-index: 1; display: flex; gap: 8px; margin-top: 15px; }
.halo-module a { padding: 8px 10px; color: #dce3df; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); border-radius: 7px; font-size: 8px; font-weight: 800; text-decoration: none; }
.halo-module a:first-child { color: #18201c; background: var(--halo-lime); border-color: var(--halo-lime); }
.halo-module--retail a:first-child { background: #7bb4ff; border-color: #7bb4ff; }.halo-module--salvage a:first-child { background: var(--halo-orange); border-color: var(--halo-orange); }
.halo-module a:hover { transform: translateY(-1px); }

/* Django data views */
.module { overflow: hidden; background: #fff; border: 1px solid var(--halo-line); border-radius: 12px; box-shadow: 0 4px 18px rgba(30,45,37,.03); }
.module h2, .module caption, .inline-group h2 { padding: 11px 14px; color: #fff; background: #26332d; font-weight: 800; letter-spacing: .03em; }
.module h2 a, .module caption a { color: #fff !important; }
.button, input[type=submit], input[type=button], .submit-row input, a.button { background: var(--halo-ink); border-radius: 8px; }
.button.default, input[type=submit].default, .submit-row input.default { color: var(--halo-ink); background: var(--halo-lime); font-weight: 900; }
.object-tools a:link, .object-tools a:visited { background: var(--halo-ink); border-radius: 8px; }
thead th { color: var(--halo-ink); background: #edf1ed; }
#changelist-filter h2 { background: var(--halo-ink); }
#changelist .actions { border-radius: 10px; }
.submit-row { background: #eef1ee; border: 1px solid var(--halo-line); border-radius: 10px; }
fieldset.module { padding: 0 0 12px; }
.form-row { border-color: #edf0ed; }
input, textarea, select, .vTextField { border-radius: 7px; }

@keyframes halo-rise { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
@keyframes halo-pulse { 0%,100% { opacity: .45; transform: scaleY(.7); } 50% { opacity: 1; transform: scaleY(1.05); } }
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

@media (max-width: 1180px) {
  #nav-sidebar.halo-sidebar { flex-basis: 220px; width: 220px; }
  .halo-kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .halo-dashboard-grid, .halo-content-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  #nav-sidebar.halo-sidebar { display: none; }
  #content { padding: 24px 20px 44px; }
  .halo-modules { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .halo-toast-stack { top: 12px; right: 12px; width: calc(100vw - 24px); }
  #header { padding: 0 14px; }
  #branding { min-width: 0; }
  .halo-status, #user-tools { display: none; }
  #content { padding: 20px 12px 36px; }
  .halo-pagehead { align-items: flex-start; flex-direction: column; }
  .halo-pagehead__actions { width: 100%; }
  .halo-pagehead__actions > * { flex: 1; }
  .halo-btn { width: 100%; }
  .halo-kpi-grid { grid-template-columns: 1fr; }
  .halo-channel-table__labels { display: none; }
  .halo-channel-row { grid-template-columns: 1fr auto auto; padding: 11px 0; }
  .halo-channel-volume { display: none; }
  .halo-order-table__head { display: none; }
  .halo-order-row { grid-template-columns: 1fr auto; padding: 10px 0; }
  .halo-order-row > *:nth-child(3), .halo-order-row > *:nth-child(4) { display: none; }
}
