:root {
  --hc-forest: #3F5F45;
  --hc-moss: #7A8C63;
  --hc-sage: #A8B99A;
  --hc-oak: #7B5E45;
  --hc-beige: #EFE5D0;
  --hc-sand: #F8F3E7;
  --hc-mist: #F6F3EA;
  --hc-clay: #B8793A;
  --hc-amber: #D9A85C;
  --hc-danger: #A65E55;
  --hc-success: #5F7F5F;
  --hc-text: #2E332E;
  --hc-border: #D8CCB8;
  --hc-card: rgba(255, 255, 255, 0.88);
}

* {
  box-sizing: border-box;
}

body {
  color: var(--hc-text);
  background: var(--hc-mist);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.1rem;
}

.btn,
.form-control,
.form-select,
.form-floating > label,
.dropdown-menu,
.dxbl-btn,
.dxbl-text-edit,
.dxbl-text-edit-input,
.dxbl-grid,
.dxbl-list-box,
.dxbl-popup,
.dxbl-toolbar {
  font-size: 1.1rem;
}

.hc-page {
  min-height: 100vh;
}

.hc-card {
  background: var(--hc-card);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(46, 51, 46, 0.08);
}

.hc-card-pad {
  padding: 1rem;
}

.hc-loading-scope {
  position: relative;
}

.hc-loading-overlay {
  align-items: center;
  background: rgba(248, 243, 231, 0.72);
  border-radius: inherit;
  color: var(--hc-text);
  display: flex;
  font-weight: 700;
  gap: 0.55rem;
  inset: 0;
  justify-content: center;
  position: absolute;
  z-index: 6;
}

.hc-loading-spinner {
  animation: hc-spin 0.8s linear infinite;
  border: 2px solid rgba(63, 95, 69, 0.22);
  border-top-color: var(--hc-forest);
  border-radius: 999px;
  height: 1.05rem;
  width: 1.05rem;
}

@keyframes hc-spin {
  to {
    transform: rotate(360deg);
  }
}

.hc-admin-action-splash {
  align-items: center;
  display: grid;
  inset: auto 1rem 1rem auto;
  justify-items: center;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.16s ease;
  z-index: 2147482500;
}

.hc-admin-action-splash.is-visible {
  opacity: 1;
  pointer-events: none;
}

.hc-admin-action-splash-panel {
  align-items: center;
  background: var(--hc-card);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  box-shadow: var(--hc-shadow-strong, 0 20px 50px rgba(31, 35, 40, 0.14));
  color: var(--hc-text);
  display: flex;
  font-weight: 760;
  gap: 0.85rem;
  max-width: calc(100vw - 2rem);
  min-width: min(320px, calc(100vw - 2rem));
  padding: 1rem 1.15rem;
}

.hc-admin-action-splash-spinner {
  animation: hc-spin 0.78s linear infinite;
  border: 3px solid color-mix(in srgb, var(--hc-accent, var(--hc-forest)), transparent 75%);
  border-radius: 999px;
  border-top-color: var(--hc-accent, var(--hc-forest));
  flex: 0 0 auto;
  height: 1.45rem;
  width: 1.45rem;
}

@media (prefers-reduced-motion: reduce) {
  .hc-admin-action-splash,
  .hc-admin-action-splash-spinner {
    animation: none;
    transition: none;
  }
}

