@use '../atoms/variables' as *; @use '../atoms/mixins' as *; // ─── Entry Form Card ───────────────────────────────────────────────────────── .entry-form { @include card($color-card); padding: $space-6 $space-8; @include tablet { padding: $space-5 $space-4; } } .entry-form__grid { display: grid; grid-template-columns: 120px 1fr; gap: $space-4 $space-6; align-items: center; @include tablet { grid-template-columns: 1fr; gap: $space-3; } } .entry-form__label { font-size: $font-size-base; font-weight: $font-weight-regular; color: $color-text-base; text-align: right; padding-right: $space-2; white-space: nowrap; @include tablet { text-align: left; padding-right: 0; } } .entry-form__field { display: flex; align-items: center; gap: $space-2; } .entry-form__field--rate { gap: $space-2; } .entry-form__unit { color: $color-text-muted; font-size: $font-size-sm; } .input--rate { width: 100px; } .entry-form__field--selects { display: flex; gap: $space-3; flex-wrap: wrap; .select { flex: 1; min-width: 180px; } @include tablet { flex-direction: column; .select { min-width: 0; width: 100%; } } } .entry-form__actions { grid-column: 2; display: flex; align-items: center; gap: $space-4; padding-top: $space-2; @include tablet { grid-column: 1; .btn { width: 100%; } } } // ─── Label Field ──────────────────────────────────────────────────────────── .entry-form__field--label { flex-direction: column; align-items: stretch; gap: $space-2; } .label-input-wrap { position: relative; } .entry-form__field--label .label-input-wrap { flex: 1; } .label-chips { display: flex; flex-wrap: wrap; gap: $space-1; &:empty { display: none; } } .label-chip { font-size: $font-size-xs; color: var(--color-primary); background: rgba(var(--color-primary-rgb), 0.08); border: 1px solid rgba(var(--color-primary-rgb), 0.2); border-radius: $radius-sm; padding: 1px $space-2; cursor: pointer; transition: background $transition-fast; &:hover { background: rgba(var(--color-primary-rgb), 0.16); } } .label-autocomplete { position: absolute; top: 100%; left: 0; right: 0; z-index: 10; background: $color-card; border: 1px solid $color-border; border-radius: $radius-sm; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); max-height: 180px; overflow-y: auto; } .label-autocomplete__item { display: block; width: 100%; text-align: left; padding: $space-2 $space-3; font-size: $font-size-sm; color: $color-text-base; cursor: pointer; transition: background $transition-fast; &:hover { background: rgba(var(--color-primary-rgb), 0.08); color: var(--color-primary); } } // ─── Rate Mode (Radio: Default / Custom) ──────────────────────────────────── .rate-mode { display: flex; flex-direction: column; gap: $space-2; } .rate-mode__option { display: flex; align-items: center; gap: $space-2; cursor: pointer; input[type='radio'] { accent-color: var(--color-primary); width: 15px; height: 15px; flex-shrink: 0; cursor: pointer; } span { font-size: $font-size-sm; color: $color-text-dark; } } .rate-mode__input { display: flex; align-items: center; gap: $space-2; padding-left: 23px; }