html {
  font-size: 14px;
  scroll-padding-top: calc(var(--app-header-height, 4rem) + 1rem);
}
#materialMapHeader { position: sticky; top: 0; z-index: 1030; background: white; }
@media print {
    #materialMapHeader { position: static; }
}
.navbar .nav-link.active {
    background-color: #e9ecef;
    border-radius: 0.375rem;
}
@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}
@media (min-width: 768px) {
    .workspace-actions {
        position: sticky;
        top: calc(var(--app-header-height, 4rem) + 1rem);
        align-self: flex-start;
    }
}

.form-control::placeholder {
    font-style: italic;
}
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Shared screen-table conventions. Printed tally paper uses its own layout. */
.materialmap-data-table {
    vertical-align: middle;
}

.materialmap-data-table thead th {
    vertical-align: middle;
}

.table-sort-button {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    white-space: nowrap;
}

.table-sort-button .sort-indicator {
    flex-shrink: 0;
    min-width: 0.75em;
    text-align: center;
}

.materialmap-data-table .table-count {
    text-align: center;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.voice-progress {
    position: fixed;
    inset: 0;
    z-index: 4900;
    pointer-events: none;
    background: rgba(13, 110, 253, .08);
}
.voice-progress[hidden] { display: none; }
.voice-progress-panel {
    position: absolute;
    top: 5.5rem;
    right: 1rem;
    width: min(26rem, calc(100vw - 2rem));
    padding: .8rem 1rem;
    border: 1px solid rgba(13, 110, 253, .3);
    border-radius: .75rem;
    background: rgba(240, 247, 255, .90);
    color: #123559;
    box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .12);
    overflow-wrap: anywhere;
    max-height: 40vh;
    overflow: hidden;
}
.voice-progress-panel strong { display: block; margin-bottom: .25rem; }
.voice-progress-panel { display: flex; flex-direction: column; }
.voice-progress-panel strong { flex-shrink: 0; }
.voice-progress-history { min-height: 0; overflow: hidden; }
.voice-progress-panel > div > div + div { margin-top: .35rem; }
@media print { .voice-progress { display: none; } }

/* Shared cardboard group chips for Warehouse and Row Audit. */
.warehouse-group {
    display: inline-block;
    padding: 0.15rem 0.4rem;
    border: 1px solid #adb5bd;
    border-radius: 0.3rem;
    background: #C9A66B;
    font-weight: 600;
    white-space: nowrap;
}
.audit-summary-group { white-space: normal; overflow-wrap: anywhere; }
.audit-summary-group > span { font-weight: 400; }
.audit-group-open {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}
