/** * Copyright since 2025 Mifos Initiative * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ $wk-primary: #1f497d; $wk-border: #e3e7ee; $wk-muted: #6b7280; $wk-surface: #f7f9fc; /* ---------- header ---------- */ .wk-header { display: flex; align-items: center; gap: 12px; padding: 20px 24px 16px; margin: 0; border-bottom: 1px solid $wk-border; &__icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 10px; background: rgba($wk-primary, 0.1); color: $wk-primary; } &__title { margin: 0; font-size: 1.15rem; font-weight: 600; line-height: 1.3; } &__subtitle { margin: 2px 0 0; font-size: 0.8rem; color: $wk-muted; } } .wk-content { padding-top: 16px; } .wk-loading { display: flex; justify-content: center; padding: 2.5rem 0; } /* ---------- client identity ---------- */ .wk-client { display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin-bottom: 16px; border-radius: 10px; background: linear-gradient(135deg, rgba($wk-primary, 0.08), rgba($wk-primary, 0.02)); border: 1px solid rgba($wk-primary, 0.15); &__avatar { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; background: $wk-primary; color: #fff; font-weight: 600; text-transform: uppercase; } &__name { font-weight: 600; font-size: 1rem; } &__meta { font-size: 0.8rem; color: $wk-muted; font-variant-numeric: tabular-nums; } } /* ---------- dispatch panel ---------- */ .wk-dispatch { border: 1px solid $wk-border; border-radius: 10px; padding: 14px 16px; margin-bottom: 16px; background: $wk-surface; &--past { opacity: 0.75; } &__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; } &__label { font-weight: 600; font-size: 0.95rem; } &__hint { margin: 0 0 12px; font-size: 0.8rem; color: $wk-muted; line-height: 1.45; } &__actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 14px; button mat-icon { margin-right: 4px; font-size: 18px; width: 18px; height: 18px; } } } /* ---------- status chip ---------- */ .wk-chip { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; font-size: 0.75rem; font-weight: 600; white-space: nowrap; &__icon { font-size: 15px; width: 15px; height: 15px; } &--dispatched { background: rgb(25 118 210 / 12%); color: #1565c0; } &--delivered { background: rgb(56 142 60 / 14%); color: #2e7d32; } &--returned { background: rgb(211 47 47 / 12%); color: #c62828; } } /* ---------- fact grid ---------- */ .wk-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 0; &__row { min-width: 0; &--wide { grid-column: 1 / -1; } dt { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em; color: $wk-muted; margin-bottom: 2px; } dd { margin: 0; font-size: 0.875rem; word-break: break-word; } } &__mono { font-family: 'Roboto Mono', 'Courier New', monospace; font-weight: 600; letter-spacing: 0.02em; } } /* ---------- outcome form ---------- */ .wk-outcome { margin-top: 14px; padding: 14px; border-radius: 8px; background: #fff; border: 1px dashed rgba($wk-primary, 0.4); &__title { margin: 0 0 10px; font-size: 0.875rem; } &__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 14px; } &__actions { display: flex; justify-content: flex-end; gap: 8px; } } /* ---------- create form ---------- */ .wk-form { &__title { margin: 0 0 12px; font-size: 1rem; font-weight: 600; } &__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 14px; } } .wk-full { width: 100%; } .wk-address { display: flex; gap: 10px; padding: 12px 14px; margin-bottom: 16px; border-radius: 8px; background: $wk-surface; border: 1px solid $wk-border; &__icon { color: $wk-primary; font-size: 20px; width: 20px; height: 20px; flex: 0 0 20px; } &__body { display: flex; flex-direction: column; font-size: 0.85rem; line-height: 1.5; } &__type { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: $wk-primary; margin-bottom: 2px; } &__name { font-weight: 600; } &__line { color: $wk-muted; } } .wk-noaddress { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; margin-bottom: 16px; border-radius: 8px; background: rgb(211 47 47 / 6%); border: 1px solid rgb(211 47 47 / 25%); font-size: 0.83rem; line-height: 1.5; color: #b3261e; mat-icon { font-size: 19px; width: 19px; height: 19px; flex: 0 0 19px; } } /* ---------- envelope label call-to-action ---------- */ .wk-label-cta { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 12px 14px; margin-bottom: 18px; border-radius: 8px; background: rgba($wk-primary, 0.04); border: 1px solid rgba($wk-primary, 0.18); &__text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 240px; } &__title { font-weight: 600; font-size: 0.875rem; } &__hint { font-size: 0.78rem; color: $wk-muted; line-height: 1.45; } button mat-icon { margin-right: 4px; font-size: 18px; width: 18px; height: 18px; } } .wk-empty { margin: 4px 0 0; padding: 12px 14px; border-radius: 8px; background: $wk-surface; border: 1px solid $wk-border; font-size: 0.85rem; color: $wk-muted; } mat-dialog-actions { padding: 12px 24px 20px; button mat-icon { margin-right: 4px; font-size: 18px; width: 18px; height: 18px; } }