.hc-compact-metrics {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.hc-compact-metrics span {
  align-items: center;
  background: rgba(248, 243, 231, 0.72);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  display: inline-flex;
  gap: 0.45rem;
  min-height: 34px;
  padding: 0.32rem 0.55rem;
}

.hc-compact-metrics small {
  color: #687060;
  font-weight: 700;
}

.hc-compact-metrics strong {
  font-size: 1.05rem;
}

.hc-primary-action {
  align-items: center;
  background: var(--hc-forest);
  border: 1px solid var(--hc-forest);
  border-radius: 8px;
  color: white;
  display: inline-flex;
  font-weight: 650;
  gap: 0.5rem;
  justify-content: center;
  min-height: 44px;
  padding: 0.6rem 0.95rem;
  text-decoration: none;
}

.hc-secondary-action {
  align-items: center;
  background: #fff;
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  color: var(--hc-text);
  display: inline-flex;
  font-weight: 600;
  gap: 0.5rem;
  justify-content: center;
  min-height: 40px;
  padding: 0.48rem 0.8rem;
  text-decoration: none;
}

.hc-primary-action:disabled,
.hc-secondary-action:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.hc-danger-action {
  border-color: rgba(166, 94, 85, 0.45);
  color: var(--hc-danger);
}

.hc-danger-action-solid {
  background: var(--hc-danger);
  border-color: var(--hc-danger);
  color: #fff;
}

.hc-status {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 700;
  gap: 0.35rem;
  line-height: 1;
  min-height: 26px;
  padding: 0.35rem 0.62rem;
  white-space: nowrap;
}

.hc-status-success {
  background: rgba(95, 127, 95, 0.14);
  color: var(--hc-success);
}

.hc-status-warning {
  background: rgba(217, 168, 92, 0.18);
  color: #7A561F;
}

.hc-status-danger {
  background: rgba(166, 94, 85, 0.14);
  color: var(--hc-danger);
}

.hc-status-neutral {
  background: rgba(122, 140, 99, 0.16);
  color: #586848;
}

.hc-admin-shell {
  background: var(--hc-mist);
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  min-height: 100vh;
}

.hc-admin-sidebar {
  background: linear-gradient(180deg, var(--hc-forest), #2f4434);
  color: white;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 1rem;
  position: sticky;
  top: 0;
  height: 100vh;
}

.hc-admin-brand {
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  margin-bottom: 1rem;
  padding: 0.35rem 0.35rem 1rem;
}

.hc-admin-brand strong {
  display: block;
  font-size: 1.49rem;
  letter-spacing: 0;
}

.hc-admin-brand span {
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.97rem;
}

.hc-admin-nav {
  align-content: start;
  display: grid;
  flex: 1 1 auto;
  gap: 0.24rem;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.15rem;
}

.hc-admin-nav-group {
  border-radius: 8px;
}

.hc-admin-nav-group summary {
  align-items: center;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  display: flex;
  gap: 0.5rem;
  font-size: 0.94rem;
  font-weight: 760;
  list-style: none;
  padding: 0.56rem 0.75rem;
  text-transform: uppercase;
}

.hc-admin-nav-group summary::-webkit-details-marker {
  display: none;
}

.hc-admin-nav-group summary::before {
  color: rgba(255, 255, 255, 0.9);
  content: "▣";
  font-size: 0.84rem;
}

.hc-admin-nav-group summary::after {
  background-color: currentColor;
  content: "";
  flex: 0 0 auto;
  height: 0.78rem;
  margin-left: auto;
  width: 0.78rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.2 5.6L8 9.4L11.8 5.6L13.2 7L8 12.2L2.8 7L4.2 5.6Z'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.2 5.6L8 9.4L11.8 5.6L13.2 7L8 12.2L2.8 7L4.2 5.6Z'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.hc-admin-nav-group:not([open]) summary::after {
  transform: rotate(-90deg);
}

.hc-admin-nav-group summary:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}

.hc-admin-nav-group > div {
  display: grid;
  gap: 0.15rem;
  margin-left: 1.12rem;
  padding-left: 0.65rem;
  position: relative;
}

.hc-admin-nav-group > div::before {
  background: rgba(255, 255, 255, 0.18);
  bottom: 0.35rem;
  content: "";
  left: 0;
  position: absolute;
  top: 0.2rem;
  width: 1px;
}

.hc-admin-nav-group > div a {
  align-items: center;
  display: flex;
  font-size: 1.01rem;
  gap: 0.5rem;
  padding-left: 1rem;
}

.hc-admin-nav-group > div a::before {
  color: rgba(255, 255, 255, 0.62);
  content: "•";
  font-size: 1.1rem;
  line-height: 1;
}

.hc-admin-nav-section {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.79rem;
  font-weight: 760;
  letter-spacing: 0;
  padding: 0.8rem 0.75rem 0.15rem;
  text-transform: uppercase;
}

.hc-admin-nav a {
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.88);
  font-weight: 600;
  padding: 0.65rem 0.75rem;
  text-decoration: none;
}

.hc-admin-nav a:hover,
.hc-admin-nav a.active {
  background: rgba(255, 255, 255, 0.13);
  color: white;
}

.hc-lookup-list {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.hc-lookup-tile {
  background: rgba(248, 243, 231, 0.68);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  color: var(--hc-text);
  display: grid;
  gap: 0.35rem;
  padding: 1rem;
  text-decoration: none;
}

.hc-lookup-tile:hover {
  background: rgba(168, 185, 154, 0.18);
  color: var(--hc-text);
}

.hc-lookup-tile span {
  color: #687060;
  font-size: 0.99rem;
}

.hc-admin-main {
  min-width: 0;
}

.hc-admin-topbar {
  align-items: center;
  background: rgba(255, 255, 255, 0.84);
  border-bottom: 1px solid var(--hc-border);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  min-height: 68px;
  padding: 0.8rem 1.35rem;
  position: sticky;
  top: 0;
  z-index: 10;
}

.hc-admin-content {
  padding: 1.25rem;
}

.hc-page-title {
  margin: 0;
}

.hc-page-title h1 {
  font-size: 1.71rem;
  font-weight: 760;
  margin: 0;
}

.hc-page-title p {
  color: #687060;
  margin: 0.15rem 0 0;
}

.hc-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.hc-members-workspace {
  min-height: calc(100vh - 120px);
}

.hc-members-splitter {
  border: 0;
  min-height: 620px;
}

.hc-split-pane {
  height: 100%;
  min-width: 0;
  overflow: auto;
  padding: 0.1rem;
}

.hc-detail-pane {
  background: rgba(248, 243, 231, 0.38);
  border-radius: 8px;
  padding: 0.75rem;
}

.hc-member-detail-tabs {
  min-width: 0;
}

.hc-grid-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 0.35rem 0.2rem;
  width: 100%;
}

.hc-grid-toolbar-actions-only {
  justify-content: flex-end;
}

.hc-grid-toolbar h2,
.hc-grid-toolbar h3 {
  font-size: 1.1rem;
  font-weight: 760;
  line-height: 1.2;
  margin: 0;
}

.hc-grid-toolbar span {
  color: #687060;
  display: inline-flex;
  font-size: 0.9rem;
  gap: 0.35rem;
  margin-top: 0.1rem;
}

.hc-grid-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.hc-grid-actions .hc-primary-action,
.hc-grid-actions .hc-secondary-action {
  min-height: 36px;
  padding: 0.42rem 0.7rem;
}

.hc-grid-toolbar-integrated {
  align-items: center;
  min-height: 0;
  padding: 0.16rem 0.3rem !important;
  width: 100%;
}

.hc-grid-toolbar-integrated.dxbl-toolbar,
.hc-grid-toolbar-integrated .dxbl-toolbar {
  min-height: 34px !important;
}

.hc-grid-toolbar-integrated .dxbl-btn {
  font-size: 1.01rem;
  min-height: 32px !important;
  padding: 0.22rem 0.5rem !important;
}

.hc-grid-toolbar-integrated .hc-grid-toolbar-icon-action .dxbl-btn,
.hc-grid-toolbar-integrated .dxbl-btn.hc-grid-toolbar-icon-action {
  min-width: 32px !important;
  padding-left: 0.45rem !important;
  padding-right: 0.45rem !important;
}

.hc-grid-toolbar-integrated .dxbl-toolbar-item,
.hc-grid-toolbar-integrated .dxbl-toolbar-item-content {
  min-height: 0 !important;
}

.hc-grid-searchbox,
.hc-grid-searchbox input {
  font-size: 1.01rem;
}

.hc-grid-toolbar-integrated .hc-grid-searchbox,
.hc-grid-toolbar-integrated .dxbl-text-edit,
.hc-grid-toolbar-integrated input {
  min-height: 32px !important;
}

.hc-toolbar-filter-field {
  align-items: center;
  display: flex;
  gap: 0.4rem;
  min-height: 32px;
}

.hc-toolbar-filter-field span {
  color: #66705d;
  font-size: 0.9rem;
  font-weight: 750;
  white-space: nowrap;
}

.hc-grid-toolbar-integrated .hc-toolbar-filter-field .form-control,
.hc-grid-toolbar-integrated .hc-toolbar-filter-field .form-select {
  font-size: 0.98rem;
  min-height: 32px !important;
  padding: 0.22rem 0.48rem;
  width: 145px;
}

.hc-grid-toolbar-integrated .hc-toolbar-filter-field .hc-date-edit {
  width: 145px;
}

.hc-grid-toolbar-integrated .hc-toolbar-status-filter .form-select {
  width: 155px;
}

.hc-admin-content .dxbl-grid,
.hc-admin-grid,
.hc-admin-grid-compact {
  font-size: 1.1rem;
  max-width: 100%;
}

.hc-admin-content .dxbl-grid .dxbl-grid-top-panel,
.hc-admin-content .dxbl-grid .dxbl-grid-toolbar-container,
.hc-admin-content .dxbl-grid .dxbl-grid-search-panel,
.hc-admin-grid-compact .dxbl-grid-top-panel,
.hc-admin-grid-compact .dxbl-grid-toolbar-container,
.hc-admin-grid-compact .dxbl-grid-search-panel {
  min-height: 0 !important;
  padding: 0.18rem 0.35rem !important;
}

.hc-admin-content .dxbl-grid [role="row"],
.hc-admin-grid [role="row"],
.hc-admin-grid-compact [role="row"] {
  white-space: nowrap;
}

.hc-admin-content .dxbl-grid :is([role="columnheader"], .dxbl-grid-header-cell),
.hc-admin-grid :is([role="columnheader"], .dxbl-grid-header-cell),
.hc-admin-grid-compact :is([role="columnheader"], .dxbl-grid-header-cell),
.hc-card [role="columnheader"] {
  font-size: 1.06rem;
  line-height: 1.15;
  padding: 0.34rem 0.5rem !important;
  white-space: nowrap;
}

.hc-admin-content .dxbl-grid [role="gridcell"],
.hc-admin-grid [role="gridcell"],
.hc-admin-grid-compact [role="gridcell"],
.hc-card [role="gridcell"] {
  font-size: 1.08rem;
  line-height: 1.25;
  padding: 0.34rem 0.5rem !important;
  white-space: nowrap;
}

.hc-icon {
  background-color: currentColor;
  display: inline-block;
  height: 14px;
  width: 14px;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.hc-icon-add {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 1H5V5H1V7H5V11H7V7H11V5H7V1Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 1H5V5H1V7H5V11H7V7H11V5H7V1Z'/%3E%3C/svg%3E");
}

.hc-icon-edit {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9.2V11H2.8L8.1 5.7L6.3 3.9L1 9.2ZM9.5 4.3L10.4 3.4C10.8 3 10.8 2.4 10.4 2L10 1.6C9.6 1.2 9 1.2 8.6 1.6L7.7 2.5L9.5 4.3Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9.2V11H2.8L8.1 5.7L6.3 3.9L1 9.2ZM9.5 4.3L10.4 3.4C10.8 3 10.8 2.4 10.4 2L10 1.6C9.6 1.2 9 1.2 8.6 1.6L7.7 2.5L9.5 4.3Z'/%3E%3C/svg%3E");
}

.hc-icon-delete {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 1L4 2H1.5V3.5H10.5V2H8L7.5 1H4.5ZM2.5 4.5L3.1 11H8.9L9.5 4.5H2.5Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 1L4 2H1.5V3.5H10.5V2H8L7.5 1H4.5ZM2.5 4.5L3.1 11H8.9L9.5 4.5H2.5Z'/%3E%3C/svg%3E");
}

.hc-icon-void {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 1.2A5.8 5.8 0 1 0 7 12.8A5.8 5.8 0 0 0 7 1.2ZM3.5 7C3.5 6.2 3.8 5.5 4.2 4.9L9.1 9.8C8.5 10.2 7.8 10.5 7 10.5A3.5 3.5 0 0 1 3.5 7ZM9.8 9.1L4.9 4.2C5.5 3.8 6.2 3.5 7 3.5A3.5 3.5 0 0 1 9.8 9.1Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 1.2A5.8 5.8 0 1 0 7 12.8A5.8 5.8 0 0 0 7 1.2ZM3.5 7C3.5 6.2 3.8 5.5 4.2 4.9L9.1 9.8C8.5 10.2 7.8 10.5 7 10.5A3.5 3.5 0 0 1 3.5 7ZM9.8 9.1L4.9 4.2C5.5 3.8 6.2 3.5 7 3.5A3.5 3.5 0 0 1 9.8 9.1Z'/%3E%3C/svg%3E");
}

.hc-icon-refresh {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.4 2.6A5.5 5.5 0 0 0 1.7 5H3.3A4 4 0 0 1 10.2 3.8L8.5 5.5H13V1L11.4 2.6ZM2.6 11.4A5.5 5.5 0 0 0 12.3 9H10.7A4 4 0 0 1 3.8 10.2L5.5 8.5H1V13L2.6 11.4Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.4 2.6A5.5 5.5 0 0 0 1.7 5H3.3A4 4 0 0 1 10.2 3.8L8.5 5.5H13V1L11.4 2.6ZM2.6 11.4A5.5 5.5 0 0 0 12.3 9H10.7A4 4 0 0 1 3.8 10.2L5.5 8.5H1V13L2.6 11.4Z'/%3E%3C/svg%3E");
}

.hc-icon-calendar {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 1H5.5V2.2H8.5V1H10V2.2H12V13H2V2.2H4V1ZM3.5 5V11.5H10.5V5H3.5ZM5 6.2H6.4V7.6H5V6.2ZM7.6 6.2H9V7.6H7.6V6.2ZM5 8.4H6.4V9.8H5V8.4ZM7.6 8.4H9V9.8H7.6V8.4Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 1H5.5V2.2H8.5V1H10V2.2H12V13H2V2.2H4V1ZM3.5 5V11.5H10.5V5H3.5ZM5 6.2H6.4V7.6H5V6.2ZM7.6 6.2H9V7.6H7.6V6.2ZM5 8.4H6.4V9.8H5V8.4ZM7.6 8.4H9V9.8H7.6V8.4Z'/%3E%3C/svg%3E");
}

.hc-icon-block {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6V4.5C4 2.6 5.3 1.4 7 1.4C8.7 1.4 10 2.6 10 4.5V6H11.2V12.6H2.8V6H4ZM5.4 6H8.6V4.5C8.6 3.4 7.9 2.8 7 2.8C6.1 2.8 5.4 3.4 5.4 4.5V6ZM6.3 8.2V10.5H7.7V8.2H6.3Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6V4.5C4 2.6 5.3 1.4 7 1.4C8.7 1.4 10 2.6 10 4.5V6H11.2V12.6H2.8V6H4ZM5.4 6H8.6V4.5C8.6 3.4 7.9 2.8 7 2.8C6.1 2.8 5.4 3.4 5.4 4.5V6ZM6.3 8.2V10.5H7.7V8.2H6.3Z'/%3E%3C/svg%3E");
}

.hc-icon-columns {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 2H13V12H1V2ZM3 4V10H5V4H3ZM7 4V10H11V4H7Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 2H13V12H1V2ZM3 4V10H5V4H3ZM7 4V10H11V4H7Z'/%3E%3C/svg%3E");
}

.hc-icon-export {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1H8L11 4V6H9V5H7V3H4V11H10V9H12V13H3V1ZM10 6.5V5L13 8L10 11V9.5H6V6.5H10Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1H8L11 4V6H9V5H7V3H4V11H10V9H12V13H3V1ZM10 6.5V5L13 8L10 11V9.5H6V6.5H10Z'/%3E%3C/svg%3E");
}

.hc-icon-upload {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 1L11 5H8.2V9H5.8V5H3L7 1ZM2 10H4V11.5H10V10H12V13H2V10Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 1L11 5H8.2V9H5.8V5H3L7 1ZM2 10H4V11.5H10V10H12V13H2V10Z'/%3E%3C/svg%3E");
}

.hc-icon-print {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1H11V4H3V1ZM2 5H12C12.6 5 13 5.4 13 6V10H10.5V8.5H3.5V10H1V6C1 5.4 1.4 5 2 5ZM4.5 9.5H9.5V13H4.5V9.5ZM10.8 6.2C10.4 6.2 10.1 6.5 10.1 6.9C10.1 7.3 10.4 7.6 10.8 7.6C11.2 7.6 11.5 7.3 11.5 6.9C11.5 6.5 11.2 6.2 10.8 6.2Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1H11V4H3V1ZM2 5H12C12.6 5 13 5.4 13 6V10H10.5V8.5H3.5V10H1V6C1 5.4 1.4 5 2 5ZM4.5 9.5H9.5V13H4.5V9.5ZM10.8 6.2C10.4 6.2 10.1 6.5 10.1 6.9C10.1 7.3 10.4 7.6 10.8 7.6C11.2 7.6 11.5 7.3 11.5 6.9C11.5 6.5 11.2 6.2 10.8 6.2Z'/%3E%3C/svg%3E");
}

.hc-icon-csv,
.hc-icon-xlsx,
.hc-icon-xls,
.hc-icon-pdf {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1H8.5L11 3.5V13H3V1ZM8 2.5V4H9.5L8 2.5ZM4.5 6V7.2H9.5V6H4.5ZM4.5 8.2V9.4H9.5V8.2H4.5ZM4.5 10.4V11.6H8V10.4H4.5Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1H8.5L11 3.5V13H3V1ZM8 2.5V4H9.5L8 2.5ZM4.5 6V7.2H9.5V6H4.5ZM4.5 8.2V9.4H9.5V8.2H4.5ZM4.5 10.4V11.6H8V10.4H4.5Z'/%3E%3C/svg%3E");
}

.hc-autocomplete-field {
  position: relative;
  z-index: 21;
}

.hc-autocomplete-field.hc-autocomplete-open {
  z-index: 40;
}

.hc-autocomplete-field:focus-within {
  z-index: 50;
}

.hc-autocomplete-dismiss {
  background: transparent;
  border: 0;
  inset: 0;
  padding: 0;
  position: fixed;
  z-index: 20;
}

.hc-autocomplete-menu {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(46, 51, 46, 0.16);
  display: grid;
  left: 0;
  max-height: 280px;
  overflow: auto;
  padding: 0.35rem;
  position: absolute;
  right: 0;
  top: calc(100% + 0.25rem);
  z-index: 22;
}

.hc-autocomplete-menu button {
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--hc-text);
  display: grid;
  gap: 0.1rem;
  padding: 0.55rem 0.65rem;
  text-align: left;
}

.hc-autocomplete-menu button small {
  color: #7a846d;
  font-size: 0.78rem;
  font-weight: 650;
}

.hc-autocomplete-menu button:hover {
  background: rgba(168, 185, 154, 0.18);
}

.hc-autocomplete-menu button.hc-lookup-option-selected {
  background: rgba(95, 127, 95, 0.14);
}

.hc-autocomplete-menu button.hc-lookup-clear {
  color: var(--hc-text-muted);
}

.hc-autocomplete-menu span,
.hc-autocomplete-empty {
  color: #687060;
  font-size: 0.9rem;
}

.hc-autocomplete-empty {
  padding: 0.65rem;
}

.hc-clickable-grid {
  min-width: 0;
}

.hc-clickable-grid .hc-grid-row {
  cursor: pointer;
}

.hc-clickable-grid .hc-grid-row:hover > td {
  background: rgba(168, 185, 154, 0.18) !important;
}

.hc-clickable-grid .hc-grid-row-selected {
  --dxbl-grid-row-bg: rgba(63, 95, 69, 0.16);
  --dxbl-grid-row-color: var(--hc-text);
  cursor: pointer;
}

.hc-clickable-grid .hc-grid-row-selected > td {
  background: rgba(63, 95, 69, 0.16) !important;
  box-shadow: inset 0 1px 0 rgba(63, 95, 69, 0.2), inset 0 -1px 0 rgba(63, 95, 69, 0.2);
}

.hc-clickable-grid .hc-grid-row-selected > td:first-child {
  box-shadow:
    inset 4px 0 0 var(--hc-forest),
    inset 0 1px 0 rgba(63, 95, 69, 0.2),
    inset 0 -1px 0 rgba(63, 95, 69, 0.2);
}

.hc-empty-state {
  align-items: center;
  background: rgba(255, 255, 255, 0.64);
  border: 1px dashed var(--hc-border);
  border-radius: 8px;
  color: #687060;
  display: grid;
  gap: 0.25rem;
  min-height: 220px;
  padding: 1.25rem;
  place-items: center;
  text-align: center;
}

.hc-empty-state strong {
  color: var(--hc-text);
  font-size: 1.16rem;
}

.hc-modal-popup {
  color: var(--hc-text);
}

.hc-modal-body {
  background: var(--hc-sand);
}

.hc-modal-footer {
  align-items: center;
  display: flex;
  gap: 0.6rem;
  justify-content: flex-end;
}

.hc-metric-grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hc-metric {
  background: var(--hc-sand);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  padding: 0.85rem;
}

.hc-metric span {
  color: #6c745f;
  display: block;
  font-size: 0.9rem;
  font-weight: 650;
}

.hc-metric strong {
  display: block;
  font-size: 1.49rem;
  margin-top: 0.15rem;
}

.hc-metric small {
  color: #6c745f;
  display: block;
  font-weight: 650;
  margin-top: 0.2rem;
}

.hc-dashboard-grid {
  display: grid;
  gap: 0.85rem;
}

.hc-dashboard-module {
  display: grid;
  gap: 0.85rem;
}

.hc-dashboard-module header {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.hc-dashboard-module h2 {
  font-size: 1.08rem;
  font-weight: 720;
  margin: 0;
}

.hc-dashboard-module p {
  color: var(--hc-text-muted);
  margin: 0.12rem 0 0;
}

.hc-dashboard-metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hc-dashboard-cash-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.hc-dashboard-cash-total {
  background: rgba(168, 185, 154, 0.18);
}

.hc-dashboard-cash-grand-total {
  background: rgba(73, 93, 73, 0.12);
  border-color: rgba(73, 93, 73, 0.28);
}

.hc-membership-fees-summary {
  padding: 0.65rem;
}

.hc-membership-fees-summary .hc-metric-grid {
  gap: 0.55rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.hc-membership-fees-summary .hc-metric {
  min-height: 72px;
  padding: 0.55rem 0.65rem;
}

.hc-membership-fees-summary .hc-metric span {
  font-size: 0.78rem;
}

.hc-membership-fees-summary .hc-metric strong {
  font-size: 1.15rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.hc-points-summary {
  padding: 0.65rem 0.75rem;
}

.hc-points-summary-grid {
  gap: 0.5rem;
  grid-template-columns: minmax(140px, 1.25fr) repeat(5, minmax(78px, 0.8fr));
}

.hc-points-summary-grid .hc-metric {
  min-width: 0;
  padding: 0.48rem 0.58rem;
}

.hc-points-summary-grid .hc-metric span {
  font-size: 0.72rem;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hc-points-summary-grid .hc-metric strong {
  font-size: 1rem;
  line-height: 1.2;
  margin-top: 0.08rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hc-form-grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hc-form-grid .wide {
  grid-column: 1 / -1;
}

.hc-date-edit {
  width: 100%;
}

.hc-date-edit .dxbl-text-edit-input {
  font-size: 1.1rem !important;
  line-height: 1.5 !important;
}

.hc-date-picker-popup {
  font-size: 1.15rem;
  min-width: 350px;
}

.hc-date-picker-popup .dxbl-calendar {
  min-width: 330px;
}

.hc-date-picker-popup .dxbl-calendar-day > a,
.hc-date-picker-popup .dxbl-calendar-month > a,
.hc-date-picker-popup .dxbl-calendar-year > a,
.hc-date-picker-popup .dxbl-calendar-decade > a {
  align-items: center;
  display: inline-flex;
  font-size: 1.08rem;
  justify-content: center;
  min-height: 2.45rem;
  min-width: 2.45rem;
}

.hc-date-picker-popup .dxbl-calendar-header,
.hc-date-picker-popup .dxbl-calendar-view-title {
  font-size: 1.12rem;
}

.hc-cash-commandbar {
  align-items: end;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 0.55rem;
}

.hc-cash-filter {
  align-items: end;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: minmax(110px, 150px) minmax(155px, 220px);
}

.hc-pivot-scroll {
  overflow-x: auto;
  width: 100%;
}

.hc-cash-pivot {
  min-width: 720px;
}

.hc-money {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.hc-cash-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.hc-status-action {
  border-radius: 999px;
  border-style: solid;
  cursor: pointer;
  min-height: 40px;
  padding: 0.48rem 0.9rem;
  transition: background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.hc-status-action:hover,
.hc-status-action:focus-visible {
  box-shadow: 0 8px 18px rgba(46, 51, 46, 0.16);
  transform: translateY(-1px);
}

.hc-status-action.hc-status-success:hover,
.hc-status-action.hc-status-success:focus-visible {
  background: color-mix(in srgb, var(--hc-success), transparent 76%);
  border-color: color-mix(in srgb, var(--hc-success), transparent 38%);
  color: color-mix(in srgb, var(--hc-success), #111 12%);
}

.hc-status-action.hc-status-warning:hover,
.hc-status-action.hc-status-warning:focus-visible {
  background: color-mix(in srgb, var(--hc-warning), transparent 74%);
  border-color: color-mix(in srgb, var(--hc-warning), transparent 34%);
  color: color-mix(in srgb, var(--hc-warning), #111 18%);
}

.hc-status-action:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.hc-status-action:disabled:hover,
.hc-status-action:disabled:focus-visible {
  box-shadow: none;
  transform: none;
}

.hc-cash-ipad-lock-banner {
  align-items: center;
  background: color-mix(in srgb, #fef3c7, var(--hc-surface) 36%);
  border: 1px solid color-mix(in srgb, #d97706, var(--hc-border) 45%);
  border-radius: 8px;
  color: #713f12;
  display: flex;
  gap: 0.85rem;
  justify-content: space-between;
  margin-bottom: 0.7rem;
  padding: 0.75rem 0.85rem;
}

.hc-cash-ipad-lock-banner div {
  display: grid;
  gap: 0.15rem;
}

.hc-cash-ipad-lock-banner span {
  font-size: 0.9rem;
}

.hc-form-stack {
  display: grid;
  gap: 0.85rem;
}

.hc-cash-commandbar .form-label {
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: 0.16rem;
}

.hc-cash-commandbar .form-select {
  min-height: 36px;
  padding-bottom: 0.25rem;
  padding-top: 0.25rem;
}

.hc-stand-reservation-filter {
  align-items: end;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(130px, 160px) minmax(130px, 160px) minmax(170px, 240px) auto;
}

.hc-cash-metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.hc-cash-workspace {
  overflow: hidden;
  padding: 0;
}

.hc-cash-workspace > p {
  padding: 0.85rem 1rem;
}

.hc-cash-tabs {
  align-items: stretch;
  border-bottom: 1px solid var(--hc-border);
  display: grid;
  gap: 0.35rem;
  grid-template-columns: repeat(3, minmax(0, 1fr)) repeat(2, minmax(145px, 0.72fr));
  padding: 0.55rem 0.55rem 0;
}

.hc-cash-account-picker {
  background: color-mix(in srgb, var(--hc-surface-muted), var(--hc-surface) 42%);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  display: grid;
  gap: 0.35rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0.45rem;
}

.hc-camt-import {
  display: grid;
  gap: 0.85rem;
}

.hc-loading-inline {
  align-items: center;
  display: inline-flex;
  gap: 0.55rem;
  min-height: 32px;
}

.hc-camt-import-summary {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hc-camt-import-summary > div,
.hc-camt-import-list > div {
  background: var(--hc-surface-muted);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  min-width: 0;
  padding: 0.6rem 0.7rem;
}

.hc-camt-import-summary span,
.hc-camt-import-list small {
  color: var(--hc-text-muted);
  display: block;
  font-size: 0.78rem;
  font-weight: 650;
}

.hc-camt-import-summary strong,
.hc-camt-import-list strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hc-camt-import-list {
  display: grid;
  gap: 0.45rem;
}

.hc-camt-import-list > div {
  display: grid;
  gap: 0.3rem;
}

.hc-cash-tab,
.hc-cash-total-pill {
  background: var(--hc-surface-muted);
  border: 1px solid var(--hc-border);
  border-radius: 8px 8px 0 0;
  color: var(--hc-text);
  display: grid;
  gap: 0.12rem;
  min-height: 62px;
  padding: 0.55rem 0.65rem;
  text-align: left;
}

.hc-cash-tab {
  cursor: pointer;
}

.hc-cash-account-option {
  border-radius: 8px;
  min-height: 58px;
  padding-bottom: 0.48rem;
  padding-top: 0.48rem;
}

.hc-cash-tab:hover {
  border-color: var(--hc-border-strong);
}

.hc-cash-tab-white {
  background: #fff7d6;
  border-color: #ead58a;
  color: #332600;
}

.hc-cash-tab-black {
  background: #3d444d;
  border-color: #2f363e;
  color: #ffffff;
}

.hc-cash-tab-bank {
  background: color-mix(in srgb, var(--hc-success), var(--hc-surface) 88%);
  border-color: color-mix(in srgb, var(--hc-success), var(--hc-border) 72%);
  color: var(--hc-text);
}

.hc-cash-tab-active {
  border-color: var(--hc-accent);
  box-shadow: inset 0 3px 0 var(--hc-accent);
  transform: translateY(1px);
}

.hc-cash-tab-white.hc-cash-tab-active {
  background: #fff0b8;
  border-color: #d5ae3f;
  box-shadow: inset 0 3px 0 #d5a21f;
}

.hc-cash-tab-black.hc-cash-tab-active {
  border-color: #4b5563;
  box-shadow: inset 0 3px 0 #f2c94c;
}

.hc-cash-tab-bank.hc-cash-tab-active {
  background: color-mix(in srgb, var(--hc-success), var(--hc-surface) 74%);
  border-color: color-mix(in srgb, var(--hc-success), var(--hc-border) 46%);
  box-shadow: inset 0 3px 0 var(--hc-success);
}

.hc-cash-total-pill {
  background: linear-gradient(180deg, var(--hc-surface), var(--hc-surface-muted));
  border-color: var(--hc-border-strong);
  box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff, transparent 28%);
  cursor: default;
  padding-left: 1.85rem;
  position: relative;
}

.hc-cash-total-pill::before {
  border-right: 2px solid var(--hc-text-muted);
  border-top: 2px solid var(--hc-text-muted);
  content: "";
  height: 0.62rem;
  left: 0.7rem;
  opacity: 0.48;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 0.62rem;
}

.hc-cash-tab span,
.hc-cash-total-pill span {
  color: var(--hc-text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hc-cash-tab-black span,
.hc-cash-tab-black small {
  color: rgba(255, 255, 255, 0.78);
}

.hc-cash-tab strong,
.hc-cash-total-pill strong {
  font-size: 1.08rem;
  line-height: 1.15;
}

.hc-cash-tab small,
.hc-cash-total-pill small {
  color: var(--hc-text-muted);
  font-size: 0.76rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hc-cash-grid-panel {
  border: 1px solid transparent;
  border-radius: 0 0 8px 8px;
  margin: 0 0.55rem 0.55rem;
  padding: 0.65rem;
}

.hc-cash-grid-panel-white {
  background: #fff7d6;
  border-color: #ead58a;
  box-shadow: inset 0 0 0 1px #f4e4a9;
}

.hc-cash-grid-panel-black {
  background: #3d444d;
  border-color: #2f363e;
  box-shadow: inset 0 0 0 1px #4b5563;
}

.hc-cash-grid-panel-bank {
  background: color-mix(in srgb, var(--hc-success), var(--hc-surface) 90%);
  border-color: color-mix(in srgb, var(--hc-success), var(--hc-border) 58%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hc-success), transparent 76%);
}

.hc-cash-grid-panel-black .dxbl-grid {
  border-color: #2f363e;
}

.hc-metric small {
  color: #687060;
  display: block;
  font-size: 0.86rem;
  margin-top: 0.2rem;
}

.hc-cash-report-workspace {
  align-items: start;
}

.hc-report-rules-modal-body {
  max-height: calc(100vh - 12rem);
  overflow: auto;
}

.hc-rule-definition-layout {
  display: grid;
  gap: 1rem;
}

.hc-report-line-detail {
  background: #fbfaf6;
}

.hc-attachment-panel {
  background: #fbfaf6;
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  display: grid;
  gap: 0.55rem;
  padding: 0.85rem;
}

.hc-attachment-summary {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: space-between;
}

.hc-attachment-summary span:first-child {
  font-weight: 700;
}

.hc-file-drop-zone {
  background: var(--hc-surface);
  border: 1px dashed color-mix(in srgb, var(--hc-accent) 55%, var(--hc-border));
  border-radius: 8px;
  cursor: pointer;
  min-height: 92px;
  overflow: hidden;
  position: relative;
}

.hc-file-drop-zone:hover,
.hc-file-drop-zone:focus-within {
  border-color: var(--hc-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--hc-accent) 18%, transparent);
}

.hc-file-drop-input {
  cursor: pointer;
  height: 100%;
  inset: 0;
  opacity: 0;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.hc-file-drop-content {
  align-items: center;
  display: grid;
  gap: 0.25rem;
  height: 100%;
  justify-items: center;
  min-height: 92px;
  padding: 1rem;
  text-align: center;
}

.hc-file-drop-content span {
  color: var(--hc-text-muted);
  font-size: 0.92rem;
}

.hc-attachment-preview {
  align-items: start;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: minmax(120px, 180px) auto;
}

.hc-attachment-preview img {
  border: 1px solid var(--hc-border);
  border-radius: 6px;
  max-height: 180px;
  max-width: 100%;
  object-fit: contain;
}

.hc-pos-receipt {
  background: white;
  box-sizing: border-box;
  color: #111;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 15.2px;
  line-height: 1.25;
  margin: 0 auto;
  max-width: 72mm;
  padding: 10px;
  width: 72mm;
}

.hc-pos-center {
  display: grid;
  gap: 2px;
  justify-items: center;
  text-align: center;
}

.hc-pos-title {
  font-size: 19.6px;
  font-weight: 800;
  letter-spacing: 0;
  text-align: center;
}

.hc-pos-separator {
  border-top: 1px dashed #111;
  margin: 8px 0;
}

.hc-pos-row,
.hc-pos-total {
  align-items: start;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.hc-pos-row span,
.hc-pos-block span {
  color: #333;
}

.hc-pos-row strong {
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: right;
}

.hc-pos-block {
  display: grid;
  gap: 2px;
}

.hc-pos-block small {
  color: #333;
  overflow-wrap: anywhere;
}

.hc-pos-block strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.hc-pos-counterparty span {
  font-weight: 700;
}

.hc-pos-counterparty strong {
  font-size: 16.2px;
  font-weight: 800;
}

.hc-pos-total {
  font-size: 18.5px;
  font-weight: 800;
  margin-top: 8px;
}

.hc-pos-signatures {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
  margin-top: 24px;
  text-align: center;
}

.hc-pos-signatures div {
  display: grid;
  gap: 4px;
  min-height: 74px;
}

.hc-pos-signatures img {
  align-self: end;
  height: 48px;
  max-width: 100%;
  object-fit: contain;
  width: 100%;
}

.hc-pos-signatures span::before {
  border-top: 1px solid #111;
  content: "";
  display: block;
  margin-bottom: 4px;
}

.hc-signature-workflow,
.hc-signature-editor {
  display: grid;
  gap: 0.85rem;
}

.hc-signature-status-grid,
.hc-signature-preview-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hc-signature-status-grid > div,
.hc-signature-preview-grid > div,
.hc-signature-current {
  background: var(--hc-surface-muted);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  display: grid;
  gap: 0.35rem;
  padding: 0.75rem;
}

.hc-signature-status-grid span,
.hc-signature-preview-grid span,
.hc-signature-current span,
.hc-signature-request-box span {
  color: var(--hc-muted);
  font-size: 0.88rem;
}

.hc-signature-preview-grid img,
.hc-signature-current img {
  background: #fff;
  border: 1px solid var(--hc-border);
  border-radius: 6px;
  height: 64px;
  object-fit: contain;
  width: 100%;
}

.hc-signature-request-box {
  align-items: center;
  border: 1px dashed var(--hc-border-strong);
  border-radius: 8px;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: 132px minmax(0, 1fr);
  padding: 0.75rem;
}

.hc-signature-request-box a {
  overflow-wrap: anywhere;
}

.hc-signature-request-box small {
  color: var(--hc-muted);
  display: block;
  margin-top: 0.35rem;
}

.hc-signature-qr {
  background: #fff;
  border: 1px solid var(--hc-border);
  border-radius: 6px;
  padding: 0.35rem;
}

.hc-signature-qr svg {
  display: block;
  height: auto;
  width: 100%;
}

.hc-signature-canvas {
  background: #fff;
  border: 1px solid var(--hc-border-strong);
  border-radius: 8px;
  display: block;
  height: 210px;
  touch-action: none;
  width: 100%;
}

.hc-sign-page {
  display: grid;
  min-height: calc(100vh - 4rem);
  place-items: center;
}

.hc-sign-panel {
  background: var(--hc-surface);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  box-shadow: var(--hc-shadow);
  display: grid;
  gap: 1rem;
  max-width: 860px;
  padding: 1rem;
  width: min(100%, 860px);
}

.hc-sign-header {
  display: grid;
  gap: 0.15rem;
}

.hc-sign-header strong {
  font-size: 1.25rem;
}

.hc-sign-header span {
  color: var(--hc-muted);
}

.hc-sign-document {
  display: grid;
  gap: 0.7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hc-sign-document > div {
  background: var(--hc-surface-muted);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  display: grid;
  gap: 0.25rem;
  padding: 0.7rem;
}

.hc-sign-document .wide {
  grid-column: 1 / -1;
}

.hc-sign-document span,
.hc-sign-document small {
  color: var(--hc-muted);
}

.hc-sign-canvas-panel {
  display: grid;
  gap: 0.4rem;
}

.hc-sign-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
}

.hc-assembly-report-print {
  background: white;
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  color: #1b1f18;
  padding: 1rem;
}

.hc-assembly-report-header {
  display: grid;
  gap: 0.15rem;
  margin-bottom: 1rem;
}

.hc-assembly-report-header strong {
  font-size: 1.38rem;
}

.hc-assembly-report-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hc-assembly-report-grid h3 {
  font-size: 1.1rem;
  margin: 0 0 0.5rem;
}

.hc-assembly-report-grid table {
  border-collapse: collapse;
  width: 100%;
}

.hc-assembly-report-grid th,
.hc-assembly-report-grid td {
  border-bottom: 1px solid var(--hc-border);
  padding: 0.38rem 0.45rem;
  vertical-align: top;
}

.hc-assembly-report-grid th {
  background: #f6f1e5;
  font-size: 0.95rem;
  text-align: left;
}

.hc-assembly-report-grid .amount {
  text-align: right;
  white-space: nowrap;
}

.hc-assembly-report-grid tfoot td {
  font-weight: 800;
}

.hc-assembly-result {
  align-items: center;
  background: #f6f1e5;
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  margin-top: 1rem;
  padding: 0.75rem 0.85rem;
}

.hc-assembly-result strong {
  font-size: 1.27rem;
}

.hc-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: flex-end;
  margin-top: 1rem;
}

.hc-check-row {
  align-items: center;
  display: inline-flex;
  font-weight: 600;
  gap: 0.5rem;
  min-height: 38px;
}

.hc-check-row input {
  accent-color: var(--hc-forest);
  height: 1rem;
  width: 1rem;
}

.hc-requirement-editor {
  display: grid;
  gap: 0.65rem;
}

.hc-requirement-row {
  align-items: end;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(160px, 1fr) 120px 120px auto;
}

.hc-row-action {
  align-items: end;
  display: flex;
}

.hc-report-viewer {
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  height: 760px;
  min-height: 560px;
  overflow: hidden;
}

.hc-report-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
}

.hc-report-workspace {
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr) 320px;
  overflow: hidden;
}

.hc-report-workspace.is-params-collapsed {
  grid-template-columns: minmax(0, 1fr);
}

.hc-report-main {
  min-width: 0;
  padding: 1rem;
}

.hc-report-main-header {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.hc-report-params {
  background: rgba(248, 243, 231, 0.55);
  border-left: 1px solid var(--hc-border);
  min-width: 0;
  overflow: auto;
}

.hc-report-params-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hc-border);
  color: var(--hc-text);
  display: flex;
  font-weight: 700;
  gap: 0.4rem;
  justify-content: flex-end;
  min-height: 42px;
  padding: 0.65rem 0.85rem;
  width: 100%;
}

.hc-report-params-body {
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.hc-report-params-body h2 {
  font-size: 1rem;
  margin: 0;
}

.hc-detail-section {
  display: grid;
  gap: 1rem;
}

.hc-two-column {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.hc-one-column {
  display: grid;
  gap: 1rem;
  max-width: 860px;
}

.hc-data-list {
  display: grid;
  gap: 0.55rem;
}

.hc-data-row {
  align-items: center;
  background: rgba(248, 243, 231, 0.65);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  padding: 0.65rem 0.75rem;
}

.hc-data-row-stacked {
  align-items: flex-start;
  gap: 0.75rem;
}

.hc-data-row-stacked > div:first-child {
  display: grid;
  gap: 0.2rem;
}

.hc-notification-list {
  display: grid;
  gap: 0.85rem;
}

.hc-notification-card {
  position: relative;
}

.hc-notification-card.is-unread {
  border-color: rgba(217, 168, 92, 0.7);
}

.hc-work-card {
  display: grid;
}

.hc-stand-card {
  display: grid;
}

.hc-stand-filter {
  align-items: end;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
}

.hc-admin-slot-actions {
  align-items: end;
  background: rgba(248, 243, 231, 0.68);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(220px, 360px) auto;
  padding: 0.75rem;
}

.hc-stands-map {
  aspect-ratio: 4 / 3;
  background: var(--hc-sand);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  min-height: 320px;
  overflow: hidden;
}

.hc-stand-thumb {
  aspect-ratio: 4 / 3;
  border: 1px solid var(--hc-border);
  border-radius: 6px;
  display: block;
  height: 46px;
  object-fit: cover;
  width: 64px;
}

.hc-stand-photo-preview {
  align-items: start;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: minmax(160px, 260px) auto;
}

.hc-stand-photo-preview img {
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  max-height: 220px;
  max-width: 100%;
  object-fit: cover;
}

.hc-stands-map.is-empty::before {
  align-items: center;
  color: #687060;
  content: "Nema koordinata za prikaz.";
  display: flex;
  font-weight: 650;
  height: 100%;
  justify-content: center;
}

.hc-map-marker {
  border: 2px solid white;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(46, 51, 46, 0.22);
  color: white;
  cursor: pointer;
  font-size: 0.79rem;
  font-weight: 800;
  height: 34px;
  line-height: 1;
  min-width: 34px;
  padding: 0 0.42rem;
}

.hc-map-marker.is-free {
  background: var(--hc-success);
}

.hc-map-marker.is-busy {
  background: var(--hc-danger);
}

.hc-map-marker.is-mine {
  background: var(--hc-clay);
}

.hc-map-popup {
  color: var(--hc-text);
  display: grid;
  gap: 0.2rem;
  min-width: 160px;
}

.hc-map-popup strong,
.hc-map-popup span,
.hc-map-popup small {
  display: block;
}

.hc-map-shell {
  display: grid;
  gap: 0.75rem;
}

.hc-map-commandbar {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(46, 51, 46, 0.14);
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  left: 0.8rem;
  max-width: calc(100% - 1.6rem);
  padding: 0.34rem;
  position: absolute;
  top: 0.8rem;
  z-index: 500;
}

.hc-file-action {
  cursor: pointer;
  position: relative;
}

.hc-file-input {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.hc-map-canvas-wrap {
  background: var(--hc-sand);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  min-height: calc(100vh - 165px);
  overflow: hidden;
  position: relative;
}

.hc-hunting-map {
  height: 100%;
  min-height: calc(100vh - 165px);
  width: 100%;
}

.hc-map-tool-button {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(216, 204, 184, 0.92);
  border-radius: 8px;
  color: var(--hc-text);
  cursor: pointer;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  padding: 0;
  position: relative;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  width: 40px;
}

.hc-map-tool-button:hover,
.hc-map-tool-button.is-active {
  background: var(--hc-forest);
  border-color: var(--hc-forest);
  color: #fff;
}

.hc-map-tool-file {
  margin: 0;
}

.hc-map-tool-menu {
  position: relative;
}

.hc-map-tool-menu-panel {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(46, 51, 46, 0.16);
  display: flex;
  gap: 0.28rem;
  left: 0;
  padding: 0.34rem;
  position: absolute;
  top: calc(100% + 0.35rem);
  z-index: 520;
}

.hc-map-toolbar-separator {
  align-self: stretch;
  background: var(--hc-border);
  display: inline-block;
  margin: 0 0.16rem;
  width: 1px;
}

.hc-map-tool-icon {
  background-color: currentColor;
  display: inline-block;
  height: 20px;
  width: 20px;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.hc-map-icon-boundary {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5L12 2L20 5V19L12 22L4 19V5ZM6 6.4V17.6L12 19.8L18 17.6V6.4L12 4.2L6 6.4Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5L12 2L20 5V19L12 22L4 19V5ZM6 6.4V17.6L12 19.8L18 17.6V6.4L12 4.2L6 6.4Z'/%3E%3C/svg%3E");
}

.hc-map-icon-region {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 7L9 3L15 6L21 4V17L15 20L9 17L3 20V7ZM5 8.1V16.9L9 14.9V5.6L5 8.1ZM11 5.7V15.1L15 17.1V7.9L11 5.7ZM17 8V17.1L19 16.1V6.9L17 8Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 7L9 3L15 6L21 4V17L15 20L9 17L3 20V7ZM5 8.1V16.9L9 14.9V5.6L5 8.1ZM11 5.7V15.1L15 17.1V7.9L11 5.7ZM17 8V17.1L19 16.1V6.9L17 8Z'/%3E%3C/svg%3E");
}

.hc-map-icon-object,
.hc-map-icon-stand {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2A7 7 0 0 0 5 9C5 14.2 12 22 12 22S19 14.2 19 9A7 7 0 0 0 12 2ZM12 6A3 3 0 1 1 12 12A3 3 0 0 1 12 6Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2A7 7 0 0 0 5 9C5 14.2 12 22 12 22S19 14.2 19 9A7 7 0 0 0 12 2ZM12 6A3 3 0 1 1 12 12A3 3 0 0 1 12 6Z'/%3E%3C/svg%3E");
}

.hc-map-icon-blind {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 3H17L20 9V15H18V21H16V15H8V21H6V15H4V9L7 3ZM8.2 5L6.2 9H17.8L15.8 5H8.2ZM6 11V13H18V11H6Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 3H17L20 9V15H18V21H16V15H8V21H6V15H4V9L7 3ZM8.2 5L6.2 9H17.8L15.8 5H8.2ZM6 11V13H18V11H6Z'/%3E%3C/svg%3E");
}

.hc-map-icon-feeding {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 4H19V7H17L15 20H9L7 7H5V4ZM9 7L10.7 18H13.3L15 7H9ZM3 9H6L7 20H4L3 9ZM18 9H21L20 20H17L18 9Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 4H19V7H17L15 20H9L7 7H5V4ZM9 7L10.7 18H13.3L15 7H9ZM3 9H6L7 20H4L3 9ZM18 9H21L20 20H17L18 9Z'/%3E%3C/svg%3E");
}

.hc-map-icon-salt {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 3H16V6H18V21H6V6H8V3ZM10 5V6H14V5H10ZM8 8V19H16V8H8ZM10 10H14V12H10V10ZM10 14H14V16H10V14Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 3H16V6H18V21H6V6H8V3ZM10 5V6H14V5H10ZM8 8V19H16V8H8ZM10 10H14V12H10V10ZM10 14H14V16H10V14Z'/%3E%3C/svg%3E");
}

.hc-map-icon-water {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2S5 9.6 5 15A7 7 0 0 0 19 15C19 9.6 12 2 12 2ZM12 20A5 5 0 0 1 7 15C7 11.9 10.2 7.2 12 4.8C13.8 7.2 17 11.9 17 15A5 5 0 0 1 12 20Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2S5 9.6 5 15A7 7 0 0 0 19 15C19 9.6 12 2 12 2ZM12 20A5 5 0 0 1 7 15C7 11.9 10.2 7.2 12 4.8C13.8 7.2 17 11.9 17 15A5 5 0 0 1 12 20Z'/%3E%3C/svg%3E");
}

.hc-map-icon-work {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7 6.3L17.7 3.3L20.7 6.3L17.7 9.3L16.3 7.9L9.9 14.3L11.1 15.5L8.5 18.1L5.9 15.5L8.5 12.9L9.7 14.1L16.1 7.7L14.7 6.3ZM4 20H20V22H4V20Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7 6.3L17.7 3.3L20.7 6.3L17.7 9.3L16.3 7.9L9.9 14.3L11.1 15.5L8.5 18.1L5.9 15.5L8.5 12.9L9.7 14.1L16.1 7.7L14.7 6.3ZM4 20H20V22H4V20Z'/%3E%3C/svg%3E");
}

.hc-map-icon-route {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3A3 3 0 1 0 6 9A3 3 0 0 0 6 3ZM6 5A1 1 0 1 1 6 7A1 1 0 0 1 6 5ZM18 15A3 3 0 1 0 18 21A3 3 0 0 0 18 15ZM18 17A1 1 0 1 1 18 19A1 1 0 0 1 18 17ZM8.5 6H14A4 4 0 0 1 14 14H10A2 2 0 0 0 10 18H15V16H10A4 4 0 0 1 10 12H14A2 2 0 0 0 14 8H8.5V6Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3A3 3 0 1 0 6 9A3 3 0 0 0 6 3ZM6 5A1 1 0 1 1 6 7A1 1 0 0 1 6 5ZM18 15A3 3 0 1 0 18 21A3 3 0 0 0 18 15ZM18 17A1 1 0 1 1 18 19A1 1 0 0 1 18 17ZM8.5 6H14A4 4 0 0 1 14 14H10A2 2 0 0 0 10 18H15V16H10A4 4 0 0 1 10 12H14A2 2 0 0 0 14 8H8.5V6Z'/%3E%3C/svg%3E");
}

.hc-map-icon-regions-visible {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5C7 5 3.1 8.1 1.5 12C3.1 15.9 7 19 12 19C17 19 20.9 15.9 22.5 12C20.9 8.1 17 5 12 5ZM12 17C8.3 17 5.2 14.9 3.7 12C5.2 9.1 8.3 7 12 7C15.7 7 18.8 9.1 20.3 12C18.8 14.9 15.7 17 12 17ZM12 9A3 3 0 1 0 12 15A3 3 0 0 0 12 9Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5C7 5 3.1 8.1 1.5 12C3.1 15.9 7 19 12 19C17 19 20.9 15.9 22.5 12C20.9 8.1 17 5 12 5ZM12 17C8.3 17 5.2 14.9 3.7 12C5.2 9.1 8.3 7 12 7C15.7 7 18.8 9.1 20.3 12C18.8 14.9 15.7 17 12 17ZM12 9A3 3 0 1 0 12 15A3 3 0 0 0 12 9Z'/%3E%3C/svg%3E");
}

.hc-map-icon-refresh {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 6A8 8 0 1 0 20 12H18A6 6 0 1 1 16.2 7.7L13 11H21V3L18 6Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 6A8 8 0 1 0 20 12H18A6 6 0 1 1 16.2 7.7L13 11H21V3L18 6Z'/%3E%3C/svg%3E");
}

.hc-map-icon-export {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 20H19V18H5V20ZM13 4H11V12.2L8.4 9.6L7 11L12 16L17 11L15.6 9.6L13 12.2V4Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 20H19V18H5V20ZM13 4H11V12.2L8.4 9.6L7 11L12 16L17 11L15.6 9.6L13 12.2V4Z'/%3E%3C/svg%3E");
}

.hc-map-icon-import {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 20H19V18H5V20ZM11 16H13V7.8L15.6 10.4L17 9L12 4L7 9L8.4 10.4L11 7.8V16Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 20H19V18H5V20ZM11 16H13V7.8L15.6 10.4L17 9L12 4L7 9L8.4 10.4L11 7.8V16Z'/%3E%3C/svg%3E");
}

.hc-map-detail-form {
  display: grid;
  gap: 0.85rem;
}

.hc-map-popup-title {
  font-size: 1.22rem;
  font-weight: 760;
  line-height: 1.2;
  margin: 0.55rem 0 0.9rem;
}

.hc-icon-only {
  min-width: 42px;
  padding-left: 0.7rem;
  padding-right: 0.7rem;
}

.hc-leaflet-pin {
  align-items: center;
  background: var(--hc-forest);
  border: 2px solid white;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(46, 51, 46, 0.22);
  color: white;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 820;
  justify-content: center;
}

.hc-leaflet-pin span {
  line-height: 1;
  max-width: 34px;
  overflow: hidden;
  padding: 0 0.24rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hc-leaflet-pin.is-stand {
  background: var(--hc-clay);
}

.hc-leaflet-pin.is-work {
  background: var(--hc-danger);
}

.hc-leaflet-pin.is-blind {
  background: #4B7D8A;
}

.hc-leaflet-pin.is-feedingsite {
  background: var(--hc-success);
}

.hc-leaflet-pin.is-saltlick {
  background: #7A6AA0;
}

.hc-leaflet-pin.is-wateringplace {
  background: #4F7F8F;
}

.hc-hunting-map .ol-zoom {
  bottom: 0.8rem;
  left: auto;
  right: 0.8rem;
  top: auto;
}

.hc-hunting-map .ol-control button {
  background: rgba(255, 255, 255, 0.94);
  color: var(--hc-text);
}

.hc-hunting-map .ol-control button:hover,
.hc-hunting-map .ol-control button:focus {
  background: var(--hc-forest);
  color: #fff;
}

.hc-hunting-map .ol-attribution {
  bottom: 0.35rem;
  right: 3.8rem;
}

.hc-hunting-map .leaflet-draw-toolbar a,
.hc-hunting-map .leaflet-control-zoom a {
  color: #1f2a1f;
}

.hc-hunting-map .leaflet-popup-content {
  font-size: 0.95rem;
  margin: 0.7rem 0.85rem;
}

.hc-hunting-map .hc-leaflet-hover-popup {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(46, 51, 46, 0.16);
  color: var(--hc-text);
  font-size: 0.92rem;
  padding: 0.45rem 0.6rem;
}

.hc-hunting-map .hc-leaflet-hover-popup::before {
  border-top-color: rgba(255, 255, 255, 0.98);
}

.hc-map-hover-popup {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(46, 51, 46, 0.16);
  color: var(--hc-text);
  font-size: 0.92rem;
  max-width: min(280px, calc(100vw - 2rem));
  padding: 0.45rem 0.6rem;
  pointer-events: none;
  transform: translateY(-0.35rem);
}

.hc-role-chip-list,
.hc-segmented-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.hc-segmented-actions > button {
  flex: 1 1 120px;
}

.hc-public-shell {
  background:
    linear-gradient(rgba(246, 243, 234, 0.83), rgba(246, 243, 234, 0.93)),
    radial-gradient(circle at top left, rgba(168, 185, 154, 0.42), transparent 36%),
    var(--hc-mist);
  min-height: 100vh;
  padding: 2rem;
}

.hc-app-shell {
  background: var(--hc-mist);
  min-height: 100vh;
  padding-bottom: 86px;
}

.hc-app-header {
  background:
    linear-gradient(180deg, rgba(63, 95, 69, 0.96), rgba(63, 95, 69, 0.84)),
    var(--hc-forest);
  color: white;
  padding: 1rem 1rem 1.35rem;
}

.hc-app-main {
  display: grid;
  gap: 0.9rem;
  margin: -0.7rem auto 0;
  max-width: 680px;
  padding: 0 1rem 1.5rem;
}

.hc-bottom-nav {
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid var(--hc-border);
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  left: 0;
  position: fixed;
  right: 0;
  z-index: 30;
}

.hc-bottom-nav a {
  color: #687060;
  display: grid;
  font-size: 0.81rem;
  font-weight: 700;
  gap: 0.15rem;
  justify-items: center;
  min-height: 64px;
  padding: 0.52rem 0.2rem 0.42rem;
  text-decoration: none;
}

.hc-bottom-nav a.active {
  color: var(--hc-forest);
}

.hc-bottom-nav .nav-icon {
  font-size: 1.19rem;
}

@media (max-width: 900px) {
  .hc-admin-shell {
    grid-template-columns: 1fr;
  }

  .hc-admin-sidebar {
    height: auto;
    position: static;
  }

  .hc-admin-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hc-metric-grid,
  .hc-two-column,
  .hc-assembly-report-grid,
  .hc-form-grid,
  .hc-cash-filter,
  .hc-cash-tabs,
  .hc-cash-account-picker,
  .hc-camt-import-summary,
  .hc-stand-reservation-filter,
  .hc-stand-filter,
  .hc-stand-photo-preview,
  .hc-admin-slot-actions,
  .hc-signature-status-grid,
  .hc-signature-preview-grid,
  .hc-sign-document,
  .hc-report-workspace,
  .hc-requirement-row {
    grid-template-columns: 1fr;
  }

  .hc-membership-fees-summary .hc-metric-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hc-map-canvas-wrap,
  .hc-hunting-map {
    min-height: 520px;
  }

  .hc-row-action .hc-secondary-action {
    width: 100%;
  }

  .hc-attachment-preview {
    grid-template-columns: 1fr;
  }

  .hc-signature-request-box {
    grid-template-columns: 1fr;
  }

  .hc-report-params {
    border-left: 0;
    border-top: 1px solid var(--hc-border);
  }

  .hc-signature-qr {
    max-width: 170px;
  }

  .hc-members-splitter {
    min-height: 760px;
  }

  .hc-grid-toolbar {
    align-items: stretch;
  }

  .hc-grid-actions {
    justify-content: stretch;
    width: 100%;
  }

  .hc-grid-actions .hc-primary-action,
  .hc-grid-actions .hc-secondary-action {
    flex: 1 1 88px;
  }
}

@media print {
  body.cervion-printing > :not(#cervion-print-root) {
    display: none !important;
  }

  #cervion-print-root {
    display: block !important;
  }

  #cervion-print-root .hc-pos-receipt {
    box-shadow: none;
    margin: 0;
    max-width: 70mm;
    padding: 0;
    width: 70mm;
  }
}

@media (max-width: 640px) {
  .hc-admin-topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .hc-admin-content,
  .hc-public-shell {
    padding: 1rem;
  }

  .hc-membership-fees-summary .hc-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hc-sign-panel {
    padding: 0.85rem;
  }

  .hc-sign-actions .hc-primary-action,
  .hc-sign-actions .hc-secondary-action {
    flex: 1 1 130px;
  }

  .hc-stands-map {
    min-height: 260px;
  }

  .hc-map-commandbar {
    align-items: center;
    left: 0.5rem;
    max-width: calc(100% - 1rem);
    top: 0.5rem;
  }

  .hc-map-tool-button {
    height: 36px;
    width: 36px;
  }

  .hc-map-tool-icon {
    height: 18px;
    width: 18px;
  }

  .hc-map-canvas-wrap,
  .hc-hunting-map {
    min-height: 430px;
  }
}

:root {
  --hc-accent: #107c41;
  --hc-accent-hover: #0e6f3a;
  --hc-accent-soft: rgba(16, 124, 65, 0.1);
  --hc-bg: #f7f8fa;
  --hc-surface: #ffffff;
  --hc-surface-muted: #f3f5f8;
  --hc-surface-raised: rgba(255, 255, 255, 0.94);
  --hc-text: #1f2328;
  --hc-text-muted: #616b78;
  --hc-border: #d9dee7;
  --hc-border-strong: #c7ceda;
  --hc-success: #107c41;
  --hc-warning: #986f0b;
  --hc-danger: #c50f1f;
  --hc-info: #107c41;
  --hc-shadow: 0 10px 30px rgba(31, 35, 40, 0.08);
  --hc-shadow-strong: 0 20px 50px rgba(31, 35, 40, 0.14);
  --hc-card: var(--hc-surface-raised);
  --hc-forest: var(--hc-accent);
  --hc-moss: #188f5d;
  --hc-sage: #b7e3c4;
  --hc-oak: #8764b8;
  --hc-beige: var(--hc-surface-muted);
  --hc-sand: var(--hc-surface);
  --hc-mist: var(--hc-bg);
  --hc-clay: #8764b8;
  --hc-amber: #f2c94c;
  --bs-body-bg: var(--hc-bg);
  --bs-body-bg-rgb: 247, 248, 250;
  --bs-body-color: var(--hc-text);
  --bs-body-color-rgb: 31, 35, 40;
  --bs-secondary-color: var(--hc-text-muted);
  --bs-secondary-color-rgb: 97, 107, 120;
  --bs-border-color: var(--hc-border);
  --bs-link-color: var(--hc-accent);
  --bs-link-hover-color: var(--hc-accent-hover);
  --bs-tertiary-bg: var(--hc-surface-muted);
  --bs-tertiary-bg-rgb: 243, 245, 248;
}

html[data-hc-theme="dark"] {
  --hc-accent: #54b689;
  --hc-accent-hover: #78d39c;
  --hc-accent-soft: rgba(84, 182, 137, 0.16);
  --hc-bg: #111318;
  --hc-surface: #171a21;
  --hc-surface-muted: #20242d;
  --hc-surface-raised: rgba(23, 26, 33, 0.96);
  --hc-text: #f3f6fa;
  --hc-text-muted: #aab4c0;
  --hc-border: #343b48;
  --hc-border-strong: #4a5362;
  --hc-success: #54b689;
  --hc-warning: #f4c04f;
  --hc-danger: #ff7b72;
  --hc-info: #78d39c;
  --hc-shadow: 0 12px 32px rgba(0, 0, 0, 0.32);
  --hc-shadow-strong: 0 22px 56px rgba(0, 0, 0, 0.5);
  --hc-card: var(--hc-surface-raised);
  --hc-moss: #78d39c;
  --hc-sage: #1f5b3b;
  --hc-oak: #c9a7ff;
  --hc-beige: var(--hc-surface-muted);
  --hc-sand: var(--hc-surface);
  --hc-mist: var(--hc-bg);
  --hc-clay: #c9a7ff;
  --hc-amber: #f4c04f;
  --bs-body-bg: var(--hc-bg);
  --bs-body-bg-rgb: 17, 19, 24;
  --bs-body-color: var(--hc-text);
  --bs-body-color-rgb: 243, 246, 250;
  --bs-secondary-color: var(--hc-text-muted);
  --bs-secondary-color-rgb: 170, 180, 192;
  --bs-border-color: var(--hc-border);
  --bs-link-color: var(--hc-accent);
  --bs-link-hover-color: var(--hc-accent-hover);
  --bs-tertiary-bg: var(--hc-surface-muted);
  --bs-tertiary-bg-rgb: 32, 36, 45;
}

html,
body {
  background: var(--hc-bg);
  color: var(--hc-text);
}

body {
  color-scheme: light dark;
  font-family: "Segoe UI Variable Text", "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.04rem;
  text-rendering: optimizeLegibility;
}

a,
.btn-link {
  color: var(--hc-accent);
}

.text-muted {
  color: var(--hc-text-muted) !important;
}

.alert {
  background: var(--hc-accent-soft);
  border: 1px solid color-mix(in srgb, var(--hc-accent), transparent 62%);
  border-radius: 8px;
  color: var(--hc-text);
}

.hc-toast-stack {
  align-items: stretch;
  bottom: max(1rem, env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  left: 50%;
  max-width: min(520px, calc(100vw - 2rem));
  position: fixed;
  transform: translateX(-50%);
  width: max-content;
  z-index: 2147483000;
}

.hc-toast-stack-static {
  pointer-events: none;
}

.hc-toast {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  box-shadow: var(--hc-shadow-strong);
  color: #fff;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 48px;
  padding: 0.7rem 0.7rem 0.7rem 0.85rem;
  width: min(520px, calc(100vw - 2rem));
}

.hc-toast-stack-static .hc-toast {
  pointer-events: auto;
}

.hc-toast-info {
  background: var(--hc-success);
  border-color: color-mix(in srgb, var(--hc-success), #000 18%);
}

.hc-toast-error {
  background: var(--hc-danger);
  border-color: color-mix(in srgb, var(--hc-danger), #000 18%);
}

.hc-toast-icon {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 800;
  height: 1.35rem;
  justify-content: center;
  line-height: 1;
  width: 1.35rem;
}

.hc-toast-text {
  font-weight: 650;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.hc-toast-close {
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 1.25rem;
  font-weight: 700;
  height: 2rem;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 2rem;
}

.hc-toast-close:hover,
.hc-toast-close:focus-visible {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.72);
  color: #fff;
}

.hc-toast-dismiss-toggle {
  display: none;
}

.hc-toast-dismiss-toggle:checked + .hc-toast-stack {
  display: none;
}

.hc-toast-auto-dismiss {
  animation: hc-toast-auto-hide 5s forwards;
}

@keyframes hc-toast-auto-hide {
  0%,
  92% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    transform: translateY(0.5rem);
    visibility: hidden;
  }
}

.form-label {
  color: var(--hc-text-muted);
  font-weight: 650;
  margin-bottom: 0.35rem;
}

.form-control,
.form-select,
.form-check-input,
.dxbl-text-edit,
.dxbl-memo-edit,
.dxbl-spin-edit,
.dxbl-combobox,
.dxbl-date-edit {
  background-color: var(--hc-surface) !important;
  border-color: var(--hc-border) !important;
  border-radius: 8px !important;
  color: var(--hc-text) !important;
}

.form-check-input:checked {
  background-color: var(--hc-accent) !important;
  border-color: var(--hc-accent) !important;
}

.form-check-input:disabled {
  background-color: var(--hc-surface-muted) !important;
  border-color: var(--hc-border) !important;
}

.form-check-input:checked:disabled {
  background-color: color-mix(in srgb, var(--hc-accent), var(--hc-surface-muted) 35%) !important;
  border-color: color-mix(in srgb, var(--hc-accent), var(--hc-border) 35%) !important;
}

.form-control,
.form-select,
.dxbl-text-edit,
.dxbl-text-edit-input {
  min-height: 42px;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.dxbl-text-edit:focus-within,
.dxbl-memo-edit:focus-within,
.dxbl-spin-edit:focus-within,
.dxbl-combobox:focus-within,
.dxbl-date-edit:focus-within {
  border-color: var(--hc-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--hc-accent), transparent 78%) !important;
}

.form-floating > label {
  color: var(--hc-text-muted) !important;
}

.form-floating > label::after {
  background-color: var(--hc-surface) !important;
}

.form-floating > .form-control:focus ~ label {
  color: var(--hc-accent) !important;
}

.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: var(--hc-text-muted) !important;
}

.form-control::placeholder {
  color: color-mix(in srgb, var(--hc-text-muted), transparent 10%) !important;
  opacity: 1;
}

.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--hc-text) !important;
  box-shadow: 0 0 0 1000px var(--hc-surface) inset !important;
  caret-color: var(--hc-text);
}

.hc-card {
  background: var(--hc-card);
  border-color: var(--hc-border);
  box-shadow: var(--hc-shadow);
  color: var(--hc-text);
}

.hc-card-pad {
  padding: 1rem;
}

.hc-primary-action,
.hc-secondary-action {
  border-radius: 8px;
  box-shadow: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.hc-primary-action {
  background: var(--hc-accent);
  border-color: var(--hc-accent);
  color: #fff;
}

.hc-primary-action:hover,
.hc-primary-action:focus-visible {
  background: var(--hc-accent-hover);
  border-color: var(--hc-accent-hover);
  color: #fff;
}

.hc-secondary-action {
  background: var(--hc-surface);
  border-color: var(--hc-border);
  color: var(--hc-text);
}

.hc-secondary-action:hover,
.hc-secondary-action:focus-visible {
  background: var(--hc-surface-muted);
  border-color: var(--hc-border-strong);
  color: var(--hc-text);
}

.hc-danger-action {
  border-color: color-mix(in srgb, var(--hc-danger), transparent 45%);
  color: var(--hc-danger);
}

.hc-danger-action-solid {
  background: var(--hc-danger);
  border-color: var(--hc-danger);
  color: #fff;
}

.hc-status {
  border: 1px solid transparent;
  font-size: 0.84rem;
}

.hc-status-success {
  background: color-mix(in srgb, var(--hc-success), transparent 86%);
  border-color: color-mix(in srgb, var(--hc-success), transparent 66%);
  color: var(--hc-success);
}

.hc-status-warning {
  background: color-mix(in srgb, var(--hc-warning), transparent 84%);
  border-color: color-mix(in srgb, var(--hc-warning), transparent 64%);
  color: var(--hc-warning);
}

.hc-status-danger {
  background: color-mix(in srgb, var(--hc-danger), transparent 86%);
  border-color: color-mix(in srgb, var(--hc-danger), transparent 64%);
  color: var(--hc-danger);
}

.hc-status-neutral {
  background: var(--hc-surface-muted);
  border-color: var(--hc-border);
  color: var(--hc-text-muted);
}

.hc-loading-overlay {
  background: color-mix(in srgb, var(--hc-bg), transparent 16%);
  color: var(--hc-text);
}

.hc-loading-spinner {
  border-color: color-mix(in srgb, var(--hc-accent), transparent 78%);
  border-top-color: var(--hc-accent);
}

.hc-theme-toggle {
  align-items: center;
  background: var(--hc-surface);
  border: 1px solid var(--hc-border);
  border-radius: 999px;
  color: var(--hc-text);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  height: 40px;
  justify-content: center;
  padding: 0;
  width: 40px;
}

.hc-theme-toggle:hover,
.hc-theme-toggle:focus-visible {
  background: var(--hc-surface-muted);
  border-color: var(--hc-border-strong);
  color: var(--hc-accent);
}

.hc-theme-icon,
.hc-nav-icon {
  background-color: currentColor;
  display: inline-block;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.hc-theme-icon {
  height: 18px;
  width: 18px;
}

.hc-theme-icon-sun {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 1.5L11.1 4H8.9L10 1.5ZM10 16L8.9 18.5H11.1L10 16ZM18.5 10L16 8.9V11.1L18.5 10ZM4 10L1.5 8.9V11.1L4 10ZM15.7 2.9L13.2 3.9L14.8 5.5L15.7 2.9ZM5.2 14.5L4.3 17.1L6.8 16.1L5.2 14.5ZM17.1 15.7L16.1 13.2L14.5 14.8L17.1 15.7ZM3.9 6.8L5.5 5.2L2.9 4.3L3.9 6.8ZM10 5.5A4.5 4.5 0 1 1 10 14.5A4.5 4.5 0 0 1 10 5.5Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 1.5L11.1 4H8.9L10 1.5ZM10 16L8.9 18.5H11.1L10 16ZM18.5 10L16 8.9V11.1L18.5 10ZM4 10L1.5 8.9V11.1L4 10ZM15.7 2.9L13.2 3.9L14.8 5.5L15.7 2.9ZM5.2 14.5L4.3 17.1L6.8 16.1L5.2 14.5ZM17.1 15.7L16.1 13.2L14.5 14.8L17.1 15.7ZM3.9 6.8L5.5 5.2L2.9 4.3L3.9 6.8ZM10 5.5A4.5 4.5 0 1 1 10 14.5A4.5 4.5 0 0 1 10 5.5Z'/%3E%3C/svg%3E");
}

.hc-theme-icon-moon {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.8 12.6A6.9 6.9 0 0 1 7.4 4.2A7 7 0 1 0 15.8 12.6ZM10 18A8 8 0 0 1 10 2C10.7 2 11.4 2.1 12 2.3A5.6 5.6 0 0 0 17.7 8C17.9 8.6 18 9.3 18 10A8 8 0 0 1 10 18Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.8 12.6A6.9 6.9 0 0 1 7.4 4.2A7 7 0 1 0 15.8 12.6ZM10 18A8 8 0 0 1 10 2C10.7 2 11.4 2.1 12 2.3A5.6 5.6 0 0 0 17.7 8C17.9 8.6 18 9.3 18 10A8 8 0 0 1 10 18Z'/%3E%3C/svg%3E");
}

.hc-public-shell {
  background: var(--hc-bg);
  color: var(--hc-text);
  min-height: 100vh;
  padding: 2rem;
  position: relative;
}

.hc-public-tools {
  display: flex;
  justify-content: flex-end;
  margin: 0 auto 1rem;
  max-width: 1040px;
}

.hc-admin-shell {
  background: var(--hc-bg);
  color: var(--hc-text);
  grid-template-columns: 282px minmax(0, 1fr);
}

.hc-admin-sidebar {
  background: var(--hc-surface);
  border-right: 1px solid var(--hc-border);
  color: var(--hc-text);
}

.hc-admin-brand {
  border-bottom-color: var(--hc-border);
}

.hc-admin-brand strong {
  color: var(--hc-text);
  font-size: 1.34rem;
}

.hc-admin-brand span {
  color: var(--hc-text-muted);
}

.hc-admin-nav-group summary {
  color: var(--hc-text-muted);
}

.hc-admin-nav-group summary::before,
.hc-admin-nav-group summary::after {
  color: var(--hc-text-muted);
}

.hc-admin-nav-group summary:hover {
  background: var(--hc-surface-muted);
  color: var(--hc-text);
}

.hc-admin-nav-group > div::before {
  background: var(--hc-border);
}

.hc-admin-nav-group > div a::before {
  color: var(--hc-text-muted);
}

.hc-admin-nav a {
  color: var(--hc-text);
}

.hc-admin-nav a:hover,
.hc-admin-nav a.active {
  background: var(--hc-accent-soft);
  color: var(--hc-accent);
}

.hc-admin-topbar {
  background: color-mix(in srgb, var(--hc-surface), transparent 8%);
  border-bottom-color: var(--hc-border);
  backdrop-filter: blur(16px);
}

.hc-admin-topbar-tools {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  min-width: 0;
}

.hc-quick-actions-menu {
  flex: 0 0 auto;
  position: relative;
}

.hc-quick-actions-trigger {
  align-items: center;
  background: var(--hc-surface);
  border: 1px solid var(--hc-border);
  border-radius: 999px;
  color: var(--hc-text);
  cursor: pointer;
  display: inline-flex;
  font-weight: 720;
  gap: 0.45rem;
  min-height: 40px;
  padding: 0 0.85rem 0 0.55rem;
  white-space: nowrap;
}

.hc-quick-actions-trigger:hover,
.hc-quick-actions-trigger:focus-visible,
.hc-quick-actions-menu:focus-within .hc-quick-actions-trigger {
  background: var(--hc-surface-muted);
  border-color: var(--hc-border-strong);
  color: var(--hc-text);
}

.hc-quick-actions-plus {
  align-items: center;
  background: var(--hc-accent);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 1.05rem;
  font-weight: 800;
  height: 1.35rem;
  justify-content: center;
  line-height: 1;
  width: 1.35rem;
}

.hc-quick-actions-caret {
  background-color: currentColor;
  color: var(--hc-text-muted);
  display: inline-block;
  height: 0.78rem;
  width: 0.78rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.2 5.6L8 9.4L11.8 5.6L13.2 7L8 12.2L2.8 7L4.2 5.6Z'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.2 5.6L8 9.4L11.8 5.6L13.2 7L8 12.2L2.8 7L4.2 5.6Z'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.hc-quick-actions-panel {
  background: var(--hc-surface-raised);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  box-shadow: var(--hc-shadow-strong);
  display: grid;
  min-width: 250px;
  opacity: 0;
  overflow: hidden;
  padding: 0.35rem;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 100%;
  transform: translateY(-0.25rem);
  transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
  visibility: hidden;
  width: max-content;
  z-index: 80;
}

.hc-quick-actions-menu:hover .hc-quick-actions-panel,
.hc-quick-actions-menu:focus-within .hc-quick-actions-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.hc-quick-actions-menu.is-suppressed .hc-quick-actions-panel {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-0.25rem);
  visibility: hidden;
}

.hc-quick-actions-panel a,
.hc-quick-actions-panel button {
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: var(--hc-text);
  font-weight: 650;
  line-height: 1.2;
  padding: 0.62rem 0.75rem;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  width: 100%;
}

.hc-quick-actions-panel a:hover,
.hc-quick-actions-panel a:focus-visible,
.hc-quick-actions-panel button:hover,
.hc-quick-actions-panel button:focus-visible {
  background: var(--hc-accent-soft);
  color: var(--hc-accent);
  outline: none;
}

.hc-admin-content {
  background: var(--hc-bg);
}

.hc-page-title h1 {
  color: var(--hc-text);
  font-size: 1.66rem;
  font-weight: 720;
}

.hc-page-title p,
.hc-grid-toolbar span,
.hc-compact-metrics small,
.hc-metric span,
.hc-metric small,
.hc-lookup-tile span,
.hc-autocomplete-menu span,
.hc-autocomplete-empty {
  color: var(--hc-text-muted);
}

.hc-metric,
.hc-compact-metrics span,
.hc-data-row,
.hc-admin-slot-actions,
.hc-attachment-panel,
.hc-report-line-detail,
.hc-assembly-result,
.hc-detail-pane {
  background: var(--hc-surface-muted);
  border-color: var(--hc-border);
  color: var(--hc-text);
}

.hc-member-detail-tabs,
.hc-member-detail-tabs .dxbl-tabs,
.hc-member-detail-tabs .dxbl-tabs-tablist {
  background: transparent;
  color: var(--hc-text);
}

.hc-metric strong {
  color: var(--hc-text);
}

.hc-lookup-tile,
.hc-empty-state,
.hc-autocomplete-menu,
.hc-map-commandbar,
.hc-map-tool-button,
.hc-map-tool-menu-panel,
.hc-map-hover-popup,
.hc-hunting-map .hc-leaflet-hover-popup {
  background: var(--hc-surface);
  border-color: var(--hc-border);
  color: var(--hc-text);
  box-shadow: var(--hc-shadow);
}

.hc-lookup-tile:hover,
.hc-autocomplete-menu button:hover,
.hc-autocomplete-menu button.hc-lookup-option-selected {
  background: var(--hc-accent-soft);
}

.hc-admin-content .dxbl-grid,
.hc-admin-grid,
.hc-admin-grid-compact {
  background: var(--hc-surface);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
  box-shadow: none;
  overflow: hidden;
}

.hc-admin-content .dxbl-grid .dxbl-grid-top-panel,
.hc-admin-content .dxbl-grid .dxbl-grid-toolbar-container,
.hc-admin-content .dxbl-grid .dxbl-grid-search-panel,
.hc-admin-grid-compact .dxbl-grid-top-panel,
.hc-admin-grid-compact .dxbl-grid-toolbar-container,
.hc-admin-grid-compact .dxbl-grid-search-panel {
  background: var(--hc-surface);
  border-color: var(--hc-border);
}

.hc-grid-toolbar-integrated.dxbl-toolbar,
.hc-grid-toolbar-integrated .dxbl-toolbar {
  background: var(--hc-surface) !important;
  color: var(--hc-text);
}

.hc-grid-toolbar-integrated .dxbl-btn {
  border-radius: 8px !important;
}

.hc-grid-toolbar-integrated .dxbl-btn:not(.dxbl-btn-primary):not(.dxbl-btn-danger) {
  background: var(--hc-surface) !important;
  border-color: var(--hc-border) !important;
  color: var(--hc-text) !important;
}

.hc-grid-toolbar-integrated .dxbl-btn:not(.dxbl-btn-primary):not(.dxbl-btn-danger):hover {
  background: var(--hc-surface-muted) !important;
}

.hc-admin-content .dxbl-grid :is([role="columnheader"], .dxbl-grid-header-cell),
.hc-admin-grid :is([role="columnheader"], .dxbl-grid-header-cell),
.hc-admin-grid-compact :is([role="columnheader"], .dxbl-grid-header-cell),
.hc-card [role="columnheader"] {
  background: var(--hc-surface-muted) !important;
  border-color: var(--hc-border) !important;
  color: var(--hc-text-muted) !important;
  font-size: 1rem;
  font-weight: 720;
}

.hc-admin-content .dxbl-grid [role="gridcell"],
.hc-admin-grid [role="gridcell"],
.hc-admin-grid-compact [role="gridcell"],
.hc-card [role="gridcell"] {
  border-color: var(--hc-border) !important;
  color: var(--hc-text);
  font-size: 1.02rem;
}

.hc-clickable-grid .hc-grid-row:hover > td {
  background: var(--hc-accent-soft) !important;
}

.hc-clickable-grid .hc-grid-row-selected,
.hc-clickable-grid .hc-grid-row-selected > td {
  background: color-mix(in srgb, var(--hc-accent), transparent 86%) !important;
}

.hc-clickable-grid .hc-grid-row-selected > td:first-child {
  box-shadow:
    inset 4px 0 0 var(--hc-accent),
    inset 0 1px 0 color-mix(in srgb, var(--hc-accent), transparent 72%),
    inset 0 -1px 0 color-mix(in srgb, var(--hc-accent), transparent 72%);
}

.hc-modal-popup {
  color: var(--hc-text);
}

.hc-modal-body {
  background: var(--hc-bg);
  color: var(--hc-text);
  max-height: calc(100dvh - 11rem);
  overflow: auto;
}

.hc-modal-footer {
  background: var(--hc-surface);
  border-top: 1px solid var(--hc-border);
}

.hc-date-picker-popup {
  background: var(--hc-surface);
  color: var(--hc-text);
}

.hc-stands-map,
.hc-map-canvas-wrap,
.hc-report-viewer,
.hc-assembly-report-print {
  background: var(--hc-surface);
  border-color: var(--hc-border);
  color: var(--hc-text);
}

.hc-assembly-report-grid th,
.hc-assembly-result {
  background: var(--hc-surface-muted);
}

.hc-app-shell {
  background: var(--hc-bg);
  color: var(--hc-text);
  min-height: 100dvh;
  padding-bottom: calc(84px + env(safe-area-inset-bottom));
}

.hc-app-header {
  align-items: center;
  background: var(--hc-surface);
  border-bottom: 1px solid var(--hc-border);
  color: var(--hc-text);
  display: flex;
  justify-content: space-between;
  padding: calc(0.9rem + env(safe-area-inset-top)) 1rem 0.95rem;
  position: sticky;
  top: 0;
  z-index: 24;
}

.hc-app-header strong {
  display: block;
  font-size: 1.18rem;
  line-height: 1.1;
}

.hc-app-header span {
  color: var(--hc-text-muted);
  display: block;
  font-size: 0.88rem;
}

.hc-app-main {
  gap: 0.85rem;
  margin: 0 auto;
  max-width: 720px;
  padding: 0.85rem 0.9rem 1.4rem;
}

.hc-bottom-nav {
  background: color-mix(in srgb, var(--hc-surface), transparent 4%);
  border-top-color: var(--hc-border);
  box-shadow: 0 -10px 30px rgba(31, 35, 40, 0.08);
  padding-bottom: env(safe-area-inset-bottom);
}

.hc-bottom-nav a {
  color: var(--hc-text-muted);
  min-height: 62px;
}

.hc-bottom-nav a.active {
  color: var(--hc-accent);
}

.hc-nav-icon {
  height: 21px;
  width: 21px;
}

.hc-nav-icon-home {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 9.2L10 3L17 9.2V17H12V12H8V17H3V9.2ZM5 10.1V15H6V10H14V15H15V10.1L10 5.7L5 10.1Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 9.2L10 3L17 9.2V17H12V12H8V17H3V9.2ZM5 10.1V15H6V10H14V15H15V10.1L10 5.7L5 10.1Z'/%3E%3C/svg%3E");
}

.hc-nav-icon-check {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.2 13.6L4.6 10L3.2 11.4L8.2 16.4L17.2 7.4L15.8 6L8.2 13.6Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.2 13.6L4.6 10L3.2 11.4L8.2 16.4L17.2 7.4L15.8 6L8.2 13.6Z'/%3E%3C/svg%3E");
}

.hc-nav-icon-bell {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 18A2.5 2.5 0 0 0 12.4 16H7.6A2.5 2.5 0 0 0 10 18ZM4 14H16L14.5 12.2V8A4.5 4.5 0 0 0 11 3.6V2H9V3.6A4.5 4.5 0 0 0 5.5 8V12.2L4 14Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 18A2.5 2.5 0 0 0 12.4 16H7.6A2.5 2.5 0 0 0 10 18ZM4 14H16L14.5 12.2V8A4.5 4.5 0 0 0 11 3.6V2H9V3.6A4.5 4.5 0 0 0 5.5 8V12.2L4 14Z'/%3E%3C/svg%3E");
}

.hc-nav-icon-stand {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3H14L16 7V11H14V18H12V11H8V18H6V11H4V7L6 3ZM7.2 5L6.2 7H13.8L12.8 5H7.2ZM6 9H14V8.8H6V9Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3H14L16 7V11H14V18H12V11H8V18H6V11H4V7L6 3ZM7.2 5L6.2 7H13.8L12.8 5H7.2ZM6 9H14V8.8H6V9Z'/%3E%3C/svg%3E");
}

.hc-nav-icon-user {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 10A4 4 0 1 0 10 2A4 4 0 0 0 10 10ZM3 18A7 7 0 0 1 17 18H15A5 5 0 0 0 5 18H3Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 10A4 4 0 1 0 10 2A4 4 0 0 0 10 10ZM3 18A7 7 0 0 1 17 18H15A5 5 0 0 0 5 18H3Z'/%3E%3C/svg%3E");
}

.hc-mobile-task-filters,
.hc-mobile-task-list {
  display: none;
}

html[data-hc-theme="dark"] .hc-pos-receipt,
html[data-hc-theme="dark"] .hc-assembly-report-print {
  background: #fff;
  color: #111;
}

html[data-hc-theme="dark"] .dxbl-popup,
html[data-hc-theme="dark"] .dxbl-dropdown,
html[data-hc-theme="dark"] .dxbl-listbox {
  color: var(--hc-text);
}

@media (max-width: 900px) {
  .hc-admin-shell-desktop-task {
    grid-template-columns: 282px minmax(820px, 1fr);
    min-width: 1102px;
  }

  .hc-admin-shell-desktop-task .hc-admin-sidebar {
    height: 100vh;
    position: sticky;
  }

  .hc-admin-shell-desktop-task .hc-admin-nav {
    grid-template-columns: 1fr;
  }

  .hc-admin-shell-desktop-task .hc-form-grid,
  .hc-admin-shell-desktop-task .hc-two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hc-admin-shell-desktop-task .hc-cash-filter {
    grid-template-columns: minmax(110px, 150px) minmax(155px, 220px);
  }

  .hc-admin-shell-desktop-task .hc-cash-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) repeat(2, minmax(145px, 0.72fr));
  }

  .hc-admin-shell-desktop-task .hc-cash-account-picker {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hc-admin-shell-desktop-task .hc-stand-reservation-filter {
    grid-template-columns: minmax(130px, 160px) minmax(130px, 160px) minmax(170px, 240px) auto;
  }

  .hc-admin-shell-desktop-task .hc-stand-filter {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  }

  .hc-admin-shell-desktop-task .hc-admin-slot-actions {
    grid-template-columns: minmax(220px, 360px) auto;
  }

  .hc-admin-shell-desktop-task .hc-requirement-row {
    grid-template-columns: minmax(160px, 1fr) 120px 120px auto;
  }

  .hc-admin-shell-mobile-task {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .hc-admin-shell-mobile-task .hc-admin-sidebar {
    height: auto;
    padding: 0.75rem 0.9rem;
    position: static;
  }

  .hc-admin-shell-mobile-task .hc-admin-brand {
    border-bottom: 0;
    margin: 0;
    padding: 0;
  }

  .hc-admin-shell-mobile-task .hc-admin-brand span,
  .hc-admin-shell-mobile-task .hc-admin-nav {
    display: none;
  }

  .hc-admin-shell-mobile-task .hc-admin-topbar {
    align-items: stretch;
    flex-direction: column;
    gap: 0.75rem;
    min-height: 0;
    padding: 0.75rem 0.9rem;
    position: static;
  }

  .hc-admin-shell-mobile-task .hc-admin-topbar > div:last-child {
    align-items: center;
    display: flex !important;
    flex-wrap: wrap;
  }

  .hc-admin-shell-mobile-task .hc-admin-topbar .hc-theme-toggle {
    justify-self: start;
  }

  .hc-admin-shell-mobile-task .hc-admin-topbar > div:last-child > a.hc-secondary-action {
    display: none;
  }

  .hc-admin-shell-mobile-task .hc-admin-content {
    padding: 0.75rem;
  }

  .hc-admin-shell-mobile-task .hc-toolbar,
  .hc-admin-shell-mobile-task .hc-cash-commandbar {
    align-items: stretch;
    display: grid;
    gap: 0.75rem;
  }

  .hc-admin-shell-mobile-task .hc-toolbar > .d-flex,
  .hc-admin-shell-mobile-task .hc-cash-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hc-admin-shell-mobile-task .hc-cash-filter,
  .hc-admin-shell-mobile-task .hc-cash-account-picker,
  .hc-admin-shell-mobile-task .hc-stand-reservation-filter,
  .hc-admin-shell-mobile-task .hc-form-grid,
  .hc-admin-shell-mobile-task .hc-admin-slot-actions {
    grid-template-columns: 1fr;
  }

  .hc-admin-shell-mobile-task .hc-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .hc-public-shell {
    padding: 1rem;
  }

  .hc-public-tools {
    margin-bottom: 0.75rem;
  }

  .hc-app-main {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .hc-app-main .hc-card-pad {
    padding: 0.9rem;
  }

  .hc-app-main .hc-metric-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
  }

  .hc-app-main .hc-dashboard-cash-grid {
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  }

  .hc-app-main .hc-metric {
    padding: 0.7rem;
  }

  .hc-app-main .hc-metric strong {
    font-size: 1.3rem;
  }

  .hc-app-main .hc-form-grid,
  .hc-stand-filter,
  .hc-data-row,
  .hc-data-row-stacked {
    grid-template-columns: 1fr;
  }

  .hc-data-row,
  .hc-data-row-stacked {
    align-items: stretch;
    display: grid;
  }

  .hc-segmented-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hc-stands-map {
    aspect-ratio: 1 / 1;
    min-height: 310px;
  }

  .hc-bottom-nav a {
    font-size: 0.74rem;
    min-height: 60px;
  }
}

@media (max-width: 640px) {
  .hc-admin-shell-mobile-task .hc-page-title h1 {
    font-size: 1.38rem;
  }

  .hc-admin-shell-mobile-task .hc-page-title p {
    font-size: 0.95rem;
  }

  .hc-admin-shell-mobile-task .hc-primary-action,
  .hc-admin-shell-mobile-task .hc-secondary-action {
    min-height: 44px;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .hc-admin-shell-mobile-task .hc-modal-footer {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0.75rem;
  }

  .hc-admin-shell-mobile-task .hc-modal-footer .hc-primary-action,
  .hc-admin-shell-mobile-task .hc-modal-footer .hc-secondary-action {
    width: 100%;
  }

  .hc-admin-shell-mobile-task .hc-desktop-data-grid {
    display: none;
  }

  .hc-admin-shell-mobile-task .hc-mobile-task-filters,
  .hc-admin-shell-mobile-task .hc-mobile-task-list {
    display: grid;
  }

  .hc-mobile-task-filters {
    gap: 0.7rem;
    margin-bottom: 0.85rem;
  }

  .hc-mobile-task-filter-grid {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 1fr;
  }

  .hc-mobile-task-actions {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hc-mobile-task-list {
    gap: 0.7rem;
  }

  .hc-mobile-reservation-card {
    background: var(--hc-surface);
    border: 1px solid var(--hc-border);
    border-radius: 8px;
    box-shadow: var(--hc-shadow);
    display: grid;
    gap: 0.7rem;
    padding: 0.9rem;
  }

  .hc-mobile-reservation-card header {
    align-items: start;
    display: flex;
    gap: 0.6rem;
    justify-content: space-between;
  }

  .hc-mobile-reservation-card h3 {
    font-size: 1.02rem;
    margin: 0;
  }

  .hc-mobile-reservation-meta {
    color: var(--hc-text-muted);
    display: grid;
    font-size: 0.92rem;
    gap: 0.12rem;
  }

  .hc-mobile-reservation-actions {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hc-mobile-reservation-actions .hc-secondary-action {
    width: 100%;
  }

  .hc-attachment-preview {
    grid-template-columns: 1fr;
  }

  .hc-date-picker-popup {
    min-width: min(350px, calc(100vw - 1.25rem));
  }
}

@media (max-width: 420px) {
  .hc-app-main .hc-metric-grid,
  .hc-admin-shell-mobile-task .hc-metric-grid,
  .hc-admin-shell-mobile-task .hc-admin-topbar > div:last-child,
  .hc-admin-shell-mobile-task .hc-toolbar > .d-flex,
  .hc-mobile-task-actions,
  .hc-mobile-reservation-actions,
  .hc-segmented-actions {
    grid-template-columns: 1fr;
  }
}
